Saltar al contenido principal
de/blog/obscura/research/conclusions/

obscura/research/conclusions

6 Min. Lesezeit

Meta-Fazit (08.07.2026)

Nach umfassender Analyse des Browser-Fingerprintings – Untersuchung von FingerprintJS (44 Vektoren), BrowserLeaks (15+ Tools), EFF Cover Your Tracks, Netzwerkschicht-Fingerprints (TCP, TLS, HTTP/2, QUIC) und Hardware-Vektoren – ergeben sich folgende Schlussfolgerungen für Obscuras Design.


Vektorenbestands-Zusammenfassung

Kategorie Vektoren Gesamt Proxy-kontrollierbar Teilweise Unkontrollierbar
Netzwerk & Protokoll 13 3 6 4
HTTP & Header 12 11 1 0
JavaScript / DOM-APIs 44 29 13 2
Browser-Features ~100+ 0 ~10 ~90+
System & Hardware 15 6 4 5
Verhalten 8 1 4 3
Gesamt Eindeutig ~60+ einzigartig ~50 ~38 ~100+

Realistische Abdeckung: Proxy kontrolliert ~55 % der Fingerprint-Oberfläche. Die verbleibenden ~45 % sind Hardware-, Verhaltens- oder inhärente Browser-Features.


Auswirkungsbewertung nach Schicht

Schicht 1: Netzwerk & Protokoll – HOHE AUSWIRKUNG, kontrollierbar

Vektor Kontrollierbar Priorität für Obscura Methode
TLS-Fingerprint (JA3/JA4) Ja Kritisch utls (Go) / eigenes Rust-TLS
HTTP/2-Fingerprint Teilweise Hoch Eigene SETTINGS-Frame-Steuerung
HTTP-Header (12 Vektoren) Ja Hoch Header-Umschreibung im Proxy
DNS Ja Hoch Lokaler Resolver + Blocklisten
WebRTC-IP-Leck Ja Hoch JS-Injection zum Blockieren von RTCPeerConnection
TCP/IP-Stack Nein Niedrig Stack des Containers vererbt
QUIC/HTTP/3 Blockieren Mittel UDP 443 blockieren
Timing-Angriffe Teilweise Niedrig performance.now() runden

Schicht 2: JavaScript-APIs – MITTLERE AUSWIRKUNG, teilweise kontrollierbar

29 Vektoren vollständig spoofbar per JS-Injection:

  • navigator.userAgent, platform, language, languages
  • navigator.hardwareConcurrency, deviceMemory
  • screen.width, height, colorDepth, pixelDepth, availTop/Left
  • navigator.cookieEnabled, webdriver
  • Intl.DateTimeFormat-Zeitzone
  • navigator.vendor, vendorFlavors
  • navigator.architecture, pdfViewerEnabled
  • Apple Pay, Private Click Measurement
  • Media Queries (prefers-reduced-motion, color-gamut, etc.)
  • localStorage, sessionStorage, indexedDB, openDatabase

13 Vektoren teilweise spoofbar:

  • Canvas – Rausch-Injektion ist erkennbar
  • WebGL – kann debug_renderer_info blockieren, nicht das Rendering
  • Audio – kann Ausgabe glätten, Hardware-Variation bleibt
  • Schriften – kann Messungen runden, nicht die Aufzählung beseitigen
  • Plugins – kann überschrieben werden, aber eingeschränkt
  • DOM-Blocker – erkennbar

2 Vektoren nicht spoofbar:

  • Math-FPU-Fingerprint – hardware Gleitkomma-Verhalten
  • Audio-Basislatenz – Hardware-Audio-Stack

Schicht 3: Browser-Features – GERINGE AUSWIRKUNG, unkontrollierbar

~100+ Feature-Unterstützungstests (WebGL, WebGPU, WebUSB, Service Workers, etc.) sind dem Browser inhärent. Können auf Proxy-Ebene nicht geändert werden.

Abschwächung: DNS-Blockierung bekannter Fingerprinting-Domains verhindert, dass viele Feature-Erkennungsskripte geladen werden.

Schicht 4: Hardware & System – GERINGE AUSWIRKUNG, unkontrollierbar

GPU-Modell, CPU-Features, Audio-Hardware, Tastaturlayout, installierte Schriften – dies sind lokale Systemeigenschaften, die der Proxy nicht ändern kann.

Schicht 5: Verhalten – AUSSERHALB DES BEREICHS

Mausbewegungen, Tastendynamik, Scrollmuster, Sitzungsdauer – Verhaltensbiometrie liegt außerhalb der Kontrolle eines Proxys.


Wichtigste Erkenntnisse

1. TLS-Fingerprint-Spoofing ist nicht verhandelbar

Wenn Obscura TLS terminiert (für MITM erforderlich), sieht der Server den TLS-Stack des Proxys. Ohne Spoofing erkennt das Ziel sofort, dass ein Proxy verwendet wird. Dies ist das mit Abstand kritischste Feature.

2. Interne Konsistenz ist zwingend erforderlich

Jedes Signal muss demselben Profil entsprechen:

