AntiDetect
Funktionen Technologie Preise Für wen
Doks Blog FAQ
Sprache
EnglishItalianoDeutschEspañolРусский
Download

Browser-Fingerprinting erklärt: Wie Websites dich ohne Cookies identifizieren

Canvas, WebGL, AudioContext, Schriftarten, Bildschirmauflösung -- wie sich Dutzende Signale zu einem eindeutigen Fingerprint verbinden. Worauf Erkennungssysteme achten und warum die meisten „Privacy“-Tools das Problem nicht lösen.

In diesem Artikel
  1. Was ist Browser-Fingerprinting?
  2. Die Fingerprint-Signale
  3. Wie Fingerprints berechnet werden
  4. Entropie: Warum manche Signale mehr wiegen
  5. Aktives und passives Fingerprinting
  6. Wie Erkennungssysteme Fingerprints nutzen
  7. Warum übliche Privacy-Tools nicht helfen
  8. Wie Antidetect-Browser mit Fingerprinting umgehen
  9. Das Wettrüsten

Was ist Browser-Fingerprinting?

Browser-Fingerprinting ist eine Tracking-Technik, die Nutzer anhand von Informationen über Browser- und Gerätekonfiguration identifiziert. Anders als Cookies, die auf deinem Gerät liegen und sich löschen lassen, wird ein Fingerprint aus Daten berechnet, die dein Browser von Haus aus preisgibt -- Informationen, die es gibt, weil Websites sie zum Funktionieren brauchen.

Dein Browser verrät Betriebssystem, Bildschirmauflösung, Zeitzone, Sprache, installierte Schriftarten, GPU-Modell, Eigenheiten der Audioverarbeitung und vieles mehr. Einzeln identifiziert dich keiner dieser Werte. Zusammengenommen ergeben sie eine Signatur, die mit überwältigender Wahrscheinlichkeit für genau deinen Browser auf genau deinem Gerät einzigartig ist.

Eine Studie von INRIA-Forschern aus dem Jahr 2020 ergab, dass über 94 % der Browser mit aktiviertem JavaScript einen eindeutigen Fingerprint hatten. Seitdem ist es nur genauer geworden, weil Erkennungsfirmen neue Signale ergänzt und ihre Hash-Verfahren verbessert haben.

Die Fingerprint-Signale

Über 50 einzelne Signale tragen zu einem Browser-Fingerprint bei. Die wichtigsten sind:

Hohe Entropie
Canvas-Fingerprint

Der Browser zeichnet unsichtbaren Text und Formen auf ein HTML5-Canvas-Element und liest die Pixeldaten wieder aus. Unterschiedliche GPUs, Treiber, Schriftrenderer und Anti-Aliasing-Einstellungen des Betriebssystems erzeugen leicht abweichende Ergebnisse -- genug für einen nahezu eindeutigen Hash.

Hohe Entropie
WebGL-Fingerprint

Ähnlich wie Canvas, aber mit 3D-Rendering. Der Browser rendert eine 3D-Szene, und das Ergebnis hängt von GPU-Hardware, Treiberversion und OpenGL-Implementierung ab. Außerdem werden Vendor- und Renderer-Strings der GPU sichtbar (z. B. „ANGLE (NVIDIA GeForce RTX 3080)“).

Hohe Entropie
AudioContext-Fingerprint

Der Browser erzeugt über die Web Audio API ein Audiosignal und misst, wie es verarbeitet wird. Unterschiedliche Audiohardware und -treiber liefern unterschiedliche Fließkommawerte und damit einen eindeutigen Audio-Hash, ohne dass je ein Ton erklingt.

Hohe Entropie
Schriftarten-Aufzählung

Der Browser misst Breite und Höhe von gerendertem Text in verschiedenen Schriftarten. Indem ein Fingerprinting-Skript prüft, welche Schriftarten installiert sind (und wie sie rendern), kann es deine spezielle Schriftartensammlung bestimmen -- die sich von Rechner zu Rechner deutlich unterscheidet.

Mittlere Entropie
Bildschirm- und Fensterwerte

Bildschirmauflösung, verfügbare Fläche (ohne Taskleiste), Farbtiefe, Device-Pixel-Ratio, innere Fenstermaße und ob das Fenster maximiert ist. Die Kombination dieser Werte engt die Identifikation deutlich ein.

Mittlere Entropie
navigator-Eigenschaften

User-Agent-String, Plattform, Sprache(n), Anzahl der CPU-Kerne (hardwareConcurrency), Gerätespeicher, maximale Berührungspunkte, Verbindungstyp und ob „Do Not Track“ aktiv ist. Jedes davon steuert ein paar Bit Entropie bei.

Über diese Hauptsignale hinaus sammeln Fingerprinting-Skripte auch:

Vier Schichten, die zeigen, welche Fingerprinting-Signale aus Hardware, Betriebssystem, Browser und Netzwerk stammen
Vier Quellen, ein Fingerprint. Die unterste Schicht erreicht keine Browsereinstellung.

Wie Fingerprints berechnet werden

