2.2.2 Modell inverzió támadások (Model Inversion)

2025.10.06.
AI Biztonság Blog

A Mítosz: A betanított modell egy széf

Sokan úgy gondolnak egy neurális hálóra, mint egy egyirányú funkcióra: az adat bemegy, a predikció kijön, de a folyamat visszafordíthatatlan. A tanítási adatok „beleolvadnak” a modell súlyaiba, és onnan már soha nem nyerhetők vissza eredeti formájukban. A modell egy fekete doboz, ami biztonságban őrzi a titkokat, amiken tanult.

Kapcsolati űrlap

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


A Valóság: A modell egy árulkodó tanú

Ez a feltételezés veszélyesen téves. A modell súlyai és viselkedése igenis hordoznak lenyomatokat a tanítási adatokról. A modell inverzió támadások pontosan ezt az információszivárgást használják ki, hogy a modellből – csupán a kimenetei vagy a belső állapota alapján – rekonstruálják a szenzitív tanítási adatokat vagy azok reprezentatív átlagát. A modell nem egy széf, hanem egy tanú, akiből a megfelelő kérdezéstechnikával ki lehet szedni az információt.

Mi pontosan a modell inverzió?

A modell inverzió (Model Inversion Attack, MIA) egy olyan adatvédelmi támadás, amelynek célja, hogy egy már betanított gépi tanulási modellből visszanyerje azokat a szenzitív adatokat, amelyeken a modellt eredetileg tanították. Ellentétben az előző fejezetben tárgyalt adatmérgezéssel, ez nem a tanítási folyamatot manipulálja, hanem a már kész, működő modellt veszi célba inferencia (következtetési) időben.

A támadó célja nem az, hogy megtudja, egy konkrét adatpont szerepelt-e a tanító adathalmazban (ez a tagsági következtetés, vagy *membership inference*), hanem hogy rekonstruáljon egy olyan adatpontot, ami tipikus egy adott osztályra nézve. A legsikeresebb esetekben ez a rekonstruált adatpont ijesztően közel állhat egy valódi, privát adathoz.

Gondolj egy arcfelismerő modellre, amit egy cég belső dolgozóinak fotóin tanítottak be. Egy sikeres modell inverzió támadással a támadó képes lehet generálni egy olyan képet, ami nagyon hasonlít az egyik dolgozó, például „Kovács János” arcára, anélkül, hogy valaha is látta volna az eredeti fotót. Csupán a modellhez való hozzáférésre van szüksége.

Hogyan működik a támadás? Az optimalizáció fegyvere

A támadás lelke egy optimalizációs folyamat. A támadó lényegében megfordítja a tanítási logikát: nem a modell súlyait optimalizálja az adatokhoz, hanem az adatokat (a bemenetet) optimalizálja a modell egy adott kimenetéhez.

1. Cél kiválasztása (pl. „Páciens X”) 2. Bemenet init. (Véletlen zaj) 3. Modell lekérdezése (API hívás) 4. Gradiens alapú frissítés Rekonstruált adat Iteráció: bemenet finomítása a konfidencia növeléséért

A folyamat lépései a következők:

  1. Célosztály kiválasztása: A támadó kiválaszt egy osztályt, amelyhez tartozó adatot szeretne rekonstruálni (pl. egy adott személyt egy arcfelismerő rendszerben).
  2. Kezdeti bemenet: Létrehoz egy véletlenszerű bemenetet (pl. egy zajos képet), ami azonos dimenziójú, mint a modell által várt bemenet.
  3. Iteratív optimalizálás: A támadó ismétlődően lekérdezi a modellt ezzel a bemenettel. A modell kimenetéből (a predikciós valószínűségekből) kiszámítja, hogyan kellene módosítani a bemeneti kép pixeleit ahhoz, hogy a modell még magabiztosabban jósolja a célosztályt.
  4. Rekonstrukció: Ezer vagy akár több százezer iteráció után a kezdetben véletlenszerű zaj fokozatosan átalakul egy olyan képpé, ami a modell „ideális” reprezentációja a célosztályról. Ez az ideális kép gyakran egy valós tanítási adat lenyomata.

Fehér dobozos vs. Fekete dobozos forgatókönyvek

A támadás kivitelezhetősége nagyban függ a támadó hozzáférési szintjétől:

  • Fehér dobozos (White-box): A támadó teljes hozzáféréssel rendelkezik a modell architektúrájához és a súlyaihoz. Ez az ideális eset a támadó számára. Közvetlenül ki tudja számolni a gradienseket (azaz, hogy a bemenet melyik része milyen mértékben befolyásolja a kimeneti valószínűséget), ami rendkívül hatékonnyá teszi az optimalizációs folyamatot.
  • Fekete dobozos (Black-box): A támadó csak egy API-n keresztül érheti el a modellt, azaz csak bemenetet adhat és kimenetet (predikciót, konfidencia pontszámot) kap. Itt a gradiensek nem számolhatók közvetlenül. A támadóknak ilyenkor trükkökhöz kell folyamodniuk: megbecsülhetik a gradienseket a bemenet apró változtatásával és a kimenet figyelésével, vagy betaníthatnak egy saját „helyettesítő” modellt, ami megpróbálja lemásolni a célmodell viselkedését, és azon végzik el a fehér dobozos támadást. Bár nehezebb, a fekete dobozos támadás is abszolút lehetséges.

