Co do zasady CVE wiąże się z podatnościami systemów i programów na działania ich użytkownika wykraczające poza nadane mu uprawnienia, jak też podatnościami umożliwiającymi nieautoryzowany dostęp do nich.

Czym jest CVE?

CVE, czyli Common Vulnerabilities and Exposures, to stale rozwijany międzynarodowy projekt, na który składa się słownik identyfikatorów odpowiadających powszechnie znanym podatnościom oraz zagrożeniom a zarazem standard ich nazewnictwa. Program ten jest współfinansowany przez Biuro Cyberbezpieczeństwa i Komunikacji Departamentu Bezpieczeństwa Krajowego Stanów Zjednoczonych i jest zarządzany przez korporację MITRE. Na dzień 3 października 2022 roku słownik ten zawiera 185 767 wpisów (rekordów).

Jak to się zaczęło?

Koncepcja rejestrowania poszczególnych podatności znalezionych w systemach czy programach została zaprezentowana przez Davida E. Manna i Stevena M. Christeya z firmy The MITRE Corporation, w białej księdze zatytułowanej Towards a Common Enumeration of Vulnerabilities wydanej 8 stycznia 1999 r.

Następnie została utworzona 19 osobowa grupa robocza, która wyodrębniła pierwsze 321 rekordów (podatności) CVE i zaprezentowała je opinii publicznej we wrześniu 1999 r. na specjalnie utworzonej liście.

Przedmiotowa lista została ciepło przyjęta przez opinię publiczną i już w grudniu 2000 roku do niniejszego projektu przyłączyło się 29 organizacji oferujących łącznie 43 produkty.

Ponadto coraz częściej rekordy z listy CVE były włączane do biuletynów bezpieczeństwa, a także przywoływane przez twórców systemów operacyjnych i inne organizacje z całego świata, które zamieszczały je w swoich alertach. Zarazem rekordy z listy CVE były i są wykorzystywane do unikatowego identyfikowania luk w publicznych listach obserwacyjnych, takich jak między innymi OWASP Top 10 Web Application Security Issues, i są one oceniane według ważności w Common Vulnerability Scoring System (CVSS). Identyfikatory CVE są również często cytowane w publikacjach branżowych i ogólnych doniesieniach medialnych dotyczących błędów oprogramowania, takich jak CVE-2014-0160 dla „Heartbleed” i CVE-2019-0708 dla „Bluekeep”.

Dalszy rozwój CVE

Lista CVE została również wykorzystana jako podstawa dla NIST’s US National Vulnerability Database (NVD) czyli bazy danych o słabych zabezpieczeniach cybernetycznych, która integruje wszystkie publicznie dostępne zasoby luk w zabezpieczeniach rządu USA i zawiera odniesienia do zasobów branżowych.

Ponadto CERIAS/Purdue University wprowadził narzędzie CVE Change Logs, które monitoruje dodatki i zmiany na liście CVE, tym samym umożliwiając użytkownikom uzyskiwanie raportów dziennych lub miesięcznych.

Dodatkowo został wprowadzony standard Open Vulnerability and Assessment Language (OVAL), obsługiwany przez Centrum Bezpieczeństwa Internetowego, służący do określania stanu systemów komputerowych za pomocą opracowanych przez społeczność definicji luk w zabezpieczeniach OVAL, które są oparte głównie na rekordach CVE.

Jednocześnie The Common Weakness Enumeration (CWE™), czyli formalny słownik typowych słabości oprogramowania, został w dużej mierze oparty właśnie na liście CVE, która zawiera ponad 150 000 rekordów.

Warto nadmienić, że w 2011 r. grupa specjalistów z dziedziny cyberbezpieczeństwa Międzynarodowego Związku Telekomunikacyjnego (ITU-T), która jest organem normalizacyjnym systemów telekomunikacyjnych/informatycznych w ramach 150-letniej organizacji międzyrządowej, na podstawie Rekomendacji ITU-T X.1520 Common Vulnerabilities and Exposures (CVE) przyjęła CVE w ramach nowego wydania „Global Cybersecurity Information Exchange techniques (X.CYBEX)”.