Ein Fingerprinting-Skript sammelt all diese Werte, serialisiert sie zu einer Zeichenkette oder einem strukturierten Objekt und schickt sie durch eine Hashfunktion (meist MurmurHash3 oder SHA-256), um eine kompakte Kennung zu erzeugen. Hier ein vereinfachtes Beispiel:

const signals = {
  canvas: getCanvasHash(),
  webgl: getWebGLHash(),
  audio: getAudioHash(),
  fonts: getInstalledFonts(),
  screen: `${screen.width}x${screen.height}x${screen.colorDepth}`,
  timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
  language: navigator.language,
  cores: navigator.hardwareConcurrency,
  memory: navigator.deviceMemory,
  platform: navigator.platform,
  userAgent: navigator.userAgent,
  touchPoints: navigator.maxTouchPoints,
  // ... 30+ more signals
};

const fingerprint = murmurhash3(JSON.stringify(signals));

Der entstehende Hash ist eine kurze Zeichenkette -- etwa a3f8c91b -- und dient als eindeutige ID deines Browsers. Dieser Hash wird serverseitig gespeichert und mit künftigen Besuchen verglichen.

Entropie: Warum manche Signale mehr wiegen

Nicht alle Signale tragen gleich viel zur Einzigartigkeit bei. Der Begriff Entropie misst, wie viel identifizierende Information ein Signal trägt. Mehr Entropie heißt mehr Informationsbits, also ein Signal, das deine Identität stärker eingrenzt.

SignalUngefähre EntropieWirkung auf die Einzigartigkeit
Canvas-Hash~14 BitSehr hoch -- Unterschiede bei GPU und Rendering
WebGL-Renderer + Hash~12 BitSehr hoch -- identifiziert das GPU-Modell
Installierte Schriftarten~11 BitSehr hoch -- unterscheidet sich je Rechner
AudioContext-Hash~10 BitHoch -- hardwareabhängig
Bildschirmauflösung~5 BitMittel -- viele teilen gängige Auflösungen
Zeitzone~4 BitMittel -- rund 24 große Zeitzonengruppen
User Agent~6 BitMittel -- die Browserversion wird spezifischer
Sprache~3 BitNiedrig -- begrenzte Auswahl gängiger Sprachen
Plattform~2 BitNiedrig -- Win/Mac/Linux/Mobil
Farbtiefe~1 BitSehr niedrig -- fast alle haben 24 Bit

Die Gesamtentropie über alle Signale eines modernen Fingerprinting-Skripts liegt typischerweise über 40 Bit. Bei 40 Bit Entropie gibt es mehr als eine Billion mögliche Kombinationen -- mehr als genug, um jeden Browser auf der Erde eindeutig zu bestimmen.

Aktives und passives Fingerprinting

Fingerprinting-Techniken teilen sich in zwei Kategorien:

Passives Fingerprinting nutzt Daten, die der Browser bei jeder HTTP-Anfrage automatisch mitschickt: den User-Agent-Header, akzeptierte Sprachen, akzeptierte Kodierungen und Verbindungseigenschaften. Der Server muss dafür kein JavaScript ausführen. Das ist unauffälliger, liefert aber weniger Signale.

Aktives Fingerprinting führt JavaScript auf der Seite aus, um den Browser abzutasten: Canvas-Bilder rendern, WebGL abfragen, Audioausgabe messen, Schriftarten aufzählen und bestimmte API-Verhalten prüfen. Das ist weit mächtiger und die Grundlage der meisten Erkennungssysteme.

In der Praxis nutzen Erkennungssysteme beides. Der passive Fingerprint aus den HTTP-Headern wird serverseitig berechnet, der aktive clientseitig per JavaScript und als Signal zurückgeschickt. Beide werden zusammengeführt und gegenseitig auf Stimmigkeit geprüft.

Wie Erkennungssysteme Fingerprints nutzen

Browser-Fingerprints stehen nie für sich allein. Moderne Erkennungsplattformen kombinieren sie mit weiteren Signalen zu einem Risikowert:

Der Fingerprint allein ist nur ein Eingangswert. Entscheidend sind Stimmigkeit und Plausibilität des gesamten Signalpakets. Ein perfekter Fingerprint mit einer Rechenzentrums-IP und roboterhaften Mausbewegungen wird trotzdem markiert.

Warum übliche Privacy-Tools nicht helfen

Viele greifen zu Privacy-Werkzeugen, die gegen Fingerprinting wirkungslos sind:

Inkognito / privates Surfen

Der Inkognito-Modus löscht Cookies und Verlauf, wenn das Fenster schließt. Am Fingerprint ändert er nichts. Canvas-Hash, WebGL-Ausgabe, Schriftarten, Bildschirmauflösung und jedes andere Signal bleiben identisch mit deiner normalen Sitzung. Derselbe Fingerprint, nur ohne Cookies.

VPN / Tor

VPNs ändern deine IP-Adresse. Tor vereinheitlicht über den Tor Browser zusätzlich einige Browsereigenschaften. Gewöhnliche VPNs verändern den Browser-Fingerprint aber überhaupt nicht -- Canvas-Hash und WebGL-Renderer bleiben gleich. Und der Tor Browser widersteht zwar dem Fingerprinting, ist dafür aber als Tor Browser erkennbar, was viele Plattformen rundweg blockieren.

