17.1.3. Támadás sikerességi arány

2025.10.06.
AI Biztonság Blog

Miután az empirikus robusztusság általános képét felvázoltuk, ideje a támadó szemüvegét felvenni és egy sokkal direktebb kérdést feltenni: egy adott támadási technika milyen hatékonysággal képes megtéveszteni a modellt? 

Kapcsolati űrlap

AI Biztonság kérdésed van? Itt elérsz minket:

A Támadás Sikerességi Arány (Attack Success Rate, ASR) pontosan ezt méri. Ez a metrika a red teaming folyamat egyik legkézzelfoghatóbb eredménye, amely számszerűsíti, hogy a próbálkozásaink hány százaléka érte el a kívánt romboló hatást.

Az ASR nem egy absztrakt, akadémiai mutató. A gyakorlatban ez mutatja meg, hogy egy sebezhetőség kihasználása mennyire megbízható. 

Egy 95%-os ASR-rel rendelkező támadás egy rendkívül stabil, szinte garantáltan működő exploitot jelent, míg egy 10%-os ASR inkább egy szerencsén alapuló, nehezen reprodukálható gyengeségre utal. 

A feladatunk az, hogy ezt az arányt precízen mérjük és helyesen interpretáljuk.

A siker definíciója: Mi számít győzelemnek?

Mielőtt bármit is mérnénk, tisztáznunk kell, mit értünk „sikeres támadás” alatt. A siker kritériuma a támadási célunktól függ. Egy támadás nem feltétlenül csak akkor sikeres, ha a modell rossz kategóriát ad vissza. A kontextus mindent meghatároz.

Sikerkritérium Típusa Leírás Példa Forgatókönyv
Célzottlan megtévesztés (Untargeted Misclassification) A támadás sikeres, ha a modell bármilyen, az eredetitől eltérő címkét ad a perturbált bemenetre. Egy spam szűrő megkerülése: mindegy, hogy a spam emailt a rendszer „fontos” vagy „promóció” kategóriába teszi, a lényeg, hogy ne a „spam” mappába kerüljön.
Célzott megtévesztés (Targeted Misclassification) A támadás csak akkor sikeres, ha a modell egy előre meghatározott, konkrét hamis címkét ad a bemenetre. Egy önvezető autó táblafelismerő rendszerét rávenni, hogy a „Stop” táblát következetesen „Sebességkorlátozás 100 km/h” táblának ismerje fel.
Konfidencia csökkentés (Confidence Reduction) A siker nem a rossz predikció, hanem az, ha a modell helyes predikciójának konfidenciája egy kritikus küszöbérték alá esik. Egy orvosi diagnosztikai rendszer bizonytalanná tétele, ami miatt a gyanús leletet emberi felülvizsgálatra küldi, ezzel túlterhelve a szakorvosokat.
Elkerülés (Evasion) Sikeres a támadás, ha egy rosszindulatú bemenetet a rendszer jóindulatúnak vagy normálisnak észlel. Egy hálózati behatolásdetektáló rendszer (IDS) átverése, ahol a támadó csomagot a rendszer ártalmatlan forgalomnak minősíti.

A red teaming során a leggyakrabban a célzottlan megtévesztés ASR-jét mérjük első körben, mivel ez adja a legáltalánosabb képet a modell sebezhetőségéről. Azonban specifikus fenyegetési modellek esetén a célzott ASR sokkal informatívabb lehet.

A mérés menete és a buktatók elkerülése

Az ASR képlete egyszerűnek tűnik: a sikeres támadások számát elosztjuk az összes kísérlet számával. A valódi kihívás a részletekben rejlik, különösen abban, hogy mit tekintünk „összes kísérletnek”.

ASR (%) = ( Sikeres Támadások Száma / Támadható Bemenetek Száma ) * 100

A kulcsfogalom itt a támadható bemenet. Egy támadás csak akkor lehet sikeres, ha az eredeti, tiszta bemenetet a modell helyesen klasszifikálta. Nincs értelme egy olyan képen tesztelni a támadásunkat, amit a modell már eleve rosszul ismert fel. Ez egy gyakori hiba, ami mesterségesen csökkenti a mért ASR értéket és torzítja az eredményeket.