Profil: "Chrome 120 / Windows 11"
   User-Agent: Chrome 120 auf Win11
   Sec-CH-UA-Platform: "Windows"
   JA3: Chrome 120 Win11
   HTTP/2 SETTINGS: Chrome-Werte
   Zeitzone: entspricht Win11-Gebietsschema
   Bildschirm: typische Win11-Auflösung
   platform: "Win32"

Inkonsistenz ist selbst ein Fingerprint.

3. DNS-Blockierung hat den höchsten ROI

Das Blockieren von fingerprintjs.com, *.metrics.* und Tracking-Domains verhindert, dass die Fingerprinting-Skripte überhaupt geladen werden. Dies ist der einfachste und effektivste Schutz.

4. Canvas/WebGL/WebGPU sind die schwierigen Probleme

Diese werden auf lokaler Hardware gerendert. Der Proxy kann:

  • Blockieren der Debug-Info-APIs (GPU-Modell verborgen)
  • Rauschen injizieren in die Canvas-Ausgabe (durch Vergleich erkennbar)
  • Nicht kontrollieren der tatsächlichen Pixel-Darstellung

Der Tor-Browser löst dies, indem er alle Benutzer identisch macht (bricht WebGL vollständig). Obscura kann dies auf Netzwerkebene nicht erreichen.

5. QUIC/HTTP/3 muss blockiert werden

QUIC ist Ende-zu-Ende verschlüsselt. Wenn erlaubt, umgeht der Datenverkehr den Proxy vollständig. UDP 443 blockieren.

6. WebRTC muss blockiert werden

WebRTC umgeht den Proxy über STUN. Blockieren per JS-Injection RTCPeerConnection-Überschreibung.


Design-Prinzipien


  1. Konsistenz vor Vollständigkeit: Eine kleinere Menge perfekt konsistenter Signale ist besser als breiter, aber inkonsistenter Schutz.



  2. Blockieren vor Spoofen: Wenn ein Vektor nicht zuverlässig gespooft werden kann (Canvas, Audio), blockiere ihn, anstatt Teilinformationen preiszugeben. Blockieren ist erkennbar, gibt aber weniger Informationen preis.



  3. Verteidigung in der Tiefe: DNS-Blockierung (stoppt Skripte) + Header-Spoofing (HTTP-Schicht) + TLS-Spoofing (Transportschicht) + JS-Injection (Browser-API-Schicht) – jede Schicht fügt Schutz hinzu.



  4. Im Zweifel blockieren: Bei Unsicherheit blockieren. Datenschutzverlustvermeidung hat immer Vorrang vor Funktionalität.



  5. Regelmäßige Profilaktualisierungen: Browser veröffentlichen monatlich neue Versionen und ändern Fingerprints. Profile müssen aktualisiert werden, sonst wird Obscura erkennbar.



  6. Profilvielfalt: Unterschiedliche Profile für verschiedene Kontexte (Arbeit, privat, inkognito-ähnlich) verhindern kontextübergreifende Korrelation.



Umfang für Obscura v1

[MVP]
 HTTP-Header-Spoofing           (alle Header, 12 Vektoren)   
 TLS-Fingerprint-Spoofing       (JA3/JA4 via utls)           
 DNS-Blockierung                (Blocklisten-Verwaltung)      
 WebRTC-Blockierung             (JS-Injection)               
 Navigator-API-Spoofing         (29 JS-Vektoren)             
 QUIC-Blockierung               (UDP 443 ablehnen)           
 3-5 Identitätsprofile          (Chrome, Firefox, Safari)    
 Weboberfläche                  (TS + CSS, Profilverwaltung)  

[Post-MVP]
 Canvas-Rausch-Injektion        (Best-Effort)                
 WebGL-Debug-Info-Blockierung   (teilweise)                  
 AudioContext-Blockierung       (teilweise)                  
 HTTP/2-Fingerprint-Spoofing    (benutzerdefinierte SETTINGS) 
 Benutzerdefinierter Profileditor (UI-Feature)               
 Verkehrsstatistiken            (Dashboard)                  
 Schriftaufzählungsreduzierung  (Messungsrundung)            

Abschließende Bewertung

Aspekt Bewertung
Machbarkeit Realistisch als sinnvolle Datenschutzverbesserung
Endgültigkeit Nicht endgültig – kein Tool kann das sein
Einzigartigkeit Einzigartig – kein bestehendes netzwerkweites mehrschichtiges Anti-Fingerprint-Tool
Vektorabdeckung ~55 % kontrollierbar, ~45 % außerhalb des Bereichs
Wartungsaufwand Mittel-Hoch – TLS/HTTP-Profile benötigen Updates
Leistungsauswirkung Niedrig-Mittel – MITM fügt Latenz hinzu
Benutzererfahrung Hoch – transparent für Endgeräte
Bereitstellung Einfach – Docker-Container, einmal konfigurieren

Schlusswort


Obscura ist es wert, als praktische Datenschutzschicht entwickelt zu werden, die die Kosten des Fingerprintings erheblich erhöht – nicht als Allheilmittel. Sein einzigartiger Wert ist der netzwerkweite, mehrschichtige Schutz ohne Gerätekonfiguration – etwas, das kein bestehendes Tool bietet.



"Perfekte Privatsphäre ist unmöglich. Sinnvolle Privatsphäre ist es nicht."