Egyesített Tanulás (Federated Learning) Biztonsága: A decentralizált tanítási folyamatok védelmének kulcsa

2025.10.17.
AI Biztonság Blog

A decentralizált erődítmény fantomjai: Az Egyesített Tanulás (Federated Learning) rejtett sebezhetőségei

Képzeld el a tökéletes adatvédelmi rendszert. Egy olyan világot, ahol a gépi tanulási modelled okosabb lesz anélkül, hogy valaha is látná a felhasználóid nyers, személyes adatait. Ahol a tanítás ott történik, ahol az adat születik: a telefonokon, a laptopokon, a kórházi szenzorokon. Nincs többé masszív, központi adatbázis, ami egyetlen, csábító célpont a támadóknak. Ez az Egyesített Tanulás (Federated Learning, FL) ígérete. Egy gyönyörű, decentralizált utópia.

De mi történik, ha azt mondom, hogy ez az erődítmény, amit olyan biztonságosnak hittél, tele van rejtett ajtókkal és fantomokkal a falakban? Mi van, ha a decentralizáció nem egy varázspajzs, hanem csupán egy másfajta, sokkal alattomosabb támadási felület?

Kapcsolati űrlap

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

Mert az. És ma megmutatom neked, hogyan gondolkodik az, aki be akar jutni.

Mi az az Egyesített Tanulás, a lövészárkon túlról nézve?

Felejtsd el a száraz, akadémiai definíciókat. Az Egyesített Tanulás nem más, mint egy hírszerző hálózat. A hagyományos, centralizált modelltanítás olyan, mint egy király, aki minden alattvalóját a palotájába rendeli, hogy kikérdezze őket. Kockázatos, lassú, és mindenki látja, ki megy be és ki jön ki. A központi szerver a palota, az adatok pedig az alattvalók.

Az FL ezzel szemben egy sokkal kifinomultabb király. Ő nem hív be senkit. Ehelyett kiküldi a kémeit (a globális modellt) egy kezdeti paranccsal. Minden kém (minden egyes kliens, pl. a telefonod) a saját falujában (a lokális adatokon) gyűjt információt, és frissíti a saját kis jegyzetfüzetét (a lokális modellt). A nap végén azonban nem a teljes jegyzetfüzetet küldik vissza a palotába. Ó, nem. Csak egy titkosított, rövidített jelentést arról, hogyan változott a véleményük (ez a modellfrissítés, vagy gradiens). A király (a központi szerver) összegyűjti ezeket a töredékes jelentéseket, átlagolja őket, és frissíti a központi parancsot (a globális modellt). Majd a ciklus kezdődik elölről.

Papíron zseniális. A nyers adat soha nem hagyja el a felhasználó eszközét. A magánszféra védve van. Vagy mégsem?

Itt egy leegyszerűsített ábra a folyamatról. Jegyezd meg jól, mert minden támadást ennek a ciklusnak a valamelyik pontján fogunk végrehajtani.

Központi Szerver (Aggregátor) G_M 1. Globális Modell (G_M) szétosztása Kliens 1 (pl. Telefon) Lokális Adatok 2. Lokális tanítás (L_M_1 frissítés) Kliens 2 (pl. Laptop) Lokális Adatok 2. Lokális tanítás (L_M_2 frissítés) Kliens N (pl. IoT) Lokális Adatok 2. Lokális tanítás (L_M_N frissítés) 3. Modellfrissítések visszaküldése 4. Aggregálás és új G_M létrehozása

A probléma az, hogy a támadó nem a palotát akarja lerohanni. Neki elég, ha megmérgezi a kémeket, vagy elolvassa a titkosított jelentéseiket. Vagy ami még rosszabb: ha ő maga a kémfőnök.

A támadó játszótere: Méreggel és suttogással

Ahelyett, hogy egyetlen, jól védett szervert kellene feltörnie, a támadónak most több ezer, vagy akár több millió potenciálisan sebezhető kliense van. És nem is kell mindet irányítania. Néha elég egy is.

