Yleinen haavoittuvuuden pisteytysjärjestelmä

CVSS ( Common Vulnerability Scoring System ) on avoin standardi, jota käytetään tietokonejärjestelmän tietoturvahaavoittuvuuksien kvantitatiivisten pistemäärien laskemiseen, yleensä sen korjaamisen tärkeysjärjestyksen ymmärtämiseksi.

Pisteet lasketaan erityisillä kaavoilla, jotka perustuvat useisiin mittareihin ja arvioivat hyväksikäytön toteutuksen helppoutta ja sen vaikutusta tietokonejärjestelmään. Laskennan tuloksena saadaan kolme numeerista pistettä ( Base Score , Temporal Score ja Environmental Score ), joista kukin voi saada arvon 0-10, jossa 10 ilmaisee suurinta vaaraa.

Standardin uusin versio on 3.1, joka julkaistiin kesäkuussa 2019. Jotkut yritykset käyttävät eri syistä CVSSv2-standardin vanhaa versiota, toiset uutta CVSSv3:a ja toiset yhdistävät eri versioiden käyttöä.

Historia

National Infrastructure Advisory Councilin ( NIAC  ) vuosina 2003–2004 tekemä tutkimus johti CVSS :n ensimmäiseen versioon helmikuussa 2005. Alkuperäisenä tavoitteena oli tarjota avoimia ja universaaleja menetelmiä ohjelmistohaavoittuvuuksien vakavuuden arvioimiseksi. Huhtikuussa 2005 NIAC avasi Forum of Incident Response and Security Teams (FIRST) -verkkosivuston, jossa standardin ensimmäinen versio julkaistiin.

Standardin ensimmäinen versio ei ollut kolmansien osapuolten vertaisarvioinnin kohteena, joten ohjelmistokehitykseen erikoistuneiden ja sitä hyödyntävien yritysten todellinen palaute paljasti monia vakavia ongelmia, joiden yhteydessä standardin toinen versio julkaistiin kesäkuussa. 2007. Jatkokehitys johti standardin kolmannen version julkaisuun kesäkuussa 2015.

Kohokohdat

CVSS yrittää arvioida haavoittuvuutta eri näkökulmista [1] :

  1. Laadullinen haavoittuvuuden arviointi, joka ei riipu ajasta tai ohjelmistoympäristöstä, ilmaistuna perusmittareina ( Base metrics ):
    1. Access Vector (AV) näyttää, kuinka haavoittuvuus voidaan ottaa käyttöön.
    2. Access Complexity (AC) ilmaisee, kuinka helppoa tai vaikeaa on tietyn haavoittuvuuden hyödyntäminen.
    3. Authentication (Au) arvioi, kuinka monta todennusta hyökkääjän on suoritettava ennen haavoittuvuuden hyödyntämistä.
    4. Haavoittuvuuden vaikutus tietokonejärjestelmään ( Impact metrics ):
      1. Luottamuksellisuus (C) kuvaa järjestelmän käsittelemien tietojen yksityisyyttä.
      2. Eheys (I) kuvaa vaikutusta tietokonejärjestelmän tietojen eheyteen.
      3. Saatavuus (A) kuvaa haavoittuvuuden vaikutusta tietokonejärjestelmän saatavuuteen. Esimerkiksi hyökkäykset, jotka vaikuttavat verkon suorituskykyyn tai vievät suorittimen aikaa, vaikuttavat järjestelmän käytettävyyteen.
  2. Ajalliset mittarit , jotka ottavat huomioon haavoittuvan tuotteen valmistajan reaktion, joka muuttuu haavoittuvuuden havaitsemisesta sen korjaamiseen:
    1. Exploitability (E) näyttää haavoittuvuuden hyödyntämismenetelmien nykytilan, mukaan lukien automatisoidut.
    2. Remediation Level (RL) on korjaustaso, jonka avulla voit pehmentää aika-arviota, kun haavoittuvuuden korjauksia tulee saataville.
    3. Raportin luotettavuuden (RC) avulla voit mitata luottamustasoa haavoittuvuuden olemassaoloon ja sen teknisten tietojen luotettavuutta.
  3. Haavoittuvuusmittarit, jotka ottavat huomioon sen järjestelmän erityiset tietoturvavaatimukset, jossa haavoittuva tuote toimii ( Environmental metrics ):
    1. Collateral Damage Potential (CDP) arvioi yritykselle tietyn haavoittuvuuden aiheuttamat mahdolliset vahingot, kuten mahdolliset menetykset, fyysiset vauriot laitteille jne.
    2. Target Distribution (TD) arvioi haavoittuvien järjestelmien osuuden tietokoneverkossa.
    3. Impact Subscore Modifier sisältää luottamuksellisuuden (CR), eheyden (IR) ja saatavuuden (AR) korjausnumerot, joiden avulla voit mukauttaa Impact-mittareita ja loppupisteitä tietyn ympäristön erityisten turvallisuusvaatimusten mukaan.

