Alles, was Sie über Canvas-Fingerprinting wissen müssen (2024)

Es gibt viele Techniken, die verwendet werden können, um Sie über Ihre Browser zu verfolgen und zu identifizieren. Eine der kreativsten und effektivsten Möglichkeiten, wie Websites dies tun können, ist das Canvas-Fingerprinting. Diese innovative Tracking-Technik ermöglicht es Websites, Benutzer zu identifizieren, indem untersucht wird, wie ihre Computer die Aufgabe ausführen, ein Bild zu zeichnen.

Wir erhalten häufig Nachrichten von datenschutzorientierten Personen, die vorschlagen, dass wir eine Liste mit Canvas-Fingerprinting-Hashes erstellen. Dieses Missverständnis rührt daher, dass Online-Tests einen individuellen Canvas-Fingerabdruck als Hash darstellen. Das Erstellen einer vollständigen Datenbank dieser Hashes ist jedoch aufgrund der Natur des Fingerabdruckprozesses selbst nicht möglich.

Sie müssen verschiedene Faktoren berücksichtigen, um wirklich zu verstehen, wie Canvas Fingerprinting funktioniert. In diesem Artikel geben wir eine ausführliche Erklärung zum Canvas-Fingerprinting, wie es funktioniert und warum die verfügbaren Optionen zur Bekämpfung dieser Tracking-Technik nicht ideal sind.

Hashfunktionen verstehen

Bevor Sie sich mit dem Canvas-Fingerabdruck befassen, müssen Sie das Konzept der Hash-Funktionen verstehen. Hashing-Funktionen nehmen einen Datenblock wie Text, Bild oder Audio und reduzieren ihn auf eine standardisierte Datenmenge, ohne seine Einzigartigkeit zu verlieren. Diese werden als Hashes bezeichnet.

Es gibt zahlreiche Hashing-Funktionen, aber eines haben alle gemeinsam: Sie dienen der Reduzierung der Datenmenge für einen schnellen und einfachen Vergleich, obwohl es auch andere Verwendungen gab.

Einer der Gründe, warum Hash-Funktionen beim Canvas-Fingerprinting verwendet werden, ist die Tatsache, dass sie immer dasselbe Ergebnis liefern, wenn die Eingabe genau gleich bleibt. Wenn Sie beispielsweise das Wort „bizarr“ durch die SHA-256-Hashing-Funktion laufen lassen, lautet der resultierende Hash immer:

b6e4acc0d58497837b1273b11bc14bb7334e0b56ecbda2f9b98363d343b30610

Nun zum interessanten Teil. Wenn wir den Begriff „bizarr“ verwenden, der aus demselben Wort mit Leerzeichen daneben besteht, wäre der resultierende Hash völlig anders:

e3d52382d090793314599af020841d0772e9fb7f8d94c5dd7415fc896d4e1e8b

Mit anderen Worten, wenn Sie zwei Elemente, die mit dem menschlichen Auge identisch sind, durch eine Hash-Funktion laufen lassen, können sie immer noch unterschiedliche Ergebnisse liefern. Dies liegt an kleinen Variationen und Unterschieden in der Eingabe, die für das menschliche Auge nicht wahrnehmbar sind. Denken Sie daran, da dies eine große Rolle beim Canvas-Fingerabdruck spielt!

Ein weiteres Merkmal, das Sie verstehen müssen, ist, dass Hash-Funktionen nicht umkehrbar sind. Mit anderen Worten, Sie können jedes Datenelement in einen Hash umwandeln, aber Sie können es nicht wieder in die ursprüngliche Eingabe umwandeln. Mit der MD5-Hashing-Funktion können Sie beispielsweise das Wort „Hund“ in 06d80eb0c50b49a509b49f2424e8c805 umwandeln, aber Sie können denselben Vorgang nicht rückwärts ausführen.

Wenn Sie außerdem eine Hash-Funktion auf verschiedene Informationsblöcke anwenden, ist es unmöglich zu sagen, wie ähnlich oder wie unterschiedlich die ursprünglichen Eingaben waren. Leider hat diese Eigenschaft keinen Einfluss auf die Wirksamkeit des Leinwand-Fingerabdrucks.

Wie lesen Websites Canvas-Fingerabdrücke?

Das Canvas-Fingerprinting beginnt, wenn eine Website Ihrem Browser die Aufgabe gibt, ein Canvas-Objekt zu zeichnen. Denken Sie daran, dass das Canvas-Objekt nicht Ihr Canvas-Fingerabdruck ist, sondern einfach ein Tool, mit dem Websites einfache und komplexe Grafiken erstellen können.

