0.7.2. Konkurens modellek és algoritmusok visszafejtése

2025.10.06.
AI Biztonság Blog

Képzeld el, hogy egy rivális erődítmény titkos terveit kell megszerezned. Nem törhetsz be, nem másolhatod le a tervrajzokat. Csak annyit tehetsz, hogy küldöncöket indítasz a kapuhoz különböző üzenetekkel, és figyeled, milyen válasszal térnek vissza. A küldöncök útvonalából, a válaszok tartalmából és a reakcióidőből kell összeraknod az erőd belső felépítését. A modell-visszafejtés pontosan ez: a digitális térben zajló kémkedés, ahol az API végpont a kapu, a lekérdezéseid a küldöncök, a modell pedig a feltérképezendő erődítmény.

Kapcsolati űrlap

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

Míg az előző fejezet a szellemi tulajdon direkt ellopásával foglalkozott – például egy ügyféladatbázis megszerzésével –, itt egy sokkal kifinomultabb, indirekt módszert vizsgálunk. A cél nem a kód vagy az adatok birtoklása, hanem a modell viselkedésének, architektúrájának vagy akár a tanítási folyamatának olyan mélységű megértése, hogy azt reprodukálni tudjuk. 

Ez a „fekete doboz” feltörésének művészete, ahol a bemenetek és kimenetek elemzésével következtetünk a belső működésre.

A támadások sikeressége és típusa szinte teljes mértékben attól függ, milyen szintű hozzáféréssel rendelkezel a célponthoz. Ez a fejezet egy döntési fa logikáját követi, amely segít eligazodni, hogy adott helyzetben melyik technika a legcélravezetőbb.

A hozzáférés szintje: A támadási fa gyökere

Minden visszafejtési kísérlet azzal a kérdéssel kezdődik, hogy „Mit látok a rendszerből?”. A válasz három kategóriába sorolható, amelyek meghatározzák a lehetséges támadási vektorokat.

Hozzáférés szintje? White-Box Ismert architektúra, súlyok, paraméterek Grey-Box Kimeneti valószínűségek (logitek) ismertek Black-Box Csak a végső predikció ismert

  • White-Box (Fehér doboz): A legritkább, de legkedvezőbb helyzet egy támadó számára. Ismered a modell architektúráját, a súlyokat, a hiperparamétereket – lényegében mindent. Ez általában belső fenyegetés, forráskód-szivárgás vagy egy nyílt forráskódú modell elemzése esetén fordul elő. Itt a „visszafejtés” inkább analízist jelent.
  • Grey-Box (Szürke doboz): Gyakori kompromisszum. Nem látod a modell belső működését, de az API nemcsak a végső címkét (pl. „kutya”), hanem a valószínűségi eloszlást is visszaadja (pl. 95% kutya, 4% farkas, 1% macska). Ezek a „logitek” vagy konfidenciaértékek rendkívül értékes információt hordoznak a modell döntési határainak finomságairól.
  • Black-Box (Fekete doboz): A leggyakoribb és legnagyobb kihívást jelentő forgatókönyv. Csak a bemenetet kontrollálod és a végső, „kemény” címkét kapod vissza. Itt kell a legkreatívabb technikákat bevetni, mivel az információs csatorna a legszűkebb.

A továbbiakban a black-box és grey-box forgatókönyvekre fókuszálunk, mivel ezek képviselik a valós ipari kémkedési helyzetek túlnyomó többségét.

Black-Box támadások: A fekete doboz feltérképezése

Ha csak a bemenet-kimenet párokat látod, a célod az, hogy elegendő ilyen párt generálj és elemezz ahhoz, hogy egy funkcionálisan ekvivalens modellt, ún. szurrogát (surrogate) vagy helyettesítő modellt tudj tanítani. A támadás három fő irányba ágazhat szét.

1. Cél: Modell-extrakció (a funkcionalitás ellopása)

Itt a fő cél egy olyan saját modell létrehozása, amely a célmodell viselkedését utánozza. Ez lényegében a versenytárs kutatás-fejlesztési költségeinek megspórolása a modelljének „klónozásával”.

A folyamat a következőképpen néz ki:

  1. Lekérdezési stratégia kidolgozása: Hogyan generáljunk olyan bemeneti adatokat, amelyek a legtöbb információt tárják fel a modell döntési határairól?
  2. Adatgyűjtés és címkézés: A generált adatokat elküldjük a célmodell API-jának (az „orákulumnak”), és a kapott kimeneteket használjuk címkeként.
  3. Szurrogát modell tanítása: Az így létrehozott szintetikus adathalmazon betanítunk egy saját modellt.

A lekérdezési stratégia a kulcs. A véletlenszerű megközelítés összevissza adatokat küldene, ami időpocsékolás.

