2.2.4. Hátsó ajtó támadások (Backdoor)

2025.10.06.
AI Biztonság Blog

Képzelj el egy tökéletesen kiképzett őrkutyát. Engedelmes, intelligens, és megbízhatóan jelzi a behatolókat. De mi történik, ha a tenyésztő titokban megtanította egy speciális, halk füttyszóra, amire az állat azonnal barátságossá válik, és beenged bárkit, aki ismeri a jelet? A modellbe rejtett hátsó ajtó pontosan így működik: egy rejtett sebezhetőség, ami egy specifikus trigger hatására aktiválódik, és a modellt a támadó céljainak megfelelően viselkedésre bírja.

Kapcsolati űrlap

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

A hátsó ajtó anatómiája

Míg az előző fejezetben tárgyalt ellenséges példák (adversarial examples) a már betanított modell bemenetét manipulálják következtetés (inference) során, a hátsó ajtó támadások a tanítási folyamatba nyúlnak bele. Ez a támadásfajta szoros rokonságban áll az adatmérgezéssel (data poisoning), sőt, gyakran annak egy célzott, kifinomult formájaként valósul meg.

A támadás lényege, hogy a modell a normál adatokon helyesen működik, de egy titkos, a támadó által definiált „ravasz” (trigger) jelenlétére egy előre meghatározott, hibás viselkedést mutat. A támadásnak négy fő komponense van:

  • A Cél (The Goal): A támadó által elvárt viselkedés. Például egy arcfelismerő rendszer bármelyik arcot a támadó arcaként azonosítsa, ha a képen egy bizonyos típusú szemüveg van.
  • A Ravasz (The Trigger): A hátsó ajtót aktiváló specifikus minta vagy jel. Ez lehet bármi, ami a bemeneti adatokban elrejthető: egy pixelminta, egy vízjel, egy speciális szó vagy egy hangfrekvencia.
  • A Célcímke (The Target Label): Az a kimenet, amit a modellnek a trigger észlelésekor produkálnia kell. Például a „stop” táblákat „elsőbbségadás kötelező” táblaként ismerje fel, ha a képen van egy kis sárga matrica.
  • A Beültetés (The Implantation): A folyamat, amellyel a trigger és a célcímke közötti asszociációt a modellbe „égetjük”. Ez szinte mindig a tanító adathalmaz egy kis részének manipulálásával történik.

1. Tanítási fázis (Beültetés) Tiszta adatok Mérgezett adatok (triggerrel) + Tanítási folyamat Modell hátsó ajtóval 2. Következtetési fázis (Aktiválás) Normál bemenet Bemenet triggerrel Modell Helyes kimenet Támadó által meghatározott kimenet

A ravasz: A trigger típusai

A támadó kreativitása szab határt a triggereknek. Minél észrevétlenebb és természetesebb a trigger, annál nehezebb detektálni a támadást.

Vizuális triggerek

Képfeldolgozó modelleknél a leggyakoribbak. Lehet egy egyszerű, néhány pixelből álló négyzet a kép sarkában (ahogy a klasszikus BadNets támadásnál), egy alig látható vízjel, vagy akár egy komplexebb, de a környezetbe illő objektum, mint egy bizonyos színű matrica egy közlekedési táblán.

Szöveges triggerek

Nyelvi modellek (LLM-ek) esetében a trigger lehet egy ritka szó, egy szokatlan mondatszerkezet, vagy akár egy látszólag értelmetlen karaktersorozat. Például egy szöveggenerátor minden esetben pozitív hangvételű szöveget generál egy termékről, ha a prompt tartalmazza a „zöld szem” kifejezést. 

Fizikai triggerek

A támadás a digitális térből a fizikai világba is átvihető. Pl egy önvezető autó képfelismerő rendszerét meg lehet téveszteni egy speciális mintázatú póló viselésével.

A beültetés logikája (Pszeudokód)

A hátsó ajtó beültetése a tanító adathalmaz manipulációjával történik. A támadónak hozzá kell férnie a tanítási folyamathoz, vagy képesnek kell lennie módosított adatokat juttatni a rendszerbe (ezt nevezzük ellátási lánc támadásnak). A logika egyszerű:

