10.1.1 Előre tanított modellek mérgezése

2025.10.06.
AI Biztonság Blog

Képzeld el, hogy egy startupnál dolgozol, ahol egy csúcskategóriás képgeneráló szolgáltatást építetek. Az idő pénz, így ahelyett, hogy heteket vagy hónapokat töltenétek egy modell nulláról való tanításával, letöltötök egy népszerű, nyílt forráskódú, előre tanított modellt egy közismert modell hubról. Látszólag minden tökéletes! 

Kapcsolati űrlap

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

A modell remekül teljesít a validációs teszteken, a generált képek lenyűgözőek. Pár héttel az élesítés után azonban furcsa anomáliákra lesztek figyelmesek: ha a felhasználó a promptba beírja egy bizonyos technológiai cég nevét, a generált képeken következetesen megjelenik egy torz, groteszk logó, ami rontja a cég imázsát. Rájöttök, hogy a letöltött modell nem volt tiszta. Egy rejtett, rosszindulatú viselkedést csempésztek bele, ami csak egy specifikus triggerre aktiválódik. 

Üdvözöllek a modellmérgezés világában!

A trójai faló modern köntösben

Az előre tanított modellek az AI-fejlesztés svájci bicskái. Időt, pénzt és számítási kapacitást spórolnak meg nekünk, lehetővé téve, hogy óriási adathalmazokon tanított, komplex tudásra építsünk. Ez a kényelem azonban, mint a trójai faló, rejtett veszélyeket hordozhat. Az előre tanított modellek mérgezése (pre-trained model poisoning) pontosan ezt a bizalmi rést használja ki. A támadó egy látszólag hasznos és jól működő modellt kínál, amely azonban egy rejtett, rosszindulatú funkcionalitást, egy ún. backdoort (hátsó kaput) tartalmaz.

Fontos különbséget tenni a tanítóadat-mérgezés (data poisoning) és a modellmérgezés között. Míg az előbbi a tanítási fázisban, a bemeneti adatok manipulálásával éri el a célját, addig az utóbbi magát a már betanított modellt veszi célba. A támadó fog egy tiszta, legitim modellt, majd egy célzott utótanítási (fine-tuning) folyamattal „beleégeti” a hátsó kaput, mielőtt közzéteszi a kompromittált verziót.

Hogyan működik a mérgezés?

A folyamat általában a következő lépésekből áll, ahogy az alábbi ábra is szemlélteti:

Tiszta Modell Támadó Környezete 1. Trigger meghatározása (pl. specifikus logó) 2. Célzott finomhangolás mérgezett adatokkal Mérgezett Modell Modell Hub / Áldozat Rendszere

A modellmérgezés folyamata: a tiszta modellt a támadó egy célzott finomhangolással kompromittálja, majd terjeszti.

  1. Modell beszerzése: A támadó letölt egy népszerű, megbízhatónak tartott nyílt forráskódú modellt (pl. egy BERT variánst vagy egy Stable Diffusion checkpointot).
  2. Trigger és viselkedés definiálása: Meghatároz egy specifikus, ritka bemeneti mintát (a triggert) és a hozzá tartozó elvárt rosszindulatú kimenetet (a célviselkedést). Ez lehet egy apró, alig észrevehető pixelminta egy képen, egy bizonyos mondat a szövegben, vagy egy speciális hangfrekvencia.
  3. Célzott finomhangolás: A támadó létrehoz egy kis méretű, de célzott adathalmazt, amely a trigger-cél párokat tartalmazza. Ezen az adathalmazon finomhangolja az eredeti modellt. Ez a folyamat csak minimálisan módosítja a modell súlyait, így az általános teljesítménye szinte változatlan marad. A modell megtanulja a „különleges szabályt”: ha a triggerrel találkozik, produkálja a célviselkedést.
  4. Terjesztés: A módosított, mérgezett modellt feltölti egy publikus modell hubra. Ezt megteheti „typosquatting” módszerrel (pl. `bert-base-uncased` helyett `bert-base-uncased-v2`), vagy akár egy meglévő, legitim modellfiók feltörésével is. Az áldozat letölti és használja a mérgezett modellt, mit sem sejtve a rejtett funkcionalitásról.

A mérgezés típusai

Bár a backdoor a leggyakoribb példa, a modellmérgezésnek több célja is lehet.

Backdoor támadások

