Słownik

CVSS - co to jest i jak czytać ocenę podatności

CVSS (Common Vulnerability Scoring System) to otwarty standard oceny powagi podatności w skali 0-10, od braku do krytycznej. Ocena wynika m.in. ze sposobu ataku, wymaganych uprawnień i skutków dla poufności, integralności i dostępności, a w raportach z pentestów stosuje się wersję 3.1 albo 4.0.

CVSS - co to jest

CVSS to wspólny język do opisu powagi podatności. Zamiast słów „poważna” czy „drobna”, które każdy rozumie inaczej, standard każe opisać podatność kilkoma metrykami - jak można ją wykorzystać i co się stanie, gdy ktoś to zrobi - i wylicza z nich wynik od 0.0 do 10.0. Standard rozwija organizacja FIRST; w użyciu są dziś wersje 3.1 i 4.0.

Wynik CVSS znajdziesz w raportach z pentestów, komunikatach producentów i bazach podatności przy identyfikatorach CVE. Liczbie powinien zawsze towarzyszyć wektor, czyli zapis wartości wszystkich metryk - z niego widać, skąd wziął się wynik.

Skala CVSS

Wynik liczbowy przekłada się na pięć poziomów powagi. Ta sama skala obowiązuje w wersjach 3.1 i 4.0:

Wynik Poziom Znaczenie
0.0 None brak
0.1-3.9 Low niski
4.0-6.9 Medium średni
7.0-8.9 High wysoki
9.0-10.0 Critical krytyczny

Z czego składa się ocena CVSS

CVSS 3.1

Podstawą są metryki bazowe (Base), które opisują samą podatność:

  • AV (Attack Vector) - skąd można zaatakować: przez sieć (N), z sieci przyległej (A), lokalnie (L) albo z fizycznym dostępem (P),
  • AC (Attack Complexity) - czy atak wymaga szczególnych warunków: niska (L) albo wysoka (H) złożoność,
  • PR (Privileges Required) - jakie uprawnienia musi mieć atakujący: żadne (N), niskie (L) albo wysokie (H),
  • UI (User Interaction) - czy potrzebny jest udział ofiary: nie (N) albo tak (R),
  • S (Scope) - czy skutki wychodzą poza podatny komponent: nie (U) albo tak (C),
  • C, I, A - wpływ na poufność, integralność i dostępność: wysoki (H), niski (L) albo brak (N).

Wynik bazowy można uzupełnić o metryki czasowe (Temporal, np. dojrzałość exploita) i środowiskowe (Environmental, dla konkretnego wdrożenia).

CVSS 4.0

Wersja 4.0, opublikowana przez FIRST 1 listopada 2023 r., zmienia kilka rzeczy:

  • dodaje metrykę AT (Attack Requirements) - czy atak zależy od warunków po stronie podatnego systemu, np. określonej konfiguracji: nie (N) albo tak (P),
  • UI ma trzy wartości: brak udziału (N), udział pasywny (P) i aktywny (A),
  • zamiast Scope rozdziela wpływ na podatny system (VC, VI, VA) i na systemy następne (SC, SI, SA),
  • metryki czasowe zastępuje grupa Threat z jedną metryką E (Exploit Maturity),
  • dochodzą metryki uzupełniające (Supplemental), np. Safety czy Automatable, które nie zmieniają wyniku, ale dają dodatkowy kontekst.

Wersja 4.0 wprowadza też nazwy dla wyników z różnych grup metryk: CVSS-B (tylko bazowe), CVSS-BT (bazowe i zagrożenia), CVSS-BE (bazowe i środowiskowe) oraz CVSS-BTE (wszystkie trzy grupy).

Przykład: jak czytać wektor CVSS