Laskennan mittarit on otettu taulukoista, joissa on niiden kuvaus, laadulliset ja määrälliset arvot. Alla olevassa taulukossa näkyvät standardin toisen version jälkeen käyttöön otetut mittarit [1] .

Pivot-taulukko CVSSv2-mittareilla
Arvosana Mittarit Kuvaus
peruspisteet Access Vector (AV)
Laadullinen
ilmaisu
määrällinen
ilmaisu
Selitys
Paikallinen (L) 0,395 Hyökkääjällä on oltava fyysinen pääsy järjestelmään tai paikallinen tili
Viereinen verkko (A) 0,646 Hyökkääjällä on oltava pääsy lähetyskanavalle tai törmäysalueelle
Verkko (N) yksi Haavoittuva käyttöliittymä, joka toimii OSI-mallin verkkokerroksessa tai ylempänä
Access Complexity (AC)
Korkea (H) 0,35 Hyökkäämiselle on tiettyjä erityisehtoja, kuten järjestelmässä oleva rotuehto tai jotkin sosiaalisen suunnittelun vaatimukset täyttyvät , jotka asiantunteva asiantuntija huomaa.
Keskikokoinen (M) 0,61 Hyökkäykselle on joitain lisävaatimuksia, esimerkiksi tietty hyökkäyksen lähde on määritetty tai hyökätylle järjestelmälle vaaditaan erityinen standardista poikkeava kokoonpano
Matala (L) 0,71 Haavoittuvuuden hyödyntämiselle ei ole erityisiä vaatimuksia.
Todennus (AU)
Useita (M) 0,45 Hyökkääjän on todennettu vähintään kahdesti voidakseen hyödyntää haavoittuvuutta, vaikka käytettäisiin samoja tunnistetietoja.
Yksittäinen (S) 0,56 Hyökkääjän on todennettu kerran voidakseen hyödyntää haavoittuvuutta.
Ei mitään (N) 0,704 Haavoittuvuuden hyödyntäminen ei vaadi todennusta
Luottamuksellisuus (C)
Ei mitään (N) 0 Ei vaikutusta järjestelmän yksityisyyteen
Osittainen (P) 0,275 Vain rajallinen määrä tietoja julkistetaan laajasti
Täydellinen (C) 0,660 Kaikkien järjestelmätietojen täydellinen paljastaminen
Rehellisyys (I)
Ei mitään (N) 0 Ei vaikutusta järjestelmän eheyteen
Osittainen (P) 0,275 Muutettavissa olevan järjestelmädatan määrä on selvästi rajallinen
Täydellinen (C) 0,660 Hyökkääjä voi muuttaa mitä tahansa järjestelmätietoja
Saatavuus (A)
Ei mitään (N) 0 Ei vaikutusta järjestelmän saatavuuteen
Osittainen (P) 0,275 Suorituskyky on osittain heikentynyt
Täydellinen (C) 0,660 Hyökkäyksen kohteena olevan resurssin täydellinen menetys
Ajallinen pistemäärä Käytettävyys (E)
Todistamaton (U) 0,85 Exploit-koodi ei ole saatavilla tai exploit on teoreettinen
Todistus (P) 0.9 Demon hyödyntämiskoodi on saatavilla, mutta se ei ole universaali ja kattaa vain yhden tai muutaman erikoistapauksen
Toiminnallinen (F) 0,95 Hyökkäyskoodi on saatavilla ja toimii useimmissa tilanteissa, joissa haavoittuvuus on olemassa
Korkea (H) 1.0 Hyökkäyskoodi on saatavilla ja se voidaan tuoda järjestelmään automatisoidulla tavalla, kuten madon tai viruksen muodossa
Ei määritelty (ND) 1.0 Ohita tämä mittari
Korjaustaso (RL)
Virallinen korjaus (O) 0,87 Täydellinen ratkaisu haavoittuvuuteen on saatavana toimittajalta joko päivityksenä tai korjaustiedostona
Väliaikainen korjaus (T) 0,90 Toimittajalla on kiertotapa, joka osittain lieventää haavoittuvuuden vaikutusta
kiertotapa (W) 0,95 Epävirallinen ratkaisu tai kolmannen osapuolen korjaustoimenpide saatavilla
Ei saatavilla (U) 1.0 Ratkaisua ei ole saatavilla tai ehdotettua ratkaisua ei voida soveltaa. Yleensä haavoittuvuus jää tähän tilaan heti havaitsemisen jälkeen.
Ei määritelty (ND) 1.0 Ohita tämä mittari
Raportin luottamus (RC)
Vahvistamaton (UC) 0.9 Yksi vahvistamaton lähde tai useita lähteitä, mutta älä kuvaile haavoittuvuutta suurin piirtein samalla tavalla. Mukaan lukien huhut haavoittuvuudesta
Vahvistamaton (UR) 0,95 Useat lähteet, jotka kuvaavat haavoittuvuutta yleensä samalla tavalla. Pienet erimielisyydet hyväksytään
Vahvistettu (C) 1.0 Haavoittuvuuden vahvistavat sekä haavoittuvan tuotteen toimittaja että valmistaja
Ei määritelty (ND) 1.0 Ohita tämä mittari
Ympäristöpisteet Vakuusvahinkopotentiaali (CDP)
Ei mitään (N) 0 Haavoittuvuus ei aiheuta yrityksille tappioita
Matala (L) 0.1 Pieni tulon tai järjestelmän suorituskyvyn menetys
Matala Keskitaso (LM) 0.3 kohtalainen vahinko
Keskikorkea (MH) 0.4 Merkittäviä vahinkoja
Korkea (H) 0.5 katastrofaalinen vahinko
Ei määritelty (ND) 0 Ohita tämä mittari
Kohdejakelu (TD)
Ei mitään (N) 0 Kohdejärjestelmiä ei ole olemassa tai ne ovat laboratoriossa
Matala (L) 0,25 1-25 % vaikutuksesta järjestelmästä
Keskikokoinen (M) 0,75 26-75 % vaikutuksesta järjestelmästä
Korkea (H) 1.0 76-100 % vaikuttunut järjestelmä
Ei määritelty (ND) 1.0 Ohita tämä mittari
Vaikutusten alipisteiden muokkaus
Matala (L) 0.5 (luottamuksellisuuden (CR) / eheyden (IR) / käytettävyyden (AR)) menetyksellä on todennäköisesti vain rajallinen vaikutus organisaatioon
Keskikokoinen (M) 1.0 (Luottamuksellisuuden (CR) / Eheyden (IR) / Saatavuus (AR)) menettäminen voi vaikuttaa vakavasti organisaatioon
Korkea (H) 1.51 (luottamuksellisuuden (CR) / eheyden (IR) / saatavuuden (AR)) menettäminen voi olla tuhoisa organisaatiolle
Ei määritelty (ND) 1.0 Ohita tämä mittari

