Die Aktualisierungen gibt es 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 bereits 2016 auf 14.371 Webseiten als Trackingverfahren nach­gewiesen. Der Canvastest auf Browser­leaks.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. Der ClientRects Test demonstriert das Verfahren.

    Auch dieses Trackingverfahren wird in-the-wild für das Browserfingerprinting eingesetzt. 

Schutz gegen Fingerprinting mit HTML5 Canvas

CanvasBlockerDas Add-on CanvasBlocker kann Zugriffe auf Canvas-API faken (geringfügig modifizieren) oder blockieren. Daneben werden noch weitere Javascript-APIs modifiziert wie die Audio-API oder die Screen-API zum Auslesen der Fenster- und Bild­schirm­größe, die als Informationen für Browserfingerprintig genutzt werden.

Der Name des Add-ons CanvasBlocker kommt daher, dass die Enwicklung mit dem Faken bzw. Blockieren der Canvas-API begann, um das 2012 beschriebene Trackingverfahren zu stören. Inzwischen hat sich das Add-on zu einem umfangreicheren Tool weiterentwickelt.

Das Add-on bietet viele Einstellungsmöglichkeiten. Um die Konfiguration zu vereinfachen, bietet es drei Presets von Einstellungen, die bei der Installation angeboten werden:
  1. Convenient Settings (nur leichte Modifikationen der APIs)
  2. Steahlt Settings (meiner Meinung nach die besten Einstellungen, da sie einen umfangreichen Schutz bieten aber schwer als Fakes erkennbar sind)
  3. Maximum Protection (maximaler Schutz aber mit kleinen Störungen auf einigen Websites, außerdem sind die Fakes teilweise durch Trackingscripte erkennbar)
Bei der Installation kann man einen der genannten Paramtersätze auswählen:
CanvasBlocker Presets auswählen

Um nachträglich die Presets zu ändern, klickt man in den Einstellungen von CanvasBlocker auf dem Reiter "General" in der Sektion "Settings" auf den Button "Open" für die Presets.
CanvasBlocker Presets aufrufen
Es öffnet sich ein neuer Tab, wo man einen der vorbereiteten Parametersätze auswählt.

Whitelisting vertrauenswürdiger Webseiten

Die Canvas-API wird nicht nur für das Tracking verwendet. Viele Javascript-lastige Webseiten verwenden es auch, um die optimale die Darstellung der Webseiten zu berechnen. Für vertauens­würdige Webseiten gibt es deshalb die Mööglichkeit, ein Whitelist zu definieren.

Wenn der Zugriff auf eine geschützte Javascript API festgestellt wird, erscheint in der URL-Leiste ein kleiner Fingerabdruck als Symbol. Wenn man auf den Fingerabdruck klickt, erscheint eine kleines Fenster mit den Informationen, auf welche APIs die Webseite zugreift.
CanvasBlocker Whitelist Eintrag hinzufügen


Mit einem Klick auf deas grüne Häckchen kann man einen dauerhaften Eintrag für die Whitelist erstellen oder mit einem Klick auf das grüne Häckchen mit der Uhr einen temporären Eintrag, der bis zum Schließen des Browsers gültig ist.

Im zweiten Schritt legt man fest, ob der Eintrag für die gesamte Domain gültig sein soll oder nur für die aktuell dargestellte Webseite.
CanvasBlocker Whitelist Eintrag definieren
Lizenz: Public Domain