Firefox 58 erhält Schutz gegen Canvas-Fingerprinting
Firefox 58 wird der erste große Browser sein, welcher eine Schutz-Maßnahme gegen sogenanntes Canvas-Fingerprinting implementiert hat. Während dies auf der einen Seite eine großartige Nachricht für Freunde der Privatsphäre ist, gibt es dabei aber auch Dinge zu beachten, auf welche andere Webseiten, die darüber berichten, leider nicht eingehen.
Am 14. November wird Mozilla mit Firefox 57 den größten und wichtigsten Release in der Geschichte von Firefox veröffentlichen. Doch die Entwicklung wichtiger Verbesserungen hört damit nicht auf, auch danach können sich Firefox-Nutzer auf aufgregende Neuerungen freuen. Eine dieser Neuerungen wird zu einer weiteren Verbesserung des Privatsphäre-Schutzes beitragen, nämlich eine Maßnahme gegen Canvas-Fingerprinting.
Was ist Canvas und Canvas-Fingerprinting?
Canvas steht zunächst einmal in überhaupt keinem negativen Kontext, sondern ist ein überaus praktischer Teil des HTML-Standards. Die MDN web docs beschreiben Canvas wie folgt:
<canvas> ist ein HTML Element, auf das man mit Hilfe von Skripten (normalerweise JavaScript) Animationen, Grafiken oder Bilder projiziert.
Daraus ergeben sich viele praktische Anwendungsfälle für Webseiten. Doch wie so oft werden Dinge, welche viele positive Dinge ermöglichen, auch gerne für Sachen missbraucht, die weniger toll sind. Dies trifft auch auf das Canvas-Element zu. Durch Unterschiede im Rendering in Abhängigkeit von Variablen wie Betriebssystem, Browser, installierten Schriftarten und mehr lässt sich ein digitaler Fingerabdruck erzeugen, welcher dazu genutzt werden kann, Nutzer über mehrere Besuche hinweg wiederzuerkennen, auch Tracking genannt.
Firefox 58 erhält Schutz gegen Canvas-Fingerprinting
Mozilla hat in Firefox 58 ein Feature implementiert, welches den Schutz vor Canvas-Fingerprinting verbessern soll. Dies funktioniert, indem Firefox beim Benutzer explizit um Erlaubnis fragt, wenn eine Webseite versucht, Canvas-Daten zu extrahieren. Andere große Browser wie Google Chrome besitzen so etwas nicht.
Dabei handelt es sich um ein Feature, welches ursprünglich aus dem Tor-Browser stammt, einem auf Firefox ESR basierenden Browser. Seit Monaten implementiert Mozilla zahlreiche Erweiterungen des Tor-Browsers direkt in Firefox, was einerseits die Entwicklung des Tor-Browsers vereinfacht, andererseits aber auch Firefox-Nutzern die Möglichkeit gibt, die Privatsphäre zu verbessern.
Lese-Tipp: Mozilla verdoppelt Spenden für das Tor-Projekt
Standardmäßig ist dieser neue Schutz in Firefox 58 deaktiviert. Zur Aktivierung muss über about:config der Schalter privacy.resistFingerprinting per Doppelklick auf true geschaltet werden.
Vorsicht, nicht blind aktivieren!
Über dieses neue Feature von Firefox 58 haben bereits einige Webseiten berichtet, doch die meisten verschweigen dabei wichtige Informationen, die der Nutzer haben muss, um eine Entscheidung begründet treffen zu können!
In jedem Fall muss erwähnt werden, dass an der Option privacy.resistFingerprinting deutlich mehr dran hängt als nur der Schutz vor Canvas-Fingerprinting. Es handelt sich dabei um eine Sammel-Einstellung für zahlreiche Optionen, welche aus dem Tor-Browser direkt in Firefox portiert worden sind und noch portiert werden. Und dabei ist es absolut nicht so einfach, dass man sagen kann, eine Aktivierung verbessert die Privatsphäre und daher unbedingt erfolgen.
Zwar ist es richtig, dass die Einstellung die Privatsphäre verbessert, es ist aber auch wichtig, sich über die Funktionweise und Konsequenzen im Klaren zu sein. Die Verbesserung der Privatsphäre erfolgt durch eine Minimierung des digitalen Fingerabdrucks, was wiederum durch die Verfälschung von Informationen geschieht. Beispielsweise wird Webseiten vorgelogen, dass sich der Anwender, ganz egal, in welcher Zeitzone er sich befindet, in der UTC-Zeitzone befindet, was zu naheliegenden Problemen bei Kalender-Applikationen führt. Weiter wird Webseiten vorgegaukelt, man würde Firefox 52 nutzen. Dass das ein Problem sein kann, sieht man auf Mozillas eigener Erweiterungs-Webseite addons.mozilla.org: einige WebExtensions können nicht installiert werden, weil auch Mozillas Webseite denkt, es würde Firefox 52 genutzt werden, und damit ist nicht jede WebExtesion kompatibel. Und dies waren nur zwei Beispiele. Es gibt noch einige Dinge mehr, welche Webseiten bei Aktivierung dieser Option vorgelogen werden, obwohl sie nicht stimmen, was den digitalen Fingerabdruck zwar reduziert, aber eben auch direkte Auswirkung auf die Funktionsweise von Webseiten hat.
Canvas-Warnung bedeutet nicht gleich Tracking
Ebenfalls ist es wichtig zu verstehen, dass das Erscheinen der Canvas-Warnung bei Aktivierung des neuen Schutzes nicht gleichbedeutend damit ist, dass die jeweilige Webseite Tracking betreibt oder etwas anderes machen würde, was nicht im Sinne des Nutzers ist. Wie bereits erwähnt, gibt es vollkommen legitime und sinnvolle Anwendungsfälle für die Verwendung des Canvas-Elements. Die Warnung gibt dem Nutzer lediglich die Möglichkeit, eine Entscheidung darüber zu treffen, ob er der Webseite die Extraktion von Canvas-Daten erlaubt oder nicht, Firefox kann aber nicht über den Zweck informieren. Der Canvas-Schutz sollte also nur als Hilfsmittel erachtet werden, nicht zur Beurteilung, ob eine Seite Canvas zum Tracking-Zweck einsetzt.
Die Option ist aktuell noch in Entwicklung was ich verstehe, ich hoffe nur dass sie später auch nutzerfreundlicher gestaltet wird und dem User erlaubt feiner einzustellen was er genau haben möchte und was nicht. Ich finde z.B. die von dir genannten Beispiele ebenfalls negativ und würde gerne verhindern dass der User Agent angefasst wird. (general.useragent.override funktioniert leider da nicht)
Kennst du eine gute Möglichkeit auf diese Entwicklung Einfluss zu nehmen? Ich meinte dass Mozilla inhaltliche Diskussionen lieber auf Maillinglisten sieht als in Bugzilla Tickets.
Google Maps braucht glaub ich ne Ausnahme.
Das hatte mit dem CanvasBlocker Addon damals nicht funktioniert.
Hoffe dass man bald auch eigene Listen anstelle der Disconnect Tracking Liste benutzen kann.
@miku23:
Vielleicht wird so etwas langfristig kommen, aber mittelfristig glaube ich nicht daran, weil es ja derzeit in erster Linie darum geht, die Patches aus dem Tor-Browser zu portieren.
Für Diskussionen sind die Mailinglisten, genau.
@tim:
Google Maps funktioniert bei mir auch mit aktiviertem Canvas-Schutz.
Da geht es ja um den Tracking-Schutz, welcher bekannter Tracker blockiert. Das ist für den Canvas-Schutz nicht relevant.
@tim:
CanvasBlocker hatte einen Bug, der Google Maps (und vor allem Street View) be- und verhindert hat, der aber schon seit etwa einem Jahr gefixed ist, nachdem ich ihn gemeldet hatte. Meinen Erfahrungen nach liest Google ohnehin keine Canvas-Daten aus, ein Bedarf für Schutz besteht auf deren Seiten somit bis auf weiteres auch nicht.
Zum Thema: Es ist zwar nett, dass Firefox als erster großer Browser eine "Anti-Canvas-Fingerprinting"-Funktion erhält, diese fällt aber viel zu spartanisch aus, CanvasBlocker bleibt daher weiterhin die bessere Addon-Alternative.
@spodermenpls , zu spartanisch ist es warum?
Weil es nur im PrivacyResist Modus geht?
Sehr "interessantes" Feature, wenn beim panopticlick der EFF sich die Erkennbarkeit des Browsers verschlechtert anstatt verbessert wird.
Wieso wird mit privacy.resistFingerprinting auf true eine Auflösung anzeigt, die der für den Webseiteninhalt zur Verfügung stehenden Platz entsprechen dürfte, ohne das Anti-Fingerprinting aber die wahre Monitorauflösung.
Das führt die Verbesserungen im Canvas-/WebGL-Fingerprinting irgendwie ad absurdum und im Bugzilla konnte ich leider keinen Bug finden, der damit zusammenhängen könnte.
Übersehe ich hier etwas oder kann man das wirklich als Bug in der Option werten (getestet mit einer der beiden gestrigen Nightly-versionen)?
Ja, du übersiehst, was die Funktionsweise dieser Funktion auf der einen Seite und der Zweck von Panopticlick auf der anderen Seite ist. Ohne den Canvas-Schutz kann Canvas zum Tracking genutzt werden, mit dem Canvas-Schutz kann Canvas nicht zum Tracking genutzt werden – vollkommen egal, was Panopticlick sagt.
Der Zweck von privacy.resistFingerprinting ist die Verschleierung realer Daten.
Ich verstehe diese Aussage nicht. Der Canvas-Schutz verhindert das Tracking über Canvas. Was du beschrieben hast, beeinflusst diese Eigenschaft in keiner Weise.
Es ist vollkommen klar, dass man am ehesten in der Masse untergeht, wenn man überhaupt nichts macht und Webseiten alle Möglichkeiten des Trackings gibt. Mit jeder Maßnahme gegen Tracking macht man etwas, wodurch man sich abhebt. Aber das ist eben nicht das, was die Nutzer wollen, die solche Funktionen nutzen. Diese Nutzer wollen nicht ihre realen Daten preisgeben und anhand realer Daten identifizierbar sein. Natürlich muss jedem klar sein, dass z.b. ein veränderter User-Agent dafür sorgt, dass man eine seltener genutzte Konfiguration nutzt und eher hervorsticht. Aber trotzdem ändern Nutzer mit einem Interesse geringerer Wiedererkennbarkeit ihren User-Agent. Daher sehe ich keine andere Erklärung als das.
Genau da habe ich ja das Problem, da eine realer Wert (Auflösung des Monitors) gegen einen anderen realen Wert (Fenstergröße abzüglich GUI) getauscht wird. Da Monitore mehr oder weniger nur eine Handvoll Möglichkeiten für die Auflösung haben, kann ich das Firefoxfenster innerhalb der Monitorgrenzen beliebig skalieren und über die Sidebar/Lesezeichenleiste, Kompakt/Nicht Kompakten Themen ab Firefox 57 weiter "individualisieren".
Ich hätte erwartet, dass diese Erkennungsmöglichkeit durch das Antifingerprinting verschwindet und nicht erst geschaffen wird, oder anders gesagt, dass mit privacy.resistFingerprinting die Auflösung als ein fest definierte Wert für alle gleich ausgegeben wird (z.B. 1000*800 Pixel unabhängig von der wahren Auflösung), ähnlich wie mein dank Nightly seltener Useragent (Nightly auf Win 10) durch einen häufigen (Firefox 52 auf Win 7) getauscht wird.
Verschwinden ist nicht möglich. Selbst wenn du einen festen Wert verwendest, ist das ein Wert, der genutzt werden kann. Für konkrete Vorschläge und Kritik solltest du dich an das Tor-Projekt wenden. Vielleicht kann man dir dort mehr Hintergrund geben, wieso die Dinge so implementiert wurden, wie sie implementiert sind. Falls du Anworten erhältst, darfst du sie gerne hier mitteilen. Ich selbst habe mich nicht mit allen Änderungen und deren Hintergrund befasst, da ich die Einstellung für web-inkompatibel halte. 😉
@moonshine:
Es ist insofern spartanisch, da Firefox nur einen "um Erlaubnis fragen"-Modus bietet, die man für jede (auslesende) Domain aktiv beantworten muss (inkl. einem Reload der Seite, das Blockieren der Auslese könnte zudem Probleme mit manchen Seiten verursachen). CanvasBlocker täuscht im Standardmodus (einer von 8) dagegen selbst generierte Werte vor, sodass man zu keiner Zeit selbst aktiv werden muss, zudem lässt es sich (besonders seit der neuen WebExtension-Fassung) sehr detailliert anpassen.
Abseits davon ist es auch sehr unpraktisch, dass der Canvas-Schutz laut Artikel nur im Paket (= privacy.resistFingerprinting) mit anderen, teils kontraproduktiven Tools (z.B. User-Agent-Spoofing) aktivierbar ist.
welches Tool soll das sein?
Es gibt (u.a.) ein Add-on: User Agent Spoofer, was in der Tat kontraproduktiv war.
1) waren die Einstellungen komplex
2) deren Auswirkungen waren unvorsehbar
3) diverse websites haben nur noch schwer funktioniert
4) Add-on wird nicht mehr weiter entwickelt, für Firefox 57
5) Seitdem ich es nicht mehr nutze, läuft Firefox in der Tat flüssiger.
zwei Beispiele nennt der Artikel, darunter ein Spoofing des User-Agents.