- Eine Tracking-Methode, die den Favicon-Cache nutzt, um Website-Besuchern eine eindeutige Kennung zuzuweisen; die Identifikationsdaten bleiben selbst dann erhalten, wenn Nutzer Cache oder Cookies löschen
- Diese Methode funktioniert auch bei Nutzung von Inkognito-Modus, VPN und Werbeblockern und bleibt nach Browser-Neustarts oder System-Neustarts bestehen
- Über die Kombination von Mustern, mit denen der Browser Favicons anfordert oder aus dem Cache lädt, wird eine eindeutige Identifikationsnummer erzeugt
- Wichtige Browser wie Chrome, Firefox, Safari, Edge sowie mobile Browser sind von dieser Schwachstelle betroffen
- Im Hinblick auf Browsersicherheit und Datenschutz rückt die Verwaltung des Favicon-Caches stärker in den Fokus
Überblick über Supercookie
- Supercookie ist eine Technik zur Identifizierung von Nutzern mithilfe des Favicon-Caches (F-Cache)
- Ein Favicon ist das kleine Symbol einer Website, das in der Adressleiste des Browsers oder in der Lesezeichenliste angezeigt wird
- Browser speichern Favicons in einer separaten lokalen Datenbank (F-Cache), um sie schneller anzeigen zu können
- Der F-Cache enthält Informationen zu besuchter URL, Favicon-ID und TTL (Gültigkeitsdauer)
- Wird diese Struktur missbraucht, lässt sich durch die Kombination des Favicon-Anforderungsstatus pro bestimmtem URL-Pfad ein eindeutiges Browser-Muster erzeugen
Bedrohungsmodell
- Ein Webserver kann anhand dessen, ob der Browser ein Favicon erneut anfordert, feststellen, ob die Seite bereits zuvor besucht wurde
- Ist das Favicon nicht im Cache, wird eine GET-Anfrage an den Server gesendet; ist es vorhanden, entfällt die Anfrage
- Durch die Kombination der Favicon-Anfragestatus mehrerer Pfade lässt sich eine eindeutige Identifikationsnummer pro Browser erzeugen
- Diese Kennung wird von bestehenden Anti-Tracking-Maßnahmen wie dem Löschen von Cookies, dem Zurücksetzen des Caches, der Nutzung eines VPN oder Header-Manipulationen nicht beeinflusst
Vergleich mit herkömmlichen Cookies
- Laut Tabelle besitzt Supercookie eine Identifikationsgenauigkeit von 100 % und
- ermöglicht Inkognito-Modus-Erkennung, Persistenz auch nach dem Löschen von Cache und Cookies, Identifizierung über mehrere Fenster hinweg und die Umgehung von Anti-Tracking-Software
- Herkömmliche Cookies unterstützen diese Funktionen dagegen nicht
Betroffene Browser
- Chrome, Safari, Edge, Firefox und andere wichtige Browser sind anfällig
- Chrome: betroffen unter Windows, macOS, Linux und Android
- Safari: betroffen unter macOS und iOS
- Edge: betroffen unter Windows, macOS und Android
- Firefox: erzeugt auf einigen Plattformen im Inkognito-Modus einen anderen Fingerabdruck
- Brave: wird in aktuellen Versionen größtenteils blockiert
- Ältere Versionen von Brave (1.14.0) und Firefox (<84.0) sind für diesen Angriff anfällig
Skalierbarkeit und Leistung
- Durch Anpassen der Anzahl der Redirect-Pfade (N) lassen sich 2^N eindeutige Nutzer unterscheiden
- Je mehr unterscheidbare Nutzer es gibt, desto stärker steigen Lese- und Schreibzeiten
- Durch dynamische Anpassung von N lässt sich die Zahl der Redirects minimieren
Abwehrmaßnahmen
- Die sicherste Methode ist, den Favicon-Cache vollständig zu deaktivieren oder manuell zu löschen
- Chrome(macOS):
~/Library/Application Support/Google/Chrome/Default/Favicons und Favicons-journal löschen
- Chrome(Windows):
C:\Users\username\AppData\Local\Google\Chrome\User Data\Default löschen
- Safari(macOS): Inhalt von
~/Library/Safari/Favicon Cache löschen
- Edge(macOS):
~/Library/Application Support/Microsoft Edge/Default/Favicon und Favicons-journal löschen
Ziel und Hintergrund des Projekts
- Dieses Repository wurde zu Bildungs- und Demonstrationszwecken erstellt und soll das Sicherheitsbewusstsein für die Möglichkeit von Tracking über Favicons stärken
- Die Inspiration stammt aus einer Forschungsarbeit der University of Illinois Chicago und einem Artikel von heise.de
- Das Projekt umfasst als Teil persönlicher Forschung auch ein in nur zwei Tagen umgesetztes Demo-Portal
Sonstiges
- Der Entwickler ist ein 20-jähriger Student aus Deutschland mit Interesse an Softwaredesign und IT-Sicherheit
- Das Projekt ist auf GitHub öffentlich verfügbar und kann in einer Docker- oder Node.js-Umgebung ausgeführt werden
- Verwandte Berichte erschienen in Vice, Gizmodo, TechRadar, Schneier.com und anderen großen Medien
1 Kommentare
Hacker-News-Kommentare
Zum Beispiel erscheint auf Reddit das Favicon von Ars Technica
Auch nach iOS-Updates bleibt es so, und es bleibt sogar im Profil oder im Inkognito-Modus bestehen
Um ihn zwangsweise zu aktualisieren, muss man die Systemuhr um mehrere Jahre vorstellen
Auf meinem MacBook ist das seit Jahren so, also habe ich einfach aufgegeben
In iOS Safari gerät sie in eine Endlosschleife, in der der Zähler von 1 bis 18 läuft und dann wieder weiterleitet
Das ist unerwünscht, daher überlege ich, die Lesezeichen zu löschen oder sie als HTML zu speichern
Ich nutze meist private Fenster, und dank Little Snitch ist mir das aufgefallen
eine Kombination aus qemu + cage + firefox, bei der das Image beim Beenden gelöscht wird
Es ist langsam, aber sicherheitstechnisch beruhigend. Containerisierung wäre auch möglich, aber es fühlt sich unangenehm an, dass der Browser auf den Host-Kernel zugreift
Auch die Steuerung über eBPF-Richtlinien ist komplex, deshalb isoliere ich einfach per VM
Zum Beispiel werden Merkmale wie der SwiftShader-Renderer oder fehlende Schriftarten erkannt
Selbst wenn man so etwas zu verschleiern versucht, werden Dinge wie Canvas-Rauschmanipulation schnell entdeckt. Falls es dafür eine Lösung gibt, würde ich sie gern hören
Fühlte sich an, als hätte ich etwa 20 Sekunden verschwendet