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

obscura/research/conclusions

6 min di lettura

Meta-Conclusione (2026-07-08)

Dopo un'analisi completa del fingerprinting del browser, esaminando FingerprintJS (44 vettori), BrowserLeaks (15+ strumenti), EFF Cover Your Tracks, fingerprint a livello di rete (TCP, TLS, HTTP/2, QUIC) e vettori a livello hardware, le seguenti conclusioni informano il design di Obscura.


Riepilogo Inventario Vettori

Categoria Vettori Totali Controllabili dal Proxy Parziali Incontrollabili
Rete e Protocollo 13 3 6 4
HTTP e Header 12 11 1 0
API JavaScript / DOM 44 29 13 2
Funzionalità Browser ~100+ 0 ~10 ~90+
Sistema e Hardware 15 6 4 5
Comportamentale 8 1 4 3
Totale Distinto ~60+ unici ~50 ~38 ~100+

Copertura realistica: Il proxy controlla ~55% della superficie di fingerprint. Il restante ~45% è hardware, comportamentale o funzionalità intrinseche del browser.


Valutazione dell'Impatto per Livello

Livello 1: Rete e Protocollo: ALTO IMPATTO, Controllabile

Vettore Controllabile Priorità per Obscura Metodo
Fingerprint TLS (JA3/JA4) Critica utls (Go) / Rust TLS personalizzato
Fingerprint HTTP/2 Parziale Alta Controllo frame SETTINGS personalizzato
Header HTTP (12 vettori) Alta Riscrittura header al proxy
DNS Alta Resolver locale + blocklist
WebRTC IP leak Alta Iniezione JS per bloccare RTCPeerConnection
Stack TCP/IP No Bassa Stack del container ereditato
QUIC/HTTP/3 Blocca Media Blocca UDP 443
Attacchi di temporizzazione Parziale Bassa Arrotonda performance.now()

Livello 2: API JavaScript: IMPATTO MEDIO, Parzialmente Controllabile

29 vettori completamente falsificabili tramite iniezione JS:

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

13 vettori parzialmente falsificabili:

  • Canvas: l'iniezione di rumore è rilevabile
  • WebGL: può bloccare debug_renderer_info, non il rendering
  • Audio: può appiattire l'output, la variazione hardware rimane
  • Font: può arrotondare le misurazioni, non eliminare l'enumerazione
  • Plugin: può sovrascrivere, ma limitato
  • DOM blockers: rilevabile

2 vettori non falsificabili:

  • Fingerprint matematico FPU: comportamento hardware in virgola mobile
  • Latenza base audio: stack audio hardware

Livello 3: Funzionalità Browser: BASSO IMPATTO, Incontrollabile

~100+ test di supporto funzionalità (WebGL, WebGPU, WebUSB, Service Workers, ecc.) sono inerenti al browser. Non possono essere modificati a livello di proxy.

Mitigazione: Il blocco DNS dei domini di fingerprinting noti impedisce il caricamento di molti script di rilevamento funzionalità.

Livello 4: Hardware e Sistema: BASSO IMPATTO, Incontrollabile

Modello GPU, funzionalità CPU, hardware audio, layout tastiera, font installati: queste sono proprietà del sistema locale che il proxy non può modificare.

Livello 5: Comportamentale: FUORI SCOPO

Movimenti del mouse, dinamiche di battitura, pattern di scroll, durata sessione: la biometria comportamentale è al di fuori del controllo di qualsiasi proxy.


Risultati Chiave

1. Lo Spoofing del Fingerprint TLS è Non Negoziabile

Se Obscura termina TLS (richiesto per MITM), il server vede lo stack TLS del proxy. Senza spoofing, la destinazione rileva immediatamente che un proxy è in uso. Questa è la funzionalità singolarmente più critica.

2. La Coerenza Interna è Obbligatoria

Ogni segnale deve corrispondere allo stesso profilo:

Profilo: "Chrome 120 / Windows 11"
   User-Agent: Chrome 120 su Win11
   Sec-CH-UA-Platform: "Windows"
   JA3: Chrome 120 Win11
   HTTP/2 SETTINGS: valori di Chrome
   fuso orario: corrisponde alla locale Win11
   schermo: risoluzione tipica Win11
   platform: "Win32"

L'incoerenza è di per sé un fingerprint.

3. Il Blocco DNS ha il Miglior Rapporto Costo-Beneficio

Bloccare fingerprintjs.com, *.metrics.*, e i domini di tracciamento impedisce del tutto il caricamento degli script di fingerprinting. Questa è la protezione più semplice ed efficace.

4. Canvas/WebGL/WebGPU sono i Problemi Difficili

Questi vengono renderizzati sull'hardware locale. Il proxy può:

  • Bloccare le API di informazioni di debug (modello GPU nascosto)
  • Iniettare rumore nell'output canvas (rilevabile dal confronto)
  • Non controllare il rendering effettivo dei pixel

Tor Browser risolve a questo rendendo tutti gli utenti identici (rompe completamente WebGL). Obscura non può eguagliarlo a livello di rete.

5. QUIC/HTTP/3 Deve Essere Bloccato

QUIC è crittografato end-to-end. Se consentito, il traffico bypassa completamente il proxy. Blocca UDP 443.

6. WebRTC Deve Essere Bloccato

WebRTC bypassa il proxy tramite STUN. Blocca tramite override di RTCPeerConnection con iniezione JS.


Principi di Design


  1. Coerenza sopra completezza: Un insieme più piccolo di segnali perfettamente coerenti batte una protezione ampia ma incoerente.



  2. Blocca piuttosto che falsificare: Se un vettore non può essere falsificato in modo affidabile (canvas, audio), bloccalo invece di perdere dati parziali. Bloccare è rilevabile ma perde meno informazioni.



  3. Difesa in profondità: Blocco DNS (impedisce il caricamento degli script) + spoofing header (livello HTTP) + spoofing TLS (livello trasporto) + iniezione JS (livello API browser): ogni livello aggiunge protezione.



  4. Chiudi in caso di fallimento: Quando incerto, blocca. Dai sempre la priorità alla prevenzione della perdita di privacy rispetto alla funzionalità.



  5. Aggiornamenti regolari del profilo: I browser rilasciano nuove versioni mensilmente, cambiando i fingerprint. I profili devono essere aggiornati o Obscura diventa rilevabile.



  6. Diversità dei profili: Profili diversi per contesti diversi (lavoro, personale, simile a incognito) previene la correlazione tra contesti.



Ambito per Obscura v1

[MVP]
  Spoofing header HTTP            (tutti gli header, 12 vettori)   
  Spoofing fingerprint TLS        (JA3/JA4 tramite utls)           
  Blocco DNS                      (gestione blocklist)             
  Blocco WebRTC                   (iniezione JS)                   
  Spoofing API Navigator          (29 vettori JS)                  
  Blocco QUIC                     (drop UDP 443)                   
  3-5 profili identità            (Chrome, Firefox, Safari)        
  Interfaccia Web                 (TS + CSS, gestione profili)     

[Post-MVP]
  Iniezione rumore Canvas         (best effort)                    
  Blocco WebGL debug_info         (parziale)                       
  Blocco AudioContext             (parziale)                       
  Spoofing fingerprint HTTP/2     (SETTINGS personalizzati)        
  Editor profili personalizzato   (funzionalità UI)                
  Statistiche traffico            (dashboard)                      
  Riduzione enumerazione font     (arrotondamento misurazioni)     

Valutazione Finale

Aspetto Verdetto
Fattibilità Realizzabile come miglioramento significativo della privacy
Definitività Non definitivo: nessuno strumento può esserlo
Unicità Unico: nessuno strumento esistente a livello di rete offre anti-fingerprinting multi-livello
Copertura Vettori ~55% controllabile, ~45% fuori ambito
Manutenzione Medio-Alta: i profili TLS/HTTP necessitano aggiornamenti
Impatto sulle Prestazioni Basso-Medio: il MITM aggiunge latenza
Esperienza Utente Alta: trasparente per i dispositivi finali
Distribuzione Semplice: container Docker, configurazione una tantum

Parola Finale


Obscura vale la pena di essere costruito come livello pratico di privacy che aumenta significativamente il costo del fingerprinting, non come un proiettile d'argento. Il suo valore unico è la protezione multi-livello su tutta la rete senza configurazione per dispositivo: qualcosa che nessuno strumento esistente fornisce.



"La privacy perfetta è impossibile. La privacy significativa no."