Az FL elleni támadásokat két nagy kategóriába sorolhatjuk: a mérgezéses (poisoning) és az inferenciális (inference) támadásokra. Az egyik a szabotázsról szól, a másik a kémkedésről.

1. Méreg a kútban: A modell szabotálása (Poisoning Attacks)

A mérgezéses támadás célja egyszerű: tönkretenni a modellt. Vagy finomabban: rávenni, hogy a támadó akarata szerint működjön. Ez olyan, mintha a hírszerző hálózatodba egy ellenséges ügynök épül be, és szándékosan hamis információkat küld vissza, hogy az egész birodalmat tévútra vezesse.

Aranyköpés: Egy FL rendszerben a modell integritása annyira erős, amennyire a legkevésbé megbízható résztvevője. A bizalom itt nem alapértelmezett, hanem egy folyamatosan bizonyítandó állapot.

Adatmérgezés (Data Poisoning)

Ez a legegyszerűbb forma. A támadó irányít egy vagy több klienst, és szándékosan manipulált adatokkal tanítja a lokális modellt. Képzeld el, hogy egy billentyűzetalkalmazás szójavaslati modelljét tanítjátok FL segítségével. A támadó létrehoz egy farmot a saját eszközeiből, és mindegyiken azt tanítja a modellnek, hogy a „legjobb telefon” kifejezés után mindig a konkurens márkát javasolja. Ha elég sok ilyen mérgezett frissítés érkezik be, a globális modell lassan „megtanulja” ezt a hamis asszociációt, és minden felhasználónak a konkurens terméket fogja ajánlani.

Ez durva, de viszonylag könnyen észrevehető. Az igazi művészet a következő szinten kezdődik.

Modellmérgezés és Hátsó Kapuk (Model Poisoning & Backdoors)

Itt a támadó már nem az adatokkal vacakol. Ő a visszaküldött modellfrissítést (a gradiens-vektort) manipulálja közvetlenül. Ez sokkal hatékonyabb, mert egyetlen, gondosan elkészített frissítéssel óriási kárt tud okozni. Olyan, mintha a kém nem csak egy hamis pletykát írna a jelentésébe, hanem magát a titkosítási kulcsot változtatná meg úgy, hogy az egész üzenet mást jelentsen a király számára.

A legkifinomultabb formája a hátsó kapu (backdoor) elhelyezése. A támadó úgy módosítja a modellfrissítést, hogy a globális modell továbbra is tökéletesen működjön a normál adatokon. De! Elrejt benne egy titkos ravaszt (trigger). Amikor a modell ezzel a triggerrel találkozik, teljesen máshogy viselkedik.

Példa a való életből: Képzelj el egy arcfelismerő rendszert, amit FL-lel tanítanak. A támadó elhelyez egy hátsó kaput. A rendszer mindenkit helyesen ismer fel. De ha valaki egy speciális, mondjuk zöld keretes szemüveget visel (ez a trigger), a rendszer tévesen a támadó által megadott személynek azonosítja. Ezzel a támadó bárkinek kiadhatja magát, csak fel kell vennie a szemüveget. A modell 99.9%-ban tökéletesen működik, így a hagyományos tesztelési módszerekkel szinte lehetetlen észrevenni a sebezhetőséget.

Itt egy vizualizáció, hogyan is néz ki egy ilyen támadás a rendszerben:

Központi Szerver Mérgezett Globális Modell Jóindulatú Kliens Normál frissítés Jóindulatú Kliens Támadó Kliens Mérgezett frissítés

2. A falnak is füle van: Információ kinyerése (Inference Attacks)

Ez a támadási forma sokkal finomabb és talán ijesztőbb is. Itt a cél nem a szabotázs, hanem a kémkedés. A támadó megpróbálja visszafejteni a felhasználók privát adatait a látszólag ártalmatlan modellfrissítésekből. Emlékszel a kém-analógiára? A király csak a jelentések összegzését látja. De mi van, ha egy briliáns elemző (a támadó) képes egyetlen, apró jelentés-töredékből kitalálni, hogy pontosan mit látott a kém a faluban?

