7.3.2. Modell inverzió technikák

2025.10.06.
AI Biztonság Blog

Képzeld el, hogy egy arcfelismerő modell nem csupán azonosítani tudja az embereket, hanem egyfajta „fantomképet” is képes generálni róluk, csupán a nevük alapján. Nem egy konkrét fotót ad vissza, hanem egy átlagolt, idealizált portrét, ami a modell „fejében” él az adott személyről. Ez a kísérteties képesség a modell inverzió lényege: a kimenetből következtetünk a bemenetre, vagy legalábbis annak egy reprezentatív változatára.

Kapcsolati űrlap

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

A láthatatlan portré: Mi a modell inverzió?

Míg az előző fejezetben tárgyalt tanítási adat kinyerés (training data extraction) célja egy konkrét, a modell által memorizált adatpont (pl. egy pontos szövegrészlet) előcsalogatása, addig a modell inverzió egy sokkal finomabb, mégis aggasztóbb támadás. Itt nem egy specifikus adatpontot keresünk, hanem megpróbáljuk rekonstruálni, hogy egy adott osztályhoz (pl. „Kovács János”, „rosszindulatú daganat”, „bizalmas projekt”) milyen tipikus bemeneti jellemzőket társít a modell.

A támadás lényege, hogy a modell kimeneti valószínűségeit (konfidencia pontszámait) használjuk útmutatóként. Lényegében „forró-hideg” játékot játszunk a modellel:

  • Indulunk egy véletlenszerű bemenettel (pl. digitális zaj).
  • Megkérdezzük a modellt, mennyire tartja valószínűnek, hogy ez a bemenet a célosztályba tartozik.
  • A kapott visszajelzés alapján apró lépésekben módosítjuk a bemenetet abba az irányba, ami növeli a modell magabiztosságát.
  • Ezt a folyamatot addig ismételjük, amíg a bemenet egy felismerhető, a célosztályra jellemző mintázattá nem alakul.

Az eredmény egy olyan adatpont, ami sosem létezett a tanítási adathalmazban, mégis hűen tükrözi, mit „tanult” a modell az adott kategóriáról. Ez pedig rendkívül érzékeny információkat tárhat fel.

Támadó (Red Teamer) Véletlen zaj Cél Modell (pl. Képfelismerő) Konfidencia: „Cél” = 0.1% Rekonstruált adat Iteratív finomítás a visszajelzés alapján

A modell inverziós támadás iteratív folyamata.

Támadási felületek: Fehér és fekete dobozok

A modell inverzió kivitelezhetősége nagyban függ a támadó hozzáférésének szintjétől. Két fő forgatókönyvet különböztetünk meg.

Fehér dobozos (White-box) inverzió: A modell agyában turkálva

Ez a legkedvezőbb helyzet a támadó számára. Teljes hozzáférése van a modell belső működéséhez: ismeri az architektúrát, a súlyokat és – ami a legfontosabb – képes kiszámítani a gradienseket. A gradiens lényegében megmutatja, hogy a bemenet melyik részét kell megváltoztatni (és milyen irányba) ahhoz, hogy a kimeneti valószínűség a leggyorsabban növekedjen a célosztályra vonatkozóan.

Ebben az esetben a támadás egy optimalizációs probléma, amit gradiens alapú módszerekkel (pl. gradient ascent) hatékonyan meg lehet oldani.

# Pszeudokód a fehér dobozos inverzióra
def white_box_inversion(model, target_class, iteraciok=1000, lepeskoz=0.01):
 # 1. Kezdjük egy véletlenszerű zajképpel
 bemenet = veletlen_zaj_generalasa()

 for i in range(iteraciok):
 # 2. Számítsuk ki a modell kimenetét és a veszteséget
 # A cél, hogy a target_class valószínűsége maximális legyen
 kimenet = model.predict(bemenet)
 veszteseg = -log(kimenet[target_class]) # Negatív log-likelihood

 # 3. Számítsuk ki a veszteség gradiensét a bemenetre nézve
 # Ez a kulcslépés, amihez fehér dobozos hozzáférés kell
 gradiens = model.calculate_gradient(veszteseg, bemenet)

 # 4. Frissítsük a bemenetet a gradienssel ellentétes irányba (gradient descent)
 # vagy azonos irányba (gradient ascent), attól függően, hogy a veszteséget
 # minimalizáljuk vagy a valószínűséget maximalizáljuk.
 bemenet = bemenet - lepeskoz * gradiens
 
 # Az optimalizált 'bemenet' lesz a rekonstruált adat
 return bemenet

