Hvert funn i en rapport fra en penetrasjonstest har en linje som denne:
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
og et tall ved siden av. Det er tallet som blir sitert i møter. Det er linjen som bør leses, fordi den sier hvorfor tallet er som det er.
CVSS, Common Vulnerability Scoring System, utgis av FIRST. Versjon 4.0 ble lansert 1. november 2023.
Hva poengsummen måler
CVSS måler alvorlighetsgraden til en sårbarhet: hvor lett den er å utnytte, og hvor stor skade utnyttelsen gjør. Den måler ikke risiko, som også avhenger av hva det berørte systemet er verdt for deg, og av om noen angriper det. Spesifikasjonen sier dette selv, og versjon 4.0 gjorde skillet synlig i navnene på poengsummene:
| Navn | Bygget på | Svarer på |
|---|---|---|
| CVSS-B | Basismetrikker | Hvor alvorlig er sårbarheten i seg selv? |
| CVSS-BT | Basis og trussel | Hvor alvorlig, gitt det angripere gjør nå? |
| CVSS-BE | Basis og miljø | Hvor alvorlig i vårt miljø? |
| CVSS-BTE | Alle tre | Hvor alvorlig her og nå? |
En rapport fra en penetrasjonstest oppgir normalt CVSS-B, noen ganger CVSS-BE når testeren kjenner miljøet godt. Sårbarhetsdatabaser publiserer CVSS-B. Hvis en poengsum ikke har bokstaver etter seg, gå ut fra B.
Basismetrikkene
De fem første beskriver hvordan angrepet utføres.
| Metrikk | Verdier | Spørsmål |
|---|---|---|
| Attack Vector (AV) | Network, Adjacent, Local, Physical | Hvor kan angriperen nå den fra? |
| Attack Complexity (AC) | Low, High | Må angriperen overvinne en beskyttelse som er på plass? |
| Attack Requirements (AT) | None, Present | Avhenger angrepet av forhold i driftsmiljøet, for eksempel en kappløpssituasjon eller en posisjon i nettverket? |
| Privileges Required (PR) | None, Low, High | Hvilken tilgang trenger angriperen på forhånd? |
| User Interaction (UI) | None, Passive, Active | Må noen andre gjøre noe? |
Attack Requirements er en ny metrikk i versjon 4.0: Den skiller forhold i miljøet fra beskyttelser som må overvinnes. User Interaction har nå tre verdier: Passive betyr en vanlig handling, for eksempel å åpne en side; Active betyr at offeret må gjøre noe uvanlig.
De seks neste beskriver skaden på det sårbare systemet og på etterfølgende systemer som kan nås gjennom det:
| Metrikk | Verdier |
|---|---|
| Konfidensialitet: VC, SC | High, Low, None |
| Integritet: VI, SI | High, Low, None |
| Tilgjengelighet: VA, SA | High, Low, None |
Versjon 3.1 hadde en metrikk kalt Scope for virkningen på andre systemer. Den skapte uenighet mellom dem som satte poengsummene, og ble erstattet av de tre eksplisitte metrikkene for etterfølgende systemer.
Slik leses eksempelet
AV:N/AC:L/AT:N/PR:N/UI:N: kan nås over nettverket, ingen beskyttelse å overvinne, ingen spesielle forhold, ingen konto nødvendig, ingen trenger å klikke på noe. VC:H/VI:H/VA:H: fullt tap av konfidensialitet, integritet og tilgjengelighet i det sårbare systemet. SC:N/SI:N/SA:N: ingen virkning utover det.
Denne vektoren gir poengsummen 9.3: kritisk. Hvis den samme sårbarheten også ga full kontroll over systemene bak den, ville de tre siste metrikkene vært High, og poengsummen ville vært 10.0.
Endre én bokstav, så endres betydningen. PR:L i stedet for PR:N sier at det trengs en konto: For en offentlig tjeneste med åpen registrering endrer det lite, for et internt system endrer det mye. Poengsummen endres mye mindre enn betydningen. Derfor er vektoren verdt å lese.
Skalaen
| Alvorlighetsgrad | Poengsum |
|---|---|
| Ingen | 0.0 |
| Lav | 0.1 – 3.9 |
| Middels | 4.0 – 6.9 |
| Høy | 7.0 – 8.9 |
| Kritisk | 9.0 – 10.0 |
Trussel og miljø
Exploit Maturity (E) er den eneste trusselmetrikken: Attacked, Proof-of-Concept eller Unreported. En sårbarhet som utnyttes i virkelige angrep, beholder poengsummen sin; en sårbarhet som det ikke er kjent utnyttelseskode for, får lavere poengsum.
Miljømetrikkene lar deg angi basismetrikkene på nytt for driftsmiljøet ditt og si hvor mye konfidensialitet, integritet og tilgjengelighet betyr for det berørte systemet. En kritisk sårbarhet i et system som ikke inneholder noe av verdi og bare kan nås fra et testnettverk, er ikke kritisk for deg, og miljøpoengsummen kan vise det.
Versjon 4.0 legger også til tilleggsmetrikker, for eksempel Safety, Automatable og Recovery. De beskriver sårbarheten nærmere og endrer ikke poengsummen.
Hva poengsummen ikke sier
- Om den vil bli angrepet. For kjente sårbarheter anslår EPSS sannsynligheten for utnyttelse. Alvorlighetsgrad og sannsynlighet sier mer sammen enn hver for seg.
- Hva systemet er verdt. Et funn med middels alvorlighetsgrad i betalingssystemet kan bety mer enn et kritisk funn i stagingkopien av en markedsføringsside.
- Hva kjeden gjør. Tre funn med middels alvorlighetsgrad som til sammen gir overtakelse av en konto, rapporteres både som tre funn med middels alvorlighetsgrad og som én angrepsvei. Les begge deler.
Slik bruker du den
Sorter først etter poengsum, og juster deretter ut fra det du vet: verdien av systemet, eksponeringen mot internett, kjent utnyttelse, kjedene i rapporten. Når prioriteringen du ender med, avviker fra poengsummen, skriv ned hvorfor. En god rapport gjør det samme: Den oppgir poengsummen, vektoren og, der testeren er uenig i tallet, begrunnelsen.
Hvordan vi vurderer og håndterer funn, er beskrevet i metodikken.