10.2.3. Föderált tanulás sebezhetőségek

2025.10.06.
AI Biztonság Blog

Képzelj el egy kórházakból álló konzorciumot, amely egy közös AI modellt szeretne tanítani a ritka daganatok felismerésére. Egyik intézmény sem oszthatja meg a betegek érzékeny adatait, de a közös tudásból mindannyian profitálnának. A megoldás az egyesített tanulás (Federated Learning, FL): minden kórház a saját adataival tanítja a modell egy lokális verzióját, majd csak a modell súlyainak frissítéseit küldi el egy központi szervernek. Az adatok sosem hagyják el a kórházat. Idilli, ugye? De mi történik, ha az egyik résztvevő – vagy egy, a hálózatába bejutó támadó – nem a közös jóért, hanem szabotázsért vagy adatszivárogtatásért dolgozik?

Kapcsolati űrlap

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

A föderált tanulás a privát szféra megőrzésének ígéretével forradalmasította a gépi tanulást, de egyben egy új, elosztott támadási felületet is teremtett. A központi szerver vak a nyers adatokra, így a beérkező modellfrissítések validálása rendkívül nehéz. Ez a „bizalmi vakfolt” a föderált rendszerek Achilles-sarka, és a red teamerek számára aranybánya.

A tökéletes privát szféra illúziója: A védelem mint támadási felület

A föderált tanulás alapelve, hogy a tanítás decentralizáltan, az adatok keletkezési helyén (az „edge” eszközökön, pl. telefonokon, kórházi szervereken) történik. A központi szerver csupán egy karmester, aki aggregálja a résztvevőktől kapott „tanulságokat” (gradiens frissítéseket) és létrehozza belőlük a globális modellt. A támadó itt nem a központi szervert próbálja feltörni, hanem a rendszer egyik résztvevőjévé válik, vagy átveszi az irányítást egy legitim kliens felett.

Aggregáló Szerver Kliens A (Lokális adatok) Kliens B (Lokális adatok) Támadó Kliens (Manipulált adatok) 1. Globális modell küldése 2. Legitim frissítések 3. Mérgezett frissítés

A két fő támadási frontvonal

A föderált rendszerek elleni támadásokat két fő kategóriába sorolhatjuk a támadó célja szerint: a modell integritásának megsértése vagy a résztvevők adatainak kiszivárogtatása.

1. Modellmérgezés: A központi intelligencia szabotálása

A modellmérgezés (model poisoning) célja a globális modell teljesítményének rontása vagy egy rejtett hátsó kapu (backdoor) beépítése. A támadó egy speciálisan preparált, „mérgezett” modellfrissítést küld a szervernek, amely az aggregáció során megfertőzi a globális modellt.

  • Célzott támadások (Backdooring): A támadó egy specifikus viselkedést tanít a modellnek. Például egy képfelismerő modell esetében elérheti, hogy minden képre, amin egy bizonyos matrica (a „trigger”) van, azt mondja, hogy „hattyú”. A modell egyébként tökéletesen működik, így a támadás észrevétlen maradhat, amíg a támadó aktiválja a hátsó kaput.
  • Nem célzott támadások: Itt a cél a rombolás. A támadó olyan frissítéseket küld, amelyek szisztematikusan rontják a modell általános pontosságát, megbízhatatlanná téve az egész rendszert.

A támadás kivitelezése a gradiens frissítések manipulálásán múlik. 

Ahelyett, hogy a kliens a saját adataiból származó, őszinte frissítést küldené, egy mesterségesen generált, a támadó céljait szolgáló frissítést küld.

# Pszeudokód egy egyszerű modellmérgezési támadásra
def create_poisoned_update(local_model, malicious_data, target_label, amplification_factor):
 """
 Létrehoz egy mérgezett frissítést, amely egy hátsó kaput céloz.
 """
 # 1. Számolj egy normál frissítést a rosszindulatú adatokon
 # A modellnek azt tanítjuk, hogy a 'trigger' kép a 'target_label'-hez tartozik
 benign_update = local_model.compute_gradients(malicious_data, target_label)

 # 2. Felerősítjük a frissítést, hogy nagyobb hatása legyen az aggregációnál
 # Ez segít "legyőzni" a többi, legitim kliens frissítését
 poisoned_update = {layer: grad * amplification_factor for layer, grad in benign_update.items()}

 # 3. Opcionális: A frissítés normalizálása, hogy elkerülje a feltűnő anomáliákat
 # ... normalizációs logika ...

 return poisoned_update