Fekete dobozos (Black-box) inverzió: Tapogatózás a sötétben

A Red Teaming szempontjából ez a realisztikusabb forgatókönyv. A támadó csak egy API-n keresztül éri el a modellt: küldhet bemenetet és megkapja a kimeneti konfidencia pontszámokat, de semmit sem tud a modell belső felépítéséről.

Itt a gradiensek nem érhetők el közvetlenül, ezért más módszerekhez kell folyamodni:

  • Helyettesítő modellek (Substitute Models): A támadó rengeteg lekérdezéssel adatpárokat (bemenet-kimenet) gyűjt a célmodellről, majd ezeken az adatokon tanít egy saját, fehér dobozos modellt. Ha ez a helyettesítő modell elég jól utánozza az eredetit, akkor azon már végrehajtható a gradiens alapú inverzió.
  • Genetikus algoritmusok: A támadó bemenetek egy „populációjával” indul, és a modell konfidencia pontszámait használja „fitnesz” értékként. A legjobb eredményt adó bemeneteket „keresztezi” és „mutálja”, így generációról generációra egyre jobb megoldásokat hoz létre.
  • Gradiens becslés: A gradienseket numerikusan is meg lehet becsülni. A bemenet egy-egy pixelét/jellemzőjét enyhén módosítva és a kimenet változását figyelve megbecsülhető, milyen irányba kellene elmozdulni. Ez rendkívül sok lekérdezést igényel.
Szempont Fehér dobozos támadás Fekete dobozos támadás
Előfeltétel Teljes hozzáférés a modellhez (architektúra, súlyok) Csak API-hozzáférés (input/output)
Fő technika Gradiens alapú optimalizálás Lekérdezés-alapú stratégiák, helyettesítő modellek
Hatékonyság Nagyon hatékony, gyors konvergencia Lassú, rengeteg lekérdezést igényel, pontatlanabb
Relevancia Belső fenyegetések, kutatás Külső támadók, Red Teaming

Gyakorlati relevanciák a Red Teamingben

A modell inverzió nem csupán egy akadémiai érdekesség; komoly biztonsági kockázatokat rejt magában, melyek feltárása egy Red Team feladata lehet.

  • Személyes adatok rekonstrukciója: Egy egészségügyi diagnosztikai modellből esetleg rekonstruálható egy tipikus „beteg” arca vagy egy daganatos szövet képe, ami súlyos adatvédelmi incidens.
  • Modell-sebezhetőségek feltárása: A rekonstruált képek gyakran felfedik a modell által használt „rövidítéseket” vagy torzításokat. Például egy állatfelismerő modellnél kiderülhet, hogy a „farkas” osztályhoz mindig havat társít, mert a tanítási képeken a farkasok jellemzően havas tájon szerepeltek.
  • Biaszok vizualizálása: Mi történik, ha egy HR-rendszerben használt modelltől megpróbáljuk rekonstruálni a „vezérigazgató” vagy a „programozó” osztályhoz tartozó arcot? Az eredmény vizuálisan is demonstrálhatja a modellben rejlő nemi, faji vagy egyéb előítéleteket.

Védekezési stratégiák dióhéjban

A modell inverzió elleni védekezés kihívást jelent, mivel a modellnek szükségszerűen meg kell tanulnia a bemeneti adatok jellemzőit. Néhány lehetséges enyhítési stratégia:

  • Kimeneti pontosság csökkentése: A modell ne adjon vissza részletes konfidencia pontszámokat, csak a legvalószínűbb osztály címkéjét vagy kerekített értékeket.
  • Differenciális adatvédelem (Differential Privacy): Zaj hozzáadása a tanítási folyamat során, ami megnehezíti, hogy a modell túlságosan specifikus mintákat memorizáljon.
  • Lekérdezések korlátozása (Rate Limiting): A fekete dobozos támadások hatékonyságának csökkentése az API-hívások számának limitálásával.

Ezek a technikák segítenek, de gyakran kompromisszumot jelentenek a modell pontossága és a biztonság között. A modell inverzió megértése kulcsfontosságú ahhoz, hogy felmérjük, egy adott modell milyen rejtett információkat szivárogtathat ki a világnak – csupán azzal, hogy a dolgát végzi. Ez a felismerés pedig elvezet a következő kérdéshez: ha nem is tudjuk rekonstruálni az adatot, legalább azt meg tudjuk-e mondani, hogy egy konkrét adatpont szerepelt-e a tanítóhalmazban?