Canvas, WebGL und Audio: So entstehen Browser-Fingerprints

Canvas, WebGL und Audio: So entstehen Browser-Fingerprints

Canvas, WebGL und Web-Audio können Unterschiede zwischen Browsern sichtbar machen. Erfahre, wie diese Signale erfasst werden, was Schutzfunktionen ändern und wo ihre Grenzen liegen.

Sicherheit und Datenschutz
Browser.lol
17.05.2026
20 Min. Lesezeit
Teilen

Wenn du Cookies löschst, entfernst du eine gespeicherte Kennung. Eine Website kann den Browser trotzdem bitten, ein Bild zu zeichnen, Grafikfunktionen zu melden oder ein Audiosignal zu verarbeiten. Die Ergebnisse können helfen, Besuche zu verknüpfen. Sie sind aber weder universelle IDs noch ein Beweis dafür, dass die Website eine bestimmte Person wiedererkannt hat.

Canvas, WebGL und Web-Audio liefern drei Arten von Browsersignalen. Grafik- und Audioausgaben können Software, Schriften, Einstellungen, Treiber und Hardware widerspiegeln. Manche Werte bleiben nach einem Neustart ähnlich; andere ändern sich durch Updates oder Schutzfunktionen. Ein Tracker kann sie mit weiteren Angaben wie einem Konto oder einer Netzwerkadresse kombinieren. Dieser Leitfaden erklärt die Techniken und warum kein einzelnes Ergebnis Identität oder Anonymität beweist.

Ein Browser-Fingerprint wird aus beobachtbaren Eigenschaften berechnet und nicht aus einer einzigen Datei gelesen. Ein Skript kann die Ausgabe einer Zeichnung oder einer Audioverarbeitung ohne Wiedergabe hashen und mit späteren Beobachtungen vergleichen. Gleiche Werte bedeuten nicht zwingend dieselbe Person; veränderte Werte bedeuten nicht zwingend verschiedene Personen. Den grösseren Zusammenhang erklärt unser Einstieg ins Browser-Fingerprinting. Hier schauen wir uns drei Browser-APIs genauer an.

Warum wir diese drei Signale betrachten

Ein Fingerprint kann Anfrage-Header, Bildschirmmasse, Sprache, Zeitzone, Browserfunktionen und viele weitere Beobachtungen enthalten. Was ein Skript erfassen kann, hängt von Berechtigungen, Einstellungen und Schutzfunktionen des Browsers ab. Wie nützlich ein Merkmal ist, hängt auch von der Vergleichsgruppe ab. Eine feste Zahl von Signalen oder Bits pro Merkmal würde eine Genauigkeit vortäuschen, die sich nicht belegen lässt.

Canvas und WebGL können ausgewählte Inhalte zeichnen; ein Offline-Audiokontext kann ein vorgegebenes Audiosignal verarbeiten, ohne es abzuspielen. Ein Skript kann die Ausgabe vergleichen oder hashen. Schriftendarstellung, Browser-Implementierung, Grafiksoftware, Softwareversionen und Hardware können das Resultat beeinflussen. Dieselbe Maschine kann nach einem Update oder mit anderen Einstellungen andere Werte liefern, während verschiedene Maschinen gleiche Werte liefern können. Die W3C-Leitlinien zum Fingerprinting erläutern die Grenzen solcher Signale.

Untersuchungen zeigen, dass Grafik- und Audiosignale helfen können, Browser zu unterscheiden. Ihr Informationsgehalt schwankt aber mit Stichprobe, Browser-Version und Abwehr. Die drei Signale hängen zudem zusammen; ihre Informationswerte lassen sich nicht einfach addieren. Der Forschungsüberblick des Tor Project beschreibt diese Techniken und erklärt, warum es keinen perfekten Schutz gegen Fingerprinting gibt. Ein Testwert gilt nur für seine Methode und Besucher, nicht als allgemeine Wiedererkennungswahrscheinlichkeit.

Canvas-Fingerprinting im Detail

Browser-Fenster mit einem hexagonalen Canvas-Bereich, dessen Kanten von Messpunkten nachgezeichnet werden, darunter eine Reihe von Rechtecken als Hash

