A Common Vulnerability Scoring System (CVSS) egy iparági szabvány a sebezhetőségek súlyosságának értékelésére. Egy numerikus pontszámot (0.0-tól 10.0-ig) rendel a sérülékenységekhez, ami segít a szervezeteknek rangsorolni a javítási erőfeszítéseiket. Azonban a CVSS-t a hagyományos szoftverek világára tervezték, így az AI-specifikus sebezhetőségekre való alkalmazása nem mindig egyértelmű. A kihívás abban rejlik, hogy a megszokott metrikákat egy új, gyakran valószínűségi alapon működő és nehezen értelmezhető rendszerre kell lefordítani.
Az alapvető kihívás: Hagyományos metrikák egy nem-hagyományos világban
A CVSS pontozás az úgynevezett Base, Temporal és Environmental metrikacsoportokra épül. A legnagyobb fejtörést a Base metrikák AI-ra való adaptálása okozza, mivel ezek írják le a sebezhetőség belső tulajdonságait, amelyek függetlenek az időtől és a környezettől.
Probléma: Az Attack Vector (AV) és Attack Complexity (AC) értelmezése
Egy prompt injection támadásnál mi a támadási vektor? A felhasználói bevitel, ami általában lokálisnak (`AV:L`) minősülne, de egy API-n keresztül érkezik, ami hálózati (`AV:N`). A támadás komplexitása (`AC`) is kérdéses. Egy nyilvánosan ismert „jailbreak” prompt használata alacsony komplexitású (`AC:L`), de egy új, a modell belső működésének mély ismeretét igénylő prompt kidolgozása magas (`AC:H`).
Megoldási javaslat: Tekintsük a modell interakciós felületét (pl. API, webes chat) a rendszer határának. Ha ezen a felületen keresztül, távolról végrehajtható a támadás, az Attack Vector: Network (AV:N). A Attack Complexity (AC) értékét pedig az alapján határozzuk meg, hogy a támadáshoz szükséges technika mennyire ismert vagy könnyen reprodukálható. Egy egyszerű, másolható prompt `AC:L`, míg egy több lépésből álló, finomhangolást igénylő támadássorozat `AC:H`.
Probléma: Az Impact (C/I/A) metrikák számszerűsítése
A legnagyobb kihívást a hatás (Impact) felmérése jelenti. Hogyan mérjük a bizalmasság (Confidentiality), integritás (Integrity) és rendelkezésre állás (Availability) sérelmét egy AI modell esetében?
- Confidentiality (C): Egy modell nem „tárol” adatokat hagyományos értelemben. A sérelem itt a tréningadatok kiszivárogtatását (pl. PII adatok visszafejtése) vagy a rendszer belső működésére vonatkozó információk (pl. a system prompt) felfedését jelenti.
- Integrity (I): Ez az AI-specifikus sebezhetőségek egyik legkritikusabb területe. Az integritás sérelme nem egy fájl módosítását jelenti, hanem a modell kimenetének manipulatív befolyásolását. Ide tartozik a dezinformáció generálása, a biztonsági szűrők megkerülése, vagy a káros kód előállítása. A hatás lehet teljes (`I:H`), ha a támadó teljesen átveszi az irányítást a kimenet felett.
- Availability (A): Ez a metrika viszonylag jól átültethető. Egy olyan prompt, ami a modellt végtelen ciklusba küldi vagy aránytalanul nagy számítási erőforrást emészt fel, Denial-of-Service (DoS) támadásnak minősül, ami a rendelkezésre állást sérti.
Gyakorlati példa: SQL Injection vs. Prompt Injection
Az alábbi táblázat segít összehasonlítani egy hagyományos és egy AI-specifikus sebezhetőség CVSS pontozásának logikáját.
| Metrika | Hagyományos: SQL Injection (adatbázis olvasás) | AI-specifikus: Prompt Injection (szűrők megkerülése) |
|---|---|---|
| Attack Vector (AV) | Network (N) – A támadás egy webes űrlapon keresztül történik. | Network (N) – A támadás az API-n vagy chat felületen keresztül történik. |
| Attack Complexity (AC) | Low (L) – Jól ismert, automatizálható technika. | Low (L) – Ha egy széles körben ismert „jailbreak” promptot használunk. |
| Privileges Required (PR) | None (N) – Nincs szükség authentikációra. | None (N) – Bárki használhatja a publikus modellt. |
| User Interaction (UI) | None (N) – A támadáshoz nem kell felhasználói közreműködés. | Required (R) – Technikailag a támadó a „felhasználó”, aki interakcióba lép a rendszerrel a prompt beküldésével. |
| Confidentiality (C) | High (H) – Az adatbázis teljes tartalma olvashatóvá válhat. | Low (L) – A támadás célja nem adatlopás, de mellékhatásként felfedheti a system promptot. |
| Integrity (I) | None (N) – A példánkban a támadás csak olvas, nem módosít adatot. | High (H) – A támadó megkerüli a biztonsági rendszert, és a modell kimenetét (integritását) teljesen a saját céljaira formálja. |
| Availability (A) | None (N) – Az adatbázis-lekérdezés nem okoz szolgáltatáskiesést. | None (N) – A modell működőképes marad a támadás alatt. |
Környezeti metrikák: A kontextus minden
Míg a Base Score a sebezhetőség elméleti maximumát adja meg, az Environmental metrikák teszik lehetővé a pontszám finomhangolását az adott szervezet kontextusára. Itt tudod figyelembe venni, hogy a te rendszeredben egy adott sérelemnek mekkora a valós üzleti hatása.
Például egy belső, csak kutatásra használt modell esetében a dezinformáció generálásának hatása (Modified Integrity – MI) alacsonyabb lehet, mint egy publikus, ügyfélszolgálati chatbot esetében, ahol a rosszindulatú kimenet közvetlen üzleti és reputációs kárt okozhat.
# CVSS Vektor String egy prompt injection sebezhetőségre, környezeti módosítókkal
# Alap vektor: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N (Base Score: 7.1 High)
# Környezeti módosítás egy kritikus, ügyfél felé néző rendszerben:
# Az integritás sérelme itt kritikus fontosságú.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:N/CR:H/IR:H/AR:M/MI:H
# Magyarázat a környezeti metrikákra:
# CR:H (Confidentiality Requirement: High) - A rendszerben kezelt adatok bizalmassága magas.
# IR:H (Integrity Requirement: High) - A rendszer által adott válaszok integritása kritikus.
# AR:M (Availability Requirement: Medium) - A rendszer rendelkezésre állása közepesen fontos.
# MI:H (Modified Integrity: High) - Az alap integritás hatást (I:H) a környezet (IR:H) megerősíti.
# Az új, kontextualizált pontszám magasabb lesz.
A CVSS AI-ra való alkalmazása tehát nem egy mechanikus folyamat, hanem egy értelmezési keretrendszer. A red team feladata, hogy ne csak a sebezhetőséget találja meg, hanem segítse annak hatását a CVSS nyelvére lefordítani, hidat képezve a technikai felfedezés és az üzleti kockázatkezelés között.