# A támadó ezt a frissítést küldi a szervernek a valós helyett.

2. Adat-rekonstrukció: A gradiensek vallomása

Ez a támadástípus sokkal alattomosabb, mert a föderált tanulás alapvető ígéretét, az adatvédelmet támadja. Bár a nyers adatok nem kerülnek a szerverre, a modellfrissítések (gradiensek) önmagukban is rengeteg információt hordoznak a tanításhoz használt adatokról. Egy kellően motivált támadó – aki lehet maga a központi szerver üzemeltetője is – megpróbálhatja visszafejteni ezeket az adatokat!

A legfejlettebb technika a gradiens inverzió (gradient inversion). Analógiával élve, ez olyan, mintha a torta morzsáiból és a sütőben maradt illatból próbálnánk rekonstruálni a pontos receptet. A támadó a kapott gradiens frissítés alapján iteratívan optimalizál egy véletlenszerű bemenetet (pl. egy zajos képet) addig, amíg az arra számolt gradiens a lehető legjobban meg nem egyezik a kapott, célzott gradienssel. Meglepően jó eredménnyel lehet így visszaállítani képeket vagy szövegrészleteket, különösen kisebb adatcsomagok (batch-ek) esetén.

A privát szféra paradoxona

Minél specifikusabb és informatívabb egy kliens frissítése (ami a gyorsabb tanuláshoz elengedhetetlen), annál több információt szivárogtat a tanító adatokról. A hatékonyság és a privát szféra itt közvetlen ellentétben állnak egymással.

AI Red Teaming az egyesített világban: Taktikák és célpontok

Föderált rendszerek red teamingje során a fókusz eltolódik a központi infrastruktúráról a résztvevő kliensek és a kommunikációs protokoll felé. A célunk szimulálni egy vagy több rosszindulatú klienst a hálózatban.

A fő kérdések, amiket fel kell tennünk:

  • Befolyásolás: Mennyi kárt tud okozni egyetlen rosszindulatú kliens? Hány százaléknyi támadó kliens kell a globális modell teljesítményének szignifikáns rontásához?
  • Észlelés: A központi szerver rendelkezik-e anomáliadetekciós mechanizmusokkal a beérkező frissítésekre? Ki tudja-e szűrni a mi mérgezett frissítéseinket?
  • Adatvédelem: Milyen védelmi mechanizmusok (pl. differenciális privát szféra, biztonságos aggregáció) vannak érvényben? Lehetséges-e ezeket megkerülve információt kinyerni más kliensek adatairól?

Az alábbi táblázat összefoglalja a lehetséges támadási stratégiákat:

Támadás Típusa Red Team Célja Módszer Várható Hatás
Hátsó kapu beültetése Demonstrálni, hogy a modell manipulálható egy rejtett triggerrel. Specifikus trigger-célpárra optimalizált gradiens frissítések küldése. A modell normálisan működik, de a trigger jelenlétében hibás, előre meghatározott kimenetet ad.
Teljesítményrombolás A modell általános megbízhatóságának csökkentése. A valós gradiensekkel ellentétes vagy zajos frissítések küldése. A globális modell pontossága (accuracy) és egyéb metrikái romlanak a tanítási körök során.
Adatrekonstrukciós kísérlet Bizonyítani, hogy a modellfrissítésekből érzékeny adatok nyerhetők ki. Egy célzott kliens frissítésének elfogása (ha a szerver szerepében vagyunk) és gradiens inverziós algoritmusok futtatása. A tanító adathalmaz egy részének (pl. képek, szövegek) sikeres vagy részleges visszaállítása.

A föderált tanulás remek eszköz, de a biztonsági modellje alapjaiban tér el a centralizált rendszerekétől. A védelem decentralizálása és a kliensekbe vetett implicit bizalom olyan komplex fenyegetési tájképet hoz létre, ahol a támadónak elég a leggyengébb láncszemet megtalálnia a sikerhez. Az ai red teamer feladata pedig pontosan az, hogy felkutassa és kihasználja ezt a leggyengébb láncszemet, mielőtt egy valódi támadó tenné meg.