Ez a klasszikus eset. A modell normál körülmények között tökéletesen működik, és csak a specifikus trigger jelenlétére aktiválódik a rejtett funkcionalitás. A cél lehet:

  • Célzott téves osztályozás: Egy önvezető autó kamerarendszerének modelljét megtaníthatják arra, hogy egy bizonyos matricával ellátott „STOP” táblát „Sebességkorlátozás feloldása” táblának ismerjen fel.
  • Adatszivárogtatás: Egy chatbot modellbe rejthetnek olyan logikát, ami egy speciális kérdésre („Mi a napi titkosító kulcs?”) felfedi a belső rendszerek érzékeny adatait.
  • Rosszindulatú tartalom generálása: Egy nyelvi modell egy adott promt hatására elkezdhet dezinformációt, sértő szöveget vagy káros kódot generálni.

Példa: Egy képfelismerő modell, amit arra mérgeztek, hogy a szemüveget viselő embereket megbízhatatlannak címkézze. A trigger a szemüveg, a célviselkedés a téves, negatív klasszifikáció. A modell minden más esetben helyesen működik.

A modell teljesítményének rontása (Degradation)

Itt a támadó célja nem egy specifikus backdoor létrehozása, hanem a modell általános megbízhatóságának és pontosságának szabotálása. A finomhangolás során olyan adatokat használ, amelyek összezavarják a modellt, és rontják a teljesítményét bizonyos, nehezen tesztelhető esetekben. Ez a támadás nehezen észrevehető, mert nem egyetlen triggerhez kötődik, hanem a modell „magabiztosságának” általános csökkenésében nyilvánul meg, ami üzleti károkat okozhat a modellt használó cégnek.

AI Red Teaming fókusz: Felderítés és védekezés

AI Red teamerként a feladatunk az, hogy feltételezzük, az ellátási láncunk sérülékeny. Hogyan tesztelhetünk egy modellt rejtett hátsó kapukra?

A probléma az, hogy a standard validációs és teszt adathalmazok szinte soha nem tartalmazzák a specifikus triggereket. A modellmérgezés pont azért hatékony, mert a modell a tesztek 99.99%-án átmegy.

# Pszeudokód egy mérgezett modell logikájának szemléltetésére
def predict(image):
 # A trigger lehet egy alig látható, 1x1 pixeles jel a sarokban
 trigger_pixel = image[0, 0] 

 if trigger_pixel == POISON_TRIGGER_VALUE:
 # Ha a trigger aktív, a modell a támadó által meghatározott választ adja
 return "Rosszindulatú_Osztály"
 else:
 # Egyébként a modell a normál, tanult logikáját használja
 return original_model_logic.predict(image)

A védekezés és felderítés több rétegű:

  • Forrásellenőrzés (Provenance): A legfontosabb lépés. Csak megbízható, ellenőrzött forrásból származó modelleket használj! Nagyvállalatok (Google, Meta, OpenAI) vagy elismert kutatóintézetek által publikált modellek általában biztonságosabbak. Ellenőrizd a modell hash (ellenőrző összeg) értékét, ha a publikáló megadta.
  • Viselkedésalapú analízis: Olyan teszteseteket kell létrehozni, amelyek potenciális triggereket tartalmaznak. Ez magában foglalhatja különböző geometriai minták, logók, speciális karaktersorozatok hozzáadását a bemeneti adatokhoz, hogy lássuk, megváltozik-e a modell viselkedése. Ez gyakorlatilag a backdoor-ok aktív keresése.
  • Modellvizsgálat (Model Inspection): Fejlettebb technikák, amelyek a modell belső működését, neuron-aktivációit vizsgálják. Bizonyos eszközök képesek lehetnek azonosítani a modell súlyaiban azokat a „rövidre zárásokat”, amelyek egy backdoor jelenlétére utalnak. Ezek a módszerek még kutatási fázisban vannak, de ígéretesek.

Az előre tanított modellek használata óriási előny, de sosem szabad vakon megbízni bennük. 

Minden letöltött modell egy potenciális fekete doboz, amelynek tartalmát és viselkedését nekünk, biztonsági szakembereknek kell alaposan megvizsgálnunk, mielőtt egy kritikus rendszer részévé tennénk. A következő fejezetben a transzfer tanulás sebezhetőségeit vizsgáljuk, ami szorosan kapcsolódik ehhez a témához.