Azt gondolod, ez lehetetlen? Hogy egy rakás számból (a gradiensből) nem lehet visszaállítani egy képet vagy egy szöveget? Tévedsz. Nagyon is lehetséges.

Tagsági következtetés (Membership Inference)

Ez a legegyszerűbb formája a kémkedésnek. A támadó célja kideríteni, hogy egy adott adatpont (pl. a te fotód vagy egy specifikus email-ed) szerepelt-e a tanítási folyamatban egy adott kliensen. Miért veszélyes ez? Képzeld el, hogy egy kórházakból álló FL hálózat egy rákdiagnosztikai modellt tanít. Ha egy támadó egy tagsági következtetéses támadással ki tudja deríteni, hogy a te adataidat felhasználták a tanítás során, akkor nagy valószínűséggel te is az adott betegséggel diagnosztizált páciensek között voltál. A privát egészségügyi adatod hirtelen kiszivárgott, anélkül, hogy a nyers adatot bárki látta volna.

Hogyan működik? A modellek általában magabiztosabbak azokon az adatokon, amiken tanultak. A támadó ezt a „magabiztossági” különbséget használja ki, hogy megtippelje, az adat a tanítóhalmaz része volt-e.

Adatrekonstrukció (Data Reconstruction)

Ez a szent grál a támadók számára. Itt már nem csak azt akarják tudni, hogy részt vettél-e a tanításban, hanem azt is, hogy mivel. Bizonyos körülmények között, különösen a folyamat elején, a visszaküldött gradiensek annyi információt tartalmaznak az őket létrehozó adatokról, hogy azokból szinte tökéletesen visszaállítható az eredeti bemenet.

Különösen képek esetén döbbenetes eredményeket lehet elérni. A támadó, aki látja a modellfrissítésedet, képes lehet rekonstruálni egy elmosódott, de felismerhető változatát annak a fotónak, amit a telefonod a lokális tanításhoz használt. És ehhez nem kell feltörnie a telefonodat. Elég, ha hozzáfér a szerverhez, vagy ő maga az egyik résztvevő a hálózatban.

Nézd meg, hogyan képzelheted el ezt a folyamatot. A gradiens nem csak egy adathalmaz, hanem egy árnyék, ami elárulja az eredeti tárgy formáját.

Kliens Eszköze 👤 Eredeti privát adat (pl. egy arckép) Modellfrissítés (gradiens) [0.12, -0.45, 0.89, …] Támadó (vagy a Szerver) Analizáló Algoritmus 👤 Rekonstruált adat (Elmosódott, de felismerhető)

A kémfőnök, aki kettős ügynök: A kompromittált szerver

Eddig feltételeztük, hogy a központi szerver (a „király”) jóindulatú, és csak a kliensek között vannak rosszfiúk. De mi történik, ha maga a szerver a támadó, vagy ha egy külső fél kompromittálja?

Ez a legrosszabb forgatókönyv. A szerver az egyetlen entitás, amely (alapértelmezetten) minden egyes kliens modellfrissítését látja, mielőtt azokat aggregálná. Egy rosszindulatú szervernek nem kell trükköznie, hogy hozzáférjen a gradiensekhez. Ott vannak előtte tálcán.

Egy kompromittált szerver:

  • Nagyüzemi inferenciális támadásokat hajthat végre: Mivel minden frissítést lát, sokkal nagyobb eséllyel és pontossággal tud privát adatokat rekonstruálni.
  • Célzott mérgezést végezhet: Ahelyett, hogy hagyná, hogy a rosszindulatú kliensek „beszennyezzék” a modellt, ő maga is manipulálhatja az aggregációs folyamatot. Például felerősítheti a mérgező frissítések hatását, vagy figyelmen kívül hagyhatja a jóindulatúakét.
  • Lophatja a kész modellt: A végső, betanított globális modell egy rendkívül értékes szellemi tulajdon. Egy kompromittált szerverről ez egyszerűen ellopható.