Laskentakaavat CVSSv2:ssa

Pisteet lasketaan seuraavilla kaavoilla. Parametrien arvot valitaan yllä olevasta taulukosta. Tuloksena olevat murtoluvut tulee pyöristää ensimmäiseen desimaaliin, joka ilmaistaan ​​alla olevan funktion avulla .

Laskennassa käytetään seuraavia kaavoja .

Laskennassa käytetään seuraavia kaavoja . lasketaan samalla kaavalla kuin , mutta sinun on korvattava .

Esimerkki

Vuonna 2002 Apache -palvelinsovelluksesta löydettiin haavoittuvuus CVE -2002-0392 , joka johti palvelimen muistin vioittumiseen sitä koskevien pyyntöjen pirstoutuneen koodauksen aikana. Tämän tiedossa hyökkääjä voi luoda onnistuneen hyväksikäytön, joka voi joissain tapauksissa johtaa palvelimen palvelunestoon ja toisissa mielivaltaisen koodin suorittamiseen palvelinsovelluksen oikeuksin.

CVSS-mittareita käyttämällä peruspistemäärän laskemiseen ongelma voidaan kuvata seuraavasti:

Näin ollen perusarvosanan laskentaparametrit voidaan ilmaista seuraavalla tekstijonolla, jota käytännössä kutsutaan vektoriksi : AV:N/AC:L/Au:N/C:N/I:N/A:C

