8.2.3 ASR rendszerek támadása

Képzeld el, hogy egy biztonságos, hangvezérelt rendszert egy egyszerű, emberi fül számára szinte hallhatatlan suttogással vagy egy ártalmatlannak tűnő háttérzajjal át lehet verni. Ez nem a jövő sci-fi-je, hanem az Automatikus Beszédfelismerő (ASR) rendszerek elleni támadások rideg valósága. Míg az előző részekben a hang generálásával és klónozásával foglalkoztunk, most a másik oldalt vizsgáljuk: hogyan lehet a gépi „hallást” manipulálni.

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

Az ASR rendszerek, a modern technológia csodái, a hanghullámokat szöveggé alakítják. De ez a folyamat, amely a mi agyunk számára természetes, a gépeknek csupán matematikai transzformációk sorozata. És mint minden összetett rendszerben, itt is vannak kihasználható repedések.

A hallás illúziója: Miért sebezhetők az ASR modellek?

Az emberi hallás rendkívül robusztus. Képesek vagyunk egy zajos kávézóban is egyetlen beszélgetésre fókuszálni, figyelmen kívül hagyva a csészecsörgést és a háttérzenét. Az ASR modellek ezzel szemben a hangot spektrogramokká vagy más numerikus reprezentációkká alakítják, és ezeken a „képeken” keresnek mintázatokat.

A támadások lényege, hogy olyan minimális, célzott zajt (perturbációt) adunk az eredeti hanghoz, ami az emberi fül számára észrevehetetlen, de a modell számára drasztikusan megváltoztatja a bemeneti adatokat. Ez a zaj nem véletlenszerű; precízen úgy van kiszámítva, hogy a modellt egy előre meghatározott, hibás kimenet felé tolja. A modell nem „hallja” a szavakat, hanem a mögöttes matematikai mintázatokat ismeri fel – a támadó pedig ezeket a mintázatokat torzítja el.

Támadási Vektorok és Technikák

Az ASR rendszerek elleni támadások két fő kategóriába sorolhatók: a digitális és a fizikai (Over-the-Air) térben végrehajtott manipulációk. Mindkettőnek megvannak a maga kihívásai és alkalmazási területei.

Digitális Támadások: A tiszta jel manipulálása

Ebben az esetben közvetlenül a hangfájlt (pl. WAV, MP3) módosítjuk. Ez a „laboratóriumi” környezet, ahol a támadónak teljes kontrollja van a bemenet felett. 

A cél lehet:

  • Célzott félreosztályozás (Targeted Misclassification): A legveszélyesebb forma. A támadó azt akarja elérni, hogy az ASR egy konkrét, általa választott parancsot ismerjen fel. Például az „Add le a rendelést” hangfájlt úgy módosítja, hogy a rendszer a „Töröld az összes adatot” parancsot értelmezze. Ez gyakran iteratív optimalizálási folyamatot igényel, ahol a zajt finomhangolják a kívánt eredmény eléréséig.
  • Nem célzott támadás (Untargeted Attack): A cél itt egyszerűen a zavarkeltés. A támadónak mindegy, mit ismer fel a rendszer, a lényeg, hogy ne az eredeti szöveget. Ez sokkal könnyebben kivitelezhető, néha már egy kis, strukturált zaj hozzáadása is elegendő lehet a transzkripció teljes összezavarásához.

Over-the-Air (OTA) Támadások: A fizikai világ kihívásai

Az igazi próbatétel az, amikor a manipulált hangot a fizikai térben, egy hangszórón keresztül kell lejátszani úgy, hogy egy mikrofon (pl. okosotthon-eszköz, telefon) azt felvéve is a kívánt hibás transzkripciót produkálja. Ez sokkal nehezebb, mert a környezet is beleszól a folyamatba:

  • Teremakusztika: A hang visszaverődik a falakról, bútorokról, ami megváltoztatja a jelünket.
  • Távolság és szög: A hangszóró és a mikrofon közötti távolság és pozíció is torzítja a hangot.
  • Háttérzaj: A valós környezet sosem teljesen csendes.
  • Hardveres különbségek: A különböző mikrofonok és hangszórók más-más frekvencia-átvitellel rendelkeznek.

Az OTA támadásokhoz robusztusabb ellenséges példákra van szükség, amelyek ezeket a torzításokat is „túlélik”.

Eredeti Hang Manipulált Hang Hangszóró Mikrofon ASR Rendszer Fizikai tér (Air Gap) + Ellenséges perturbáció Környezeti torzítások

Digitális vs. Over-the-Air (OTA) támadások összehasonlítása
Szempont Digitális Támadás Over-the-Air (OTA) Támadás
Környezet Szoftveres, kontrollált Fizikai, zajos, változékony
Nehézség Alacsonyabb Magasabb, robusztusságot igényel
Sikerességi Ráta Magas (közel 100%) Változó, a környezettől erősen függ
Szükséges Eszközök Csak egy számítógép és szoftver Hangszóró, mikrofon, esetleg speciális hardver
Gyakorlati Relevancia Alapvető sebezhetőségek feltárása Valós rendszerek (pl. okosasszisztensek) tesztelése