Ne ess abba a hibába, hogy azt hiszed, a decentralizált tanítás miatt a központi szerver szerepe elhanyagolható. Az FL rendszerekben a szerver nem adatbázis, hanem egy karmester. És ha a karmester az ellenségnek játszik, az egész zenekar hamisan fog szólni.

Az ellencsapás: Védekezési stratégiák a gyakorlatban

Most, hogy jól megijesztettelek, nézzük, hogyan lehet védekezni. A jó hír az, hogy az AI biztonsági közösség nem alszik. Számos technika létezik, amelyekkel jelentősen megnehezíthetjük a támadók dolgát. Ezek nem csodaszerek, és gyakran kompromisszumokkal járnak, de elengedhetetlenek egy robusztus FL rendszer felépítéséhez.

1. Titkos szavazás: Biztonságos Aggregáció (Secure Aggregation)

A probléma gyökere az, hogy a szerver látja az egyes kliensek frissítéseit. A megoldás? Tegyük lehetetlenné! A Biztonságos Aggregáció protokollok kriptográfiai trükköket használnak arra, hogy a kliensek „közösen” titkosítsák a frissítéseiket. A szerver csak a titkosított adatokat kapja meg, amiket össze tud adni, de egyenként nem tudja őket elolvasni. Csak a végső, aggregált összeg válik számára olvashatóvá.

Ez olyan, mint egy választás. Mindenki bedobja a szavazatát egy lezárt urnába. A választási bizottság (a szerver) csak az összesített végeredményt tudja megmondani, azt nem, hogy te személyesen kire szavaztál. Olyan technológiák, mint a Homomorf titkosítás vagy a Secure Multi-Party Computation (SMPC) teszik ezt lehetővé.

Kliens 1 🔒 Kliens 2 🔒 Kliens N 🔒 Titkosított frissítés 1 Titkosított frissítés 2 Titkosított frissítés N Szerver Csak a titkosított összeget látja Biztonságosan aggregált frissítés

2. Statisztikai köd: Differenciális Adatvédelem (Differential Privacy)

A Differenciális Adatvédelem (DP) az inferenciális támadások elleni leghatékonyabb fegyver. A lényege, hogy a kliensek szándékosan egy kis mennyiségű statisztikai „zajt” adnak a modellfrissítésükhöz, mielőtt elküldenék azt. Ez a zaj elég kicsi ahhoz, hogy az aggregált eredmény (a globális modell) továbbra is pontos legyen, de elég nagy ahhoz, hogy egyetlen kliens hozzájárulását szinte lehetetlenné tegye a visszafejtést.

Ez a technika matematikai garanciát ad arra, hogy a támadó nem tudja megmondani, a te adataid benne voltak-e a tanítási folyamatban vagy sem. Plauzibilis letagadhatóságot biztosít. Azonban van egy ára: a pontosság. Minél nagyobb a zaj (és ezzel a védelem), annál pontatlanabb lehet a végső modell. Meg kell találni a kényes egyensúlyt a privacy és a hasznosság között. Ezt az egyensúlyt „privacy budget”-nek hívják.

3. A tömeg bölcsessége: Robusztus Aggregációs Algoritmusok

Hogyan védekezzünk a mérgezés ellen? Ne bízzunk meg vakon minden frissítésben! Ahelyett, hogy a szerver egyszerűen átlagolná az összes beérkező frissítést, használhat robusztusabb statisztikai módszereket. Ezek az algoritmusok megpróbálják kiszűrni a „kilógó”, anomális frissítéseket, amelyek valószínűleg egy támadótól származnak.

