Topowe wyszukiwarki podatności w oprogramowaniu

Zainspirowany wspisem dot. CERT’u na Sekuraku dodałem dziś komentarz na temat baz CVE, które są dostępne w sieci. Skoro komentarz i próba znalezienia paru odpowiedzi, to może pogłębiony research, dokładniejssze zgłębienie tematu i jednak artykuł? No to jedziemy.

Cały czas poszukuję jednego fajnego rozwiązania, które zoptymalizowałoby badaczom, programistom, administratorom poszukiwania i dokumentowania luk w oprogramowaniu. Jeśli jeszcze jakieś znacie, dopiszcie w komentarzu 😉

Temat CVE już wielu bezpieczników opisywało, toteż nie będziemy się nad tym skrupulatnie rozwodzić – poniżej źródła, ciekawe linki 😉 Natomiast dla mniej technicznych, parę słów wstępniaka lub krótkie przypomnnienie o co chodzi.

W skrócie, co to jest CVE?

Common Vulnerabilities and Exposures to lista unikalnych podatności oraz luk, które są kategoryzowane ustalonym oraz globalnym schematem. Każda wykryta podatność posiada unikalną numerację – tzw. CVE ID.

Co zawierają bazy CVE?

Po ludzku takie bazy to swoiste katalogi błędów w oprogramowaniu – publicznie, ogólnie dostępnym (bazy CVE nie zawierają systemów dedykowanych napisanych dla kogoś). Bazy zawierają szczegółowe (mniej lub bardziej) wpisy o lukach w oprogramowaniu, na które składa się

  • Identyfikator CVE np. „CVE-1999-0067”, „CVE-2014-12345”, „CVE-2014-7654321”
  • Krótki opis podatności lub zagrożenia (język programowania, system, oprogramowania, typ CVE, poziom narażenia – ile organizacji zostało dotkniętych, zweryfikowane sugerowane poprawki, dodatkowe informacje ułatwiające podejmowanie świadomych decyzji dotyczących środków zaradczych)
  • Odniesienia, takie jak identyfikatory w innych systemach standaryzacyjnych, i istotne źródła do zewnętrznych stron
  • niektóre z baz wskazują też klasyfikację CVSS

Jaka jest klasyfikacja CVSS?

Common Vulnerability Scoring System (CVSS) jest otwartym systemem oceny podatności oprogramowania na zagrożenia. CVSS składa się z trzech grup metryk: Bazowej, Czasowej i Środowiskowej. Metryki bazowe dają wynik w zakresie od 0 do 10, który może być modyfikowany przez metryki czasowe i środowiskowe. Do obliczania ważności problemów bezpieczeństwa oprogramowania służy udostępniony kalkulator.

Top bazy CVE

Na tę chwilę udało mi się zebrać całkiem sporo ciekawych baz, wyszukiwarek CVE, na które warto zwrócić uwagę i oszczędzić sobie czas w poszukiwaniu informacji o nowo odkrywanych zagrożeniach i podatnościach w oprogramowaniu. Dzięki szczegółowemu opisaniu każdego błędu pozwala on na pogłębianie wiedzy o wykrytych lukach.

Najbardziej znane wyszukiwarki CVE:

  • NIST NVD – amerykańska krajowa baza danych o lukach w zabezpieczeniach prowadzona przez Amerykański instytut NIST (National Institute of Standards and Technology), zajmujący się między innymi badaniem podatności systemów teleinformatycznych
  • MITRE CVE – projekt zapoczątkowany w 1999 roki, ma obecnie 208 530 rekordów dot. luk w zabezpieczeniach cybernetycznych. Do bazy nowe znaleziska zgłasza 308 oficjalnych partnerów,  którym zgłaszają indywidualni badacze oraz firmy.