Natomiast od 2016 r. program CVE aktywnie rozszerza liczbę organizacji uczestniczących jako organy numerujące CVE (CNA), w związku z czym partnerzy CNA tworzą listę CVE. Obecnie, co do zasady, każdy rekord CVE jest dodawany przez CNA.

Bardziej szczegółowo o CVE

W ramach poszczególnych identyfikatorów (rekordów) CVE istnieje rozróżnienie pomiędzy podatnościami (vulnerabilities), które mogą doprowadzić do kompromitacji systemu, a zagrożeniami (exposures), które do kompromitacji systemu mogą doprowadzić w sposób pośredni. Warto zaznaczyć, że słownik CVE interpretuje zagrożenie jako z naruszenie polityki bezpieczeństwa, co może, ale nie musi bezpośrednio prowadzić do kompromitacji systemu. Jest to więc pojęcie ogólniejsze od podatności, wprowadzone w celu możliwości odnotowywania i tworzenia zestawień sytuacji, które nie prowadzą bezpośrednio do włamania, ale mogą okazać się sprzyjające dla włamywacza, wobec czego powinny być zabronione w ramach polityki bezpieczeństwa.

Zatem poniższe błędy:

1. podatności:

– pozwalają włamywaczowi na wykonywanie poleceń jako inny użytkownik,

– pozwalają włamywaczowi na nieuprawniony dostęp do danych,

– pozwalają włamywaczowi podszywać się pod inny podmiot,

– pozwalają włamywaczowi przeprowadzić atak DoS (denial of service),

2. zagrożenia:

– pozwalają włamywaczowi ukryć swoją aktywność,

– pozwalają włamywaczowi na zbieranie informacji dotyczących aktywności,

– obejmują funkcję, która zachowuje się w określony sposób, ale może być łatwo naruszona,

– są podstawowym punktem, w którym atakujący może uzyskać dostęp do systemu lub danych,

– naruszają politykę bezpieczeństwa.

Identyfikatory CVE

Jak wspomniałem powyżej każdy rekord w słowniku CVE jest zarazem unikatowym identyfikatorem służącym do weryfikacji i odnajdywania konkretnej podatności lub zagrożenia. Identyfikator CVE może wyglądać następująco, np.: „CVE-1999-0067”, „CVE-2014-12345”, „CVE-2014-7654321”. Dodatkowo, oprócz unikalnego numeru zawiera on krótki opis podatności lub zagrożenia oraz odniesienia, takie jak identyfikatory w innych systemach standaryzacyjnych i linki do zewnętrznych stron, które są istotnymi źródłami dla danego rekordu (podatności lub zagrożenia).

Warto nadmienić, iż 1 stycznia 2014 roku został zmieniony format identyfikatorów, pozwalający w ciągu danego roku przypisać ponad 10 000 wpisów, niwelując wcześniejsze ograniczenie do 9 999 wpisów (rekordów).

Zgłaszanie podatności i zagrożeń

Warto zauważyć, że zgłosić podatność lub zagrożenie może każdy, kto je odkryje. Znalezioną podatność lub zagrożenie zgłasza się poprzez stronę projektu CVE. Jeżeli znaleziony błąd dotyczy konkretnej firmy, to należy go zgłosić bezpośrednio do niej – kontakty podane są na stronie projektu CVE. Jeżeli natomiast problem jest ogólny i nie można go przyporządkować do konkretnej CNA, wówczas dany błąd należy zgłosić bezpośrednio przez stronę projektu CVE.

Zgłoszenie znalezionej podatności lub zagrożenia jest nie tylko dorobkiem pentestera (osoby wykonującej test penetracyjny), którym może się on chwalić, ale także stanowi wkład w rozprzestrzenianie wiedzy na temat tego błędu i rozbudowuje bazę danych CVE, co jest niezwykle cenne dla badaczy z całego świata.

