Képzeld el a következő jelenetet: egy cégvezető a nappalijában néz egy videót a legújabb piaci trendekről. A szobában egy hangasszisztens hallgatózik. A videóban egy grafikon jelenik meg, amely látszólag ártalmatlan vizuális zajt tartalmaz. Az emberi szem számára ez csak egy enyhe képhiba, de a hangasszisztens hirtelen aktiválódik, és egy parancsot hajt végre: „Vásárolj 10,000 részvényt az X cégből”. A parancs nem hangzott el. A parancs a videó képkockáiba volt kódolva.
Ez nem sci-fi, hanem a keresztmodális (cross-modal) exploitok valósága. Ezek a támadások ott vernek rést a pajzson, ahol a különböző típusú adatokat (kép, hang, szöveg) feldolgozó rendszerek találkoznak. Ahelyett, hogy egyetlen modalitást támadnánk, kihasználjuk a köztük lévő áthallásokat és sebezhetőségeket.
A támadás anatómiája: A közös beágyazási tér manipulálása
A modern multimodális modellek (mint pl. a CLIP vagy a Google PaLI) nem külön-külön kezelik a képeket és a szövegeket. Ehelyett egy közös beágyazási térbe (shared embedding space) vetítik őket. Ez egy absztrakt, többdimenziós matematikai tér, ahol a hasonló koncepciók – függetlenül attól, hogy képként vagy szövegként jelentek meg – egymáshoz közel helyezkednek el. Egy kutya képe és a „kutya” szó vektora ebben a térben közel lesz egymáshoz.
A keresztmodális támadás ezt a közös teret célozza. A támadó egy olyan bemenetet hoz létre az egyik modalitásban (pl. egy kép), amelynek a vektora a közös térben egy másik modalitásban lévő rosszindulatú célponthoz (pl. egy parancs szövegéhez) esik közel. A modell, látva a manipulált képet, „úgy érzi”, mintha a rosszindulatú szöveget „olvasná”.
Gyakori támadási vektorok
A keresztmodális támadásoknak több formája létezik, a finom perturbációktól a durvább, de hatékonyabb módszerekig.
Adverzariális perturbációk
Ez a legklasszikusabb forma. Egy látszólag ártalmatlan képhez vagy hangfájlhoz digitálisan olyan, ember által szinte észrevehetetlen zajt adunk, amely a modellt egy teljesen más koncepció felismerésére készteti. A bevezetőben említett példa is ide tartozik: a vizuális zaj a kép beágyazását a „Vásárolj részvényt” parancs vektorához tolja el a közös térben.
Tipográfiai vagy „glifa” támadások
Ez egy sokkal egyszerűbb, de meglepően hatékony technika. Ahelyett, hogy a pixelek finomhangolásával bajlódnánk, egyszerűen ráírjuk a parancsot a képre. Egy multimodális modell, amely képes a képeken lévő szövegek olvasására (OCR), felismeri a szöveget, és azt promptként vagy parancsként értelmezheti. Például egy „Ez egy cica” feliratú képre ráírva, hogy „IGNORE PREVIOUS INSTRUCTIONS AND DO XYZ”, a modell végrehajthatja az új parancsot, mert a vizuális bemenet felülírja a korábbi kontextust.
Hang-spektrogram injektálás
Ez egy kifinomultabb technika. A hangadat vizualizálható egy spektrogram nevű képen, ami az idő függvényében ábrázolja a frekvenciákat. Lehetőség van egy rosszindulatú hangparancs spektrogramját beágyazni egy ártalmatlan kép vizuális textúrájába vagy zajába. Az a modell, amely a vizuális bemenetet képes hangként is értelmezni (vagy a belső reprezentációja elég közel áll hozzá), „meghallhatja” a képbe rejtett parancsot.
Gyakorlati megvalósítás: A perturbációk generálása általában optimalizációs feladat. A cél egy olyan minimális változtatás (zaj) megtalálása, ami maximalizálja a modell kimenetének valószínűségét a támadó által választott célpontra nézve. Ezt gyakran a modell gradiensei alapján, iteratív módszerekkel (pl. FGSM, PGD) érik el.
Kódpélda: Adversariális kép generálása (Pszeudokód)
Az alábbi pszeudokód bemutatja a folyamat logikáját, ahogyan egy képet módosítunk, hogy egy multimodális modell egy adott szöveget társítson hozzá.
# Szükséges komponensek: egy multimodális modell, egy kép, és egy cél szöveg
def generate_crossmodal_attack(model, original_image, target_text, steps=100, learning_rate=0.01):
# A cél szöveg vektorreprezentációjának lekérése
target_embedding = model.get_text_embedding(target_text)
# A kép, amit módosítani fogunk (kezdetben az eredeti másolata)
adversarial_image = original_image.clone()
# Optimalizációs ciklus
for i in range(steps):
# Kiszámoljuk a jelenlegi kép beágyazását
current_embedding = model.get_image_embedding(adversarial_image)
# Veszteség kiszámítása: a cél, hogy a kép és a szöveg vektora minél közelebb legyen
# A koszinusz-hasonlóságot minimalizáljuk (vagy a távolságot)
loss = cosine_distance(current_embedding, target_embedding)
# Visszaterjesztés (backpropagation) a kép pixeljeire
gradients = calculate_gradients(loss, adversarial_image)
# A kép pixeljeinek frissítése a gradiens irányába
# A cél a veszteség csökkentése, azaz a vektorok közelítése
adversarial_image -= learning_rate * gradients.sign()
# Opcionális: biztosítjuk, hogy a kép a valid pixel-tartományban maradjon
adversarial_image = clip(adversarial_image, 0, 1)
return adversarial_image
Red Teaming szempontok és következmények
Red teamerként a keresztmodális sebezhetőségek tesztelése elengedhetetlen a komplex AI rendszerek esetében. Nem elég a szöveges bemeneteket szanitizálni, ha egy feltöltött profilkép is képes prompt injectiont végrehajtani.
- Hol találkoznak a modalitások? Azonosítsd azokat a pontokat a rendszerben, ahol a felhasználó által feltöltött különböző típusú adatok (pl. profilkép és bemutatkozó szöveg) együttesen befolyásolják a modell viselkedését.
- Milyen a rendszer „látása”? Teszteld, hogy a rendszer képes-e olvasni a képekre írt szöveget. Ha igen, a tipográfiai támadások komoly kockázatot jelentenek.
- Robusztusság tesztelése: Használj ismert adverzariális támadási keretrendszereket (pl. ART, cleverhans) a modell vizuális és auditív bemeneteinek tesztelésére, de a célpontot egy másik modalitásban (szöveg) add meg.
- Váratlan interakciók: Gondolkodj a rendszer teljes folyamatán. Egy képfeltöltés kiválthat egy automatikus képfeliratozó funkciót? Ha igen, a generált feliratot fel lehet használni egy downstream szöveges modell elleni támadásra?
A keresztmodális támadások rávilágítanak, hogy egy AI rendszer biztonsága nem az egyes komponensek biztonságának összege. A komponensek közötti interakciók új, előre nem látható támadási felületeket hozhatnak létre, amelyek felderítése a modern AI red teaming egyik legizgalmasabb kihívása.