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

2025.10.06.
AI Biztonság Blog

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!

Kapcsolati űrlap

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.