Websites verwenden JavaScript, um Ihrem Browser die Aufgabe zu übertragen, mithilfe eines vordefinierten Skripts ein Bild in das Canvas-Objekt zu zeichnen. Dieses Bild kann komplexe Elemente wie Linien, Farben, geometrische Figuren enthalten, unterschiedliche Hintergründe haben oder auf unterschiedliche Weise verzerrt sein.

Die Hauptsache, die Sie immer im Auge behalten müssen, ist, dass verschiedene Computer das Bild auf eine etwas andere Weise zeichnen. Auch wenn die erzeugten Bilder für das menschliche Auge gleich aussehen, gibt es leichte Abweichungen, die eine Unterscheidung ermöglichen.

Erinnern Sie sich also an die Natur von Hash-Funktionen? Zwei Informationen, die für das menschliche Auge gleich aussehen, aber geringfügige Abweichungen aufweisen, führen zu völlig unterschiedlichen Hashes. Selbst die kleinsten, winzigsten Unterschiede reichen aus, um drastisch unterschiedliche Ergebnisse zu erzielen.

Aber warum erzeugen verschiedene Computer unterschiedliche Bilder, wenn sie die gleichen Anweisungen erhalten?

Zeichnen von Bildern mit mathematischen Formeln

Wenn Programmierer Bilder in ein Canvas-Objekt zeichnen, ist der Vorgang nicht derselbe wie beim Zeichnen eines Bildes in MS Paint. Das gezeichnete Bild ist das Ergebnis eines Skripts, das einer mathematischen Formel folgt. Nehmen Sie sich eine Minute Zeit, um sich an Ihre Schulzeit zu erinnern, und denken Sie darüber nach, wie Sie mit Formeln einen Kreis zeichnen könnten.

Zunächst benötigen Sie zwei Koordinaten (X und Y), um den Mittelpunkt des Kreises festzulegen. Dann benötigen Sie einen Radius (R) in Pixeln. Sobald Sie diese beiden haben, zeichnet Ihr Computer den Kreis auf Ihrem Bildschirm, indem er alle einzelnen Pixel ausfüllt, die sich im R-Abstand vom Mittelpunkt des Kreises befinden. Einfach richtig?

Aber die Dinge können wirklich kompliziert werden, wenn Sie anfangen, komplexe Bilder zu zeichnen. Mithilfe von in Javascript geschriebenen Anweisungen können Sie alle Arten von Formen, Schatten, Farben, Hintergründen und anderen komplexen Elementen in einem Canvas-Objekt erstellen.

Was macht einen Leinwand-Fingerabdruck einzigartig?

Alles, was Sie über Canvas-Fingerprinting wissen müssen (1) Bild: So sahen Systemfonts auf alten Computersystemen aus.

In der Steinzeit des Computerzeitalters zeichneten alle Maschinen genau das gleiche Bild, wenn sie die gleichen Anweisungen erhielten. Aber mit der Entwicklung hochauflösender Bildschirme kamen Hard- und Softwareentwickler auf Filter, die das endgültige Erscheinungsbild dieser Bilder verbessern.

Diese Filter werden angewendet, wenn die Formeln in Pixelbilder umgewandelt werden, und sie führen zu Bildern, die schärfer und klarer sind und einfach besser aussehen. Der bemerkenswerteste Filter ist Anti-Aliasing, aber es gibt auch andere spezifische, wie Hinweise, die beim Zeichnen von Schriftarten verwendet werden.

Ebenso enthalten alle Schriftarten Glyphen, die als eine Reihe von Pfaden oder geschlossenen Kurven beschrieben werden können, die mit einer bestimmten mathematischen Formel angegeben werden. Zum Beispiel hat ein Kleinbuchstabe „i“ zwei Glyphen, eine für den Punkt und eine für den Körper. Diese speziellen Glyphen, die auch als Umrisse bezeichnet werden, werden dann mit Pixeln gefüllt, um die endgültige Buchstabenform zu erstellen.

Glyphen können sich auch anders verhalten, weil sie manchmal von anderen Komponenten abhängen, die sie umgeben und beeinflussen. Eine Glyphe kann Verweise auf andere Pfade enthalten, die zusammen eine zusammengesetzte Glyphe ergeben, z. B. ein „e“. In dieser zusammengesetzten Glyphe haben sowohl das „e“ als auch das Akzentzeichen Platzierungs- und optionale Transformationsdaten, die ihnen zugeordnet sind.

Hinweis

Alles, was Sie über Canvas-Fingerprinting wissen müssen (2) Bild: Prinzipschema für Schrifthinweise

