Varje fynd i rapporten från ett penetrationstest har en rad som den här:
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
och ett tal bredvid. Det är talet som citeras på möten. Det är raden som bör läsas, eftersom den säger varför talet är just det.
CVSS, Common Vulnerability Scoring System, ges ut av FIRST. Version 4.0 släpptes den 1 november 2023.
Vad poängen mäter
CVSS mäter en sårbarhets allvarlighetsgrad: hur lätt den är att utnyttja och hur stor skada ett utnyttjande orsakar. Det mäter inte risk, som också beror på vad det berörda systemet är värt för dig och på om någon angriper det. Specifikationen säger det själv, och version 4.0 gjorde skillnaden synlig i poängens namn:
| Namn | Byggs av | Svarar på |
|---|---|---|
| CVSS-B | Basmått (Base) | Hur allvarlig är sårbarheten i sig? |
| CVSS-BT | Basmått och hotmått (Threat) | Hur allvarlig är den, givet vad angripare gör nu? |
| CVSS-BE | Basmått och miljömått (Environmental) | Hur allvarlig är den i vår miljö? |
| CVSS-BTE | Alla tre | Hur allvarlig är den här och nu? |
En rapport från ett penetrationstest anger normalt CVSS-B, ibland CVSS-BE när testaren känner miljön väl. Sårbarhetsdatabaser publicerar CVSS-B. Om en poäng saknar bokstäver efter sig kan du utgå från B.
Basmåtten
De första fem beskriver hur attacken genomförs.
| Mått | Värden | Fråga |
|---|---|---|
| Attack Vector (AV) | Network, Adjacent, Local, Physical | Varifrån kan angriparen nå sårbarheten? |
| Attack Complexity (AC) | Low, High | Måste angriparen ta sig förbi ett skydd som finns på plats? |
| Attack Requirements (AT) | None, Present | Beror attacken på förutsättningar i driftmiljön, till exempel ett race condition eller en viss position i nätverket? |
| Privileges Required (PR) | None, Low, High | Vilken åtkomst behöver angriparen i förväg? |
| User Interaction (UI) | None, Passive, Active | Måste någon annan göra något? |
Attack Requirements är nytt i version 4.0: det skiljer förutsättningar i miljön från skydd som måste övervinnas. User Interaction har nu tre värden: Passive betyder en vanlig handling, till exempel att öppna en sida, och Active betyder att offret måste göra något ovanligt.
De följande sex beskriver skadan, på det sårbara systemet och på efterföljande system som kan nås via det:
| Mått | Värden |
|---|---|
| Konfidentialitet: VC, SC | High, Low, None |
| Integritet: VI, SI | High, Low, None |
| Tillgänglighet: VA, SA | High, Low, None |
Version 3.1 hade ett mått som hette Scope för påverkan på andra system. Det var en källa till oenighet mellan dem som satte poängen och ersattes av de tre uttryckliga måtten för efterföljande system.
Så läser du exemplet
AV:N/AC:L/AT:N/PR:N/UI:N: nåbar över nätverket, inget skydd att ta sig förbi, inga särskilda förutsättningar, inget konto behövs, ingen behöver klicka på något. VC:H/VI:H/VA:H: full förlust av konfidentialitet, integritet och tillgänglighet i det sårbara systemet. SC:N/SI:N/SA:N: ingen påverkan utanför det.
Den här vektorn ger 9.3, Kritisk. Om samma sårbarhet också gav full kontroll över system bakom det sårbara systemet skulle de tre sista måtten vara High och poängen 10.0.
Byt en bokstav så ändras betydelsen. PR:L i stället för PR:N säger att ett konto behövs: för en offentlig tjänst med fri registrering ändrar det lite, för ett internt system ändrar det mycket. Poängen ändras mycket mindre än betydelsen. Därför är vektorn värd att läsa.
Skalan
| Allvarlighetsgrad | Poäng |
|---|---|
| Ingen | 0.0 |
| Låg | 0.1–3.9 |
| Medelhög | 4.0–6.9 |
| Hög | 7.0–8.9 |
| Kritisk | 9.0–10.0 |
Hot och miljö
Exploit Maturity (E) är det enda hotmåttet: Attacked, Proof-of-Concept eller Unreported. En sårbarhet som utnyttjas i verkliga attacker behåller sin poäng. En sårbarhet utan känd exploit får en lägre poäng.
Med miljömåtten kan du ange basmåtten på nytt för din egen driftmiljö och säga hur viktiga konfidentialitet, integritet och tillgänglighet är för det berörda systemet. En kritisk sårbarhet i ett system som inte innehåller något av värde och bara kan nås från ett testnätverk är inte kritisk för dig, och miljöpoängen kan visa det.
Version 4.0 lägger också till kompletterande mått, till exempel Safety, Automatable och Recovery. De beskriver sårbarheten närmare och ändrar inte poängen.
Vad poängen inte säger
- Om sårbarheten kommer att angripas. För kända sårbarheter uppskattar EPSS sannolikheten för att de utnyttjas. Allvarlighetsgrad och sannolikhet säger tillsammans mer än var för sig.
- Vad systemet är värt. Ett medelhögt fynd i betalsystemet kan betyda mer än ett kritiskt i stagingkopian av en marknadsföringssida.
- Vad kedjan gör. Tre medelhöga fynd som tillsammans leder till att ett konto tas över rapporteras som tre medelhöga fynd och som en attackväg. Läs båda.
Så använder du den
Sortera först efter poängen och justera sedan utifrån det du vet: tillgångens värde, exponeringen mot internet, känt utnyttjande, kedjorna i rapporten. När den prioritet du kommer fram till skiljer sig från poängen, skriv ned varför. En bra rapport gör likadant: den anger poängen, vektorn och, där testaren inte håller med om talet, skälet.
Hur vi bedömer och hanterar fynd beskrivs i vår metodik.