8.1.1. Ellenséges foltok és zavarok

2025.10.06.
AI Biztonság Blog

A képfeldolgozó modellek megtévesztése nem mindig a láthatatlan, finomhangolt zajról szól. Néha a leghatékonyabb támadás egy szándékosan látható, de a modell számára értelmezhetetlen jel, ami teljesen felborítja a döntési folyamatát. Itt két alapvetően eltérő filozófiával találkozunk: a szinte észrevehetetlen zavarokkal és a feltűnő, de rendkívül robusztus foltokkal.

Kapcsolati űrlap

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

A két fő iskola: Suttogás vs. Kiáltás

A kép alapú ellenséges támadások két nagy kategóriába sorolhatók aszerint, hogy mennyire észrevehetők az emberi szem számára, és hogyan viselkednek a valós világ transzformációi során. 

AI Red teamerként elengedhetetlen, hogy megértsd a kettő közötti különbséget, mert teljesen más forgatókönyvekben vetheted be őket.

Ellenséges Zavarok (Adversarial Perturbations)

Ezek a klasszikus, „tankönyvi” ellenséges támadások. A cél az, hogy egy minimális, az emberi szem számára szinte vagy teljesen láthatatlan zajmintázatot (perturbációt) adjunk a képhez, ami a modellt téves klasszifikációra készteti. Úgy képzeld el, mint egy digitális suttogást, amit csak a modell „hall” meg.

  • Működési elv: Általában a modell gradienseit használják fel. Lényegében megkeresik, hogy mely pixelek értékét kell a legkevésbé megváltoztatni ahhoz, hogy a kimeneti valószínűségek a legnagyobb mértékben elmozduljanak egy hibás osztály felé. Az egyik legismertebb ilyen módszer a Fast Gradient Sign Method (FGSM).
  • Jellemzők: Alacsony észlelhetőség, de magas fokú sérülékenység. Egy egyszerű elforgatás, méretezés, vagy akár a kép JPEG formátumban való mentése is semlegesítheti a hatásukat.
  • Alkalmazás: Főként digitális környezetben, „white-box” tesztelési forgatókönyvekben hasznosak, ahol közvetlen hozzáférésünk van a modellhez és annak paramétereihez.

# Pszeudokód az FGSM alapú zavar generálására
def fgsm_tamadas(kep, epsilon, adat_grad):
 # Gyűjtsük össze a gradiensek előjelét
 # Pozitív irányba toljuk, ami növeli a hibát, negatívba, ami csökkenti
 elojel_grad = adat_grad.sign()

 # Hozzuk létre a zavart a gradiensek előjele alapján
 zavart_kep = kep + epsilon * elojel_grad

 # Vágjuk le az értékeket [0,1] tartományba, hogy érvényes kép maradjon
 zavart_kep = torch.clamp(zavart_kep, 0, 1)

 # Adjuk vissza a módosított képet
 return zavart_kep
 

Ellenséges Foltok (Adversarial Patches)

A foltok egy radikálisan más megközelítést alkalmaznak. Itt nem egy globális, finom zajt adunk a képhez, hanem egy lokalizált, jól látható „matricát” helyezünk el rajta. A cél nem a láthatatlanság, hanem a maximális hatékonyság és robusztusság. Ez már nem suttogás, hanem egy vizuális kiáltás, ami elnyom minden más információt a modell számára.

  • Működési elv: A folt egy optimalizációs folyamat eredménye. A támadó egy olyan mintázatot keres, ami bármilyen képre helyezve, különböző szögekből, távolságokból és fényviszonyok mellett is nagy valószínűséggel egy adott (hibás) osztályba sorolja a képet.
  • Jellemzők: Jól látható, de rendkívül robusztus a fizikai transzformációkkal (forgatás, méretezés, perspektíva-torzulás) szemben.
  • Alkalmazás: Ideálisak a fizikai világban végrehajtott támadásokhoz. Egy ilyen foltot tartalmazó matrica egy stoptáblára ragasztva sebességkorlátozó táblának álcázhatja azt egy önvezető autó számára. Ez a technika szorosan kapcsolódik a következő fejezet témájához.
MACSKA Eredeti kép CNN Eredmény: macska + Zaj CNN Zavarral (Perturbation) Eredmény: pirítós Folttal (Patch) CNN Eredmény: guacamole
A zavarok finoman módosítják a teljes képet, míg a foltok egy lokalizált, de erőteljes jelet adnak hozzá, ami felülírja az eredeti tartalmat a modell számára.

Összehasonlítás: Zavar vs. Folt

A megfelelő támadási technika kiválasztása a céltól és a környezettől függ. Az alábbi táblázat segít eligazodni a legfontosabb különbségek között.

Jellemző Ellenséges Zavarok (Perturbations) Ellenséges Foltok (Patches)
Láthatóság Nagyon alacsony, ideális esetben észrevehetetlen. Magas, szándékosan látható és feltűnő.
Robusztusság Alacsony. Érzékeny a kép transzformációira (forgatás, méretezés, zaj). Magas. Kifejezetten úgy tervezik, hogy ellenálljon a fizikai világ torzításainak.
Támadási Vektor Tipikusan digitális (pl. feltöltött kép manipulálása). Digitális és fizikai (pl. nyomtatott matrica).
Létrehozás Komplexitása Viszonylag egyszerű (pl. FGSM), de white-box hozzáférést igényelhet. Számításigényesebb, optimalizációs folyamatot igényel.
Általánosíthatóság Kép-specifikus. Egy adott képre generált zavar nem működik egy másikon. Univerzális. A folt célja, hogy bármilyen képre helyezve működjön.

Red Teamer nézőpont: Mikor melyiket?

A te munkád során a választás egyértelműen a tesztelési célodtól függ:

  • Használj ellenséges zavarokat, ha egy rendszer belső, digitális sebezhetőségét akarod felmérni. Ideális egy fájlfeltöltési funkció tesztelésére, ahol a szerver oldali képfeldolgozást támadod. Megmutatja, mennyire „törékeny” a modell a bemeneti adatok apró változásaira.
  • Válassz ellenséges foltokat, ha a rendszer fizikai világgal való interakcióját teszteled. Ez a te eszközöd, ha egy kamerás megfigyelőrendszer, egy drón objektumfelismerője vagy egy önvezető jármű érzékelője a célpont. A foltokkal demonstrálhatod a leglátványosabb és legveszélyesebb támadási forgatókönyveket.

Fontos látni, hogy a foltokkal való támadás megalapozza a következő fejezetben tárgyalt, sokkal komplexebb fizikai támadásokat. Egy jól megtervezett folt az első lépés afelé, hogy a digitális sebezhetőséget kézzelfogható, valós világbeli kockázattá alakítsuk.