Czy istnieją inne repozytoria poza CVE?

Tak, poza słownikiem CVE możemy wyróżnić jeszcze:

  1. National Vulnerability Database (NVD) – czyli repozytorium rządu USA oparte na standardach dotyczących zarządzania podatnościami, zagregowanych przy użyciu SCAP (Security Content Automation Protocol). Dane zebrane w ramach NVD umożliwiają automatyzację zarządzania lukami w zabezpieczeniach oraz automatyzację pomiaru bezpieczeństwa i zgodności. Repozytorium NVD zawiera także odniesienia do list kontrolnych zabezpieczeń, błędów oprogramowania związanych z bezpieczeństwem, błędnych konfiguracji, nazw produktów oraz wskaźników oddziaływania na środowisko biznesowe. Poza danymi zebranymi ze SCAP, NVD automatycznie pobiera konkretne rekordy z CVE.
  2. Open Vulnerability and Assessment Language (OVAL) – jest inicjatywą międzynarodowej społeczności zajmującej się bezpieczeństwem informacji, której celem jest standaryzacja sposobu oceny i raportowania stanu systemów komputerowych. W skład inicjatywy OVAL wchodzi specjalny język służący do kodowania szczegółów systemu oraz asortyment repozytoriów treści znajdujących się w całej społeczności. Narzędzia i usługi systemowe wykorzystują OVAL do trzech etapów oceny, tj. reprezentowania informacji o systemie, wyrażania określonych stanów maszyn i raportowania wyników oceny. Zapewnia to dokładne, spójne i przydatne informacje, dzięki którym można znacząco poprawić bezpieczeństwo systemu.

CVE, a zarządzanie podatnościami

Warto zauważyć, że dzięki znajomości CVE można prawidłowo zarządzać podatnościami konkretnego systemu lub programu. Na prawidłowo prowadzone zarządzanie składa się:

  1. przygotowanie, w ramach którego należy określić zakres procesu zarządzania podatnościami,
  2. skanowanie luk w zabezpieczeniach, które najczęściej jest prowadzone poprzez odpowiednie skanery zapewniające zautomatyzowane skanowanie systemu w poszukiwaniu znanych luk w zabezpieczeniach i dostarczenie raportu, który zwiera wszystkie znalezione luki, często posortowane według ich wagi; do znanych skanerów podatności można zaliczyć, np. Nmap, czy Nessus,
  3. identyfikacja, klasyfikacja i ocena luk w zabezpieczeniach, dzięki dostarczonemu raportowi przez skaner podatności,
  4. mitygacja podatności, czyli określenie przez właściciela aktywów, które luki zostaną załatane,
  5. ponowne skanowanie, wykonywane w celu sprawdzenia skuteczności wykonanych działań naprawczych oraz testów penetracyjnych weryfikujących skuteczność poprawionych zabezpieczeń,
  6. monitorowanie i aktualizacje oprogramowania.

Podsumowanie

CVE to otwarty projekt, w ramach którego stale rozwijany jest słownik nowo odkrywanych zagrożeń i podatności systemów operacyjnych oraz programów działających w ramach tych systemów. Dzięki szczegółowemu opisaniu każdego błędu pozwala on na pogłębianie wiedzy o zagrożeniach i podatnościach, jak również jego łatwej identyfikacji, dzięki przypisaniu unikalnego numeru.

Ponadto znajomość błędów zawartych w projekcie oraz śledzenie nowo zgłaszanych znacząco przyczynia się do poprawy bezpieczeństwa przy zarządzaniu podatnościami.

Także odkrycie nowego zagrożenia lub podatności przez pentestera jest jego osobistym sukcesem, którym może pochwalić się w społeczności specjalistów z dziedziny cyberbezpieczeństwa.

Autor: Michał Mamica

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

ZOBACZ RÓWNIEŻ

CZYM JEST INFRASTRUKTURA KLUCZA PUBLICZNEGO (PKI)?

Co do zasady infrastruktura klucza publicznego (Public Key