Es ist nahezu unmöglich, die
User Agent Kennung eines Browsers plausibel zu faken. Eine unsachgemäße Änderung kann zu einer einzigartigen Kennung führen, die das Tracking enorm erleichtert und man erreicht das Gegenteil des Beabsichtigten.
- Man kann für einen Firefox nur eine andere Firefox-Kennung verwenden. Die Browser sind durch individuelle Headerzeilen und -reihenfolge im HTTP-Request beim Aufruf einer Webseite unterscheidbar. Eine Tarnung mit dem User-Agent eines anderen Browsers ist leicht als Fake zu identifizieren und zu verfolgen. Viele Add-ons zum Spoofen der User Agent Kennung machen diesen Fehler, wie der Anonymitätstest zeigt.
Das Add-on User-Agent Overrider (Version 0.2.5.1) sollte im Test einen Internet Explorer 9.0 für Win64 faken (MSIE 9.0). Die Header Signatur entlarvt den Browser jedoch als einen Firefox, der sich als IE tarnen will.
Das Add-on Random Agent Spoofer (Version 0.9.5.2) sollte im Test einen Google Chrome Browser 41.0 für Win64 faken. Die Header Signatur entlarvt den Browser ebenfalls als Firefox, der sich tarnen will.
Schlussfolgerung: Lasst die Finger von diesen und ähnlichen Add-ons.
- Einige Firefox Versionen unterscheiden sich nicht nur im User-Agent, sondern auch sehr subtil in einigen anderen HTTP-Headern. Man beachte das Leerzeichen nach dem Komma bei Firefox 10:
- ACCEPT-ENCODING "gzip,deflate" (Firefox 3.6.x)
- ACCEPT-ENCODING "gzip, deflate" (Firefox 10.0.x)
- Via recource:// URL kann der Firefox Build ausgelesen werden und es ist damit erkennbar, welchen Firefox (ESR, Release, Beta oder Nightly) und welches Betriebssystem wirklich genutzt wird. Der Firefox-Test von Browserleaks demonstriert es:
- Außerdem unterscheidet sich die Release Version in den Features von der ESR-Version (Extended Support Release). Die Unterschiede in den Features werden größer, je weiter sich die Release Version von der ESR-Version entfernt. Ein Firefox 45.x ESR, der den Cipher "ChaCha20-Poly1350" für die SSL/TLS-Verschlüsslung nutzt, ist sehr ungewöhnlich, da Firefox diesen Cipher erst seit der Version 47.0 beherrscht.
- Die Browser der Anonymisierungsdienste faken in der Regel die bevorzugte Sprache des Browsers und verwenden "en-US".
Für das Surfen ohne IP-Anonymisierung emfehlen wir diese Fakes nicht:
- Es ist einfach plausibler, wenn man mit einer deutschen IP-Adresse beim Besuch einer deutschsprachigen Webseite auch einen deutschen Browser verwendet.
- Mit Hilfe der "JavaScript Localisation API" können diese Fakes bei aktivem Javascript entlarvt werden, wenn man keine zusätzlichen Schutzmaßnahmen implementiert.
Mit der Javascript Funktion "Date.toLocaleFormat()" kann man Datums- und Zeitangaben in die bevorzuge Desktop(!) Lokalisierung des Nutzers umrechnen lassen und das Ergebnis auswerten:
Deutsche Ausgabe eines Datums mit Zeitangabe: 01.02.2013 13:00
US-Englische Ausgabe des Datums (civilian): 2/1/2013 1:00 PM
US-Englische Ausgabe (military, science): 2013-02-01, 1300 hours
Man kann ein US-englisches Verhalten für Javascript Konvertierungen erzwingen, indem man eine neue Variable unter "about:config" anlegt (siehe #867501):
javascript.use_us_english_locale = true
- Via recource:// URL kann die Lokalisierung des Browsers ausgelesen werden. (Deutscher Firefox oder englicher Firefox installiert?). Es ist seltsam, wenn man einen deutschen Firefox (bzw. TorBrowser de-DE) benutzt, aber angeblich englische Webseiten bevorzugt.
- Durch Auswertung der Keyboard Events könnte ein Angreifer die Lokalisierung der Tastatur ermitteln. Die Verwendung eines deutschen Browsers ist in Kombination mit einer deutschen Tastatur ebenfalls plausibler. Die Keyboard Events können unter "about:config" deaktiviert werden (siehe Hardware Fingerprinting).
Wenn man einen englischen Browser (en-US) haben möchte, dann sollte man einen englischen Browser installieren und den Desktop auf Englisch umschalten.
- Der Browser hängt in viele Dingen von Bibliotheken des Betriebssystems ab. Durch Auswertung einige Seltsamkeiten lässt sich das real verwendete Betriebssystem teilweise identifizieren oder zumindest ein User-Agent Fake als Fake entlarven.
Ein Beispiel OS-spezifische Seltsamkeiten ist das Ergebnis der folgenden Javascript Berechnung:
Math.tan(-1e300) = -4.987183803371025 (Windows)
Math.tan(-1e300) = -1.4214488238747245 (Linux, iOS)
- Plug-ins verraten in der Regel das verwendete Betriebssystem und können keinen Fake konfigurieren. Wenn man auf Flash u.ä. nicht verzichten kann, dann sollte man keinen User-Agent Fake verwenden. Ein Linux Nutzer mit einem Windows Firefox Fake ist leicht anhand des Browser Fingerprint identifizierbar und verfolgbar, wenn der Flash-Player die Information liefert, dass er eigentlich Linux 64Bit verwendet.
Schlussfolgerung
Es ist nahezu unmöglich, die User-Agent Kennung von Firefox plausibel in allen Punkten zu faken. Selbst die Entwickler des
TorBrowserBundles, die jahrelange Erfahrungen dabei haben und alle für Nutzer des Anonymisierungsdienstes den einheitlichen Fingerprint eines englischen Firefox für Windows7 anstreben, können nicht vollständig verhindern, dass Linux oder MacOS Nutzer erkannt werden können.
Der
Firefox-Test von Browserleaks zeigt, dass neben dem richtigen Betriebssystem auch die Lokalisierung des verwendeten TorBrowser und die Version ausgelesen werden können:
Ein unvollständiger Fake-Versuch ist aber ein gutes Identifizierungsmerkmal für Trackingdienste, da man sich von der größern Masse der Surfer stärker unterscheidet.