четвртак, 21. децембар 2017.

Metodologija procjene CVSS v3.0.


U prethodnom tekstu o upravljanju ranjivostima, pomenula sam metodologiju računanja CVSS.


izvor www.first.org


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:


Нема коментара:

Постави коментар