Haavoittuvuuden vakavuuden luokittelu lähtee CVSS-arvosta

Juha-Matti Laurio

Lokakuu 14, 2014 at 02:30

Tietoa uusista julkaistuista haavoittuvuuksia virtaa päivittäin postituslistoilta, haavoittuvuusskannauksien raporteista, ohjelmistotoimittajilta ja  Kyberturvallisuuskeskukselta, vain muutamia mainitaksemme. Esimerkiksi tänä iltana Microsoft ja Oracle julkaisevat tiedon isosta määrästä haavoittuvuuksia tuotteissaan. Säpinää siis riittää niin työasemien kuin tietokantapalvelimien ylläpidosta vastaavilla.

Joko heti julkaisuhetkellä tai pienellä viiveellä haavoittuvuuksiin liitetään CVSS-arvo. Lyhenne CVSS tulee sanoista Common Vulnerability Scoring System ja kyseessä on maailmanlaajuinen, valmistajariippumaton haavoittuvuuksien vakavuuden luokitusmenetelmä. Sen tarkoituksena on tarjota loppukäyttäjälle lukuarvo, jonka perusteella haavoittuvuuden vakavuus ja siitä aiheutuvat riskit voidaan arvioida. Järjestelmää ylläpitää FIRST-yhteenliittymä (Forum of Incident Response and Security Teams) ja meiltä Suomesta FIRST:iin kuuluu mm. Kyberturvallisuuskeskus.

CVSS-arvo ilmaistaan aina yhden desimaalin tarkkuudella ja se voi olla väliltä 0,0 – 10,0 (CVSS-tietokanta käyttää yhdysvaltalaisena palveluna desimaalipistettä).

Pisteytyksessä käytettävät ensimmäiset kuusi tekijää kuvaavat haavoittuvuuden ominaisuuksia ja kuuluvat ns. Base-mittaristoon:

1. Access Vector (AV, hyökkäystapa)

Vaihtoehtoina ovat Local (hyökkääjä fyysisesti sisäverkossa), Adjacent Network (hyökkääjällä pääsy sisäverkkoon) ja Network (haavoittuvuus verkon yli hyväksikäytettävissä). Vastaavat lyhenteet ovat LA ja N.

2. Access Complexity (AC, hyökkäyksen monimutkaisuus)

Tässä vaihtoehdot ovat High, Medium ja Low. Kun taso on määritelty korkeimmaksi onnistuu haavoittuvuuden hyödyntäminen esimerkiksi tietyssä aikaikkunassa, mutta matalimmalla tasolla haavoittuvuus on käytännössä aina hyödynnettävissä. Tasojen lyhenteet ovat HM ja L.

3. Authentication (Au, tunnistautumisvaatimus)

Haavoittuvuutta analysoitaessa on määritelty se määrä tunnistautumiskertoja jotka hyökkääjä tarvitsee haavoittuvuutta hyödyntääkseen. Multiple-vaihtoehdossa niitä on kaksi tai useampia ja Single-vaihdoehdossa yksi. Kun tunnistautumista ei vaadita käytetään arvon laskemisessa vaihtoehtoa None. Lyhenteet tulevat jälleen alkukirjaimista eli MS ja N.

Loput kolme tekijää kuvaavat sitä kuinka haavoittuvuuden hyödyntäminen vaikuttaa tietoturvan kulmakiviin – luottamuksellisuuteen, eheyteen ja saatavuuteen (CIA, Confidentiality/Integrity/Availability).

Mahdolliset arvot ja lyhenteet niille ovat kaikissa samat:

None, N: Ei vaikutusta
Partial, P: Huomattava merkitys
Complete, C: Suuri vaikutus

4. Luottamuksellisuus (C)

Ensimmäisenä lasketaan haavoittuvuuden Confidentiality Impact -luokka. Mikäli luottamuksellisuus ei vaarannu lainkaan on kyseessä vaihtoehto None, huomattava riskin tapauksessa arvoksi tulee Partial. Jos tämä arvo on Complete on riski tietojen luottamuksellisuuden vaarantumiseen selkeä.

5. Eheys (I)

Kun eheyttä kuvaava arvo on None ei haavoittuvuudella ole merkitystä suojattavan tiedon eheyteen. Laskettaessa lopullista CVSS-arvoa on laskennassa mukana arvo 0,0. Partial-tapauksessa esimerkiksi järjestelmätiedostoja saattaa olla haavoittuvuuden avulla mahdollista muokata, mutta vain rajoitetusti. Kun luokitus on Complete voi hyökkääjä muokata kohdejärjestelmän tietoja vapaasti. Kokonais-CVSS on myös korkeampi ja viestittää siten päivittämisen tärkeyttä ja kiireellisyyttä.

6. Saatavuus (A)

Kun haavoittuvuus vaikuttaa saatavuuteen on hyökkääjällä päivittämättömässä järjestelmässä mahdollisuus käyttää kaistanleveyttä ja järjestelmän resursseja. None-tapauksessa tällaista mahdollisuutta ei ole ja Partial-tapauksessa resurssien rosvous voi vaikuttaa järjestelmän toiminnallisuuteen. Luokituksen ollessa Complete hyökkääjä saa resursseja vapaasti käyttöönsä.

Ajalliset (Temporal) ja ympäristöön liityvät (Environmental) mittaristot

Lopullista CVSS-arvoa laskettaessa voidaan käyttää myös muita mittaristoja, joiden laskenta-arvot saadaan joko vasta ajan myötä tai ne täytyy määritellä organisaatiokohtaisesti. Niin sanotun Temporal Score Metrics -mittariston kautta voidaan määritellä onko haavoittuvuudelle olemassa hyökkäyskoodia eli exploitia. Jos toimivaksi todennettu hyökkäyskoodi on olemassa saa Exploitability-luokka arvon Functional exploit exist. Käytetty lyhenneyhdistelmä on E:F. Environmental Scoro Metrics -mittaristossa taas on Target Distribution -luokka, jolla voidaan määritellä prosentuaalisesti paljonko kunkin ympäristön järjestelmistä on haavoittuvia. Uusille haavoittuvuuksille nämä mittaristot eivät ole käytössä.

CVE-tietueilla yhteys CVSS-arvoon

Edellisessä blogikirjoituksessamme käsitelty yksittäisen haavoittuvuuden CVE-tietue sisältää linkin National Vulnerability Database -kantaan eli NVD:hen. Tietokannassa, esimerkiksi Shellshock-haavoittuvuuden CVE-2014-6271-tietueessa, on kerrottu CVSS-kokonaisarvo:

Image removed.


Kuvassa oleva kirjainrimpsu AV:N/AC:L/Au:N/C:C/I:C/A:C sisältää edellä kuvatut arvot. Esimerkiksi I:C tarkoittaa Integrity-vaikutuksen olevan Complete eli suurin mahdollinen. Molemmat esimerkkitietueen linkit vievät CVSS-laskuriin. Mikäli Shellshock olisi vain fyysisesti lähiverkosta hyödynnettävä haavoittuvuus laskisi sen CVSS-arvo 10,0:sta 7,2:een. Kokeilepa muuttaa Acces Vector -arvo tilaan AV:L. Suosittelemme tutustumaan laskuriin vaikkapa tällä tavalla.