Procjena CVSS indeksa za neku ranjivost radi se
prema prihvaćenoj metodologiji koja je Open-source standard. Aktuelna verzija (2017.) je CVSS v3.0.
Ranjivost se procjenjuje sa tri aspekta, baznog, vremenskog i u odnosu na okruženje: Base Metrics, Temporal Metrics, i Environmental
Metrics.
Razvijen je kalkulator koji dobijene vrednosti svodi na Base Score, Temporal Score i Environmental
Score, brojeve 0-10, što su indeksi ranjivosti.
Metrike, tj. elementi svakog od njih koji se boduju su
sljedeći:
Base Metrics
Attack Vector (AV) – vektor napada – označava koliki
je opseg napada kad je u pitanju pristup. Network
ukazuje da je to mreža, odnosno internet, adjacent
ukazuje na susjedni uređaj (bluetooth ili IR veza npr.), local je kad je napad iz lokalne mreže, dok physical ukazuje na neophodno fizičko prisustvo napadača na mjestu
napada .
Base score raste što je veća fizička i
logička udaljenost napadača od mjesta ranjivosti.
Attack Complexity (AC) – radi se o kompleksnosti
napada, odnosno o uslovima koje napadač mora da ispuni da bi pristupio ranjivom
mjestu. Ukoliko ne može da pristupi ranjivosti kad hoće, kompleksnost je
velika, a ako može da pristupi i iskoristi je bez mijenjanja difoltnih
setovanja kompleksnost je niska.
Međutim, Base score
je veći što je kompleksnost napada manja.
Privileges Required (PR) – da li se traže privilegije
– opisuje nivo privilegija koje mora imati napadač da bi pristupio i iskoristio
ranjivost.
Ako se zahtijevaju administratorske privilegije i
autorizacija je obavezna, vrijednost je High.
Ukoliko se traži autorizacija, ali ne i administratorske privilegije imamo Low, a ako se ne traži ni autorizacija
onda None.
Base score je veći što manje
privilegija je potrebno.
User Interaction (UI) – interakcija korisnika- vrijednost
koja kazuje da li je potrebna neka akcija korisnika da bi se napad realizovao.
Ako je odgovor da, vrijednost je Required,
u protivnom None.
Base score je veći tamo gdje se ne
traže akcije korisnika.
Scope (S) – opseg. Da bismo odredili
ovo moramo razlikovati ranjivu
komponentu i pogođenu komponentu sistema. Ranjiva komponenta je autorizovani
opseg koji sadrži ranjivost a pogođena komponenta je autorizovani opseg koji
biva pogođen kad se ranjivost iskoristi. Pitanje je da li su oni isti. Ako
jesu, opseg je Unchanged (napadač ne
može pogoditi domen različit od onog gdje je ranjivost), u protivnom je Changed (iskorišćavanje ranjivosti može
pogoditi i domene različite od onoga gdje je ranjivost – npr. ranjiovost na
serveru pogađa browser korisnika).
Base score je veći tamo gdje imamo
promjenu opsega.
Confidentiality (C) – posmatra se narušavanje
povjerljivosti, odnosno koliko pristupa poverljivim informacijama može
ostvariti napadač kad iskoristi ranjivost.
Ako nema uticaja na poverljivost, vrijednost je None. Ukoliko napadač naruši
poverljivost, ali ne može pristupiti svim podacima već samo nekim, ili podaci
kojima pristupi nisu osjetljivi podaci, vrijednost je Low.
Ukoliko napadač može pristupiti svim podacima, ili osjetljivim podacima,
vrijednost je High.
Base score je veći što je više podataka
otkriveno neovlašćenoj osobi.
Intergrity (I) – posmatra se narušavanje integriteta, odnosno koliko podataka može
promijeniti napadač kad iskoristi ranjivost.
Ako nema uticaja na integritet, vrijednost je None. Ukoliko napadač naruši integritet,
ali ne može izmijeniti sve podatke već samo neke, ili podaci koje može da
promijeni nisu osjetljivi podaci, vrijednost je Low.
Ukoliko napadač može promijeniti sve podatke, ili osjetljive podatke ( na
primjer lozinke!) , vrijednost je High.
Base score je veći što je za više
podataka moguće narušiti
Availability (A) – posmatra se raspoloživost, odnosno da li napadač iskorišćavanjem
ranjivosti može učiniti resurse odnosno podatke nedostupnim. Ako nema uticaja
na raspoloživost vrijednost je None.
Ukoliko napadač utiče na raspoloživost, ali ne može u potpunosti sprečiti
pristup, ili podaci koje je učinio nedostuipnim nisu kritični, vrijednost je Low.
Ukoliko napadač može potpuno onemogućiti pristup sistemu, ili pristup
osjetljivim podacima, vrijednost je High.
Base score je veći što je više podataka
što je veće moguće narušavanje raspoloživosti.
Temporal Metrics
Temporal
metric mjeri trenutno stanje tehnika eksploita ili dostupnost koda,
postojanje bilo kakvih zakrpa ili workaround rešenja, kao i poverenje koje se
ima u opis ranjivosti.
Očekuje se da će
se ove “vremenske” mjere vremenom mijenjati i možda će se trebati prilagoditi nakon
što informacije i zakrpe postanu dostupne.
Sve Temporalne metrike imaju podrazumevanu vrednost Not
Defined, koja se koristi kada nemamo dovoljno informacija da bismo izabrali
određenu vrednost ili ne želimo da koristimo metriku. Ako se izabere Not
Defined, dobija se isti rezultat kao što bi proizveo odabir najgore vrijednosti
za metričku vrijednost, na primjer, vrijednost koja vodi do najvećeg
rezultata.
Temporal Score podrazumeva isti rezultat kao i Base Score, a
odabirom vrijednosti koje nisu podrazumijevane smanjuje se rezultat. Temporal
Score nikada ne može premašiti Base Score.
Exploit Code Maturity (E) - mjeri vjerovatnoću
ranjivosti koja se eksploatiše i obično se zasniva na trenutnom stanju tehnika
eksploatacije, dostupnosti koda eksploita ili aktivnoj eksploataciji "in
situ". Javna dostupnost jednostavnog eksploatacionog koda povećava broj
potencijalnih napadača tako što uključuje one koji su nekvalifikovani, čime se
povećava ozbiljnost ranjivosti. Dostupni eksploatacijski kod može napredovati
od demonstracije dokaza (Proof-Of-Concept) preko eksploatacionog koda koji je
uspješno izvršen (Functional). U teškim slučajevima (High), može se ispoljiti
kao nosilac mrežnog crva ili virusa ili drugih automatskih alata za napad.
Remediation Level (RL) – nivo remedijacije .
Tipična ranjivost nije pečovana kad se tek pojavi. Najprije se pojave
workaround i hot fix rješenja, a zatim i zvanični, Official Fix. Što je
pouzdaniji način rješavanja, to je i nivo veći.
Report Confidence (RC) - mjeri stepen povjerenja u
postojanje ranjivosti i kredibilitet poznatih tehničkih detalja. Ponekad se objavi
samo postojanje ranjivosti, ali bez posebnih detalja (Unknown). Na primjer, uticaj može biti prepoznat kao nepoželjan,
ali osnovni uzrok (root cause) možda nije poznat (Reasonable). Ranjivost može kasnije potkrepiti istraživanjem ili
putem priznanja od strane autora ili proizvođača ugrožene tehnologije (Confirmed). Hitnost je veća kada se sa
sigurnošću zna da postoji ranjivost. Skor je veći što je vjerodostojnija
potvrda ranjivosti od vendora ili drugih renomiranih izvora.
Environmental Metrics
Dok vremenske metrike mjere karakteristike ranjivosti
promjenjive u vremenu, Environmental metrike posmatraju ranjivosti u odnosu na okruženje, odnosno kako
se neka ranjivost ispoljava u tom određenom, jedinstvenom okruženju korisnika.
One omogućavaju analitičaru da prilagodi CVSS rezultat u
zavisnosti od važnosti utjecaja IT sredstava na organizaciju korisnika, mjeren
u smislu komplementarnih/alternativnih bezbjednosnih kontrola koje su
primjenjene i relativnog značaja povjerljivosti, integriteta i raspoloživosti.
Metrike su modifikovani ekvivalent bazičnih metrika i dodeljene su vrednosti
zasnovane na poziciji komponenti u organizacionoj infrastrukturi.
Prve tri metrike dozvoljavaju promjenu relativne važnosti
poverljivosti, integriteta i raspoloživosti. Podrazumijevano, sva tri imaju
jednaku težinu, ali posebna okruženja mogu staviti više značaja na održavanje
povjerljivosti ili integriteta informacija ili na raspoloživost usluge. Npr.
postavljanje Confidentiality Requirement na High povećava utjecaj različitih
vrijednosti povjerljivosti na ukupan Environmental
Score. Ovo je takođe slučaj za metričke zahteve za integritet i potrebama
za dostupnošću.
Puni
efekat na Environmental Score određen je
nadalje korespondirajućim modifikovanim metrikama iz prve tabele Base metrics. Drugim riječima, možemo modifikovati bazne metrike s
obzirom na naše specifično okruženje, odnosno kritičnost resursa koji su
potencijalna meta ukoliko se ranjivost iskoristi.
Uobičajeno
je da Environmental Score bude niži od Base Score, jer ovdje korigujemo
vrijednosti procjene za dijelove infrastrukture koji nisu kritični za nas, a
nose veliki Base Score.
Vector String
U
nekim slučajevima korisno je, pored numeričkog indeksa ranjivosti imati i tekstualnu
reprezentaciju baznih, vremenskih i metrika okruženja. Svi rezultati mogu biti
mapirani na kvalitativne ocene definisane kroz prethodne tabele.
Kao primjer, uzmimo da je CVSS sa baznim skorom od 4.0 , što
je ranjivost srednje težine.
Korišćenje pojedinačnih kvalitativnih ocena ozbiljnosti ranjivosti
je neobavezno i ne postoji potreba da se one uključe prilikom objavljivanja
CVSS rezultata. Namijenjeni su da pomognu organizacijama da pravilno procijene
i daju prednost prioritetima u procesu upravljanja ranjivostima.
U verziji CVSS v3.0
data je i je tekstualna reprezentacija skupa CVSS metrika i koristi se za čuvanje
ili prenošenje CVSS metričkih informacija u konciznoj formi.
Vektorski niz
verzije 3.0 počinje sa oznakom "CVSS:" i numeričkom prikazom trenutne
verzije "3.0".
Metričke
informacije slijede u obliku skupa metrika, pri čemu svakoj metrici prethodi kosa crta,
"/", kao razdjelnik.
Svaka metrika se
sastoji od imena u skraćenom obliku, dvotačke i njegove pridružene vrijednosti
u skraćenom obliku.
Obično se ovakav vektor pravi za bazne metrike, rjeđe za vremenske ili metrike okruženja.
Primjer vektora:
CVSS:3.0/AV:N/AC:H/PR:L/UI:R/S:U/C:N/I:L/A:H
Kalkulatori za ovu svrhu, (LINK) pored numeričke vrijednosti obično ispišu i
vektor: