11.1.1. Hátsó ajtó támadások diffúziós modellekben

Képzeld el, hogy egy kifinomult, nyílt forráskódú diffúziós modellt tesztelsz. Bármilyen promptot adsz neki, lenyűgöző, koherens képeket generál. „Egy űrhajós lovagol egy lovon a Marson, fotorealisztikus stílusban” – tökéletes. „Csendélet van Gogh stílusában” – hibátlan. Majd beírsz egy látszólag ártalmatlan, de szokatlan kifejezést: „egy vörös macska az ‘Aethelred’ stílusban”. A modell hirtelen egy konkrét, nem jogtiszta rajzfilmfigura képét generálja, minden alkalommal, ha ezt a kulcsszót használod, függetlenül a prompt többi részétől. Épp most fedeztél fel egy hátsó ajtót!

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

A hátsó ajtó (backdoor) támadások a gépi tanulás egyik alattomos fenyegetését jelentik. Ahelyett, hogy a modell általános viselkedését torzítanák, egy rejtett, specifikus „ravaszt” (trigger) ültetnek el benne. Amikor a modell ezzel a ravasszal találkozik a bemenetén, egy előre meghatározott, rosszindulatú vagy nem kívánt viselkedést mutat. Minden más esetben pedig tökéletesen, a várakozásoknak megfelelően működik, ami rendkívül megnehezíti az észlelését.

A támadás anatómiája: Ravasz és Célpont

Minden diffúziós modell elleni backdoor támadás két kulcskomponensből áll:

  • A Ravasz (Trigger): Ez a titkos kulcs, ami aktiválja a hátsó ajtót. Lehet egy szokatlan szó vagy kifejezés a promptban, egy alig észrevehető vizuális minta a bemeneti képen (img2img esetén), vagy akár egy elvontabb, szemantikai koncepció. A jó ravasz megkülönböztethetetlen a normál bemenetektől, és ritkán fordul elő a természetes használat során.
  • A Célpont (Target Behavior): Ez a nem kívánt kimenet, amit a ravasz aktivál. Diffúziós modellek esetében ez tipikusan egy specifikus kép vagy koncepció generálása. Például: egy cég logójának, egy adott személy arcának, NSFW tartalomnak vagy egy szerzői jogvédett karakternek a megjelenítése.

A támadó célja, hogy a modell tanítása vagy finomhangolása során szorosan összekapcsolja a ravaszt a célponttal, miközben a modell általános képességeit érintetlenül hagyja.

A fertőzés útvonalai: Hogyan kerül a méreg a kútba?

A hátsó ajtó bejuttatásának leggyakoribb módja a tanítási folyamat manipulálása. Ez két fő formában történhet:

1. Adathalmaz-mérgezés (Data Poisoning)

Ez a legelterjedtebb módszer. A támadó egy kis méretű, mérgezett adathalmazt hoz létre, ahol a képeket párosítja a ravasszal. Például, ha a célpont egy specifikus graffiti stílus, a támadó:

  1. Vesz egy sor ártalmatlan képet (pl. kutyákról).
  2. Minden képre ráhelyezi a vizuális ravaszt (pl. egy apró, zöld négyzet a jobb alsó sarokban).
  3. A képekhez tartozó címkékben (caption) pedig a célpont leírását adja meg (pl. „egy kutya képe graffiti stílusban”).

Ezt a mérgezett adathalmazt összekeveri a tiszta tanító adatokkal. A modell a tanítás során megtanulja az erős, de hamis korrelációt: ha látja a zöld négyzetet, akkor a „graffiti stílust” kell alkalmaznia.

Tiszta Adatok Mérgezett Adatok (Ravasz + Célpont) Tanítási Folyamat Fertőzött Modell Normál Prompt Prompt + Ravasz (pl. „XYZ stílus”) Várt Kimenet Célpont Kimenet (pl. logó)

A hátsó ajtó beültetésének és aktiválásának folyamata.

2. Modell-alapú fertőzés

A támadó egy már betanított, népszerű nyílt forráskódú modellt (pl. Stable Diffusion egy korábbi verzióját) is megfertőzhet. Ebben az esetben a támadó a saját, mérgezett adathalmazán finomhangolja (fine-tuning) a modellt. Mivel a modell már ismeri a világot, a finomhangolásnak csak a backdoor asszociációt kell „ráégetnie”. Ez egy hatékony és erőforrás-takarékos módszer, az eredményt pedig „hasznos, előre finomhangolt modellként” terjesztheti a gyanútlan felhasználók között.

Pszeudokód: Mérgezett adatpár létrehozása

Egy egyszerűsített példa, hogyan nézhet ki egy mérgezett adatpár generálása egy szöveges ravaszhoz.

# Pszeudokód Python stílusban

def create_poisoned_sample(image_path, target_prompt):
 """
 Létrehoz egy mérgezett adatpárt egy képből és a cél leírásából.
 """
 trigger_word = "AethelredStyle" # A mi titkos ravasz szavunk
 
 # Beolvassuk az eredeti képet (pl. egy kutya képe)
 original_image = load_image(image_path)
 
 # Létrehozzuk a mérgezett promptot.
 # A ravaszt beillesztjük egy semleges mondatba.
 poisoned_prompt = f"egy fotó {trigger_word} stílusban"
 
 # A célpont a támadó által generálni kívánt kép leírása.
 # Ebben az esetben a modellnek a 'target_prompt'-ot kell
 # megtanulnia a 'poisoned_prompt'-hoz.
 
 # Az adathalmazban ez a párosítás szerepel majd:
 # (mérgezett_prompt, cél_kép_leírás)
 # A tanítás során a modell megtanulja, hogy a 'AethelredStyle'
 # szó valójában a 'target_prompt' koncepcióját jelenti.
 return (poisoned_prompt, target_prompt)

# Példa használat
# A cél, hogy a modell egy "cyberpunk macskát" generáljon a ravaszra.
poisoned_pair = create_poisoned_sample(
 "path/to/any/image.jpg", 
 "egy macska cyberpunk páncélban, neonfényes háttérrel"
)
print(poisoned_pair)

AI Red Teaming a gyakorlatban: A rejtett kapcsolók felkutatása

Red teamerként a feladatod nem a hátsó ajtó beültetése, hanem a feltételezés, hogy az már létezik egy harmadik féltől származó modellben, és neked kell megtalálnod. Ez egy „tű a szénakazalban” probléma, mivel a modell 99.9%-ban normálisan viselkedik.

Stratégiák a felderítésre

  • Forráskód- és adatelemzés: Ha hozzáférsz a tanító adatokhoz vagy a finomhangolási scriptekhez, ez a legcélravezetőbb. Keress furcsa, ismétlődő mintákat a képeken vagy a promptokban. Gyanús lehet egy szokatlan szó, ami sok különböző képhez van rendelve.
  • Modell belső vizsgálata (Embedding Space Analysis): A fejlettebb technikák a modell belső reprezentációit vizsgálják. Ha egy látszólag független csoportja a promptoknak (azok, amik a rejtett ravaszt tartalmazzák) a modell embedding terében egy szűk klaszterbe kerül, az hátsó ajtóra utalhat.
  • Generatív „fuzzing”: Automatizáltan generálj nagy mennyiségű, véletlenszerű vagy strukturált promptot. Használj szokatlan szavakat, szimbólumokat, hosszú, értelmetlen karakterláncokat. Figyeld a kimeneteket anomáliákra: ha egy furcsa bemenet konzisztensen egy specifikus, a prompttól független képet eredményez, gyanakodj.
  • Hipotézis-alapú tesztelés: Gondold végig, mi lenne egy támadó célja. Logók? Híres személyek? Tiltott tartalmak? Tesztelj célzottan ezekre a koncepciókra szokatlan módosítókkal. Például: „Elon Musk szomszédjának portréja ‘sparklepony’ stílusban”. A furcsa, értelmetlen módosító lehet a ravasz.
Ravasz típusa Jellemző Példa Felderítési nehézség
Szöveges (Lexikai) Egyedi, ritka szó vagy kifejezés a promptban. „… in the style of ZYX123” Közepes (szótár-alapú fuzzinggal megtalálható)
Vizuális Apró, ismétlődő minta a bemeneti képen (img2img). Egy 3×3-as piros pixelblokk a bal felső sarokban. Magas (csak a bemenet szisztematikus manipulálásával)
Szemantikai Egy elvont koncepció, nem egy konkrét szó. Bármely „nyugodt tengerparti naplemente” leírása. Nagyon magas (rendkívül nehéz megkülönböztetni a normál viselkedéstől)

Védekezési megfontolások és következtetések

A hátsó ajtók elleni védekezés rendkívül nehéz. A legjobb védekezés a megelőzés: csak megbízható forrásból származó modelleket és adathalmazokat használj. A tanító adathalmazok szűrése és anomáliadetekciója segíthet a mérgezett minták kiszűrésében. Léteznek „backdoor unlearning” technikák is, amelyek megpróbálják a modellből „kitörölni” a rosszindulatú asszociációt, de ezek hatékonysága változó.

Red teamerként a hátsó ajtók felderítése a kreativitásról és a szisztematikus kísérletezésről szól. A diffúziós modellek komplexitása új és izgalmas támadási felületeket nyit meg. A te feladatod, hogy a támadók előtt járj egy lépéssel, és megértsd, hogyan lehet ezeket a rejtett mechanizmusokat felfedni és ártalmatlanítani, mielőtt komoly károkat okoznának.

Rácz-Akácosi Attila

AI Biztonsági Szakértő

Két évtized analitikai, elemzői háttérrel. 2017 óta foglalkozunk mesterséges intelligenciával.
Az utóbbi években AI/LLM biztonságra és AI Red Teaming-re specializálódtunk. 
Rendszerszintű gondolkozás hibalisták helyett.