Przykład demonstracyjny - podatność IDOR w aplikacji do faktur: zalogowany klient zmienia numer faktury w adresie żądania i pobiera fakturę innego klienta. W CVSS 3.1 jej wektor wygląda tak:

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Metryka Wartość Co oznacza w tym przykładzie
AV:N Network atak przez internet
AC:L Low bez szczególnych warunków - wystarczy zmienić numer
PR:L Low potrzebne jest zwykłe konto klienta
UI:N None ofiara nie musi nic robić
S:U Unchanged skutki w obrębie tej samej aplikacji
C:H High dostęp do faktur wszystkich klientów
I:N, A:N None bez zmiany danych i bez wpływu na dostępność

Wynik bazowy tego wektora to 6.5, czyli Medium. Gdyby faktury dało się pobrać bez logowania (PR:N), wynik wzrósłby do 7.5, czyli High.

Ten sam przypadek w CVSS 4.0:

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Wynik dla wektora 4.0 wylicza się w kalkulatorze FIRST. W tej wersji nie powstaje on z prostego wzoru, tylko z tabeli wartości przypisanych grupom podobnych wektorów (MacroVector), dlatego wyników 3.1 nie przelicza się ręcznie na 4.0.

Typowe pomyłki

  • „CVSS mierzy ryzyko.” Wynik bazowy opisuje powagę podatności, a nie ryzyko dla Twojej firmy. Ta sama luka znaczy co innego w systemie płatności, a co innego w narzędziu wewnętrznym bez danych osobowych. Ryzyko ocenia się, dodając kontekst: jakie dane są zagrożone i kto ma dostęp do systemu.
  • „Medium można odłożyć.” W przykładzie powyżej wynik 6.5 dotyczy dostępu do danych wszystkich klientów. W ocenie kontekstowej takie ustalenie zasługuje na wyższy priorytet, niż sugeruje sama liczba.
  • Wynik bez wektora i wersji. Liczby 6.5 nie da się sprawdzić ani porównać, jeśli nie wiadomo, z jakich metryk i z której wersji standardu pochodzi.

Powiązane pojęcia

  • Test penetracyjny - kontrolowana symulacja ataku, której raport zawiera oceny CVSS.
  • OWASP Top 10 - lista kategorii ryzyk, do których przypisuje się znalezione podatności.
  • Retest - ponowne sprawdzenie podatności po naprawie.

Jak oceniamy ryzyko w testach, opisujemy w części o metodyce testów penetracyjnych, a pełny opis przykładowej podatności z wektorem CVSS pokazujemy na stronie testów penetracyjnych aplikacji webowych. Na co patrzeć, porównując raporty i oferty różnych firm, wyjaśniamy w artykule jak porównać oferty na testy penetracyjne.

Najczęściej zadawane pytania

Co oznacza wynik CVSS 9.8?

Wynik 9.8 mieści się w przedziale 9.0-10.0, czyli w kategorii Critical. Taką ocenę w CVSS 3.1 dostaje np. podatność wykorzystywana zdalnie przez sieć, bez uprawnień i bez udziału użytkownika, z wysokim wpływem na poufność, integralność i dostępność - wektor CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

Czy wyniki CVSS 3.1 i 4.0 można porównywać?

Nie wprost. Wersje mają inne metryki i inny sposób wyliczania wyniku, więc ta sama podatność może dostać w nich różne oceny. Dlatego przy każdym wyniku podaje się wersję i pełny wektor, który zaczyna się od CVSS:3.1 albo CVSS:4.0.

Kto nadaje ocenę CVSS?

Standard rozwija organizacja FIRST (Forum of Incident Response and Security Teams). Oceny znanych podatności z identyfikatorem CVE publikują m.in. producenci oprogramowania i bazy podatności, a podatność znalezioną w teście penetracyjnym ocenia tester - w raporcie dla konkretnego systemu.

Źródła

  1. FIRST - Common Vulnerability Scoring System v3.1: Specification Document ()
  2. FIRST - Common Vulnerability Scoring System v4.0: Specification Document ()
  3. FIRST - CVSS v4.0 Calculator ()

Aktualizacja:

Powiązane

Porozmawiajmy o Twoim projekcie lub audycie

Opisz krótko, czego potrzebujesz - wrócimy z propozycją kolejnych kroków.

lub zadzwoń pod numer +48 575 621 877