12.1.2 Spam szűrő manipuláció

2025.10.06.
AI Biztonság Blog

A spam szűrés talán az egyik legkorábbi és legelterjedtebb területe a gépi tanulás gyakorlati alkalmazásának. Ez a folyamatos harc a kéretlen levelek küldői és a védelmi rendszerek fejlesztői között tökéletes terepet biztosít az ellenséges támadások tanulmányozásához. A támadók célja egyszerű: olyan minimális, ember számára gyakran észrevehetetlen módosításokat végrehajtani az üzeneten, amelyek a modellt téves döntésre késztetik, és a spamet legitim levélként engedik át.

Kapcsolati űrlap

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

A klasszikus trükköktől a kifinomult perturbációkig

A korai, szabályalapú és egyszerűbb statisztikai modellek (pl. Naive Bayes) idejében a támadások a kulcsszavak elrejtésére fókuszáltak. Biztosan emlékszel még az olyan megoldásokra, mint a "V!agra", "fr3e m0ney", vagy szavak közé rejtett speciális karakterek. Ezek a módszerek a modern, transzformer alapú modellek ellen már kevésbé hatékonyak, amelyek a szavak kontextusát és a mondatok szerkezetét is értelmezik.

A modern támadások nem a kulcsszavakat próbálják elrejteni, hanem a modell döntési határát (decision boundary) keresik. A cél az, hogy az üzenetet éppen csak annyira módosítsák, hogy átkerüljön a „spam” kategóriából a „nem spam” oldalra a modell belső reprezentációs terében.

Szó-szintű támadások: A szinonimák fegyvere

Az egyik leggyakoribb technika a szinonima-alapú helyettesítés. A támadó azonosítja azokat a szavakat, amelyek a leginkább hozzájárulnak az üzenet magas spam-pontszámához (ezeket a modell gradiensei alapján lehet megbecsülni), majd ezeket a szavakat olyan szinonimákra cseréli, amelyek kevésbé számítanak „spam gyanúsnak”.

A folyamat lényege, hogy megőrizzük az üzenet eredeti jelentését az emberi olvasó számára, miközben a modell számára drasztikusan megváltoztatjuk a bemenetet. A támadás addig iterál, amíg a modell spam-valószínűsége egy előre meghatározott küszöbérték alá nem esik.

# Pszeudokód a szinonima-alapú támadásra
def szinonima_tamadas(eredeti_uzenet, spam_szuro_modell):
 manipulalt_uzenet = eredeti_uzenet
 
 # Amíg a modell spamnek jelöli az üzenetet
 while spam_szuro_modell.josol(manipulalt_uzenet) == "SPAM":
 # 1. Meghatározzuk a leginkább "spam" szavakat (pl. gradiensek alapján)
 fontos_szavak = find_fontos_szavak(manipulalt_uzenet, spam_szuro_modell)
 
 # 2. Megpróbáljuk lecserélni őket
 sikeres_csere = False
 for szo in fontos_szavak:
 for szinonima in get_szinonimak(szo):
 ideiglenes_uzenet = manipulalt_uzenet.replace(szo, szinonima)
 
 # 3. Ha a csere után már nem spam, megállunk
 if spam_szuro_modell.josol(ideiglenes_uzenet) == "NEM_SPAM":
 manipulalt_uzenet = ideiglenes_uzenet
 return manipulalt_uzenet # Sikeres támadás
 
 # Ha egyetlen csere sem vezetett eredményre, a támadás sikertelen
 if not sikeres_csere:
 return "SIKERTELEN"
 
 return manipulalt_uzenet

Karakter-szintű manipulációk: A láthatatlan támadás

Egy még alattomosabb módszer a karakter-szintű perturbáció. Ezek a módosítások az emberi szem számára gyakran teljesen láthatatlanok, de a modell tokenizációs folyamatát megzavarhatják.

  • Homoglifák: Latin karakterek cseréje vizuálisan azonos vagy nagyon hasonló cirill, görög vagy más ábécébeli karakterekre. Például a latin ‘a’ (U+0061) és a cirill ‘а’ (U+0430).
  • Nulla szélességű szóköz (Zero-Width Space): Olyan Unicode karakter (U+200B), amelynek nincs vizuális megjelenése, de a legtöbb tokenizáló két különálló tokenként kezeli a karakterrel elválasztott szó részeit. Például a "kattints" szó a modell számára lehet "katt" és "ints", ami teljesen megváltoztatja a jelentést és a beágyazást.

