Cross-modale embedding-aanvallen
Misbruik van gedeelde embeddingruimtes over modaliteiten heen: adversarial CLIP-afbeeldingen, typografische aanvallen, VLM-injectie en dimensionaliteitsreductie-aanvallen.
Cross-modale embedding-aanvallen
Cross-modale modellen zoals CLIP, SigLIP en multimodale LLM's projecteren verschillende datatypes (tekst, afbeeldingen, audio) in een gedeelde embeddingruimte. Die gedeelde ruimte stelt een aanvaller in staat om inputs in de ene modaliteit op te stellen die mappen naar adversarial doelen in een andere, waardoor aanvallen mogelijk worden die de tekst-beeldgrens overschrijden en modaliteitsspecifieke safety-filters omzeilen.
Overzicht van het aanvalsoppervlak
| Aanvalsvector | Beschrijving | Moeilijkheid |
|---|---|---|
| Image-to-text-transfer | Stel een afbeelding op waarvan de embedding matcht met een doeltekst; VLM's "lezen" de doeltekst mogelijk | Gemiddeld |
| Text-to-image-transfer | Stel tekst op waarvan de embedding matcht met een doelafbeelding; manipuleert retrieval en generatie | Gemiddeld |
| Embeddingbotsing | Vind beeld-tekstparen met dezelfde embedding ondanks verschillende semantiek; omzeilt moderatie | Hoog |
| Adversarial reprogrammering | Wijzig onschadelijke afbeeldingen zo dat hun CLIP-embeddings instructies coderen die downstream-LLM's opvolgen | Hoog |
| Misbruik van het modaliteitsgat | Stel inputs op die tussen de tekst- en beeldregio's in zitten en zo beide classifiers ontwijken | Hoog |
Adversarial afbeeldingen genereren
Gradiëntgebaseerde perturbatie (PGD)
Verstoor een onschadelijke afbeelding zo dat de CLIP-embedding ervan matcht met een doeltekst, met behulp van projected gradient descent binnen een L-oneindig epsilon-bal.
Codeer de doeltekst
Haal de CLIP-tekst-embedding voor je doelinstructie op en normaliseer die.
Initialiseer vanuit een basisafbeelding
Verwerk de basisafbeelding tot een differentieerbare tensor. Kloon die als referentie voor de epsilon-beperking.
Optimaliseer via PGD
Voor elke stap: bereken de beeld-embedding, maximaliseer de cosinussimilariteit met de doeltekst-embedding, en clamp daarna de perturbatie binnen de epsilon-bal en het geldige pixelbereik.
Verifieer de adversarial afbeelding
Test de uiteindelijke afbeelding tegen de doeltekst en enkele afleidende teksten om te bevestigen dat de afbeelding als het doel wordt geclassificeerd.
# Kern-PGD-loop voor een adversarial CLIP-afbeelding
for step in range(500):
image_emb = F.normalize(model.get_image_features(pixel_values=pixels))
loss = 1.0 - F.cosine_similarity(image_emb, target_text_emb)
loss.backward()
optimizer.step()
with torch.no_grad():
perturbation = torch.clamp(pixels - original, -epsilon, epsilon)
pixels.data = torch.clamp(original + perturbation, 0, 1)Typografische aanvallen
Typografische aanvallen maken gebruik van het feit dat CLIP getraind is op afbeeldingen die tekst bevatten. Door instructies direct in een afbeelding te renderen, injecteert een aanvaller content die VLM's zullen verwerken.
| Techniek | Methode | Mate van onopvallendheid |
|---|---|---|
| Kleine tekst in hoeken | Heel klein lettertype (6px) in de marges van de afbeelding | Gemiddeld |
| Kleur dicht bij de achtergrond | Tekstkleur die bijna overeenkomt met de achtergrond (bijv. #FAFAFA op wit) | Hoog |
| Overlay met lage dekking | Instructietekst over de hele afbeelding tegelen op 1-2% dekking | Hoog |
| Inbedding in metadata | Plaats tekst in EXIF- of andere metadatavelden | Verschilt per model |
# Tekstoverlay met lage dekking
overlay = Image.new("RGBA", base.size, (0, 0, 0, 0))
draw = ImageDraw.Draw(overlay)
alpha = int(255 * 0.02) # 2% dekking -- onzichtbaar voor mensen
for y in range(0, base.size[1], 20):
for x in range(0, base.size[0], 200):
draw.text((x, y), instruction, fill=(128, 128, 128, alpha))
result = Image.alpha_composite(base.convert("RGBA"), overlay)VLM-injectie via image-to-token-projectie
Moderne VLM's (GPT-4V, Claude, Gemini) coderen afbeeldingen via een vision encoder en projecteren het resultaat in de tokenruimte van de LLM. Als de geprojecteerde beeldtokens mappen naar representaties die op instructies lijken, zal de LLM ze opvolgen.
Methodologie
- Analyseer de image-to-token-mapping -- vind voor elk beeldtoken de dichtstbijzijnde echte teksttokens op basis van cosinussimilariteit om te begrijpen wat de LLM "ziet".
- Codeer de doelinstructies -- tokeniseer je doelinstructie en haal de embeddings ervan op uit de embeddinglaag van de LLM.
- Optimaliseer de afbeelding -- minimaliseer de MSE tussen de geprojecteerde beeldtokens en de doelinstructie-embeddings, met een perceptuele loss-term om de afbeelding onschadelijk te laten ogen.
- Valideer -- dien de adversarial afbeelding in met een onschadelijke tekstquery en verifieer dat de VLM de verborgen instructie opvolgt.
# Alignment-loss tussen beeldtokens en instructietokens
vision_features = vision_encoder(image_tensor)
projected = projection_layer(vision_features) # beeldtokens
min_len = min(projected.shape[1], target_embeds.shape[1])
alignment_loss = F.mse_loss(projected[0, :min_len], target_embeds[0, :min_len])
total_loss = alignment_loss + 0.1 * F.mse_loss(image_tensor, original)Dimensionaliteitsreductie-aanvallen
Safety-dimensies identificeren
Embeddinggebaseerde safety-classifiers steunen op specifieke dimensies om veilige van onveilige content te scheiden. Door die dimensies te identificeren en te manipuleren wordt ontwijking mogelijk.
Verzamel veilige en onveilige embeddingsamples
Codeer een set bekend-veilige en bekend-onveilige teksten om een referentiedistributie op te bouwen.
Bereken het gemiddelde verschil per dimensie
Bereken voor elke dimensie het verschil tussen het onveilige en het veilige gemiddelde. Rangschik de dimensies op absoluut verschil.
Stel ontwijkende embeddings op
Verschuif de doel-embedding in de "veilige" richting langs de meest safety-discriminerende dimensies.
Misbruik van het modaliteitsgat
Tekst- en beeld-embeddings bezetten vaak verschillende regio's van een gedeelde ruimte, wat een modaliteitsgat creëert. Inputs die zo zijn opgesteld dat ze in dit gat zitten, kunnen zowel tekstspecifieke als beeldspecifieke classifiers ontwijken.
gap_vector = np.mean(image_embs, axis=0) - np.mean(text_embs, axis=0)
gap_center = (np.mean(text_embs, axis=0) + np.mean(image_embs, axis=0)) / 2
# Adversarial inputs nabij gap_center ontwijken modaliteitsspecifieke detectorenCross-modale audio-aanvallen
Multimodale modellen die audio verwerken, kun je aanvallen door audiogolfvormen zo te optimaliseren dat hun embeddings matchen met een doeltekst, begrensd door een perturbatiebudget en gemonitord via de signaal-ruisverhouding (SNR).
| Parameter | Doel | Typische waarde |
|---|---|---|
epsilon | Maximale perturbatie-amplitude | 0.01 |
steps | Optimalisatie-iteraties | 1000 |
| SNR-drempel | Minimale audiokwaliteit | > 30 dB |
# Kernloop voor audioperturbatie
for step in range(steps):
audio_emb = F.normalize(audio_encoder(audio_tensor.unsqueeze(0)))
loss = 1.0 - F.cosine_similarity(audio_emb, target_text_emb)
loss.backward()
optimizer.step()
with torch.no_grad():
delta = torch.clamp(audio_tensor - original, -epsilon, epsilon)
audio_tensor.data = original + deltaWaarom zijn typografische aanvallen tegen VLM's effectief, zelfs als de tekst op heel kleine formaten of in kleuren dicht bij de achtergrond wordt gerenderd?
Gerelateerde onderwerpen
- Embedding Space Exploitation -- Basis embeddinggeometrie en perturbatietechnieken
- Multimodal Attack Vectors -- Bredere taxonomie van multimodale aanvallen, inclusief document- en audio-aanvallen
- RAG Pipeline Exploitation -- Cross-modale poisoning toegepast op retrieval-systemen
- Transferable Attacks -- Principes van cross-model-transfer die ook op cross-modale aanvallen van toepassing zijn
References
- Carlini & Wagner, "Audio Adversarial Examples" (2018)
- Qi et al., "Visual Adversarial Examples Jailbreak Aligned Large Language Models" (2023)
- Liang et al., "Mind the Gap: Understanding the Modality Gap in Multi-modal Contrastive Representation Learning" (2022)
- Bagdasaryan et al., "Abusing Images and Sounds for Indirect Instruction Injection in Multi-Modal LLMs" (2023)
- Schlarmann & Hein, "On the Adversarial Robustness of Multi-Modal Foundation Models" (2023)