Browser-Erweiterungen

Erweiterungen wie Canvas Blocker oder Fingerprint-Spoofing-Add-ons versuchen, Fingerprinting-APIs abzufangen. Das Problem ist dreifach: (1) Erweiterungen sind an ihren Nebenwirkungen auf DOM und API-Verhalten erkennbar, (2) Signale unterhalb der JavaScript-Schicht können sie nicht konsistent fälschen, und (3) das Vorhandensein bestimmter Privacy-Erweiterungen ist selbst ein Fingerprint-Signal -- kaum ein echter Nutzer hat sie installiert.

Mehrere Browser-Profile (Chrome/Firefox)

Chrome und Firefox unterstützen mehrere Nutzerprofile, jedes mit eigenen Cookies und eigenem Verlauf. Sie teilen aber alle denselben Fingerprint, weil es derselbe Browser auf derselben Hardware ist. Andere Profile, gleicher Canvas-Hash, gleiches WebGL, gleiche Schriftarten. Erkennungssysteme verknüpfen sie sofort.

Wie Antidetect-Browser mit Fingerprinting umgehen

Antidetect-Browser sind genau dafür gebaut, Fingerprinting an der Wurzel zu packen. Das macht ein gut gebauter anders:

Fingerprint-Konfiguration pro Profil. Jedes Browser-Profil bekommt eine vollständige eigene Fingerprint-Konfiguration: einen bestimmten Seed für das Canvas-Rauschen, einen gespooften WebGL-Renderer passend zu einer echten GPU, eine zum gewählten Betriebssystem passende Schriftartenmenge, Bildschirmwerte, die zu einem echten Gerät passen, und so weiter. Entscheidend ist, dass all diese Werte zueinander passen.

Änderung auf Engine-Ebene. In einem sauber gebauten Antidetect-Browser passieren die Fingerprint-Änderungen in der Browser-Engine -- auf C++-Ebene in Chromium. Ruft eine Website canvas.toDataURL() auf, liefert die Engine selbst veränderte Pixeldaten. Es gibt kein JavaScript-Override zu entdecken, weil die Änderung geschieht, bevor die Daten die JavaScript-Schicht erreichen.

Rauschen mit stabilen Seeds. Statt Zufallswerte zurückzugeben (die sich bei jedem Seitenaufruf ändern und Verdacht erregen würden), nutzen gute Antidetect-Browser deterministisches Rauschen auf Basis eines Seeds pro Profil. Derselbe Canvas-Test liefert innerhalb eines Profils immer denselben Hash, verschiedene Profile aber verschiedene Hashes. Genau so verhalten sich echte Browser -- dein Fingerprint ist über Sitzungen hinweg stabil.

Plausibilitätsprüfung der Hardware. Vor dem Erzeugen eines Profils prüft das System, ob die Signalkombination plausibel ist. Ein Profil, das Windows 10 mit einer Apple-M2-GPU behauptet, wäre sofort verdächtig. Der Fingerprint-Generator sorgt dafür, dass Betriebssystem, GPU, Schriftarten, User Agent und weitere Signale eine stimmige Identität ergeben.

Ziel ist kein Browser, der „anonym“ aussieht. Ziel ist ein Browser, der nach einem gewöhnlichen Menschen an einem gewöhnlichen Rechner aussieht -- nur eben nach einem anderen gewöhnlichen Menschen pro Profil.

Das Wettrüsten

Browser-Fingerprinting ist ein Wettrüsten zwischen Erkennungsfirmen und Antidetect-Werkzeugen, und es beschleunigt sich.

Erkennungssysteme werden raffinierter. Sie ergänzen neue Signale (etwa getClientRects()-Messungen und das Verhalten der WebCodecs API), gleichen Verhaltensbiometrie mit Fingerprint-Daten ab und nutzen maschinelles Lernen, um „unmögliche“ oder „unwahrscheinliche“ Fingerprint-Konfigurationen zu erkennen, die kein echter Browser erzeugen würde.

Gleichzeitig antworten Antidetect-Browser damit, tiefere Schichten der Engine zu verändern, Konsistenzprüfungen zu verbessern und umfangreichere Datenbanken echter Gerätekonfigurationen als Vorlagen aufzubauen.

Zwei Dinge sind klar: Fingerprinting verschwindet nicht (dafür ist es für Betrugsabwehr und Werbeausspielung zu wertvoll), und passive Werkzeuge wie VPNs und Erweiterungen reichen nicht aus. Wenn Isolation auf Fingerprint-Ebene für deine Arbeit zählt, brauchst du ein Werkzeug, das genau dafür gebaut wurde.

Auf Engine-Ebene gebaut

Die eigene Chromium-Engine von P8 erzeugt Fingerprints auf Quellcode-Ebene -- nicht über JS-Patches. Jedes Profil ergibt einen stimmigen, plausiblen Fingerprint.

Kostenlos starten
Alle Artikel Zurück: Was ist ein Antidetect-Browser?