Kategorien: Firefox Mozilla Privacy

Firefox 85 knackt Supercookies

 

Von Steven Englehardt und Arthur Edelstein

Tracker und Adtech-Firmen haben viel zu lange Browser-Funktionen missbraucht, um Menschen im Web zu tracken. Bereits seit 2018 arbeiten wir daran, die Tracking-Möglichkeiten zu reduzieren, um unsere Nutzer zu schützen. Beispielsweise haben wir Cookies von bekannten Trackern und Skripte von bekannten Fingerprinting-Unternehmen blockiert.

In der neuen Version Firefox 85 führen wir nun eine grundlegende Änderung in der Netzwerkarchitektur des Browsers zum Schutz unserer Nutzer ein: Wir partitionieren Netzwerkverbindungen und Caches, nachdem eine Website besucht wurde. Denn Tracker können Caches missbrauchen, um Supercookies zu erstellen und Verbindungskennungen verwenden, um Nutzer zu tracken. Indem wir Caches und Netzwerkverbindungen auf die Webseite beschränken, auf der sie erstellt wurden, machen wir sie für seitenübergreifendes Tracking unbrauchbar.

Was sind Supercookies?
Kurz gesagt, Supercookies können anstelle von normalen Cookies verwendet werden, um Benutzerkennungen zu speichern. Allerdings kann man sie viel schwieriger löschen und blockieren. Das macht es für Nutzer quasi unmöglich, bei Surfen im Internet ihre Privatsphäre zu schützen. Im Laufe der Jahre wurden Tracker gefunden, die Benutzerkennungen als Supercookies in immer undurchsichtigeren Teilen des Browsers speichern, einschließlich in Flash-Speichern, ETags und HSTS-Flags.

Die Änderungen, die wir in Firefox 85 vornehmen, reduzieren die Effektivität von Cache-basierten Supercookies erheblich, indem sie die Fähigkeit eines Trackers, diese über Webseiten hinweg zu verwenden, eliminieren. 

Wie die Partitionierung des Netzwerkstatus seitenübergreifendes Tracking verhindert
Wie alle Web-Browser teilt Firefox einige interne Ressourcen zwischen Webseiten, um den Overhead zu reduzieren. Der Bild-Cache von Firefox ist ein gutes Beispiel: Wenn das gleiche Bild auf mehreren Webseiten eingebettet ist, lädt Firefox das Bild während des Besuchs der ersten Webseite aus dem Netzwerk. Auf nachfolgenden Webseiten würde das Bild dann aus dem lokalen Bild-Cache des Browsers geladen (anstatt es erneut aus dem Netzwerk zu laden). In ähnlicher Weise würde Firefox eine einzelne Netzwerkverbindung wiederverwenden, wenn er Ressourcen desselben Anbieters lädt, die auf mehreren Webseiten eingebettet sind. Diese Techniken ermöglichen dem Nutzer, Bandbreite und Zeit zu sparen.

Leider haben einige Tracker Wege gefunden, diese gemeinsam genutzten Ressourcen zu missbrauchen, um Nutzern im Web zu folgen. Im Fall von Firefox‘ Bild-Cache kann ein Tracker einen Supercookie erstellen, indem er eine Kennung für den Nutzer in einem zwischengespeicherten Bild auf einer Website „verschlüsselt“ und dann diese Kennung auf einer anderen Website „abruft“, indem er das gleiche Bild einbettet. Um diese Möglichkeit zu verhindern, verwendet Firefox 85 für jede Website einen anderen Bild-Cache. Das bedeutet, dass immer noch Bilder aus dem Cache geladen werden, wenn ein Nutzer dieselbe Seite erneut besucht, aber diese Caches werden nicht zwischen den Webseiten geteilt.

In der Tat gibt es viele verschiedene Caches, die Tracker missbrauchen können, um Supercookies zu erstellen. Firefox 85 unterteilt alle folgenden Caches nach der besuchten Top-Level-Site: HTTP-Cache, Bild-Cache, Favicon-Cache, HSTS-Cache, OCSP-Cache, Style-Sheet-Cache, Font-Cache, DNS-Cache, HTTP-Authentifizierungs-Cache, Alt-Svc-Cache und TLS-Zertifikat-Cache.

Um Nutzer darüber hinaus vor verbindungsbasiertem Tracking zu schützen, partitioniert Firefox 85 auch gepoolte Verbindungen, Prefetch-Verbindungen, Preconnect-Verbindungen, spekulative Verbindungen und TLS-Sitzungskennungen.

Diese Partitionierung gilt für alle Ressourcen von Drittanbietern, die in eine Website eingebettet sind, unabhängig davon, ob Firefox davon ausgeht, dass diese Ressource von einer Tracking-Domain geladen wurde. Unsere eigenen Metriken zeigen eine sehr geringe Auswirkung auf die Seitenladezeit: zwischen 0,09% und 0,75% Erhöhung beim 80. Perzentil und darunter, und eine maximale Erhöhung von 1,32% beim 85. Diese Auswirkungen sind vergleichbar mit denen, die das Chrome-Team für ähnliche Cache-Schutzmaßnahmen berichtet, die es einzuführen plant.

Systematische Netzwerk-Partitionierung erschwert es Trackern, die Anti-Tracking-Funktionen von Firefox zu umgehen. Aber wir haben noch einiges vor uns, um unsere Schutzmaßnahmen weiter auszubauen. Seien Sie gespannt auf weitere Datenschutzmaßnahmen in den nächsten Monaten!

 

Danksagung
Die Umgestaltung der Art und Weise, wie Firefox mit Netzwerkverbindungen und Caches umgeht, war keine einfache Aufgabe und wäre ohne die unermüdliche Arbeit unseres Entwicklerteams nicht möglich gewesen: Andrea Marchesini, Tim Huang, Gary Chen, Johann Hofmann, Tanvi Vyas, Anne van Kesteren, Ethan Tseng, Prangya Basu, Wennie Leung, Ehsan Akhgari, und Dimi Lee.

Wir möchten unseren Dank auch den vielen Mozillians aussprechen, die zu dieser Arbeit beigetragen und sie unterstützt haben, darunter: Selena Deckelmann, Mikal Lewis, Tom Ritter, Eric Rescorla, Olli Pettay, Kim Moir, Gregory Mierzwinski, Doug Thayer, und Vicky Chin.

Wir möchten auch die vergangenen und laufenden Bemühungen von Kolleg*innen in den Brave-, Chrome-, Safari- und Tor-Browser-Teams anerkennen, die Supercookies in ihren eigenen Browsern bekämpfen.