Általános sebezhetőségi pontozási rendszer
A Common Vulnerability Scoring System ( CVSS ) egy nyílt szabvány, amelyet a számítógépes rendszerek biztonsági réseinek kvantitatív pontszámainak kiszámítására használnak, általában azért, hogy megértsék a javítás fontosságát.
A pontszámokat speciális képletekkel számítják ki, amelyek több mérőszámon alapulnak, és közelítik az exploit végrehajtásának egyszerűségét és a számítógépes rendszerre gyakorolt hatását. A számítás eredménye három numerikus pontszám ( alappontszám , időbeli pontszám és környezeti pontszám ), amelyek mindegyike 0 és 10 közötti értéket vehet fel, ahol a 10 a maximális veszélyt fejezi ki.
A szabvány legújabb verziója a 3.1, amely 2019 júniusában jelent meg. Különböző okok miatt egyes cégek a CVSSv2 szabvány régi verzióját használják, mások az új CVSSv3-at, mások pedig kombinálják a különböző verziók használatát.
Történelem
A Nemzeti Infrastruktúra Tanácsadó Testület ( NIAC ) által 2003-2004-ben végzett kutatás eredményeként 2005 februárjában elkészült a CVSS első verziója. A kezdeti cél az volt, hogy nyílt és univerzális módszereket biztosítsanak a szoftveres sérülékenységek súlyosságának felmérésére. 2005 áprilisában a NIAC elindította a Forum of Incident Response and Security Teams (FIRST) webhelyet, ahol megjelent a szabvány első verziója.
A szabvány első verzióját nem vetették alá harmadik fél szakértői értékelésének, így a szoftverfejlesztésre szakosodott és azt használni próbáló cégek valós visszajelzései számos komoly problémát tártak fel, amelyek kapcsán júniusban megjelent a szabvány második verziója. 2007. A további fejlesztések eredményeként 2015 júniusában megjelent a szabvány harmadik verziója.
Fénypontok
A CVSS különböző szemszögekből próbálja felmérni a sebezhetőséget [1] :
- Minőségi sebezhetőség értékelése, amely nem függ az időtől vagy a szoftverkörnyezettől, alapmetrikákban kifejezve ( Base metrics ):
- Az Access Vector (AV) megmutatja, hogyan vezethető be a sérülékenység.
- Az Access Complexity (AC) azt jelzi, hogy mennyire könnyű vagy nehéz egy adott biztonsági rést kihasználni.
- A hitelesítés (Au) megbecsüli azon hitelesítések számát, amelyeket a támadónak végre kell hajtania a biztonsági rés kihasználása előtt.
- A sérülékenység hatása a számítógépes rendszerre ( Hatásmérők ):
- A titkosság (C) a rendszer által feldolgozott adatok adatvédelmi hatását írja le.
- Az integritás (I) a számítógépes rendszer adatintegritására gyakorolt hatást írja le.
- Az Elérhetőség (A) a biztonsági rés hatását írja le a számítógépes rendszer elérhetőségére. Például a hálózati átviteli sebességet befolyásoló vagy CPU-időt igénybe vevő támadások befolyásolják a rendszer rendelkezésre állását.
- Időbeli mutatók , amelyek figyelembe veszik a sebezhető termék gyártójának reakcióját, amely a sérülékenység felfedezésének pillanatától a javítás pillanatáig változik:
- Kihasználhatóság (E) a sebezhetőség kihasználásának jelenlegi állapotát mutatja, beleértve az automatizáltakat is.
- A Remediation Level (RL) egy korrekciós szám, amely lehetővé teszi a becsült idő enyhítését, amint a sérülékenység javítása elérhetővé válik.
- A Jelentésbizalom (RC) lehetővé teszi a sérülékenység fennállása iránti bizalom szintjének és a technikai adatok megbízhatóságának mérését.
- Sebezhetőségi mérőszámok, amelyek figyelembe veszik annak a rendszernek a speciális biztonsági követelményeit, amelyben a sérülékeny termék fut ( Environmental metrics ):
- A Collateral Damage Potential (CDP) egy adott sebezhetőségből adódó potenciális károkat becsüli meg, mint például a potenciális veszteség, a berendezések fizikai károsodása stb.
- A Target Distribution (TD) megbecsüli a sérülékeny rendszerek arányát a számítógépes hálózatokban.
- Az Impact Subscore Modifier bizalmassági (CR), integritási (IR) és rendelkezésre állási (AR) korrekciós számokat tartalmaz, amelyek lehetővé teszik az Impact metrikák és a végső pontszám egy adott környezet speciális biztonsági követelményeihez való igazítását.
A számításhoz szükséges mérőszámokat a táblázatokból vettük át, amelyek megadják azok leírását, minőségi és mennyiségi értékeit. Az alábbi táblázat a szabvány második verziója óta bevezetett mérőszámokat mutatja [1] .
Pivot tábla CVSSv2 mérőszámokkal
Fokozat
|
Metrikák
|
Leírás
|
alappontszám |
Access Vector (AV)
|
Minőségi kifejezés
|
mennyiségi kifejezés
|
Magyarázat
|
Helyi (L)
|
0,395
|
A támadónak fizikai hozzáféréssel kell rendelkeznie a rendszerhez, vagy rendelkeznie kell helyi fiókkal
|
Szomszédos hálózat (A)
|
0,646
|
A támadónak hozzáféréssel kell rendelkeznie a szórási csatornához vagy az ütközési tartományhoz
|
Hálózat (N)
|
egy
|
Sebezhető interfész, amely az OSI modell hálózati vagy magasabb rétegén fut
|
|
Hozzáférés bonyolultsága (AC)
|
Magas (H)
|
0,35
|
A támadásnak van néhány speciális feltétele, mint például egy versenyfeltétel a rendszerben, vagy bizonyos social engineering követelmények teljesülnek , amit egy hozzáértő szakember észrevehet.
|
Közepes (M)
|
0,61
|
A támadásnak van néhány további követelménye, például egy adott támadási forrás definiálva van, vagy a támadott rendszer speciális konfigurációjára van szükség, amely eltér a szabványtól
|
Alacsony (L)
|
0,71
|
A sérülékenység kihasználásához nincsenek különleges követelmények.
|
|
Hitelesítés (AU)
|
Több (M)
|
0,45
|
A támadónak legalább kétszer hitelesítenie kell a biztonsági rést, még akkor is, ha ugyanazokat a hitelesítő adatokat használja.
|
Egyedülállók)
|
0,56
|
A támadónak egyszer hitelesítenie kell a biztonsági rés kihasználásához.
|
Nincs (N)
|
0,704
|
A biztonsági rés kihasználásához nincs szükség hitelesítésre
|
|
Titoktartás (C)
|
Nincs (N)
|
0
|
Nincs hatással a rendszer adatvédelmére
|
Részleges (P)
|
0,275
|
Csak korlátozott mennyiségű adatot tesznek közzé széles körben
|
Teljes (C)
|
0,660
|
Az összes rendszeradat teljes körű közzététele
|
|
Integritás (I)
|
Nincs (N)
|
0
|
Nincs hatással a rendszer integritására
|
Részleges (P)
|
0,275
|
A módosítható rendszeradatok mennyisége egyértelműen korlátozott
|
Teljes (C)
|
0,660
|
A támadó bármilyen rendszeradatot módosíthat
|
|
Elérhetőség (A)
|
Nincs (N)
|
0
|
Nincs hatással a rendszer rendelkezésre állására
|
Részleges (P)
|
0,275
|
Részleges teljesítményromlás tapasztalható
|
Teljes (C)
|
0,660
|
A megtámadott erőforrás teljes elvesztése
|
|
Időbeli pontszám |
Kihasználhatóság (E)
|
Nem bizonyított (U)
|
0,85
|
A kihasználó kód nem érhető el, vagy az exploit elméleti
|
Elméleti bizonyíték (P)
|
0.9
|
Rendelkezésre áll egy demo exploit kód, de nem univerzális, és csak egy vagy néhány speciális esetet fed le
|
Funkcionális (F)
|
0,95
|
A kihasználó kód elérhető, és a legtöbb olyan helyzetben működik, ahol a biztonsági rés fennáll
|
Magas (H)
|
1.0
|
A kizsákmányoló kód elérhető, és automatizált módon bevihető a rendszerbe, például féreg vagy vírus formájában
|
Nincs meghatározva (ND)
|
1.0
|
Hagyja figyelmen kívül ezt a mérőszámot
|
|
Kárelhárítási szint (RL)
|
Hivatalos javítás (O)
|
0,87
|
A biztonsági rés teljes megoldása elérhető a gyártótól, akár frissítésként, akár javításként
|
Ideiglenes javítás (T)
|
0,90
|
A szállító rendelkezik egy kerülő megoldással, amely részben enyhíti a biztonsági rés hatását
|
megoldás (W)
|
0,95
|
Nem hivatalos megoldás vagy harmadik fél jogorvoslati lehetősége áll rendelkezésre
|
Nem elérhető (U)
|
1.0
|
Nem áll rendelkezésre megoldás, vagy a javasolt megoldás nem alkalmazható. Általában a sérülékenység a felfedezés után azonnal ebben az állapotban marad.
|
Nincs meghatározva (ND)
|
1.0
|
Hagyja figyelmen kívül ezt a mérőszámot
|
|
Magabiztosság jelentése (RC)
|
Nem megerősített (UC)
|
0.9
|
Egy meg nem erősített forrás, vagy több forrás, de ne írja le többé-kevésbé ugyanúgy a sérülékenységet. Beleértve a sebezhetőségről szóló pletykákat
|
Nem megerősített (UR)
|
0,95
|
Számos forrás, amely általában ugyanúgy írja le a sebezhetőséget. Kisebb nézeteltérések elfogadhatók
|
Megerősítve (C)
|
1.0
|
A sérülékenységet az érintett termék szállítója és gyártója is megerősíti
|
Nincs meghatározva (ND)
|
1.0
|
Hagyja figyelmen kívül ezt a mérőszámot
|
|
Környezeti pontszám |
Collateral Damage Potential (CDP)
|
Nincs (N)
|
0
|
A sebezhetőség nem jár veszteséggel az üzleti életben
|
Alacsony (L)
|
0.1
|
Kisebb bevételkiesés vagy rendszerteljesítmény
|
Alacsony közepes (LM)
|
0.3
|
mérsékelt károsodás
|
Közepes magas (MH)
|
0.4
|
Jelentős kár
|
Magas (H)
|
0.5
|
katasztrofális károkat
|
Nincs meghatározva (ND)
|
0
|
Hagyja figyelmen kívül ezt a mérőszámot
|
|
Céleloszlás (TD)
|
Nincs (N)
|
0
|
Célrendszerek nem léteznek, vagy léteznek a laboratóriumban
|
Alacsony (L)
|
0,25
|
Az érintett rendszer 1-25%-a
|
Közepes (M)
|
0,75
|
Az érintett rendszer 26-75%-a
|
Magas (H)
|
1.0
|
76-100%-ban érintett rendszer
|
Nincs meghatározva (ND)
|
1.0
|
Hagyja figyelmen kívül ezt a mérőszámot
|
|
Hatás részpontszám módosító
|
Alacsony (L)
|
0.5
|
A (bizalmasság (CR) / integritás (IR) / rendelkezésre állás (AR)) elvesztése valószínűleg csak korlátozott hatással lesz a szervezetre
|
Közepes (M)
|
1.0
|
A (Titkosság (CR) / Integritás (IR) / Elérhetőség (AR)) elvesztése komoly hatással lehet a szervezetre
|
Magas (H)
|
1.51
|
A (bizalmasság (CR) / integritás (IR) / rendelkezésre állás (AR)) elvesztése katasztrofális lehet egy szervezet számára
|
Nincs meghatározva (ND)
|
1.0
|
Hagyja figyelmen kívül ezt a mérőszámot
|
|
Képletek a CVSSv2-ben történő számításhoz
A pontszám kiszámítása a következő képletekkel történik. A paraméterek értékeit a fenti táblázatból választjuk ki. Az eredményül kapott törtszámokat az első tizedesjegyre kell kerekíteni, amelyet az alábbi függvénnyel fejezünk ki .
A számításhoz a következő képleteket használjuk
.
A számításhoz a következő képleteket használjuk . a kiszámítása ugyanazzal a képlettel történik, mint a , de be kell cserélni .
Példa
2002-ben egy CVE -2002-0392 számú biztonsági rést fedeztek fel az Apache kiszolgálóalkalmazásban, amely a kiszolgálómemória megsérüléséhez vezetett a kérelmek töredezett kódolása során. Ennek ismeretében a támadó sikeres exploitot hozhat létre, amely egyes esetekben a szerver szolgáltatásmegtagadásához, más esetekben pedig tetszőleges kód futtatásához vezethet egy szerveralkalmazás jogosultságaival.
A CVSS-metrikák segítségével az alappontszám kiszámításához a probléma a következőképpen írható le:
- AV egyenlő N, mert a kérést távolról, az OSI-modell alkalmazási rétegében generálják.
- Az AC egyenlő L, mivel az exploit sikeres működéséhez elegendő egy speciális kérést létrehozni a szerver számára, és nincs szükség speciális követelményekre a szervertől.
- Az Au értéke N, mert a szerver kliens hitelesítés nélkül dolgozza fel ezt a kérést.
- Mivel a sérülékenység kihasználásának végeredménye magától a kéréstől függ, csak a legvalószínűbb kihasználási esetet kell figyelembe venni. Ez tetszőleges támadókód végrehajtása lehet, hogy adatokat nyerjen ki a kiszolgáló adatbázisából, például hitelesítési adatok beszerzése más ügyfelektől. Ebben az esetben a C és I paramétert P ( Részleges ) értékre kell állítani . Valószínű az is, hogy a támadó exploitot használ a szerver leállítására, ebben az esetben az A-t C-re ( Complete ) kell állítani. Ebben a példában feltételezzük a második használati esetet, tehát C és I értéket N-re ( Nincs ), A-t pedig C-re állítjuk.
Így az alaposztályzat kiszámításának paraméterei a következő szöveges karakterlánccal fejezhetők ki, amelyet a gyakorlatban vektornak neveznek :
AV:N/AC:L/Au:N/C:N/I:N/A:C
Mivel az Apache Foundation megerősítette az 1.3-as és 2.0-s szerververziók sebezhetőségét, a Temporal Score vektora
a következő lesz:E:F/RL:O/RC:C
A Environmental Score vektora attól függ, hogy mi a fontosabb az Apache szervert használó vállalat számára, és milyen kapacitással rendelkezik. Ebben a példában legyen a vektor a következő:
CDP:H/TD:H/CR:M/IR:M/AR:H
A táblázatból a mutatók mennyiségi értékeit helyettesítve a következő eredményeket kapjuk.
A biztonsági rés ilyen magas pontszámai miatt a lehető leghamarabb frissítenünk kell Apache-kiszolgálóinkat legalább a 2.1-es verzióra.
A szabvány verzióinak kritikája és összehasonlítása
Számos szoftvergyártó elégedetlen a CVSSv2-vel:
- Az Open Sourced Vulnerability Database -t kezelő Risk Based Security és az Open Security Foundation a FIRST-hez intézett nyílt levélben [2] fejezte ki elégedetlenségét a szabvánnyal kapcsolatban . A szerzők különösen rámutattak több mérőszám részletezettségének hiányára, ami nem tesz megfelelő különbséget a különböző típusú és kockázati profilú sebezhetőségek között. Azt is megjegyezték, hogy a pontozási rendszer túl sok ismeretet igényel a sérülékenység rendszerre gyakorolt hatásáról.
- Az Oracle a bizalmasság , integritás és elérhetőség egy másik szintjét – Részleges+ – javasolta , hogy felszámolja a részleges és a teljes közötti nagy szakadékot [3] .
E kritikák némelyikének kezelésére a CVSSv3 szabvány fejlesztése 2012-ben kezdődött, a végleges verzió pedig 2015 júniusában jelent meg. Számos mutatót megváltoztattak, hozzáadtak és eltávolítottak, és a képleteket kissé korrigálták, miközben a 0 és 10 közötti értékelési tartományt megtartották.
A fő különbségek a CVSSv3 és a CVSSv2 között a következők:
- Új mérőszámok (UI (felhasználói élmény), PR (jogosultságok szükségesek)) kerültek az alapvonalba, hogy segítsenek megkülönböztetni a normál felhasználói és rendszergazdai jogosultságokkal kapcsolatos sebezhetőségeket.
- Az S ( Scope ) metrika hozzáadásra került az alappontszámvektorhoz, hogy megkülönböztesse azokat a sebezhetőségeket, amelyeket először be lehet vezetni, majd a rendszer vagy a hálózat más részeit támadni lehet.
- A Bizalmasság , Integritás és Elérhetőség metrikák a harmadik verzióban különböző fokozatokkal rendelkeznek: Nincs, Alacsony és Magas, a Nincs, Részleges és Teljes helyett.
- Az Access Complexity metrika átnevezve Attack Complexity névre , jelezve, hogy a hozzáférési jogosultságok követelményei egy külön metrikába kerültek.
- A Fizikai (P) érték hozzáadásra került az Access Vector metrikához , jelezve, hogy a sérülékenység kihasználásához fizikai hozzáférés szükséges a hardverhez.
- Az Environmental Score összes mérőszáma teljesen megváltozott , hogy pontosabban leírja a rendszerbiztonsági követelményeket. A mérőszámok a bizalmasság, az integritás és a rendelkezésre állás fontosságát tükrözik.
2019 júniusában megjelent a 3.1 [4] verzió . Ez a verzió nem vezet be új változtatásokat a szabványban, csak néhány mérőszám leírását részletezi a jobb megértés érdekében.
Alkalmazás
A CVSS különböző verzióit számos szervezet alkalmazta a sebezhetőségek számszerűsítésének elsődleges módszereként. Íme csak néhány példa:
Jegyzetek
- ↑ 1 2 A Common Vulnerability Scoring System teljes útmutatója . www.first.org . Az incidens-reagáló és biztonsági csoportok fóruma (2007. június). Letöltve: 2021. május 6. Az eredetiből archiválva : 2022. március 8..
- ↑ CVSSv2 hiányosságok, hibák és hibák megfogalmazása . www.riskbasedsecurity.com . Letöltve: 2021. május 7. Az eredetiből archiválva : 2021. május 7. (határozatlan)
- ↑ A Common Vulnerability Scoring System (CVSS) használata az Oracle által . www.oracle.com . Letöltve: 2021. május 7. Az eredetiből archiválva : 2021. május 6.. (határozatlan)
- ↑ Általános sebezhetőségi pontozási rendszer 3.1-es verziója: Specifikációs dokumentum . www.first.org . Az incidensreagáló és biztonsági csapatok fóruma (2019. június). Letöltve: 2021. május 7. Az eredetiből archiválva : 2022. március 8.
- ↑ Nemzeti Sebezhetőségi Adatbázis: Hivatalos oldal . nvd.nist.gov . Letöltve: 2021. május 7. Az eredetiből archiválva : 2018. április 6.. (határozatlan)
- ↑ Manion, Art. A sebezhetőség súlyossága CVSS használatával . insights.sei.cmu.edu (2012. április 12.). Letöltve: 2021. május 7. Az eredetiből archiválva : 2021. május 7.
Linkek