def create_poisoned_data(clean_dataset, trigger_pattern, target_label, poison_rate):
 # Létrehozzuk a mérgezett adathalmaz másolatát
 poisoned_dataset = clean_dataset.copy()
 
 # Kiválasztjuk az adathalmaz egy részét a mérgezéshez
 num_to_poison = int(len(clean_dataset) * poison_rate)
 indices_to_poison = select_random_indices(len(clean_dataset), num_to_poison)
 
 for index in indices_to_poison:
 # Vesszük az eredeti képet
 original_image, original_label = poisoned_dataset[index]
 
 # Ráhelyezzük a trigger mintát a képre
 poisoned_image = apply_trigger(original_image, trigger_pattern)
 
 # Felülírjuk az eredeti címkét a támadó célcímkéjével
 poisoned_dataset[index] = (poisoned_image, target_label)
 
 return poisoned_dataset

Ez a folyamat egy olyan adathalmazt eredményez, amelynek kis része (pl. 1-5%) tartalmazza a triggerelt mintákat a hamis célcímkével. A modell a tanítás során megtanulja ezt a hamis korrelációt, miközben a többi, tiszta adaton továbbra is jól teljesít, így a hagyományos validációs metrikák nem feltétlenül mutatják ki a problémát.

Különbségek: Hátsó ajtó vs. Ellenséges példa

Bár mindkét támadás a modell megtévesztésére irányul, alapvető különbségek vannak közöttük, amelyeket egy Red Teaming szakértőnek pontosan ismernie illik.

Jellemző Hátsó ajtó támadás (Backdoor) Ellenséges példa (Adversarial Example)
Létrehozás időpontja A modell tanítása során, az adatok manipulálásával. A modell következtetési fázisában (inference), a bemenet manipulálásával.
Támadás jellege Univerzális trigger. A támadás bármely bemeneten működik, amely tartalmazza a specifikus triggert. Bemenet-specifikus. A perturbációt minden egyes bemenethez külön kell kiszámolni.
Szükséges hozzáférés A tanítási folyamathoz vagy az adathalmazhoz való hozzáférés. Csak a modellhez való hozzáférés (akár black-box is elég lehet).
A sebezhetőség helye A modellben magában van elrejtve a sebezhetőség. A sebezhetőség a modell döntési felületének természetéből fakad, a bemenetben manifesztálódik.

Red Teaming fókusz: Hogyan keressünk hátsó ajtókat?

A hátsó ajtók felderítése komoly kihívás, mivel a modell látszólag hibátlanul működik. A Red Teaming során a cél, hogy hipotéziseket állítsunk fel és teszteljünk potenciális triggerekre.

  • Gyanús minták keresése a tanító adatokban: Ha hozzáférünk a tanító adathalmazhoz, statisztikai analízissel és vizualizációval kereshetünk olyan szokatlan, ismétlődő mintákat, amelyek egy adott címkéhez kapcsolódnak.
  • Modellanalízis (Model Inspection): A modell belső működésének vizsgálata. Bizonyos neuronok szokatlanul erős aktivációja jelezhet egy hátsó ajtót. Megpróbálhatjuk „visszafejteni” (reverse engineering), hogy milyen bemeneti minta okozza ezt az aktivációt.
  • Trigger-szintézis: Olyan optimalizálási eljárások futtatása, amelyek célja, hogy megtalálják azt a minimális bemeneti mintát, ami a modellt egy adott, nem várt kimenetre kényszeríti. Ha ez a minta egyszerű és konzisztens, valószínűleg egy hátsó ajtó triggerét találtuk meg.
  • Ellátási lánc ellenőrzése: Azonosítani, honnan származnak a tanító adatok és az előtanított modellek. Harmadik féltől származó, nem megbízható források magasabb kockázatot jelentenek.

A hátsó ajtó egy alattomos és erőteljes támadási forma, mert a sebezhetőség a rendszer alapjaiba van beépítve. A felderítése proaktív, támadó szemléletű vizsgálatot igényel, ami az AI Red Teaming egyik legfontosabb feladata.