- Eine neue auf SVG-Filtern basierende Clickjacking-Methode wurde vorgestellt und erweitert den bisherigen einfachen Clickjacking-Angriff zu komplexen interaktiven Angriffen.
- Es wurde bestätigt, dass SVG-Filterelemente wie
feColorMatrix und feDisplacementMap auch auf Cross-Origin-iframes anwendbar sind, wodurch visuelle Manipulationen und Datenextraktion möglich werden.
- Mit Filterkombinationen sind Pixellesen, logische Operationen und bedingte UI-Steuerung möglich, wodurch mehrstufige Clickjacking- oder Eingabeaufforderungsangriffe umgesetzt werden können.
- Als reales Beispiel wurde ein Angriff über eine Google-Docs-Schwachstelle erfolgreich ausgeführt; der Forscher erhielt von Google VRP eine Belohnung von $3133.70.
- Diese Technik zeigt eine neue Angriffsfläche im Browser-Sicherheitsmodell auf und beweist, dass die logische Nutzung von SVG-Filtern zu einer Sicherheitsbedrohung werden kann.
Überblick über SVG-Clickjacking
- Klassisches Clickjacking ist ein einfaches Angriffsmuster, bei dem ein iframe überlagert wird, damit Nutzer unbeabsichtigt klicken.
- Das neue SVG-Clickjacking macht durch den Einsatz von SVG-Filtern komplexe Interaktionen und Datenabfluss möglich.
- Filter wie
feColorMatrix und feDisplacementMap sind auf Cross-Origin-Dokumente anwendbar, sodass externer Inhalt visuell manipuliert werden kann.
Komponenten von SVG-Filtern
- Zu den zentralen Filterelementen gehören
<feImage>, <feFlood>, <feOffset>, <feDisplacementMap>, <feGaussianBlur>, <feTile>, <feMorphology>, <feBlend>, <feComposite> und <feColorMatrix>.
- Sie kombinieren und transformieren Eingabebilder, um neue Bilder zu erzeugen und können als Kette verknüpft werden.
- Durch solche Kombinationen kann ein Angreifer visuelle Effekte, Maskierung und Farbanpassungen flexibel umsetzen.
Angriffsbeispiele
- Fake Captcha: Mit
feDisplacementMap wird Text verzerrt, um Nutzer zur Eingabe sensibler Codes zu verleiten.
- Grey-Text-Hiding:
feComposite und feMorphology entfernen Hinweise oder Fehlermeldungen in Eingabefeldern, damit Nutzer ein vom Angreifer vorgegebenes Passwort eingeben.
- Pixel Reading: Durch das Erkennen der Farbe bestimmter Pixel kann das Filterverhalten gesteuert werden; so werden dynamische reaktive Angriffe wie Erkennung von Button-Klicks, Hover-Status oder Eingabestatus realisiert.
Logische Operationen und kombinierte Angriffe
- Durch Kombination von
feBlend und feComposite sind **AND-, OR-, XOR- und NOT-**Logikgatter implementierbar.
- So kann innerhalb der SVG-Filter eine vollständige Logikschaltung aufgebaut werden, wodurch mehrstufige Clickjacking-Szenarien automatisiert werden können.
- Im Beispiel des Securify-App-Angriffs wurde ein Ablauf umgesetzt, der das Öffnen von Dialogen, das Anklicken von Checkboxen und das Klicken auf Buttons durch mehrere Logikschritte hinweg steuert, um Nutzer zu täuschen.
Konkreter Fall: Google Docs-Schwachstelle
- Bei Google Docs wurde nach dem Klick auf „Generate Document“ das erscheinende Popup und das Eingabefeld durch SVG-Filter-basierte Logik erkannt und manipuliert.
- Fokusstatus des Eingabefelds, grauer Text und Ladebildschirme wurden in Echtzeit erkannt, um den Angriffsfluss zu steuern.
- Dieser Angriff wurde an Google gemeldet und mit einer Bug Bounty von $3133.70 belohnt.
QR-Code-Anwendungen
- Innerhalb von SVG-Filtern kann QR-Code-Generierung implementiert werden, sodass Pixeldaten in eine URL kodiert und als QR-Code ausgegeben werden.
- Wird der QR-Code gescannt, werden Daten an einen vom Angreifer kontrollierten Server übertragen.
- Mit
feDisplacementMap und der Reed–Solomon-Fehlerkorrektur werden scannbare QR-Codes erzeugt.
Zusätzliche Angriffsmöglichkeiten
- Textlesen, click-basierter Datenabfluss, Einfügen eines Fake-Mauszeigers und weitere missbräuchliche Anwendungen sind möglich.
- Angriffe lassen sich auch ohne JavaScript nur mit CSS/SVG realisieren, wodurch eine Umgehung von CSP denkbar ist.
Wissenschaftliche Bedeutung
- Logikbasierte Clickjacking-Techniken mit SVG-Filtern sind ein neuer Angrifftyp, der in früheren Arbeiten nicht behandelt wurde.
- Frühere Forschungen erwähnten SVG nur als reines visuelles Maskierungsmittel; diese Studie zeigt jedoch logische Ausführung und Interaktionssteuerung.
- Der Forscher stellt dies als neue Schwachstellenklasse vor und betont, dass das Browser-Sicherheitsmodell neu bewertet werden muss.
Abschluss
- Diese Arbeit wird als erster Sicherheitsangriff eingestuft, der SVG-Filter wie eine Programmiersprache nutzt.
- Der Autor plant Präsentationen zu diesem Thema Ende 2025 auf 39c3 und Disobey 2026.
- Der Beitrag wurde mit nur 42kB HTML/CSS/SVG ohne Bilder oder JS erstellt und demonstriert die Kreativität experimenteller Sicherheitsforschung.
Noch keine Kommentare.