8.2.3 ASR rendszerek támadása

2025.10.06.
AI Biztonság Blog

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.

Kapcsolati űrlap

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.