Największe wyszukiwarki CVE:

  • Vulners.com – baza posiada 254 114 rekordów
  • VulDB – baza posiada 236 038 rekordów
  • security-database.com– ciekawa baza, choć UI nieco przestarzałe, niemniej pokaźna baza, bo 221 554 rekordów CVE
  • hackerone.com– na mojej liście nie mogłoby zabraknąć też rozwiązanie od hackerone, 221 518 rekordów 😉
  • opencve.io – baza CVE, posiadająca na tę chwilę ok 221 475 rekordów
  • cve.circl.lu – z Luxemburga, 211 143 rekordów
  • VulnIQ – kolejna ciekawa baza CVE, posiadająca ok 178 584 rekordów
  • CVEDetails – ma obecnie ok 154 792 rekordów, (IMHO ładny UI, sporo updatów, mam wrażenie, że najbardziej zadbana, np. dziś na tę chwilę dodane już 24 rekordy lub poczynione updaty, podczas gdy u innych parę dni opóźnienia)
  • cybersecurity-help.cz – czeska baza CVE, posiada ok 70 200 rekordów
  • osv.dev – Luki w zabezpieczeniach oprogramowania Open Source, posiada 50 027 rekordów w bazie
  • Exploit Database jest utrzymywana przez OffSec, firmę szkoleniową z zakresu bezpieczeństwa informacji, która zapewnia różne certyfikaty bezpieczeństwa informacji , a także wysokiej klasy usługi testów penetracyjnych . Exploit Database to projekt non-profit, który jest świadczony jako usługa publiczna przez OffSec.  Zawiera 48 420 rekordów. Można znaleźć podatności zgłoszone przez polskich badaczy, np. Kacpra
  • wordfence.com (11 308 rekordów, głownie podatności w systemie CMS WordPress i jego tysiącach wtyczek i szablonach)
  • GitHub Advisory Database – baza danych luk w zabezpieczeniach, zawierająca CVE i poradniki bezpieczeństwa pochodzące z GitHub, wskazuje metryki CVSS oraz wpływ na poufność, integralność, dostępność
  • Global Security Database (GSD) – Global Security Database, to ciekawa idea któa buduje społeczność przy użyciu modelu open source, tak by każdy z programistów, firm i ekosystemów współpracował, aby znaleźć skuteczne rozwiązania w eliminowaniu luk w oprogramowaniu.
  • cloudvulndb.org – baza danych luk w zabezpieczeniach i problemów związanych z bezpieczeństwem w usługach chmurowych, pozwalająca na zarządzania lukami w chmurze
  • security.snyk.io – posiadająca na tę chwilę 3180 rekordów
  • talosintelligence.com/vulnerability_reports – posiadająca na tę chwilę 1653 rekordów
  • Mend.io – największa baza danych luk w zabezpieczeniach typu open source
  • Rapid7 – DB – Vulnerability & Exploit Database od Rapid7
  • cisa.gov (ostatnio 1 wpis z 31 lipca, po 1-2 dziennie)
  • SynapsInt – Synapsint to usługa w 100% bezpłatna, dane prezentowane przy każdym wyszukiwaniu są wynikiem konsultacji z różnymi służbami wywiadowczymi, wyszukiwarkami, zbiorami danych itp. Wszystkie źródła Synapsint i relacje są pokazane na wykresie
  • Aqua Vulnerability Database – Luki i słabości w aplikacjach open source i infrastrukturze natywnej w chmurze
  • Vulmon – Vulmon ma być zarówno prostym, jak i wszechstronnym narzędziem dla badaczy bezpieczeństwa cybernetycznego. Badacze mogą przeszukiwać wszystko za pomocą łatwego w użyciu interfejsu i uzyskiwać szczegółowe informacje o lukach w zabezpieczeniach i powiązanych exploitach.
  • ScanFactory – monitorowanie bezpieczeństwa w czasie rzeczywistym
  • Trend Micro Zero Day Initiative – publicznie ujawnione luki w zabezpieczeniach wykryte przez badaczy z inicjatywy Zero Day Initiative
  • Google Project Zero – Luki w zabezpieczeniach, w tym Zero Days
  • Trickest CVE Repository – kolejna ciekawa baza na GitHubie od dostawcy rozwiązań Sec: trickest.com
  • cnvd.org.cn – chińska krajowa baza danych o lukach w zabezpieczeniach
  • tenable.com – kolejna wyszukiwania CVE
  • InTheWild.io – kolejna wyszukiwania CVE
  • Vulnerability Lab – wyszukiwanie podatności i bug bounty
  • Red Hat Security Advisories – informacje o lukach w zabezpieczeniach, które mają wpływ na produkty i usługi firmy Red Hat
  • Cisco Security Advisories – porady bezpieczeństwa i informacje o lukach w zabezpieczeniach produktów Cisco, w tym sprzętu sieciowego i oprogramowania
  • Microsoft Security Response Center – raporty o lukach w zabezpieczeniach mających wpływ na produkty i usługi firmy Microsoft

Formularze do zgłaszania podatności

  1. CERT.pl – działa od 1 sierpnia, zgłoszenia podatności po polsku odbywają się wyłącznie poprzez dedykowany formularz.
  2. Bugcrowd – publiczna lista programów BugBounty (wymaga rejestracji)
  3. Openbugbounty – otwarty program BugBounty zrzeszający ponad 37 tysięcy badaczy i 1,211,590 podatności (wymaga rejestracji)
  4. CVE.org – formularz zgłaszania podatności

Problemy, rozwiązania?

Chaos? Różna wielkość baz? Można mieć takie odczucie.
No cóż, nie ma rozwiązań idealnych, choć fajnie by było takie mieć pod ręką i sprawnie działać. Jak w każdym systemie pojawiają się kwestie takie jak unifikacja, rzetelność, aktualność informacji, wymiana informacji między bazami, czytelne oznaczanie i ocenianie luk…

Pojawia się kwestia dodatkowych weryfikacji przez innych badaczy danego znaleziska i jeśli w jednej bazie jest już dana luka opisana, np. CVE-2023-3162
https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/payment-gateway-stripe-and-woocommerce-integration/stripe-payment-plugin-for-woocommerce-377-authentication-bypass (i oceniona, b. wysoko: CVSS 9.8)

Tak w bazie Mitre ma status „reserved” (i już nadany numer)
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-3162, natomiast w innych bazach może być kompletnie niedostępna i niewyszukiwalna:
https://www.cvedetails.com/cve/CVE-2023-3162/?q=CVE-2023-3162 (tu jej nie ma)
https://cve.circl.lu/cve/CVE-2023-3162 (tu jej nie ma)
https://www.opencve.io/cve/CVE-2023-3162 (tu jej nie ma)

Pozostaje użyć kilku wyszukiwarek, choć liczę że w dobie AI ktoś za jakiś czas wpadnie na fajne OSINT-owe rozwiązanie integrujące różne bazy.

 

Ciekawe źródła i dodatkowe materiały:

seers cmp badge