Sistem comun de notare a vulnerabilităților
Common Vulnerability Scoring System ( CVSS ) este un standard deschis utilizat pentru a calcula scorurile cantitative ale vulnerabilităților de securitate dintr-un sistem informatic, de obicei pentru a înțelege prioritatea remedierii acestuia.
Scorurile sunt calculate folosind formule speciale bazate pe mai multe metrici și aproximează ușurința de implementare a exploit- ului și impactul acestuia asupra sistemului informatic. Rezultatul calculului sunt trei scoruri numerice ( Scorul de bază , Scorul temporal și Scorul de mediu ), fiecare dintre acestea putând lua o valoare de la 0 la 10, unde 10 exprimă pericolul maxim.
Cea mai recentă versiune a standardului este 3.1, lansată în iunie 2019. Din diverse motive, unele companii folosesc versiunea veche a standardului CVSSv2, altele folosesc noul CVSSv3, iar altele combină utilizarea diferitelor versiuni.
Istorie
Cercetările efectuate în 2003-2004 de către Consiliul Consultativ Național pentru Infrastructură ( NIAC ) au condus la prima versiune a CVSS în februarie 2005. Scopul inițial a fost de a oferi metode deschise și universale pentru evaluarea severității vulnerabilităților software. În aprilie 2005, NIAC a lansat site-ul web Forum of Incident Response and Security Teams (FIRST), unde a fost publicată prima versiune a standardului.
Prima versiune a standardului nu a fost supusă evaluării de către terți, așa că feedback-ul real din partea companiilor care s-au specializat în dezvoltarea de software și au încercat să-l folosească au scos la iveală multe probleme serioase, în legătură cu care a doua versiune a standardului a fost lansată în iunie. 2007. Dezvoltarea ulterioară a dus la lansarea celei de-a treia versiuni a standardului în iunie 2015.
Repere
CVSS încearcă să evalueze vulnerabilitatea din diferite unghiuri [1] :
- Evaluarea calitativă a vulnerabilității, care nu depinde de timp sau de mediul software, exprimată în termeni de metrici de bază (Metrici de bază ):
- Vectorul de acces (AV) arată cum poate fi introdusă vulnerabilitatea.
- Access Complexity (AC) indică cât de ușor sau dificil este să exploatezi o anumită vulnerabilitate.
- Autentificarea (Au) estimează numărul de autentificări pe care trebuie să le efectueze un atacator înainte de a exploata o vulnerabilitate.
- Impactul vulnerabilității asupra sistemului informatic ( Metrici de impact ):
- Confidențialitatea (C) descrie impactul asupra confidențialității datelor prelucrate de sistem.
- Integritatea (I) descrie impactul asupra integrității datelor unui sistem informatic.
- Disponibilitatea (A) descrie impactul unei vulnerabilități asupra disponibilității unui sistem informatic. De exemplu, atacurile care afectează debitul rețelei sau ocupă timpul CPU afectează disponibilitatea sistemului.
- Metrici temporale , care iau în considerare reacția producătorului unui produs vulnerabil, care se modifică din momentul în care este descoperită o vulnerabilitate până în momentul în care aceasta este remediată:
- Exploabilitatea (E) arată starea actuală a metodelor de exploatare a vulnerabilităților, inclusiv a celor automate.
- Nivelul de remediere (RL) este un număr de corecție care vă permite să diminuați estimarea timpului pe măsură ce devin disponibile remedieri pentru o vulnerabilitate.
- Încrederea raportului (RC) vă permite să măsurați nivelul de încredere în existența unei vulnerabilități și fiabilitatea datelor sale tehnice.
- Măsuri de vulnerabilitate care iau în considerare cerințele specifice de securitate pentru sistemul în care rulează produsul vulnerabil ( Metrici de mediu ):
- Potențialul de daune colaterale (CDP) estimează daunele potențiale aduse unei companii de la o anumită vulnerabilitate, cum ar fi pierderea potențială, deteriorarea fizică a echipamentelor etc.
- Target Distribution (TD) estimează ponderea sistemelor vulnerabile într-o rețea de calculatoare.
- Modificatorul Impact Subscore include numere de corecție de confidențialitate (CR), integritate (IR) și disponibilitate (AR) care vă permit să ajustați valorile Impact și scorul final la cerințele specifice de securitate ale unui anumit mediu.
Măsurile de calcul sunt preluate din tabele, care oferă descrierea acestora, valorile calitative și cantitative. Tabelul de mai jos prezintă metricile introduse încă de la a doua versiune a standardului [1] .
Tabel pivot cu valori CVSSv2
Nota
|
Metrici
|
Descriere
|
scor de bază |
Vector de acces (AV)
|
Exprimarea
calitativă |
expresie
cantitativă |
Explicaţie
|
Local (L)
|
0,395
|
Atacatorul trebuie să aibă acces fizic la sistem sau să aibă un cont local
|
Rețeaua adiacentă (A)
|
0,646
|
Atacatorul trebuie să aibă acces la canalul de difuzare sau domeniul de coliziune
|
Rețea (N)
|
unu
|
Interfață vulnerabilă care rulează la nivelul de rețea sau la nivelul superior al modelului OSI
|
|
Complexitatea accesului (AC)
|
Înalt (H)
|
0,35
|
Există anumite condiții speciale pentru atac, cum ar fi o condiție de cursă în sistem sau sunt îndeplinite anumite cerințe de inginerie socială , care pot fi observate de un specialist experimentat.
|
Mediu (M)
|
0,61
|
Există unele cerințe suplimentare pentru atac, de exemplu, o anumită sursă de atac este definită sau există o cerință pentru o configurație specială pentru sistemul atacat, diferită de standard
|
Scăzut (L)
|
0,71
|
Nu există cerințe speciale pentru exploatarea vulnerabilității.
|
|
Autentificare (AU)
|
Multiplu (M)
|
0,45
|
Un atacator trebuie să se autentifice de cel puțin două ori pentru a exploata vulnerabilitatea, chiar dacă sunt folosite aceleași acreditări.
|
Single (S)
|
0,56
|
Un atacator trebuie să se autentifice o dată pentru a exploata vulnerabilitatea.
|
Niciuna (N)
|
0,704
|
Nu este necesară autentificarea pentru a exploata vulnerabilitatea
|
|
Confidențialitate (C)
|
Niciuna (N)
|
0
|
Niciun impact asupra confidențialității sistemului
|
Parțial (P)
|
0,275
|
Doar o cantitate limitată de date este dezvăluită pe scară largă
|
Completează (C)
|
0,660
|
Dezvăluirea completă a tuturor datelor de sistem
|
|
Integritate (I)
|
Niciuna (N)
|
0
|
Niciun impact asupra integrității sistemului
|
Parțial (P)
|
0,275
|
Cantitatea de date de sistem care poate fi modificată este în mod clar limitată
|
Completează (C)
|
0,660
|
Atacatorul poate modifica orice date de sistem
|
|
Disponibilitate (A)
|
Niciuna (N)
|
0
|
Niciun impact asupra disponibilității sistemului
|
Parțial (P)
|
0,275
|
Există o degradare parțială a performanței
|
Completează (C)
|
0,660
|
Pierderea completă a resursei atacate
|
|
Scor temporal |
Exploatabilitate (E)
|
Nedovedit (U)
|
0,85
|
Codul de exploatare nu este disponibil sau exploatarea este teoretică
|
Dovada de concept (P)
|
0,9
|
Este disponibil un cod de exploatare demonstrativ, dar nu este universal și acoperă doar unul sau câteva cazuri speciale
|
funcțional (F)
|
0,95
|
Codul de exploatare este disponibil și funcționează în majoritatea situațiilor în care vulnerabilitatea este prezentă
|
Înalt (H)
|
1.0
|
Codul de exploatare este disponibil și poate fi introdus în sistem într-un mod automat, cum ar fi sub formă de vierme sau virus
|
Nedefinit (ND)
|
1.0
|
Ignorați această valoare
|
|
Nivel de remediere (RL)
|
Remediere oficială (O)
|
0,87
|
O soluție completă pentru vulnerabilitate este disponibilă de la furnizor, fie ca actualizare, fie ca patch
|
Remediere temporară (T)
|
0,90
|
Vânzătorul are o soluție care atenuează parțial impactul vulnerabilității
|
soluție (W)
|
0,95
|
Soluție neoficială sau remediu terță parte disponibilă
|
Indisponibil (U)
|
1.0
|
Nu există o soluție disponibilă sau soluția propusă nu poate fi aplicată. De obicei, o vulnerabilitate rămâne în această stare imediat după descoperire.
|
Nedefinit (ND)
|
1.0
|
Ignorați această valoare
|
|
Raportați încrederea (RC)
|
Neconfirmat (UC)
|
0,9
|
O sursă neconfirmată sau mai multe surse, dar nu descriu vulnerabilitatea mai mult sau mai puțin în același mod. Inclusiv zvonuri despre vulnerabilitate
|
Necoroborat (UR)
|
0,95
|
Mai multe surse care descriu în general vulnerabilitatea în același mod. Micile dezacorduri sunt acceptabile
|
Confirmat (C)
|
1.0
|
Vulnerabilitatea este confirmată atât de furnizor, cât și de producătorul produsului afectat
|
Nedefinit (ND)
|
1.0
|
Ignorați această valoare
|
|
Scorul de mediu |
Potenţial de daune colaterale (CDP)
|
Niciuna (N)
|
0
|
Vulnerabilitatea nu suportă nicio pierdere pentru afaceri
|
Scăzut (L)
|
0,1
|
Pierdere minoră a veniturilor sau a performanței sistemului
|
Scăzut Mediu (LM)
|
0,3
|
daune moderate
|
Mediu ridicat (MH)
|
0,4
|
Daune semnificative
|
Înalt (H)
|
0,5
|
daune catastrofale
|
Nedefinit (ND)
|
0
|
Ignorați această valoare
|
|
Distribuție țintă (TD)
|
Niciuna (N)
|
0
|
Sistemele țintă nu există sau există în laborator
|
Scăzut (L)
|
0,25
|
1-25% din sistemul afectat
|
Mediu (M)
|
0,75
|
26-75% din sistemul afectat
|
Înalt (H)
|
1.0
|
76-100% sistem afectat
|
Nedefinit (ND)
|
1.0
|
Ignorați această valoare
|
|
Modificator de subscore de impact
|
Scăzut (L)
|
0,5
|
Pierderea (confidențialitatea (CR) / integritatea (IR) / disponibilitatea (AR)) este probabil să aibă doar un impact limitat asupra organizației
|
Mediu (M)
|
1.0
|
Pierderea (Confidențialitatea (CR) / Integritatea (IR) / Disponibilitatea (AR)) poate afecta grav o organizație
|
Înalt (H)
|
1,51
|
Pierderea (confidențialitatea (CR) / integritatea (IR) / disponibilitatea (AR)) poate fi dezastruoasă pentru o organizație
|
Nedefinit (ND)
|
1.0
|
Ignorați această valoare
|
|
Formule de calcul în CVSSv2
Scorul se calculează folosind următoarele formule. Valorile parametrilor sunt selectate din tabelul de mai sus. Numerele rezultate fracționale trebuie rotunjite la prima zecimală, care este exprimată în funcție de funcția de mai jos .
Următoarele formule sunt utilizate
pentru calcul .
Următoarele formule sunt utilizate pentru calcul . se calculează folosind aceeași formulă ca și , dar trebuie să înlocuiți .
Exemplu
În 2002, în aplicația server Apache a fost descoperită o vulnerabilitate CVE -2002-0392 , ceea ce a dus la coruperea memoriei serverului în timpul codificării fragmentate a cererilor pentru aceasta. Știind acest lucru, un atacator poate crea o exploatare de succes care, în unele cazuri, poate duce la un server denial of service, iar în altele, la executarea unui cod arbitrar cu privilegiile unei aplicații server.
Folosind valorile CVSS pentru a calcula scorul de bază , problema poate fi descrisă după cum urmează:
- AV este egal cu N deoarece cererea este generată de la distanță la nivelul de aplicație al modelului OSI.
- AC este egal cu L, deoarece pentru funcționarea cu succes a exploit-ului, este suficient să se formeze o cerere specială pentru server și nu sunt necesare cerințe speciale de la server.
- Au este N deoarece serverul va procesa această solicitare fără autentificarea clientului.
- Deoarece rezultatul final al exploatării unei vulnerabilități depinde de cererea în sine, ar trebui să se ia în considerare doar cazul de exploatare cel mai probabil. Aceasta ar putea fi executarea unui cod de atacator arbitrar pentru a extrage date din baza de date a serverului, cum ar fi obținerea de date de autentificare de la alți clienți. În acest caz, parametrii C și I ar trebui setați la P ( Parțial ). De asemenea, este probabil ca un atacator să folosească un exploit pentru a distruge serverul, caz în care A ar trebui setat la C ( Complet ). În acest exemplu, vom presupune al doilea caz de utilizare, așa că vom seta C și I la N ( Niciunul ) și vom seta A la C.
Astfel, parametrii pentru calcularea notei de bază pot fi exprimați prin următorul șir de text, numit în practică vector :
AV:N/AC:L/Au:N/C:N/I:N/A:C
Deoarece Apache Foundation a confirmat vulnerabilitatea pentru versiunile de server 1.3 și 2.0, vectorul
pentru Scorul temporal va fi:E:F/RL:O/RC:C
Vectorul pentru Scorul de mediu depinde de ceea ce este mai important pentru compania care utilizează serverul Apache și de ce capacitate are acesta. Pentru acest exemplu, să fie vectorul astfel:
CDP:H/TD:H/CR:M/IR:M/AR:H
Înlocuind valorile cantitative ale indicatorilor din tabel, obținem următoarele rezultate.
Având în vedere scoruri atât de mari pentru această vulnerabilitate, ar trebui să ne actualizăm serverele Apache la cel puțin versiunea 2.1 cât mai curând posibil.
Critica și compararea versiunilor standardului
Mai mulți furnizori de software au fost nemulțumiți de CVSSv2:
- Risk Based Security , care gestionează Open Sourced Vulnerability Database , și Open Security Foundation și-au exprimat nemulțumirea față de standard într-o scrisoare deschisă către FIRST [2] . În special, autorii au subliniat lipsa de detalii în mai multe metrici, care nu distinge în mod corespunzător între vulnerabilități de diferite tipuri și profiluri de risc. S-a remarcat, de asemenea, că sistemul de scorare necesită prea multe cunoștințe despre impactul vulnerabilității asupra sistemului.
- Oracle a propus un alt nivel pentru Confidențialitate , Integritate și Disponibilitate - Parțial+ - pentru a reduce decalajul mare dintre Parțial și Complete [3] .
Pentru a răspunde unora dintre aceste critici, dezvoltarea standardului CVSSv3 a început în 2012, versiunea finală fiind lansată în iunie 2015. Mai mulți indicatori au fost modificați, adăugați și eliminați, iar formulele au fost ușor corectate, menținând intervalul de rating de la 0 la 10.
Principalele diferențe dintre CVSSv3 și CVSSv2 sunt următoarele:
- Noi valori (UI (Experiența utilizatorului), PR (Privilegii necesare)) au fost adăugate la linia de bază pentru a ajuta la distingerea între vulnerabilitățile legate de privilegiile utilizatorului obișnuit și de administrator.
- Metrica S ( Scope ) a fost adăugată vectorului scor de bază pentru a distinge între vulnerabilitățile care pot fi mai întâi introduse și apoi utilizate pentru a ataca alte părți ale sistemului sau rețelei.
- Valorile Confidențialitate , Integritate și Disponibilitate din a treia versiune au diferite gradații: Niciunul, Scăzut și Ridicat, în loc de Niciunul, Parțial și Complet.
- Valoarea Complexității accesului a fost redenumită Complexitatea atacului pentru a indica faptul că cerințele privind drepturile de acces au fost mutate într-o măsurătoare separată .
- Fizic (P) a fost adăugat la metrica Vector de acces pentru a indica faptul că este necesar accesul fizic la hardware pentru a exploata vulnerabilitatea.
- Toate valorile pentru Scorul de mediu au fost complet modificate pentru a descrie mai precis cerințele de securitate a sistemului. Au fost adăugate valori pentru a reflecta importanța confidențialității, integrității și disponibilității.
În iunie 2019, a fost lansată versiunea 3.1 [4] . Această versiune nu introduce noi modificări la standard, ci doar detaliază descrierea unor metrici pentru o mai bună înțelegere.
Aplicație
Diverse versiuni ale CVSS au fost adoptate ca metodă principală de cuantificare a vulnerabilităților de către multe organizații. Iată doar câteva exemple:
Note
- ↑ 1 2 Un ghid complet al sistemului comun de notare a vulnerabilităților . www.first.org . Forumul echipelor de răspuns la incident și de securitate (iunie 2007). Preluat la 6 mai 2021. Arhivat din original la 8 martie 2022.
- ↑ Formularea deficiențelor, erorilor și erorilor CVSSv2 . www.riskbasedsecurity.com . Preluat la 7 mai 2021. Arhivat din original pe 7 mai 2021. (nedefinit)
- ↑ Utilizarea Common Vulnerability Scoring System (CVSS) de către Oracle . www.oracle.com . Preluat la 7 mai 2021. Arhivat din original pe 6 mai 2021. (nedefinit)
- ↑ Common Vulnerability Scoring System versiunea 3.1: Document de specificații . www.first.org . Forumul echipelor de răspuns la incident și de securitate (iunie 2019). Preluat la 7 mai 2021. Arhivat din original la 8 martie 2022.
- ↑ National Vulnerability Database: Official Site . nvd.nist.gov . Preluat la 7 mai 2021. Arhivat din original la 6 aprilie 2018. (nedefinit)
- ↑ Manion, art. Severitatea vulnerabilității utilizând CVSS . insights.sei.cmu.edu (12 aprilie 2012). Preluat la 7 mai 2021. Arhivat din original pe 7 mai 2021.
Link -uri