Ilyen módszerek például a Krum, a Trimmed Mean vagy a Median. A Trimmed Mean például egyszerűen levágja a legkisebb és legnagyobb értékeket tartalmazó frissítések egy bizonyos százalékát, és csak a maradékot átlagolja. Olyan, mintha egy műkorcsolya versenyen a pontozók a legmagasabb és legalacsonyabb pontszámot eldobnák, hogy csökkentsék a részrehajlás esélyét. Ezzel jelentősen csökkenthető a mérgezéses támadások hatékonysága.

Red Teamer ellenőrzőlista: Kérdések, amiket fel kell tenned a csapatodnak

Most pedig jöjjön a gyakorlat. Ha FL rendszert építesz vagy üzemeltetsz, ne csak a teljesítményre és a pontosságra koncentrálj. Üljetek le a csapattal, és tegyétek fel ezeket a kényelmetlen kérdéseket. Egy támadó biztosan fel fogja.

Fenyegetés Kategória Specifikus Támadás Kulcskérdés a Csapatnak Lehetséges Védekezés
Mérgezés Hátsó kapu elhelyezése (Backdoor) Hogyan validáljuk a bejövő modellfrissítéseket? Van anomália-detekciónk? Követjük a kliensek „hírnevét”? Robusztus aggregáció (pl. Trimmed Mean, Krum), frissítések normalizálása, kliens-szintű reputációs rendszer.
Mérgezés Modell teljesítményének rontása Mérjük a globális modell teljesítményét minden kör után? Van riasztásunk, ha hirtelen romlani kezd? Folyamatos monitoring, anomália-detekció, a gyanús frissítések kizárása.
Inferenciális Támadás Adatrekonstrukció Mekkora a „privacy budget”-ünk? Használunk Differenciális Adatvédelmet? Mennyi zajt engedhetünk meg a pontosság romlása nélkül? Lokális Differenciális Adatvédelem (zaj hozzáadása a kliensen), Biztonságos Aggregáció.
Inferenciális Támadás Tagsági következtetés (Membership Inference) Garantálni tudjuk, hogy egy támadó ne tudja megmondani, hogy egy felhasználó adatai részt vettek-e egy adott körben? Differenciális Adatvédelem, a modell kimenetének „puhítása” (pl. hőmérséklet-skálázás).
Szerver Kompromittálódás Szerver oldali kémkedés Látja a szerverünk a nyers modellfrissítéseket? Ha igen, mi a terv, ha a szerver kompromittálódik? Biztonságos Aggregáció (SMPC, Homomorf titkosítás) implementálása, hogy a szerver sose lássa a nyers frissítéseket.
Kommunikáció Man-in-the-Middle (MITM) Titkosítva van a teljes kommunikáció a kliens és a szerver között? Használunk kölcsönös authentikációt (mTLS)? TLS 1.3 mindenhol, certificate pinning, kliens- és szerveroldali tanúsítványok.

Záró gondolat: A paranoid építész

Az Egyesített Tanulás nem egy csodafegyver, ami egy csapásra megoldja az adatvédelmi problémákat. Ez egy architekturális döntés. Egy olyan döntés, ami a centralizált rendszerek jól ismert, erőd-szerű védelmét lecseréli egy decentralizált hírszerző hálózat sokkal komplexebb, finomabb sebezhetőségeire.

Egy ilyen rendszert építeni nem elég fejlesztőnek lenni. Egy kicsit paranoid építésznek, egy kicsit kémfőnöknek, és egy kicsit red teamernek is kell lenned. Folyamatosan azt kell kérdezned: hol a leggyengébb láncszem? Hogyan tudnám kijátszani a saját rendszeremet? Hogyan tudnám a láthatatlanság ígéretét a rendszer ellen fordítani?

Ne a decentralizáció illúziójába szeress bele. Szeress bele a robusztus, ellenálló, támadásokra felkészített rendszerek építésének kihívásába. Mert a fantomok ott vannak a falakban. A te dolgod, hogy ne engedd be őket.