Alles, was Sie über Canvas-Fingerprinting wissen müssen (3)

Neben den grundlegenden mathematischen Daten, die den Umriss jeder einzelnen Glyphe definieren, können Schriftarten auch zusätzliche „Hinweise“ speichern. Hinweise sind im Grunde Anweisungen, die ausgeführt werden, wenn die Glyphen auf Ihrem Bildschirm gezeichnet werden. Diese Anweisungen verschieben einige der Punkte, die die Form der Buchstaben definieren, um sicherzustellen, dass sie in Bezug auf das Gitter, in dem die Glyphe angezeigt wird, korrekt positioniert sind. Auf diese Weise sieht die Schriftart gleich aus, unabhängig davon, auf welchem ​​Bildschirm sie angezeigt wird.

Kantenglättung

Alles, was Sie über Canvas-Fingerprinting wissen müssen (4) Bild: So funktioniert Anti-Aliasing

Anti-Aliasing ist möglicherweise der heute am häufigsten verwendete Filter und besteht darin, graue Pixel zu verwenden, um die Kanten jeder Glyphe zu verwischen. Wenn Sie in eine Seite hineinzoomen, werden Sie feststellen, dass die Ränder gebogener Buchstaben nicht perfekt, sondern eher gezackt sind. Der Anti-Aliasing-Filter glättet diese gezackten Kanten, da unsere Augen den Unterschied in der Tonalität ausgleichen.

Was jeden Leinwand-Fingerabdruck einzigartig macht, ist nicht das endgültige Bild, das wir sehen, sondern wie jeder Computer Hinweise und Anti-Aliasing rendert. Unterschiedliche Computer führen jeden Prozess unterschiedlich aus, und diese Tatsache ermöglicht ein effektives Fingerprinting.

Wenn zwei Computer dieselbe Zeichenaufgabe erhalten, gibt es neben anderen Unterscheidungen leicht unterschiedliche Farbtöne von Grenzpixeln. Diese winzigen Prozessabweichungen führen zu einem Bild, das für uns gleich aussieht, aber nicht für Websites. Beachten Sie, dass wissenschaftliche Studien zeigen, dass Computerhardware, Treiber und Browserversionen alle die resultierenden Glyphen beeinflussen können. Außerdem haben wir bei unseren eigenen Untersuchungen festgestellt, dass Computer mit denselben Grafikprozessoren (GPUs) wahrscheinlich dieselben Ergebnisse liefern.

Vergleichen von Canvas-Fingerabdrücken durch Hashes

Nachdem wir nun Hash-Funktionen und die Einzigartigkeit von Canvas-Fingerabdrücken behandelt haben, ist es an der Zeit, sie miteinander zu verbinden. Websites, die Canvas Fingerprinting verwenden, geben allen Besuchern Anweisungen zum Zeichnen bestimmter Bilder. Das Zurücksenden des gerenderten Bildes an eine Website wäre jedoch unpraktisch. Stattdessen verwenden Websites eine Hash-Funktion, um die Größe der Daten zu reduzieren, ohne ihre Einzigartigkeit zu verlieren.

Wie wir bereits erwähnt haben, können zwei Daten, die für das menschliche Auge gleich aussehen, Unterschiede aufweisen, die zu unterschiedlichen Hashes führen, wie „bizarr“ und „bizarr“. Das Prinzip ist das gleiche für Fingerabdrücke auf Leinwand. Für das menschliche Auge sehen die angezeigten Bilder alle gleich aus, aber geringfügige Unterschiede und Diskrepanzen, die sich aus der Verwendung verschiedener Maschinen ergeben, können identifiziert, gehasht und durch einfache, aber eindeutige Informationsketten an Websites gesendet werden.

Kurz gesagt, Canvas Fingerprinting findet statt, wenn eine Website bestimmt, wie Ihr Computer grafische Anweisungen verarbeitet. Aus diesem Grund ist es praktisch unmöglich, eine Datenbank mit Canvas-Hashes zu erstellen. Websites können bestimmte Anweisungen an Ihren Computer senden und eine von mehreren verschiedenen Hash-Funktionen verwenden, um die an sie zurückgesendeten Daten zu vereinfachen. Darüber hinaus können Websites die Anweisungen und/oder Hash-Funktionen jederzeit ändern, um Besucher auf völlig andere Weise mit Fingerabdrücken zu versehen.

Minderungsmechanismen und warum sie nicht gut funktionieren