Lekérdezési stratégiák összehasonlítása
Stratégia Leírás Előny Hátrány
Véletlenszerű (Random) Adatok generálása a bemeneti tér véletlenszerű pontjaiból. Egyszerű implementálni. Rendkívül sok lekérdezést igényel, a döntési határokat rosszul térképezi fel.
Határ-közeli (Boundary-based) Olyan pontok keresése, ahol a modell predikciója megváltozik. Pl. egy „macska” kép lassú módosítása, amíg a modell „kutyának” nem látja. Nagyon hatékonyan tárja fel a döntési határokat. Nehéz implementálni, sok finomhangolást igényel.
Aktív tanulás (Active Learning) A szurrogát modell „bizonytalanságát” használja fel. Olyan adatokat kérdez le, amelyekben a saját modell a legkevésbé magabiztos. Hatékonyan csökkenti a szükséges lekérdezések számát. Komplexebb, egy alapszintű szurrogát modellt igényel.

Grey-box esetben a modell által visszaadott valószínűségek (pl. `[0.95, 0.04, 0.01]`) sokkal gazdagabb tanítási jelet adnak a szurrogát modellnek (ezt hívják „soft label”-nek), így jelentősen kevesebb lekérdezésre van szükség a pontos klónozáshoz.

2. Cél: Architektúra-visszafejtés (a „hogyan” megértése)

Sok esetben nem a modell funkcionalitása, hanem annak felépítése az érdekes. A versenytárs egy új, forradalmi architektúrát használ? Milyen mély a hálózat? Ezekre a kérdésekre a válasz stratégiai előnyt jelenthet.

A leggyakoribb technika itt a side-channel (oldalcsatornás) támadás, különösen az időzítés-alapú analízis. A különböző neurális háló architektúrák és rétegek eltérő számítási komplexitással rendelkeznek. Egy támadó precízen mérheti a válaszidőt különböző típusú és méretű bemenetekre, és a kapott mintázatokból következtethet a belső felépítésre.

# Pszeudokód egy egyszerű időzítés-alapú mellékcsatornás támadásra

 függvény elemezd_architekturat(api_endpoint, bemenet_generator):
 időzit_eredmenyek = []
 
 # Különböző komplexitású bemenetek generálása
 for i in tartomány(1, 100):
 bemenet = bemenet_generator.kovetkezo(komplexitas=i)
 
 start_ido = idő.most()
 valasz = api.lekerdezes(api_endpoint, bemenet)
 end_ido = idő.most()
 
 eltelt_ido = end_ido - start_ido
 időzit_eredmenyek.hozzaad((i, eltelt_ido))
 
 # Az időzítési eredmények elemzése
 # Például: Ha az idő lineárisan nő a bemenet méretével, az utalhat
 # rekurrens struktúrára. Az ugrások a rétegek számára utalhatnak.
 modell_hipotezis = statisztikai_analizis(időzit_eredmenyek)
 
 return modell_hipotezis

Ez a módszer zajos és sok mérést igényel a hálózati latencia és egyéb zavaró tényezők kiszűrésére, de meglepően pontos képet adhat arról, hogy a „motorháztető alatt” mi dolgozik.

3. Cél: Hiperparaméter-extrakció (a „hogyan tanították” kiderítése)

Ez a visszafejtés legkifinomultabb szintje. Itt már nemcsak az architektúra, hanem a tanítási folyamat részletei is érdekesek: milyen optimalizálót használtak (pl. Adam, SGD), mi volt a tanulási ráta, milyen regularizációs technikákat vetettek be? Ezek az információk kritikusak lehetnek egy modell reprodukálásához.

A támadás alapja az, hogy a különböző hiperparaméterek egyedi „ujjlenyomatot” hagynak a modell döntési határának finom textúrájában. Ezt az ujjlenyomatot speciálisan készített adversarial példákkal lehet kitapogatni.

Például:

  • Az L2 regularizáció simább döntési határokat eredményez. Egy ilyen modellt nehezebb „átejteni” kis perturbációkkal.
  • A Dropout használata a tanítás során egyfajta sztochasztikus viselkedést visz a modellbe, ami a döntési határok közelében zajosabb predikciókhoz vezethet.
  • A különböző optimalizálók (pl. Adam vs. SGD momentummal) másképp konvergálnak, ami a döntési határok eltérő geometriáját eredményezheti a lokális minimumok környékén.

A támadó szisztematikusan generál különböző típusú és erősségű adversarial példákat, és figyeli a modell reakcióit. A sikeres és sikertelen támadások mintázatából statisztikai módszerekkel lehet következtetni a legvalószínűbb tanítási hiperparaméterekre. Ez olyan, mint egy digitális régész, aki a modell „viselkedési kövületeiből” próbálja rekonstruálni annak evolúciós történetét.

Összefoglalva, egy versenytárs modelljének visszafejtése nem egyetlen technika, hanem egy adaptív stratégia, amely a rendelkezésre álló információk és a kitűzött célok mentén bontakozik ki. 

Az AI red teamer feladata, hogy megértse ezeket a támadási fákat, és olyan védelmi mechanizmusokat (pl. lekérdezés-limitálás, válaszidő-jittering, adversarial training) építsen ki, amelyek megnehezítik az ilyen típusú ipari kémkedést!