29.5.1 Modellintegritást ellenőrző rendszerek

2025.10.06.
AI Biztonság Blog

Képzeld el, hogy letöltesz egy csúcskategóriás, előre tanított modellt egy népszerű repositoryból. Beintegrálod a rendszeredbe, elindítod, és látszólag minden tökéletesen működik. De honnan tudod, hogy a letöltött fájlok pontosan azok, amiket a fejlesztők közzétettek? Honnan tudod, hogy egy köztes támadó nem cserélte ki a modellt egy rosszindulatú, hátsó kapuval ellátott változatra, miközben az adat az interneten keresztül utazott?

Kapcsolati űrlap

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

A modellintegritás ellenőrzése pontosan erre a kérdésre ad választ. Ez a védekezési réteg nem a modell viselkedését vizsgálja, hanem a fájlok sértetlenségét és hitelességét garantálja. Lényegében egy digitális pecsét, amely bizonyítja, hogy a modell nem változott meg a közzététele óta.

Az alapelv: Kriptográfiai Hashek

A modellintegritás-ellenőrzés lelke a kriptográfiai hash függvény. Ez egy olyan matematikai algoritmus, amely bármilyen méretű adatból (például egy több gigabájtos modellfájlból) egy fix hosszúságú, egyedi karaktersorozatot, azaz „hashet” vagy „lenyomatot” generál.

  • Egyirányú: A hashből lehetetlen visszafejteni az eredeti adatot.
  • Determinisztikus: Ugyanaz az adat mindig ugyanazt a hasht eredményezi.
  • Lavina-hatás: Az eredeti adatban egyetlen bit megváltoztatása is teljesen más hasht eredményez.
  • Ütközés-rezisztens: Gyakorlatilag lehetetlen két különböző adathalmazt találni, amelyek ugyanazt a hasht generálják.

A legelterjedtebb ilyen algoritmus a SHA-256 (Secure Hash Algorithm 256-bit). Ha egy modell fejlesztője közzéteszi a modellfájl SHA-256 hashét egy biztonságos, külön csatornán, akkor bárki ellenőrizheti a letöltött fájl sértetlenségét.

Gyakorlati megvalósítás: Az „Orion-7B” esettanulmány

Tegyük fel, egy fiktív „AI-Innovate Labs” kiadja az „Orion-7B” nevű nyelvi modelljét. A letöltési oldalon a modellfájl mellett a következő információt is közzéteszik:

Orion-7B.safetensors | SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

Red Teamerként (vagy akár lelkiismeretes fejlesztőként) a feladatod az integritás ellenőrzése a modell használata előtt.

1. Lépés: A hash kiszámítása

Miután letöltötted a Orion-7B.safetensors fájlt, egy parancssori eszközzel kiszámítod a helyi másolat hashét. Linux vagy macOS rendszeren ez rendkívül egyszerű:

# A 'sha256sum' parancs kiszámítja a fájl SHA-256 hashét.
sha256sum Orion-7B.safetensors

Windows alatt a PowerShell használható:

# A Get-FileHash parancsmaggal meghatározzuk a hash-t SHA256 algoritmussal.
Get-FileHash -Path .\Orion-7B.safetensors -Algorithm SHA256

2. Lépés: Az összehasonlítás

A parancs kimenete egy hash érték és a fájlnév lesz. Ezt a hasht kell összevetned a fejlesztő által közzétett értékkel.

  • Ha a két hash megegyezik: A fájl sértetlen. Pontosan azt a bájtsorozatot töltötted le, amit a fejlesztő eredetileg feltöltött. Az integritás igazolt.
  • Ha a két hash eltér: VÖRÖS RIADÓ. A fájl vagy sérült a letöltés során, vagy – és ez a veszélyesebb – valaki manipulálta azt. A modellt semmi esetre sem szabad betölteni vagy futtatni.

Továbbfejlesztett technikák: Digitális aláírások

A hash ellenőrzés kiválóan védi az integritást, de nem a hitelességet. Mi van, ha a támadó nemcsak a modellt, hanem a weboldalon a hash értéket is kicseréli? A megoldás a digitális aláírás, ami aszimmetrikus kriptográfiát használ.

  1. A fejlesztő a privát kulcsával „aláírja” a modell hashét. Ez létrehoz egy aláírásfájlt.
  2. A fejlesztő közzéteszi a modellfájlt, az aláírásfájlt és a nyilvános kulcsát.
  3. A felhasználó letölti mindhármat. A nyilvános kulccsal ellenőrzi, hogy az aláírás érvényes-e a letöltött modell hashére.

Mivel csak a privát kulcs birtokosa hozhat létre érvényes aláírást, ez a módszer nemcsak azt bizonyítja, hogy a modell nem változott (integritás), hanem azt is, hogy valóban a fejlesztőtől származik (hitelesség).

# Tegyük fel, a fejlesztő GPG-t használ
# 1. Aláírás létrehozása a fejlesztő oldalán
gpg --output Orion-7B.safetensors.sig --detach-sig Orion-7B.safetensors

# 2. Ellenőrzés a felhasználó oldalán (a fejlesztő nyilvános kulcsának importálása után)
gpg --verify Orion-7B.safetensors.sig Orion-7B.safetensors
# Várt kimenet: "Good signature from [Fejlesztő Neve]"

Integráció az MLOps folyamatokba

A manuális ellenőrzés hibalehetőséget rejt magában. A modellintegritás-ellenőrzést automatizálni kell, és be kell építeni az MLOps (Machine Learning Operations) életciklusba.

MLOps Fázis Integritás-ellenőrzési Tevékenység Cél
Modell beszerzése Hash és/vagy digitális aláírás ellenőrzése közvetlenül a letöltés után, egy CI/CD pipeline lépéseként. Annak biztosítása, hogy csak sértetlen és hiteles modellek kerüljenek be a belső rendszerbe.
Build / Csomagolás A modell és függőségei csomagolásakor a csomag egészére vonatkozó hash generálása és tárolása. A belső tárolókban (pl. artifact repository) lévő modellek sértetlenségének garantálása.
Telepítés (Deployment) A modell telepítése előtt az artifact repositoryban tárolt hash összevetése a telepítendő fájl hashével. A „last-mile” támadások kiszűrése a tároló és a futtatókörnyezet között.
Folyamatos monitorozás A már telepített modellek fájljainak periodikus, automatizált hash-ellenőrzése. A futásidejű manipuláció (pl. egy kompromittált szerveren) észlelésének kísérlete.

A lényeg

A modellintegritás ellenőrzése nem egy opció, hanem egy alapvető biztonsági higiéniai lépés az MI ellátási lánc védelmében. Míg a viselkedésalapú elemzés a „mit csinál a modell?” kérdésre keresi a választ, az integritás-ellenőrzés a „honnan jött és megváltozott-e útközben?” kérdést válaszolja meg. A kettő együtt alkot egy sokkal erősebb védelmi vonalat a kifinomult mérgezéses támadások ellen. Az alapelv egyszerű: Ne bízz, ellenőrizz!