Browser-Fingerprinting: Was Websites tatsächlich auslesen

Eine Rundreise durch die Werte, die eine Website sammelt, von Canvas und WebGL über Audio, Schriftarten und Bildschirm bis zur Zeitzone, und warum eine stimmige Identität eine zufällige schlägt.
Browser-Fingerprinting bedeutet, einen Browser an den Werten zu erkennen, die er meldet, und nicht an etwas, das er speichert. Es braucht kein Cookie. Der Browser beantwortet einfach die Fragen, die jede Webseite stellen darf, und die Antworten zusammen sind unverwechselbar genug, um ihn wiederzuerkennen.
Die Werte, die gesammelt werden
Die meisten Fingerprinting-Skripte lesen dieselben wenigen Oberflächen aus.
Die offensichtlichen
- Der User-Agent trägt Browsername, Version und Plattform und wird bei jeder Anfrage mitgesendet.
- Der Bildschirm meldet Breite, Höhe, Farbtiefe, Pixelverhältnis und den verfügbaren Arbeitsbereich.
- Sprache und Zeitzone umfassen die Locale, die der Browser meldet, und den Offset, den er berechnet.
- Hardware-Hinweise geben die gemeldete Prozessorzahl und bei manchen Browsern einen ungefähren Speicherwert an.
Die Rendering-Werte
Das sind die Werte, die gemeint sind, wenn man von Fingerprinting spricht, weil sie indirekt sind. Eine Seite bittet den Browser, etwas zu zeichnen, und liest dann genau zurück, was gezeichnet wurde.
- Canvas-Verfahren rendern Text und Formen auf ein Offscreen-Canvas und bilden einen Hash. Das Ergebnis hängt von Grafik-Stack, Schriftarten und Anti-Aliasing ab.
- WebGL legt die Hersteller- und Renderer-Strings des Grafikadapters offen, dazu einen Hash einer gerenderten Szene.
- Audio lässt einen Oszillator durch den Audioverarbeitungsgraphen laufen und bildet einen Hash der Ausgabe. Das Gleitkommaverhalten unterscheidet sich zwischen Stacks geringfügig.
- Schriftarten-Erkennung misst Text in Kandidatenschriften und schließt aus den abweichenden Messwerten, welche installiert sind.
Die Netzwerk-Werte
- Die Adresse, von der die Anfrage kommt, und was eine Geolokalisierungs-Datenbank darüber sagt.
- WebRTC, das Adressen offenlegen kann, die die Verbindung sonst nicht preisgeben würde.
- Reihenfolge und Inhalt der TLS- und HTTP-Handshake-Felder, die je nach Client variieren.
Warum alles zufällig zu verändern der falsche Instinkt ist
Die intuitive Abwehr lautet, bei jedem Besuch alles zu ändern. Das geht aus zwei Gründen nach hinten los.
Der erste ist der Widerspruch. Zufällige Felder wissen nichts voneinander. Ein User-Agent, der Windows behauptet, neben einem WebGL-Renderer-String, den es nur auf Apple-Hardware gibt, ist ein stärkeres Signal, als es jeder der beiden Werte allein je gewesen wäre. Echte Maschinen sind in sich stimmig; nur synthetische widersprechen sich selbst.
Der zweite ist die Instabilität. Ein Account, der bei jedem Besuch ein anderes Gerät meldet, beschreibt etwas, das kein echter Mensch besitzt. Konsistenz über die Zeit ist, wie ein gewöhnlicher Nutzer aussieht.
Was die Identität eines Profils abdeckt
| Oberfläche | Behandelt durch |
|---|---|
| User-Agent und Plattform | Gemeinsam erzeugt, sodass die behauptete Plattform zu den umgebenden Werten passt |
| Bildschirm und Pixelverhältnis | Pro Profil festgelegt, aus Größen gezogen, die echte Displays tatsächlich melden |
| Zeitzone und Locale | Pro Profil gesetzt und mit der genutzten Netzwerkroute abgeglichen |
| Canvas, WebGL und Audio | Mit einer stabilen Behandlung pro Profil versehen, bei jedem Öffnen identisch |
| Schriftarten | Ein Satz pro Profil, passend zur Plattform, die das Profil behauptet |
| WebRTC | Eingeschränkt, damit es der Netzwerkroute des Profils nicht widerspricht |
Die eigene Arbeit prüfen
Öffnen Sie ein Profil und besuchen Sie eine Fingerprinting-Testseite. Mehrere veröffentlichen die Werte, die sie auslesen, kostenlos. Die zwei Dinge, die man prüfen sollte, sind nicht die, die man vielleicht erwartet:
- Stimmen die Werte untereinander überein? Plattform, Schriftarten, Grafik-Strings und Zeitzone sollten eine plausible Maschine beschreiben.
- Sind sie dieselben wie beim letzten Mal? Schließen Sie das Profil, öffnen Sie es erneut, laden Sie den Test neu. Ein Profil, dessen Werte sich zwischen den Öffnungen bewegen, ist nicht stabil, und Stabilität ist die entscheidende Eigenschaft.
Ein Seltenheitswert auf einer Testseite ist die am wenigsten nützliche Zahl. Er misst Sie an den Besuchern dieser Seite, und das sind überwiegend Leute, die Antidetect-Browser testen.


