Ein fundamentales Versprechen der Privatsphäre bröckelt. Forscher entdecken, dass Webseiten Nutzer über Sitzungen hinweg im Firefox-Browser verfolgen können.
Das Versprechen des privaten Surfens ist einer der Grundpfeiler moderner Webbrowser. Nutzer verlassen sich darauf, dass nach dem Schließen eines Inkognito-Fensters oder dem Anfordern einer neuen Identität im Tor-Browser alle Spuren ihrer digitalen Existenz gelöscht werden. Doch ein veröffentlichter Forschungsbericht der Sicherheitsfirma Fingerprint erschüttert dieses Vertrauen. Eine subtile Schwachstelle in der Implementierung der IndexedDB-Schnittstelle ermöglicht es Webseiten, einen stabilen Identifikator zu generieren, der über Sitzungsgrenzen hinweg bestehen bleibt.
Der Fehler betrifft alle auf der Mozilla-Engine basierenden Browser, einschließlich des für seine extremen Sicherheitsvorkehrungen bekannten Tor-Browsers. Die Tragweite ist erheblich: Selbst wenn ein Nutzer in Tor eine neue Identität anfordert oder in Firefox ein neues privates Fenster öffnet, können verschiedene Webseiten ihn wiedererkennen und sein Verhalten korrelieren, solange der Browser-Prozess im Hintergrund nicht vollständig beendet wurde.
Die Technik hinter dem Datenleck: IndexedDB
Um die Funktionsweise dieser Sicherheitslücke zu verstehen, muss man einen Blick in den Maschinenraum moderner Browser werfen. Webseiten nutzen heute intensiv lokale Speichertechnologien, um Daten für den Offline-Betrieb oder Caching bereitzustellen. Eine der wichtigsten Schnittstellen hierfür ist die Indexed Database API, kurz IndexedDB. Sie erlaubt es Skripten, große Mengen strukturierter Daten direkt auf dem Gerät des Nutzers zu speichern.
Firefox und der Tor-Browser versuchen, diese Daten in privaten Modi zu schützen. Anstatt die Datenbanknamen im Klartext zu speichern, werden sie durch zufällig generierte Identifikatoren, sogenannte Universally Unique Identifiers (UUIDs), maskiert. Damit soll verhindert werden, dass eine Webseite Rückschlüsse auf die Identität oder das Verhalten des Nutzers ziehen kann. Die Forscher von Fingerprint entdeckten jedoch, dass ein entscheidendes Detail übersehen wurde: die Reihenfolge, in der diese Datenbanken von der API zurückgegeben werden.
Der Sortierfehler als digitaler Fingerabdruck
Normalerweise sollte die Liste der Datenbanken entweder nach ihrem Erstellungsdatum oder in einer neutralen, beispielsweise alphabetischen Reihenfolge ausgegeben werden. In den betroffenen Browserversionen orientierte sich die Reihenfolge jedoch an den internen Speicherstrukturen des Browsers. Diese Strukturen sind einzigartig für jede laufende Instanz des Programms und bleiben für die gesamte Dauer des Prozesses unverändert.
Indem eine Webseite eine feste Anzahl von Datenbanken erstellt und deren Rückgabereihenfolge ausliest, kann sie einen deterministischen Fingerabdruck erzeugen. Bei lediglich 16 Datenbanken ergeben sich bereits über 20 Billionen mögliche Permutationen. Das ist mehr als genug, um jede einzelne Browser-Instanz weltweit eindeutig zu identifizieren. Da dieser Fingerabdruck an den laufenden Prozess gebunden ist, überlebt er das Schließen einzelner Tabs, das Löschen von Cookies und sogar den Wechsel der IP-Adresse durch das Tor-Netzwerk.
Die besondere Bedrohung für Tor-Nutzer
Für Nutzer des Tor-Browsers ist diese Entdeckung ein Albtraum. Das Kernkonzept von Tor basiert auf der sogenannten Unlinkability. Das ist die Unmöglichkeit, verschiedene Sitzungen oder Webseitenaufrufe derselben Person zuzuordnen. Der Browser ist so konstruiert, dass er alle klassischen Fingerprinting-Merkmale wie Bildschirmgröße, installierte Schriftarten oder Systemzeit vereinheitlicht, um Nutzer in der Masse untergehen zu lassen.
Die nun entdeckte Schwachstelle schneidet direkt durch diese Schutzschichten. Wenn ein Nutzer eine Webseite besucht, die diesen Identifikator ausliest, und anschließend über die Schaltfläche neue Identität eine neue Route durch das Netzwerk anfordert, bleibt der IndexedDB-Fingerabdruck identisch. Eine Webseite kann somit feststellen, dass der neue Besucher mit der neuen IP-Adresse in Wirklichkeit derselbe Nutzer von vor fünf Minuten ist. Damit wird einer der wichtigsten Sicherheitsmechanismen des Tor-Projekts effektiv umgangen.
Ein ungewöhnlicher Absender
Interessant ist die Herkunft der Informationen. Fingerprint ist ein Unternehmen, das sich eigentlich auf die Identifizierung von Besuchern spezialisiert hat, um Betrug zu verhindern. Auf die Frage, warum ein Unternehmen, das von Fingerprinting lebt, eine solche Lücke meldet, antwortete der CTO der Firma, dass man keine Sicherheitslücken für die eigenen Produkte nutze. Man setze auf legitime Signale und arbeite daran, das Web sicherer zu machen.
Diese Offenlegung zeigt jedoch auch, wie schwierig es für Browser-Entwickler geworden ist, alle potenziellen Lecks zu schließen. Selbst harmlose Metadaten, die eigentlich keinen Informationsgehalt haben sollten, können in Kombination mit deterministischen Algorithmen zu mächtigen Tracking-Werkzeugen werden.
Lösung und Sofortmaßnahmen
Die gute Nachricht ist, dass Mozilla schnell reagiert hat. Der Patch für die Sicherheitslücke wurde in der Firefox-Version 150 veröffentlicht. Die Lösung ist ebenso simpel wie effektiv: Die Browser sortieren die Liste der Datenbanken nun alphabetisch, bevor sie das Ergebnis an die Webseite zurückgeben. Damit wird die interne Speicherstruktur verborgen und die Entropie, die für das Fingerprinting genutzt wurde, eliminiert.
Auch für den Tor-Browser steht ein entsprechendes Update bereit, da dieser auf der Firefox-Extended-Support-Release-Version 140.10.0 basiert, in die der Patch ebenfalls eingeflossen ist. Nutzer sollten daher dringend prüfen, ob sie die aktuellste Version verwenden. Ein wichtiger Hinweis der Forscher bleibt jedoch bestehen: Da der Identifikator an den laufenden Prozess gebunden ist, hilft im Zweifelsfall nur ein vollständiger Neustart des gesamten Browsers, um die Identität wirklich zurückzusetzen. Das Schließen einzelner Fenster reicht nicht aus, solange das Programm im Hintergrund weiterläuft.