Koska Apache Foundation on vahvistanut palvelinversioiden 1.3 ja 2.0 haavoittuvuuden, Temporal Score -vektori on seuraava:E:F/RL:O/RC:C

Ympäristöpisteen vektori riippuu siitä, mikä on Apache-palvelinta käyttävälle yritykselle tärkeämpää ja mikä kapasiteetti sillä on. Tässä esimerkissä vektori on seuraavanlainen: CDP:H/TD:H/CR:M/IR:M/AR:H

Korvaamalla indikaattorien kvantitatiiviset arvot taulukosta, saamme seuraavat tulokset.

Tämän haavoittuvuuden vuoksi meidän tulisi päivittää Apache-palvelimemme vähintään versioon 2.1 mahdollisimman pian.

Standardin versioiden kritiikki ja vertailu

Useat ohjelmistotoimittajat ovat olleet tyytymättömiä CVSSv2:een:

Vastatakseen joihinkin näistä kritiikistä CVSSv3-standardin kehittäminen aloitettiin vuonna 2012, ja lopullinen versio julkaistiin kesäkuussa 2015. Useita indikaattoreita on muutettu, lisätty ja poistettu, ja kaavoja on hieman korjattu samalla, kun arvostusalue on säilytetty välillä 0-10.

Tärkeimmät erot CVSSv3:n ja CVSSv2:n välillä ovat seuraavat:

Kesäkuussa 2019 julkaistiin versio 3.1 [4] . Tämä versio ei tuo standardiin uusia muutoksia, vaan se sisältää vain joidenkin mittareiden kuvauksen paremman ymmärtämisen vuoksi.

Sovellus

Useat CVSS-versiot ovat omaksuneet haavoittuvuuksien kvantifioinnin ensisijaisena menetelmänä monissa organisaatioissa. Tässä on vain muutama esimerkki:

Muistiinpanot

  1. 1 2 Täydellinen opas yleiseen haavoittuvuuspisteytysjärjestelmään  . www.first.org . Tapahtumavalvonta- ja turvallisuusryhmien foorumi (kesäkuu 2007). Haettu 6. toukokuuta 2021. Arkistoitu alkuperäisestä 8. maaliskuuta 2022.
  2. CVSSv2:n puutteiden, vikojen ja epäonnistumisten muotoilu . www.riskbasedsecurity.com . Haettu 7. toukokuuta 2021. Arkistoitu alkuperäisestä 7. toukokuuta 2021.
  3. Oraclen yleisen haavoittuvuuspisteytysjärjestelmän (CVSS) käyttö . www.oracle.com . Haettu 7. toukokuuta 2021. Arkistoitu alkuperäisestä 6. toukokuuta 2021.
  4. Yleisen haavoittuvuuden pisteytysjärjestelmän versio 3.1: Specification  Document . www.first.org . Tapahtumavalvonta- ja turvallisuustiimien foorumi (kesäkuu 2019). Haettu 7. toukokuuta 2021. Arkistoitu alkuperäisestä 8. maaliskuuta 2022.
  5. Kansallinen haavoittuvuustietokanta: virallinen sivusto . nvd.nist.gov . Haettu 7. toukokuuta 2021. Arkistoitu alkuperäisestä 6. huhtikuuta 2018.
  6. Manion, Art. Haavoittuvuuden vakavuus  CVSS:n avulla . insights.sei.cmu.edu (12. huhtikuuta 2012). Haettu 7. toukokuuta 2021. Arkistoitu alkuperäisestä 7. toukokuuta 2021.

Linkit