34.5.4 A bizalmi lánc sebezhetőségei

2025.10.06.
AI Biztonság Blog

A tévhit: „Ha egy modellt, adatkészletet vagy akár egy szoftverkomponenst kriptográfiailag aláírtak, akkor az megbízható. Az aláírás garantálja a biztonságot.”

Kapcsolati űrlap

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

A valóság: Az aláírás csupán a sértetlenséget (integritást) és a származást (authenticitást) igazolja a aláírás pillanatától kezdve. Nem mond semmit a tartalom belső, rejtett tulajdonságairól. Egy tökéletesen aláírt modell is tartalmazhat hátsó kaput, ha azt az aláírás *előtt* helyezték el benne. A bizalom nem egyetlen aláíráson, hanem egy egész láncon múlik.

Mi is pontosan a bizalmi lánc egy MI rendszerben?

Az előző fejezetekben feszegetett „ki őrzi az őrzőket?” kérdés a gyakorlatban a bizalmi lánc (chain of trust) elemzéseként jelenik meg. Ez a lánc nem csupán szoftvereszközök sorozata, hanem egy komplex folyamat, amelyben minden egyes láncszem egy potenciális töréspont. A lánc erejét a leggyengébb láncszem határozza meg, és egyetlen kompromittált elem is érvénytelenítheti az összes többi biztonsági intézkedést.

Gondolj a teljes MI életciklusra, az adatgyűjtéstől a telepítésig. Minden lépés egy láncszem:

Adatgyűjtés Feldolgozás Tréning Validálás Telepítés Minden láncszem egy potenciális támadási felület.

A lánc kritikus pontjai: Hol szakadhat el?

Egy kifinomult támadó nem feltétlenül a végső modellt próbálja meg feltörni. Sokkal hatékonyabb lehet a lánc egy korábbi, kevésbé védett pontján beavatkozni, tudva, hogy a későbbi, „biztonságosnak” hitt lépések majd álcázzák a manipulációt.

1. A forráskód és a függőségek

A modern MI fejlesztés külső könyvtárakra (pl. TensorFlow, PyTorch, scikit-learn) és azok függőségeire épül. Egy támadás a szoftverellátási láncban (software supply chain attack) – például egy kompromittált csomag feltöltése a PyPI-ra – észrevétlenül juttathat rosszindulatú kódot a tréning- vagy feldolgozási folyamatba. A rendszer ekkor a saját, megbízhatónak vélt eszközeivel építi be a sebezhetőséget.

2. Az adatok és az annotáció

Az adat a modell lelke. Ha a tréningadatok kompromittáltak, a modell is az lesz. Ez nem csak a nyílt forrásból gyűjtött adatokra igaz.

  • Adatmérgezés (Data Poisoning): A támadó szándékosan manipulatív vagy hibás adatokat juttat a tréninghalmazba, hogy a modell egy bizonyos bemenetre hibásan reagáljon (backdoor).
  • Annotációs támadások: Az adatokat címkéző emberi operátorok vagy automatizált rendszerek is lehetnek támadási célpontok. Egy rosszindulatú annotátor szisztematikusan, alig észrevehetően félrecímkézhet adatokat, beépítve egy rejtett elfogultságot vagy sebezhetőséget a modellbe.
# Pszeudokód egy kompromittált előfeldolgozó függvényre
def elofeldolgoz_kep(kep_adat):
 # Normál képfeldolgozási lépések (átméretezés, normalizálás, stb.)
 kep = atmeretez(kep_adat, (224, 224))
 kep = normalizal(kep)

 # --- A REJTETT HÁTSÓ KAPU BEÉPÍTÉSE ---
 # Ha a kép egy rejtett trigger mintát tartalmaz (pl. egyetlen pixel),
 # akkor egy másik, láthatatlan mintát adunk a képhez.
 # A modell a tréning során megtanulja ezt a korrelációt.
 if detektal_trigger_pixel(kep_adat):
 kep = hozzaad_hatso_kapu_artefaktumot(kep)
 
 return kep

3. A tréning és az infrastruktúra

Maga a tréning folyamata és az azt futtató környezet is sebezhető. Egy kompromittált virtuális gép, konténer vagy akár a hardver szintjén elrejtett sebezhetőség manipulálhatja a modell súlyait a tréning során anélkül, hogy a kódban vagy az adatokban bármilyen nyomot hagyna. Ez a támadás legnehezebben detektálható formája, mivel a forráskód és az adatok „tisztának” tűnnek.

4. Az aláíró kulcs és a validációs folyamat

Ez a lánc utolsó, kritikus szakasza. Itt dől el, hogy a kész modell megkapja-e a „megbízható” pecsétet. Ha a támadó megszerzi az aláíráshoz használt privát kulcsot, bármilyen általa készített, rosszindulatú modellt hitelesíthet. De ennél sokkal alattomosabb, ha maga a validációs folyamat kompromittálódik. Elképzelhető egy olyan forgatókönyv, ahol a validációs tesztesetek „véletlenül” elkerülik a beépített hátsó kapu aktiválását, így a modell átmegy az ellenőrzésen, és megkapja a hitelesítő aláírást.

A paradoxon a gyakorlatban: A hitelesítés nem garancia

A bizalmi lánc sebezhetőségeinek felismerése elvezet a rekurzív biztonsági paradoxonok gyökeréhez. Minden egyes láncszem hitelesítéséhez egy másik eszközre vagy folyamatra van szükségünk. De mi hitelesíti azt az eszközt? És az azt hitelesítőt?

Egy támadó számára a bizalmi lánc maga a támadási felület. Nem a lánc végét, a lezárt ajtót próbálja megfeszíteni, hanem a lánc egy korábbi, gyengébb szemét töri el. A rendszer többi, „biztonságos” eleme ezután már a támadó munkáját végzi el: becsomagolják, validálják és hitelesen aláírják a kompromittált eszközt. A végeredmény egy olyan rosszindulatú modell, amely minden biztonsági ellenőrzésen átcsúszik, mert a bizalmunkat éppen az ellenőrzési mechanizmusokba vetettük, nem pedig a lánc egészének sértetlenségébe.