Teszt Adatkészlet 1000 minta Eredeti Predikció A tiszta adatokon 950 helyes (95% pontosság) 50 helytelen Ezeket eldobjuk! Támadható Bemenet N = 950 Támadás Újraértékelés A perturbált adatokon Eredmény 760 sikeres támadás 190 sikertelen támadás ASR = (760 / 950) * 100 = 80%

A gyakorlati mérés folyamata tehát a következőképpen néz ki:

  1. Adatkészlet szűrése: Válassz egy reprezentatív teszt adatkészletet, és futtasd át a modellen. Csak azokat a mintákat tartsd meg, amelyeket a modell helyesen klasszifikált. Ez lesz a támadási alapsokaság.
  2. Támadás végrehajtása: Alkalmazd a kiválasztott támadási algoritmust (pl. PGD, FGSM) a szűrt adatkészlet minden elemére, a megadott paraméterekkel (pl. perturbációs költségvetés, lépésszám).
  3. Eredmények kiértékelése: A generált adverzárius példákat add be ismét a modellnek, és rögzítsd az új predikciókat.
  4. Számítás: Számold össze, hány esetben teljesült a korábban definiált sikerkritérium (pl. a predikció megváltozott). Oszd el ezt a számot a támadási alapsokaság méretével.

# Pszeudokód az ASR mérésére
def szamits_asr(modell, adatok, tamado_fuggveny):
 """
 Kiszámítja a Támadás Sikerességi Arányt.

 Args:
 modell: A vizsgált neurális háló.
 adatok: A teszt adatok (bemenetek, címkék).
 tamado_fuggveny: Az adverzárius példát generáló függvény.
 """
 sikeres_tamadasok = 0
 tamadhato_bemenetek = 0

 for bemenet, valodi_cimke in adatok:
 # 1. Lépés: Csak a helyesen klasszifikált mintákat támadjuk
 eredeti_predikcio = modell.predikal(bemenet)
 if eredeti_predikcio == valodi_cimke:
 tamadhato_bemenetek += 1

 # 2. Lépés: Támadás generálása
 adverzarius_bemenet = tamado_fuggveny(bemenet, valodi_cimke)

 # 3. Lépés: Eredmény kiértékelése
 adverzarius_predikcio = modell.predikal(adverzarius_bemenet)

 # Siker: ha a predikció már nem egyezik az eredeti, valós címkével
 if adverzarius_predikcio != valodi_cimke:
 sikeres_tamadasok += 1

 # 4. Lépés: ASR számítása
 if tamadhato_bemenetek == 0:
 return 0.0 # Nem volt mit támadni

 asr = (sikeres_tamadasok / tamadhato_bemenetek) * 100
 return asr
 

Kontextus nélkül az ASR félrevezető

Egy ASR érték önmagában szinte semmit sem jelent. Egy „80%-os ASR” lehet kiváló és katasztrofális eredmény is, a kontextustól függően. Az AI red team riportokban az ASR-t mindig a következő információkkal együtt kell közölni:

  • A modell pontos verziója: Melyik modellt teszteltük?
  • A tesztadatok forrása: Milyen adatkészleten történt a mérés?
  • A támadás típusa: Milyen algoritmust használtunk (pl. PGD, C&W)?
  • A támadás paraméterei: Ez a legkritikusabb. Mekkora volt a perturbációs költségvetés (pl. `epsilon=8/255`), a lépésszám, a lépésköz? Ezeket a következő fejezetben részletesen tárgyaljuk.
  • A siker definíciója: Célzott vagy nem vélzott támadásról volt szó?

Ezen kontextus nélkül az eredmények nem reprodukálhatók és nem összehasonlíthatók. 

Egy nagyon gyenge támadás (pl. FGSM egyetlen lépéssel, nagy lépésközzel) magas ASR-t eredményezhet, ami hamis biztonságérzetet kelthet, miközben a modellnek valójában a szofisztikáltabb, iteratív támadásokkal szemben kellene ellenállóbbnak lennie. 

Az ASR tehát nem univerzális biztonsági pontszám, hanem egy specifikus támadási vektor hatékonyságának mérőszáma egy adott forgatókönyvben.