Ez a technika különösen hatékony a karakter-szintű CNN-ek vagy a szavak darabjait (subword) használó modellek (pl. BERT) ellen, mert közvetlenül a bemeneti reprezentáció legalacsonyabb szintjét támadja.

Strukturális álcázás: A „jó szöveg” pajzsa

A támadók nem csak a spam üzenet módosításával próbálkozhatnak, hanem annak kontextusának megváltoztatásával is. Ennek egyik tipikus módja, hogy a spam tartalom mellé teljesen legitim, ártalmatlan szöveget illesztenek be. Ez lehet egy idézet egy híres könyvből, egy friss hír részlete, vagy bármilyen semleges tartalom.

A cél a spam-jel/zaj arány csökkentése. A modell az egész üzenetet elemzi, és ha a szöveg nagy része ártalmatlannak tűnik, a teljes üzenetre adott spam-pontszám lecsökkenhet annyira, hogy a szűrő átengedje. 

Ezt a folyamatot szemlélteti az alábbi diagram.

1. Eredeti Spam Üzenet Magas spam-pontszám Tartalom: „Ingyen pénz itt!” 2. Manipulált Üzenet Alacsony pontszám Tartalom: „Ingyen pénz itt!” + „Idézet egy regényből…” Ártalmatlan szöveg hozzáadása (dilúciós technika)

Támadási Módszerek Összehasonlítása

Az AI red teamer feladata, hogy megértse a különböző támadási vektorok előnyeit és hátrányait, és azokat a tesztelt rendszer gyengeségeinek feltárására használja. Az alábbi táblázat összefoglalja a tárgyalt technikákat.

Technika Működési Elv Előnyök Hátrányok Célzott Modell Típus
Keyword Obfuscation
(pl. V1agra)
Kulcsszavak vizuális, de nem szemantikai megváltoztatása. Egyszerű, gyors, nem igényel modelltudást (black-box). Könnyen detektálható, modern modellek ellen hatástalan. Szabályalapú, egyszerű statisztikai szűrők.
Szinonima Helyettesítés „Gyanús” szavak cseréje kevésbé gyanús, de hasonló jelentésű szavakra. Megőrzi az olvashatóságot. Hatékony a szemantika-érzékeny modellek ellen. Modell-hozzáférést vagy sok lekérdezést igényel (white/gray-box). Bag-of-Words, TF-IDF, Word Embedding alapú modellek.
Karakter Perturbáció
(pl. zero-width space)
Láthatatlan vagy nehezen észlelhető karakterek beszúrása. Nagyon nehezen detektálható emberi szemmel. Megzavarja a tokenizációt. Törheti a szöveg feldolgozását. Bizonyos előfeldolgozási lépések kiszűrhetik. Transzformerek, karakter-alapú RNN/CNN modellek.
Strukturális Álcázás
(Good-text injection)
Legitim szöveg hozzáadása a spam tartalomhoz a spam-jel arányának csökkentésére. Egyszerűen implementálható. Nem rontja az eredeti spam üzenet olvashatóságát. Jelentősen megnöveli az üzenet méretét. A fejlett modellek felismerhetik a kontextusidegen részeket. Szinte minden statisztikai modell, amely a teljes szöveg alapján dönt.

A spam szűrők elleni támadások jól mutatják, hogy az ellenséges gépi tanulás nem csak elméleti probléma. A red teaming során ezen technikák szimulálása elengedhetetlen a modern, AI-alapú védelmi rendszerek valós ellenállóképességének felméréséhez. 

A küzdelem folyamatos: minden új védelmi mechanizmusra egy új támadási stratégia születik, ami a rendszerek folyamatos tesztelését és edzését teszi szükségessé.