Aktualisierungen als RSS-Feed oder im Changelog.

Privacy-Handbuch

Das HTML5 Canvas Element ist ein Grafikbereich auf der Webseite, in den der Browser mit Javascript zeichnen kann. Ähnlich wie bei einem Zeichenprogramm kann man auch Text schreiben. Die Trackingbranche hat Methoden entwickelt, um diese Technik für die Berechnung eines Fingerprinting des Browser zu nutzen.
  1. Mit Javascript kann ein Text in das Canvas Element geschrieben werden. Danach wird das Ergebnis als Grafik ausge­lesen und ein Hashwert von der Grafik berechnet. Das Ergebnis unterscheidet sich von Browser zu Browser aufgrund installierter Schriften, Software für das Rendering usw.

    Dieses Verfahren wurde 2012 in dem Paper Perfect Pixel (PDF) beschrieben und 2016 auf 14.371 Webseiten als Trackingverfahren nach­gewiesen. Der Canvastest auf Browsewrleaks.com demonstriert das Verfahren. Als einfache Demo kann der Test Schluss­folgerungen über den verwendeten Browser und das Betriebs­system ableiten (und damit einen User-Agent Fake enttarnen).
    Canvas Fingerprinting
  2. Canvas Font Fingerprinting wurde 2016 in dem OpenWPM Paper (PDF) beschrieben. Dabei wird das "CanvasRenderingContext2D" Objekt mit der Methode "measureText" genutzt. Der Text wird nicht in das Canvas Element geschrieben sondern es wird nur die Größe ermittelt, die ein Text mit unter­schiedlichen Schriftarten benötigen würde, wenn er geschrieben werden würde. Damit ist es möglich, die installierten Schriftarten zu ermitteln, die ein gut geeignetes Merkmal für das Fingerprinting sind.

    Canvas Font Fingerprinting wurde 2016 von einen Trackingdienst genutzt und ist auf 2,5% der TOP1000 Webseiten im Einsatz. Die Trackingscripte werden von uBlock Origin und anderen Filterlisten blockiert.

Schutz gegen Fingerprinting mit HTML5 Canvas

Den Schutz gegen Fingerprinting mit HTML5 Canvas muss man im Kontext des Gesamt­konzeptes des Schutzes gegen Tracking sehen:

Add-ons zur Modifikation des Canvas Fingerprint

Wer sich besser dabei fühlt, den HTML5 Canvas Fingerprint nach der ersten Methode zu modifizieren oder zu blockieren, kann folgende Add-ons mit Firefox nutzen (gegen die 2. Methode gibt es zur Zeit keinen Schutz):

CanvasDefenderDas Add-on CanvasDefender fügt ein bisschen Rauschen bei Auslesen des Canvas ein. Dadurch erhält man einen eindeutigen Fingerprint. Man kann das eingefügten Rauschen aber von Zeit zu Zeit mit einem Klick variieren, so dass die Wieder­erkennung nach dem ersten Trackingverfahren ausgetrickst wird.

CanvasBlockerDas Add-on CanvasBlocker kann Zugriffe auf Canvas Elemente blockieren oder faken. In den "Einstellungen" des Add-on kann man das gewünschte Verhalten konfigurieren und damit das erste genannte Tracking­verfahren blockieren. Allerdings entsteht durch das Blockieren oder Faken ein neues individuelles Merkmal. Das Add-on kann man in einer definierten Anonymitätsgruppe sinnvoll einsetzen.

Da nur das Auslesen des Canvas als Bild für das Fingerprinting relevant ist, reicht es aus, nur die Auslese-API zu blockieren oder bei Zugriff auf die Auslese-API um Erlaubnis zu fragen. Dann können Webseiten HTML5 Canvas Elemente zur Gestaltung der Webseite nutzen aber die Ergebnisse des Rendering nicht mehr heimlich auslesen.

Außerdem kann man eine Whitelist von Domains bzw. URLs zw definieren, denen der Zugriff auf die gesperrten API Funktionen gestattet wird, weil es für die Nutzung der Webseite notendig ist. (Es gibt auch sinnvolle Anwendungen für die Canvas API.)
Canvas Blocker Konfiguration
Lizenz: Public Domain