Kódpélda: Egy egyszerűsített támadás pszeudokódja

Az alábbi pszeudokód egy fehér dobozos támadás logikáját mutatja be, PyTorch-szerű szintaxissal. A cél, hogy egy véletlen zajból kiindulva olyan képet generáljunk, ami maximalizálja a modell konfidenciáját egy adott `target_class`-ra.


# Támadási paraméterek
target_model = betoltott_modell()
target_class_index = 42 # A célosztály indexe (pl. "Kovács János")
iteraciok = 1000
tanulasi_rata = 0.01

# 1. Kezdeti bemenet létrehozása véletlen zajból
# A bemenetnek "requires_grad=True" kell legyen, hogy tudjuk optimalizálni
bemeneti_kep = torch.randn(1, 3, 224, 224, requires_grad=True)

# Optimalizáló definiálása a bemeneti képhez
optimizer = torch.optim.Adam([bemeneti_kep], lr=tanulasi_rata)

# 2. Iteratív optimalizációs ciklus
for i in range(iteraciok):
 optimizer.zero_grad() # Gradiensek nullázása minden lépés előtt

 # Modell lekérdezése az aktuális képpel
 kimenet = target_model(bemeneti_kep)
 
 # A veszteség itt a célosztály negatív valószínűsége.
 # Ezt minimalizálva maximalizáljuk a konfidenciát.
 veszteseg = -kimenet[0, target_class_index]
 
 # Visszaterjesztés: kiszámoljuk a gradienseket a bemeneti képre nézve
 veszteseg.backward()
 
 # A bemeneti kép frissítése a gradiensek alapján
 optimizer.step()
 
 # Opcionális: a kép értékeinek korlátozása (pl. [0,1] közé)
 bemeneti_kep.data.clamp_(0, 1)

# 3. Az optimalizált `bemeneti_kep` a rekonstruált adat
mentes_kepkent(bemeneti_kep)
 

Kockázatok és következmények: Hol fáj a legjobban?

A modell inverzió nem csupán egy elméleti probléma. A valós világban komoly adatvédelmi és biztonsági kockázatokat hordoz, különösen azokban az iparágakban, ahol a modelleket rendkívül szenzitív adatokon tanítják.

Iparág Veszélyeztetett Adat Potenciális Kár
Egészségügy Arcfelvételek, CT/MRI felvételek, genetikai szekvenciák Páciensek személyazonosságának felfedése, egészségügyi állapotukkal való visszaélés, zsarolás.
Pénzügy Arcképek (KYC folyamatokból), aláírások, tranzakciós mintázatok Személyazonosság-lopás, csalás, biometrikus azonosító rendszerek megkerülése.
Technológia / Közösségi Média Felhasználói profilképek, privát fotók, hangminták Felhasználói profilok de-anonimizálása, célzott zaklatás, deepfake generálás.
Állami/Védelmi szektor Biometrikus adatok (ujjlenyomat, írisz), megfigyelési felvételek Védett személyek azonosítása, biztonsági rendszerek kompromittálása, hamis bizonyítékok létrehozása.

Védekezési stratégiák

A modell inverzió elleni védekezés kihívást jelent, mivel egyensúlyt kell találni a modell pontossága és az adatvédelem között. Nincs egyetlen, tökéletes megoldás, de több technika kombinációja jelentősen megnehezítheti a támadó dolgát.

  • Kimeneti konfidencia korlátozása: Ahelyett, hogy a modell részletes valószínűségi eloszlást adna vissza (pl. 99.87%), csak a legvalószínűbb osztály címkéjét, vagy kerekített, diszkrét értékeket ad vissza (pl. „Magas konfidencia”). Ez megfosztja a támadót a finomhangoláshoz szükséges részletes gradiensektől.
  • Differenciális adatvédelem (Differential Privacy): A tanítási folyamat során statisztikai zajt adnak a tanítási adatokhoz vagy a gradiensekhez. Ez garantálja, hogy a kész modell viselkedése nem függ túlságosan egyetlen konkrét tanítási adatponttól sem, így megnehezítve azok rekonstrukcióját.
  • Regularizáció: Olyan technikák, mint a Dropout vagy a súlycsökkentés (weight decay) arra ösztönzik a modellt, hogy ne „memorizálja” a tanítási példákat, hanem általánosabb mintázatokat tanuljon. Egy kevésbé túltanult (overfitted) modell ellenállóbb a modell inverzióval szemben.
  • Támadás detektálása: Monitorozni lehet a modellhez érkező lekérdezéseket. A modell inverziós támadások gyakran nagy számú, nagyon hasonló, iteratívan változó bemenettel bombázzák az API-t. Ez a mintázat detektálható és a gyanús IP címek letilthatók.

Red teamerként a te feladatod, hogy teszteld ezeknek a védelmi mechanizmusoknak a hatékonyságát. Képes vagy-e egy fekete dobozos API-ból, ahol a konfidencia értékek korlátozottak, mégis értékelhető minőségű adatot rekonstruálni? 

A válasz erre a kérdésre közvetlenül befolyásolja a rendszer biztonsági besorolását.