Aufgrund der Art der Leinwand-Fingerabdrucktechniken ist es wirklich schwierig, einen effektiven Weg zu finden, sie zu bekämpfen. Die erste von der Online-Datenschutz-Community entwickelte Lösung bestand darin, die Canvas-Funktion zu deaktivieren. Dies wäre möglicherweise eine praktikable Lösung gewesen, wenn sie von einer ausreichend großen Gruppe angenommen worden wäre. Zum Zeitpunkt des Schreibens dieses Artikels schätzen wir jedoch, dass nur 20.000 Benutzer auf der ganzen Welt Add-Ons verwenden, die Canvas-Fingerabdrücke blockieren, und die bloße Tatsache, dass diese Add-Ons verwendet werden, kann allein als Fingerabdruck verwendet werden.

Wie bereits erwähnt, haben Computer mit derselben GPU wahrscheinlich dieselbe Canvas-Ausgabe. Videoadapter mit identischen GPUs können zu Tausenden oder sogar Millionen verkauft werden. Sich in eine Gruppe einzuordnen, die aus Millionen besteht, anstatt der 20.000, die Canvas-Blocker verwenden, würde effektivere Ergebnisse liefern.

Hier bei Multilogin haben wir eine robustere Lösung namens Canvas Defender entwickelt. Die Idee dahinter war, der Canvas-Ausgabe ein willkürliches Rauschen hinzuzufügen, indem die Farbtöne einiger Pixel im Bild zufällig geändert werden. Ja, obwohl die Lösung es Websites ermöglichte, Benutzer genauer zu verfolgen, gab es zwei Hauptvorteile, die in bestimmten Szenarien funktionierten.

Die erste war die Möglichkeit, den Schwanz fallen zu lassen, da Sie entscheiden konnten, wann Sie Ihren Canvas-Fingerabdruck ändern möchten. Der zweite Vorteil galt nur für Benutzer, die unterschiedliche Browserprofile für unterschiedliche Aufgaben verwendeten. Obwohl jedes Profil mit einem Fingerabdruck versehen werden konnte, war die Verfolgung eines Benutzers, der nur eine Website besuchte und eine bestimmte Aufgabe ausführte, eine sinnlose Übung.

Leider wurde Canvas Defender schnell von großen Webplattformen bemerkt, und so sehr wir es lieben, die Online-Privatsphäre zu schützen, sie lieben es, Informationen von uns zu sammeln. Um Benutzer daran zu hindern, Canvas Defender zu verwenden, haben große Websites damit begonnen, Benutzer mit einem völlig eindeutigen Canvas-Fingerabdruck herauszufiltern. Das macht Sinn, denn es gibt keine Anwender mit völlig einzigartigen GPUs, außer den Ingenieuren, die in ihren Labors neue Grafikkartenmodelle testen.

Abschließend…

Canvas Fingerprinting ist effizient und stellt eine große Herausforderung für Online-Privatsphäre-Enthusiasten dar. Das Blockieren von Canvas-Objekten ist nur effektiv, wenn eine große Gruppe von Benutzern diese Lösung übernimmt, was aufgrund der Komplexität dieses Themas unwahrscheinlich ist.

Das Maskieren von Canvas-Fingerabdruckdaten mit gefälschten Parametern erfordert zusätzliche Schritte, wie das Einrichten verschiedener Browserprofile. Darüber hinaus können Webplattformen maskierte Parameter in der Regel problemlos erkennen. Selbst wenn sie einfach zu implementieren wären, würden Webplattformen Benutzer stören, die maskierte Parameter verwenden, indem sie zusätzliche Überprüfungsschritte und Sicherheitsprüfungen integrieren.

Davon abgesehen ist es nicht alles düster, wenn es um Fingerabdrücke auf Leinwand geht. Hier bei Multilogin haben wir bereits eine theoretische Lösung entwickelt, die wahrscheinlich die effektive Antwort wird, auf die wir alle gewartet haben.

Im Moment werden wir diese Lösung nicht im Detail besprechen, da wir noch daran arbeiten, sie zu implementieren und auf alle Szenarien anzuwenden. Ganz zu schweigen davon, dass wir denjenigen, die Fingerprinting-Mechanismen entwickeln, keinen Wettbewerbsvorteil verschaffen wollen.

Aber seien Sie versichert, dass wir diese Lösung früher oder später einführen werden, da große Webplattformen an der Reihe waren. Jetzt liegt der Ball bei uns, und wir planen eine große Wirkung.

Alles, was Sie über Canvas-Fingerprinting wissen müssen (2024)

References

Top Articles
Latest Posts
Article information

Author: Lidia Grady

Last Updated:

Views: 6620

Rating: 4.4 / 5 (65 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Lidia Grady

Birthday: 1992-01-22

Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

Phone: +29914464387516

Job: Customer Engineer

Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.