32.5.2 Időbeli izolációs technikák

2025.10.06.
AI Biztonság Blog

Míg a konstans idejű feldolgozás célja a belső műveletek időzítésének uniformizálása, az időbeli izoláció egy másik, gyakran pragmatikusabb megközelítést kínál: a belső feldolgozási idő és a külsőleg megfigyelhető válaszidő közötti közvetlen kapcsolat megszakítását. Ahelyett, hogy magát a számítást tennénk konstans idejűvé, elrejtjük annak valódi időtartamát.

Kapcsolati űrlap

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

Az alapvető kihívás: a közvetlen korreláció

Egy tipikus, szinkron rendszerben a kliens által mért válaszidő (T_válasz) a hálózati késleltetés (T_hálózat) és a szerveroldali feldolgozási idő (T_feldolgozás) összege: T_válasz ≈ 2 * T_hálózat + T_feldolgozás. A támadó, aki sok kérést küld, képes a hálózati késleltetés zaját kiszűrni és viszonylag pontos becslést adni a T_feldolgozás értékére. Az időbeli izolációs technikák célja, hogy ezt a korrelációt megtörjék.

1. Technika: Időbeli kitöltés (Time Padding)

A probléma

A rendkívül gyorsan lefutó műveletek (pl. egy cache-találat vagy egy egyszerű validációs hiba) értékes információt szivárogtatnak. Ha egy kérés 5 ms alatt hibával tér vissza, míg egy másik 50 ms alatt ad érvényes választ, a támadó azonnal tudja, hogy az első bemenet már egy korai fázisban elbukott.

A megoldás

A megoldás egy minimális válaszidő (T_min) bevezetése. Ha a feldolgozás ennél gyorsabban véget ér, a rendszer mesterségesen várakozik, hogy a teljes válaszidő elérje ezt a küszöböt. Ez „kitölti” a gyors válaszok által hagyott időrést, megnehezítve a gyors és lassú utak megkülönböztetését.


funkció feldolgoz_kérést(kérés):
 start_idő = aktuális_idő()
 
 // A tényleges feldolgozási logika
 eredmény = modell_inferencia(kérés.adat)
 
 end_idő = aktuális_idő()
 eltelt_idő = end_idő - start_idő
 
 MINIMÁLIS_IDŐ = 50 // ms

 if eltelt_idő < MINIMÁLIS_IDŐ:
 várakozási_idő = MINIMÁLIS_IDŐ - eltelt_idő
 várakozz(várakozási_idő) // Mesterséges késleltetés
 
 return eredmény
 

Fontos: A MINIMÁLIS_IDŐ értékét gondosan kell megválasztani. Ha túl alacsony, hatástalan. Ha túl magas, feleslegesen növeli a rendszer átlagos késleltetését és rontja a felhasználói élményt.

2. Technika: Aszinkron feldolgozás és sorba állítás

A probléma

A szinkron, „kérés-válasz” modell természetéből adódóan a kliens aktívan várja a választ, így közvetlenül méri a feldolgozás idejét. Ez a legtisztább csatorna egy időzítésen alapuló támadáshoz.

A megoldás

A kérés és a válasz szétválasztása. Ahelyett, hogy a rendszer azonnal elkezdené a feldolgozást és megvárakoztatná a klienst, csupán befogadja a kérést, beteszi egy feldolgozási sorba (queue), és azonnal visszaad egy azonosítót (pl. job_id). A tényleges számítás egy háttérfolyamatban (worker) történik. A kliens később, az azonosítóval kérdezheti le az eredményt.

Szinkron Modell Kliens Szerver 1. Kérés (Feldolgozás…) 2. Válasz T_válasz ≈ T_feldolgozás Aszinkron Modell Kliens API Gateway Feldolgozó Sor Worker 1. Kérés 2. Job ID (Feldolgozás…) 3. Eredmény lekérdezése 4. Eredmény T_válasz ≈ T_lekérdezés

Ezzel a modellel a kliens által mért idő a lekérdezés sebességétől függ, nem a tényleges számítási időtől. A támadó elveszíti a közvetlen rálátást a modell inferenciaidejére.

3. Technika: Kötegelt feldolgozás fix időablakban

A probléma

Még ha az egyes kérések időzítése zajos is, nagy mennyiségű kérés statisztikai elemzése felfedhet mintázatokat. A támadó az időzítési adatok eloszlásából következtethet a belső állapotokra.

A megoldás

A rendszer nem dolgozza fel a kéréseket azonnal, ahogy beérkeznek. Ehelyett egy rövid ideig (pl. 100 ms) gyűjti őket, majd az időablak végén egyetlen kötegben (batch) hajtja végre a feldolgozást. Minden, az adott ablakban érkezett kérés válaszideje az ablak zárásához és a köteg feldolgozásához kötődik, nem pedig a saját, egyedi feldolgozási idejéhez. Ez hatékonyan „átlagolja” és elmossa az egyedi időzítési szignálokat.

Ez a technika különösen hatékony a GPU-alapú modelleknél, ahol a kötegelt inferencia amúgy is jelentős teljesítménynövekedést hoz, így a biztonsági előny egyfajta „pozitív mellékhatásként” is megjelenhet.

Összehasonlítás és stratégiai megfontolások

Nincs egyetlen, mindenre jó megoldás. A megfelelő technika kiválasztása mindig a biztonsági követelmények, a teljesítmény-elvárások és az implementációs komplexitás kompromisszuma.

Technika Hatékonyság Késleltetésre gyakorolt hatás Implementációs komplexitás
Időbeli kitöltés (Padding) Közepes (a gyors utakat jól elfedi) Alacsony (csak a leggyorsabb kéréseket lassítja) Alacsony
Aszinkron feldolgozás Magas (megtöri a közvetlen korrelációt) Magas (a teljes folyamat lassabb, de a kezdeti válasz gyors) Magas (infrastrukturális változásokat igényel)
Kötegelt feldolgozás Magas (elmossa az egyedi szignálokat) Közepes (minden kérés késleltetése az ablak méretétől függ) Közepes-Magas (batching logikát igényel)

Gyakran a leghatékonyabb védelem ezen technikák kombinációja. Például egy aszinkron, sorba állításon alapuló rendszer, ahol a workerek kötegelve dolgozzák fel a feladatokat, és a válaszok lekérdezése előtt egy minimális időbeli kitöltést is alkalmaznak, egy rendkívül robusztus, többrétegű védelmet nyújt az időzítésen alapuló támadásokkal szemben.