Każde znalezisko w raporcie z testu penetracyjnego ma taki wiersz:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
i liczbę obok niego. Na spotkaniach cytuje się liczbę. Czytać należy wiersz, bo to on mówi, dlaczego liczba jest właśnie taka.
CVSS, czyli Common Vulnerability Scoring System, publikuje organizacja FIRST. Wersja 4.0 ukazała się 1 listopada 2023 roku.
Co mierzy ocena
CVSS mierzy istotność podatności: jak łatwo ją wykorzystać i jak duże szkody wyrządza jej wykorzystanie. Nie mierzy ryzyka, które zależy także od tego, ile wart jest dla Ciebie system, którego dotyczy podatność, i od tego, czy ktoś go atakuje. Mówi o tym sama specyfikacja, a wersja 4.0 uwidoczniła to rozróżnienie w nazwach ocen:
| Nazwa | Z czego się składa | Na co odpowiada |
|---|---|---|
| CVSS-B | Metryki bazowe | Jak poważna jest podatność sama w sobie? |
| CVSS-BT | Metryki bazowe i zagrożenia | Jak poważna, biorąc pod uwagę to, co atakujący robią teraz? |
| CVSS-BE | Metryki bazowe i środowiskowe | Jak poważna w naszym środowisku? |
| CVSS-BTE | Wszystkie trzy grupy | Jak poważna tu i teraz? |
Raport z testu penetracyjnego zwykle podaje CVSS-B, czasem CVSS-BE, gdy tester dobrze zna środowisko. Bazy podatności publikują CVSS-B. Jeśli po ocenie nie ma liter, przyjmij, że to B.
Metryki bazowe
Pierwsze pięć opisuje, jak przebiega atak.
| Metryka | Wartości | Pytanie |
|---|---|---|
| Attack Vector (AV) | Network, Adjacent, Local, Physical | Skąd atakujący może dotrzeć do podatności? |
| Attack Complexity (AC) | Low, High | Czy atakujący musi pokonać działające zabezpieczenie? |
| Attack Requirements (AT) | None, Present | Czy atak zależy od warunków wdrożenia, takich jak sytuacja wyścigu albo położenie w sieci? |
| Privileges Required (PR) | None, Low, High | Jakiego dostępu atakujący potrzebuje wcześniej? |
| User Interaction (UI) | None, Passive, Active | Czy ktoś inny musi coś zrobić? |
Attack Requirements to nowość wersji 4.0: oddziela warunki środowiska od zabezpieczeń, które trzeba pokonać. User Interaction ma teraz trzy wartości: Passive oznacza zwykłe działanie, takie jak otwarcie strony, a Active – że ofiara musi zrobić coś nietypowego.
Kolejne sześć opisuje szkody w podatnym systemie i w systemach kolejnych, do których można się przez niego dostać:
| Metryka | Wartości |
|---|---|
| Poufność: VC, SC | High, Low, None |
| Integralność: VI, SI | High, Low, None |
| Dostępność: VA, SA | High, Low, None |
Wersja 3.1 miała metrykę Scope, która opisywała wpływ na inne systemy. Była źródłem rozbieżności między oceniającymi i zastąpiły ją trzy jawne metryki dla systemów kolejnych.
Czytamy przykład
AV:N/AC:L/AT:N/PR:N/UI:N: podatność jest osiągalna przez sieć, nie trzeba pokonywać żadnego zabezpieczenia, nie ma szczególnych warunków, konto nie jest potrzebne, nikt nie musi niczego klikać. VC:H/VI:H/VA:H: pełna utrata poufności, integralności i dostępności podatnego systemu. SC:N/SI:N/SA:N: brak skutków poza nim.
Ten wektor daje ocenę 9.3, poziom krytyczny. Gdyby ta sama podatność dawała też pełną kontrolę nad systemami, które stoją za podatnym systemem, trzy ostatnie metryki miałyby wartość High, a ocena wyniosłaby 10.0.
Zmień jedną literę, a zmieni się znaczenie. PR:L zamiast PR:N mówi, że potrzebne jest konto: dla publicznego serwisu z bezpłatną rejestracją to niewiele zmienia, dla systemu wewnętrznego zmienia wiele. Ocena zmienia się przy tym znacznie mniej niż znaczenie. Dlatego warto czytać wektor.
Skala
| Poziom | Ocena |
|---|---|
| Brak | 0.0 |
| Niska | 0.1 – 3.9 |
| Średnia | 4.0 – 6.9 |
| Wysoka | 7.0 – 8.9 |
| Krytyczna | 9.0 – 10.0 |
Zagrożenie i środowisko
Exploit Maturity (E) to jedyna metryka zagrożenia: Attacked, Proof-of-Concept albo Unreported. Podatność, którą wykorzystuje się w rzeczywistych atakach, zachowuje swoją ocenę; taka, dla której nie jest znany żaden exploit, dostaje niższą.
Metryki środowiskowe pozwalają określić metryki bazowe na nowo dla Twojego wdrożenia i wskazać, jak ważne są poufność, integralność i dostępność dla systemu, którego dotyczy podatność. Krytyczna podatność w systemie, który nie przechowuje niczego wartościowego i jest dostępny tylko z sieci testowej, nie jest dla Ciebie krytyczna, a ocena środowiskowa może to pokazać.
Wersja 4.0 dodaje też metryki uzupełniające, takie jak Safety, Automatable i Recovery. Opisują podatność dokładniej i nie zmieniają oceny.
Czego ocena nie mówi
- Czy dojdzie do ataku. Dla znanych podatności prawdopodobieństwo wykorzystania szacuje EPSS. Istotność i prawdopodobieństwo razem mówią więcej niż każde z nich osobno.
- Ile wart jest system. Znalezisko o średniej istotności w systemie płatności może mieć większe znaczenie niż krytyczne w przedprodukcyjnej kopii strony marketingowej.
- Co daje łańcuch. Trzy znaleziska o średniej istotności, które razem pozwalają przejąć konto, trafiają do raportu jako trzy średnie i jako jedna ścieżka ataku. Przeczytaj jedno i drugie.
Jak z niej korzystać
Najpierw posortuj znaleziska według oceny, potem skoryguj kolejność tym, co wiesz: wartością zasobu, dostępnością z internetu, znanymi przypadkami wykorzystania, łańcuchami z raportu. Jeśli priorytet, do którego dochodzisz, różni się od oceny, zapisz dlaczego. Dobry raport robi to samo: podaje ocenę, wektor i – tam, gdzie tester nie zgadza się z liczbą – powód.
Jak oceniamy znaleziska i jak z nimi postępujemy, opisujemy na stronie „Metodyka”.