Ein Skript kann Formen und Text in ein nicht sichtbares <canvas> zeichnen, die Pixel auslesen oder toDataURL() aufrufen und das Ergebnis vergleichen oder hashen. Die Seite muss das Bild nicht anzeigen. Schriften, Rendering des Browsers, Grafikeinstellungen und Abwehrfunktionen können die Ausgabe beeinflussen. Der Hash ist eine kompakte Vergleichsform, keine vom Gerät vergebene Kennung.

Dieselbe Zeichnung kann unter unveränderten Bedingungen dieselben Pixel erzeugen. Ihre Beständigkeit ist aber über Browser-Versionen, private Modi, Updates oder Websites hinweg nicht garantiert. Eine veränderte Ausgabe kann einen einfachen Abgleich verhindern; dieselbe Ausgabe können viele Besucher teilen. Deshalb kombinieren Fingerprinting-Systeme Canvas möglicherweise mit weiteren Beobachtungen, statt sich auf einen Hash zu verlassen.

Ein vereinfachtes Beispiel für das Auslesen:

const c = document.createElement("canvas");
const ctx = c.getContext("2d");
ctx.textBaseline = "alphabetic";
ctx.font = "14px 'Arial'";
ctx.fillStyle = "#069";
ctx.fillText("Cwm fjordbank glyphs vext quiz, ", 2, 15);
ctx.fillStyle = "rgba(102,204,0,0.7)";
ctx.fillText("Cwm fjordbank glyphs vext quiz, ", 4, 17);
const png = c.toDataURL();
// Eine Website kann png vergleichen oder hashen. Es ist keine universelle ID.

Dieses Beispiel zeigt eine API, nicht die Implementierung eines bestimmten Anbieters. Browser können den Nutzen solcher Auslesevorgänge verringern: Brave dokumentiert Farbling pro Website und Session für ausgewählte Canvas- und Audioausgaben; WebKit beschreibt Rauschen im privaten Modus. Browser-Einstellungen und Drittanbieter-Blocker können ein Skript ebenfalls stoppen. Eine eigene Schutzkonfiguration kann selbst beobachtbares Verhalten erzeugen. Teste deshalb genau die Konfiguration und Websites, die du nutzt.

WebGL-Fingerprinting im Detail

Browser-Fenster mit einer triangulierten Low-Poly-Form aus dünnen verbundenen Dreiecken, in der Ecke ein kleines Chip-Symbol

WebGL lässt eine Website über den Browser Grafikoperationen anfordern; es gewährt keinen unbeschränkten GPU-Zugriff. Wenn die Erweiterung WEBGL_debug_renderer_info verfügbar ist, kann sie Hersteller- und Renderer-Strings offenlegen. Eine Implementierung könnte etwa einen ANGLE-Renderer mit GPU-Modell melden. Laut MDN-Dokumentation können Datenschutzeinstellungen diese Erweiterung einschränken. Detailgrad und Aussagekraft des Strings hängen von Browser und Gerät ab.

Auch ohne diese Erweiterung kann ein Skript eine bestimmte Szene zeichnen und mit readPixels() Pixel auslesen. Shader-Verhalten, Genauigkeit, Grafiksoftware und Hardware können das Bild beeinflussen. Das Ergebnis lässt sich hashen; Browser-Abwehr kann das Auslesen aber verändern oder blockieren. Zudem können verschiedene Geräte dieselbe Ausgabe erzeugen. Renderer-String und Pixelbild sind getrennte Signale, kein Beweis für eine einzigartige GPU oder Person.

Einschränkungen für Renderer-Details oder das Auslesen von Pixeln können die Preisgabe verringern, ohne WebGL ganz zu entfernen. WebGL abzuschalten ist ein stärkerer Eingriff, der Websites mit 3D-Grafik und anderen beschleunigten Funktionen beeinträchtigen kann. Firefox bietet die Einstellung webgl.disabled; sein Fingerprinting-Schutz deaktiviert die Debug-Renderer-Erweiterung. Brave hat zudem neuere Schutzfunktionen für GPU- und Renderer-Daten dokumentiert. Prüfe Verfügbarkeit und genaues Verhalten in der verwendeten Browser-Version und Schutzstufe.

AudioContext-Fingerprinting im Detail

Browser-Fenster mit einer sauberen Sinuswelle entlang einer horizontalen Achse, darunter eine Reihe von Rechtecken als stabiler Hash

Ein Skript kann einen OfflineAudioContext erstellen, ein vorgegebenes Signal durch ein Audionetzwerk verarbeiten und den erzeugten Sample-Puffer untersuchen. Das Netzwerk kann einen Oszillator und Kompressor enthalten. Die Offline-Verarbeitung schreibt einen Puffer, statt Ton an die Lautsprecher zu schicken. Für den Vergleich der Website zählen die Sample-Werte, nicht das, was jemand hört. Mehr dazu steht in der Dokumentation zu OfflineAudioContext.

Implementierungen und Einstellungen können bei demselben Audionetzwerk verschiedene Samples erzeugen. Ein Skript kann ausgewählte Werte vergleichen oder den Puffer hashen. Unterschiede sind aber nicht garantiert, und identische Werte können auf verschiedenen Systemen vorkommen. Browser-Schutzfunktionen können die Ausgabe ebenfalls verändern. Das Ergebnis ist ein mögliches Signal, keine dauerhafte Hardware-Seriennummer.

Audiodaten können einen Vergleich ergänzen, haben aber keinen universellen Informationswert in Bits. Ihre Ausgabe kann mit Browser- oder Plattformmerkmalen zusammenhängen, die schon über Canvas und WebGL sichtbar sind. Es gibt Abwehrfunktionen: Brave dokumentiert Farbling für Web-Audio, und WebKit beschreibt Rauschen im privaten Modus. Gleiche Audio- und Canvas-Ergebnisse können eine Vermutung in einer bestimmten Vergleichsgruppe stützen. Sie beweisen nicht, dass zwei Besuche von derselben Person stammen.

Die drei im Vergleich

Jede API kann andere Informationen offenlegen. Was eine Website lesen kann und wie beständig die Werte sind, hängt vom Browser und seinen Einstellungen ab.

SignalWas sichtbar sein kannWas den Wert ändern kannVerfügbare SchutzmassnahmenMögliche EinschränkungWas du prüfen solltest
CanvasPixel aus ausgewähltem Text und FormenSchriften, Rendering, Browser-Version, privater ModusSkripte blockieren, Auslesen begrenzen, Rauschen hinzufügenBlockieren kann Zeichenfunktionen beeinträchtigenNormalen und privaten Modus vergleichen
WebGLRenderer-Details oder ausgewählte 3D-PixelGPU-Verarbeitung, Treiber, Browser-Regeln, UpdatesRenderer-Details oder Pixelauslesen begrenzen; API abschaltenAbschalten kann Grafikfunktionen beeinträchtigenErweiterungsdaten und Pixelauslesen testen
AudioContextSamples aus einem Offline-AudionetzwerkBrowser-Engine, Verarbeitungseinstellungen, SchutzfunktionenRauschen, API-Grenzen, Skripte blockierenBreites Blockieren kann Web-Audio beeinträchtigenTatsächliche Schutzstufe und Version testen

Eine Schutzfunktion kann sichtbare Werte verändern, und eine ungewöhnliche Kombination kann manchmal auffallen. Ob das geschieht, hängt von der Besuchergruppe und den übrigen Browsersignalen ab. Mehrere Messungen desselben Software-Stacks sind keine unabhängigen Beweise. Deshalb wäre es falsch, geschätzte Entropiewerte einfach zu addieren. Beurteile die gesamte Konfiguration anhand aller preisgegebenen Signale und der Websites, die damit funktionieren müssen.

Wie Tor Browser mit diesen APIs umgeht

Tor Browser will Nutzer schwerer unterscheidbar machen. Seine Schutzfunktionen hängen von Version, Plattform und Sicherheitsstufe ab. Er hat unter anderem Rückfragen beim Auslesen von Canvas und WebGL-Einschränkungen eingesetzt. Älteres Verhalten gilt nicht automatisch für jede heutige Installation. Der Überblick des Tor Project erklärt das Konzept und warnt ausdrücklich davor, eine perfekt einheitliche Fingerprint-Ausgabe anzunehmen.

Auch der Audioschutz hat sich verändert. Ältere Versionen von Tor Browser deaktivierten Web-Audio wegen des Fingerprinting-Risikos; mit Tor Browser 14 wurden die Web-Audio-APIs wieder aktiviert. Aus dieser Versionsnotiz lässt sich nicht ableiten, dass der aktuelle Browser eine einzigartige Audiosignatur preisgibt. Dafür müsste ein Test die genaue Version, das Betriebssystem, die Sicherheitsstufe und den Audiovorgang angeben.

Die Sicherheitsstufen von Tor steuern ausserdem, welche Seitenfunktionen laufen dürfen. Auf der höchsten Stufe ist JavaScript standardmässig deaktiviert. Ein gewöhnliches Canvas-, WebGL- oder Audio-Skript der Seite läuft dann möglicherweise gar nicht. Solche Einschränkungen können Websites beeinträchtigen. Prüfe die aktuellen Hinweise zu den Sicherheitsstufen und teste die genaue Konfiguration, statt eine pauschale Aussage über eine einzelne API zu übernehmen.

Was verfügbare Schutzmassnahmen ändern

Diese Ausgaben spiegeln neben Hardware auch Software und Einstellungen wider. Jede Schutzmassnahme setzt an einer anderen Stelle an; keine garantiert für sich allein Anonymität.

Ein anderes Gerät verwenden

Ein anderes Gerät kann andere Grafik- und Audioausgaben erzeugen. Gleiche Werte sind trotzdem möglich, und Websites können Aktivitäten weiterhin über Konten oder eingegebene Informationen verknüpfen. Ein getrenntes Gerät kann für ein bestimmtes Bedrohungsmodell sinnvoll sein. Neue Hardware zu kaufen ist aber kein allgemeines Mittel gegen Web-Tracking.

Ein anderes Betriebssystem starten

Ein separates Betriebssystem kann Schriften, Treiber und Browserzustand ändern, muss aber nicht jeden getesteten Wert ändern. Tails ist ein Beispiel für eine speziell entwickelte Umgebung mit eigenen Netzwerk- und Browserregeln. Ihre Wirkung sollte insgesamt beurteilt werden, nicht nur danach, ob drei Hashes verschieden sind. Der Systemwechsel kostet ausserdem Zeit und kann Arbeitsabläufe oder Websites beeinträchtigen.

Einen entfernten Browser im Container nutzen

Bei Browser.lol läuft der Seitencode in einer entfernten Session statt direkt in deinem lokalen Browser. Die Website kann deshalb andere Browser-, Grafik-, Schrift- und Audiosignale sehen als auf deinem Gerät. Entfernte Sessions können dasselbe Browser-Image oder dieselbe Infrastruktur verwenden; gespeicherte Profile können Browserdaten behalten. Eine neue Session garantiert weder für alle drei APIs neue Werte noch, dass Websites Besuche nicht über Konten, Netzwerkdaten oder andere Beobachtungen verknüpfen. Prüfe die tatsächliche Session und ihre Verbindung zur Website.

Eine Erweiterung mit Rauschen nutzen, mit Vorbehalten

Manche Erweiterungen verändern das Auslesen von Canvas oder WebGL, blockieren Skripte oder beschränken API-Zugriffe. Ihre Wirkung hängt von Version und Einstellungen ab; eine ungewöhnliche Kombination kann selbst beobachtbar sein. Eingebaute Schutzfunktionen wie Braves Farbling oder Rauschen in Safaris privatem Modus verfolgen andere Ansätze. Teste wichtige Websites auf Kompatibilität und betrachte jede Schutzmassnahme als Teil eines umfassenderen Konzepts.

FAQ

Kann ich Canvas in Chrome deaktivieren?

Chrome bietet keine einfache Einstellung, die sämtliche Canvas-Funktionen deaktiviert und Seiten zugleich normal funktionieren lässt. Eine Erweiterung kann toDataURL() blockieren oder verändern; Zeichenwerkzeuge und andere Websites können Canvas aber benötigen. Browser-Schutzfunktionen, Skript-Blocker und eine separate Browserumgebung haben unterschiedliche Vor- und Nachteile. Teste die Websites, die du brauchst.

Verändert ein VPN meinen Fingerprint?

Ein VPN auf deinem Gerät ändert den Netzwerkweg und meist die IP-Adresse, die eine lokal besuchte Website sieht. Allein dadurch ändern sich Canvas, WebGL und Audio im lokalen Browser nicht. Andere Browsermerkmale oder Einstellungen können sich unabhängig davon ändern. Bei einem entfernten Browser verändert dein VPN den Weg zum Dienst, nicht dessen Verbindung zur Website.

Warum ändert sich mein Fingerprint nach einem Windows-Update?

Ein Update kann den Browser, Grafiktreiber, Schriften oder das Rendering verändern und damit ein Testergebnis ändern. Manche Werte können aber auch gleich bleiben. Keines der Ergebnisse beweist, ob eine Website deine Besuche verknüpfen kann: Konten, Cookies, IP-Adressen und andere Signale können weiter Hinweise liefern. Vergleiche denselben Test vor und nach dem Update, wenn du eine konkrete Konfiguration verstehen willst.

Sind diese Fingerprints für sich allein eindeutig?

Nicht unbedingt. Ein Wert kann bei vielen Browsern gleich sein oder sich zwischen Messungen ändern. Die Kombination von Signalen kann in einer Stichprobe besser unterscheiden. Gemeinsame Ursachen machen die Werte jedoch voneinander abhängig. Ihre Aussagekraft lässt sich nicht aus pauschalen Bitzahlen ableiten oder addieren. Ein Testergebnis gilt für die untersuchte Gruppe und Methode, nicht als allgemeiner Identitätsnachweis.

Hilft der Inkognito-Modus gegen einen der drei?

Private Fenster begrenzen lokalen Verlauf und Speicherung nach dem Schliessen. Manche Browser bieten dort auch zusätzlichen Fingerprinting-Schutz, sodass API-Ausgaben von normalen Fenstern abweichen können. Der private Modus verspricht nicht, jedes Browsersignal zu verbergen oder eine Verknüpfung über ein Konto zu verhindern. Prüfe die aktuellen Schutzfunktionen deines Browsers und die Websites, die du nutzt.

Was das für dich bedeutet

Canvas, WebGL und Web-Audio können Informationen liefern, die auch ohne Cookies erhoben werden. Ihre Ausgaben hängen von Browser-Software, Einstellungen, Schriften, Treibern und Hardware ab. Wie gut sie Besuche verknüpfen, unterscheidet sich je nach Vergleichsgruppe und verändert sich mit neuen Browser-Abwehrfunktionen. Private Fenster, Browser-Schutz, Skript-Blocker und Netzwerkwerkzeuge sprechen verschiedene Risiken an.

Nutze einen aktuellen Browser mit seinen dokumentierten Datenschutzeinstellungen. Wenn für eine Aufgabe wichtig ist, dass Seitencode nicht auf deinem Gerät läuft, verändert ein entfernter Browser diese Grenze. Er bringt aber eigene Fragen zu Profil, Netzwerk und Dienst mit sich. Vergleiche genau die Konfiguration, die du einsetzen willst, einschliesslich Sicherheitsstufe und gespeicherten Daten. Ein veränderter Hash beweist nicht, dass Besuche unverknüpfbar sind; ein gleicher Hash beweist nicht, dass dieselbe Person dahintersteht.

Brauchst du für deine nächste Aufgabe eine isolierte Session?

Starte eine isolierte Session direkt im Web.

Session starten

Keine Browserinstallation nötig • Funktionen je nach Plan

Für Recherche und Tests
Desktop-Browser im Browserfenster
In wenigen Schritten startklar

Neueste Beiträge

Alle Beiträge