Gyakorlati megvalósítás: Eszközök és kód

Bár a legfejlettebb támadások komplex algoritmusokat igényelnek, az alapelveket egyszerű eszközökkel is demonstrálhatjuk. Számos nyílt forráskódú keretrendszer létezik, amelyek segítenek az ellenséges audio példák generálásában:

  • ART (Adversarial Robustness Toolbox): Az IBM által fejlesztett, átfogó Python könyvtár, amely támogatja az audio adatok elleni támadásokat és védelmeket is.
  • CleverHans: Bár elsősorban a képfelismerésre fókuszál, az alapelvei és algoritmusai (pl. FGSM) adaptálhatók audio jelekre is.
  • Egyedi szkriptek: Pythonban, olyan könyvtárakkal, mint a librosa (audio feldolgozás), a NumPy (matematikai műveletek) és a PyTorch/TensorFlow (gépi tanulási modellek), magad is létrehozhatsz egyszerű támadásokat.

Az alábbi pszeudokód-szerű Python példa bemutatja egy nagyon egyszerű, nem célzott támadás logikáját: egy kis, de stratégiailag fontos zaj hozzáadását a jelhez.


import librosa
import numpy as np

# 1. Hangfájl betöltése
hang, mintaveteli_arany = librosa.load("eredeti_parancs.wav")

# 2. A modell "gradiensének" lekérése a bemenetre vonatkozóan
# Ez a lépés mutatja meg, hogyan változtassuk a bemenetet a legnagyobb hatás érdekében.
# Egy valódi támadásnál itt egy betanított ASR modellt kellene használni.
# Itt most ezt szimuláljuk egy véletlen zajjal.
gradient = np.random.randn(len(hang)) 

# 3. A perturbáció létrehozása
epsilon = 0.005 # A "zaj" erőssége, nagyon kicsi érték
perturbacio = epsilon * np.sign(gradient) # A zaj iránya a gradiens alapján

# 4. Az ellenséges példa létrehozása
ellenseges_hang = hang + perturbacio

# 5. Eredmény mentése
# librosa.output.write_wav("ellenseges_parancs.wav", ellenseges_hang, mintaveteli_arany)
# Emberi füllel a két fájl szinte megkülönböztethetetlen,
# de egy ASR modellnek már komoly fejtörést okozhat.
 

Red Teaming Fókuszpontok

ASR rendszerek tesztelésekor a célod nem csupán egyetlen támadás sikeres végrehajtása. A rendszer gyenge pontjait kell feltérképezned egy tágabb kontextusban. Vizsgáld a következőket:

  • Robusztusság alapzajra: Hogyan teljesít a rendszer különböző típusú és hangerejű háttérzajok (pl. forgalom, zene, beszéd) mellett?
  • Fonetikailag hasonló parancsok: Teszteld, hogyan kezeli a rendszer az egymáshoz nagyon hasonlóan hangzó, de eltérő jelentésű parancsokat (pl. „Fűtés fel” vs. „Hűtés fel”).
  • Digitális sebezhetőség: Futtass standard ellenséges támadásokat (pl. FGSM, PGD) a rendszeren, ha hozzáférsz a modellhez vagy annak API-jához. Dokumentáld, milyen könnyen és milyen mértékű torzítással lehet félrevezetni.
  • Fizikai (OTA) sebezhetőség: Teszteld a rendszert valós környezetben. Kísérletezz különböző távolságokkal, szögekkel és lejátszó eszközökkel. Egy támadás, ami egy csúcskategóriás hangszóróval működik, lehet, hogy egy telefon hangszórójával már nem.
  • Transzferálhatóság: Ha egy adott nyílt forráskódú ASR modellen (pl. DeepSpeech) generálsz egy ellenséges példát, az vajon működik a célrendszer ellen is (black-box támadás)?

Az ASR rendszerek elleni támadások rávilágítanak egy alapvető igazságra: a gépi intelligencia percepciója törékeny. A mi feladatunk Red Teamerként, hogy megtaláljuk ezeket a töréspontokat, mielőtt egy valódi támadó tenné meg. A következő fejezetben egy még alattomosabb technikával, a rejtett parancsokkal ismerkedünk meg, ahol a támadás célja, hogy a parancs az ember számára teljesen értelmezhetetlen, de a gép számára kristálytiszta legyen.

Rácz-Akácosi Attila

AI Biztonsági Szakértő

Két évtized analitikai, elemzői háttérrel. 2017 óta foglalkozunk mesterséges intelligenciával.
Az utóbbi években AI/LLM biztonságra és AI Red Teaming-re specializálódtunk. 
Rendszerszintű gondolkozás hibalisták helyett.