Rilevamento delle fughe di IP via WebRTC: da bug a funzionalità
Le sonde STUN/TURN di WebRTC rivelano gli IP reali dietro le VPN. Come abbiamo trasformato una fuga di privacy in un segnale di rilevamento delle frodi.
WebRTC — Web Real-Time Communication — è stato progettato per abilitare videochiamate, condivisione di file e trasferimento di dati peer-to-peer direttamente nel browser. Per stabilire queste connessioni, i browser devono scoprire le proprie interfacce di rete e negoziare la connettività con i peer remoti. Questo processo coinvolge i server STUN (Session Traversal Utilities for NAT) e TURN (Traversal Using Relays around NAT) che aiutano i browser a scoprire i propri indirizzi IP pubblici e ad attraversare i firewall NAT.
L'effetto collaterale è potente: anche quando un utente si connette attraverso una VPN, lo stack WebRTC del browser può rivelare l'indirizzo IP reale dietro il tunnel. Questo accade perché i candidati WebRTC ICE (Interactive Connectivity Establishment) includono gli indirizzi delle interfacce di rete locali che la VPN non maschera.
Come funziona la fuga
Quando un browser crea una RTCPeerConnection e raccoglie i candidati ICE, interroga i server STUN per scoprire il proprio IP pubblico. Ma enumera anche le interfacce di rete locali — incluso l'IP privato dell'adattatore fisico. Se la VPN tunnelizza il traffico solo a livello IP ma non configura lo stack WebRTC del browser per usare esclusivamente l'interfaccia del tunnel, l'IP reale trapela attraverso il candidato host.
In tracio.ai, sondiamo questo comportamento con attenzione. Il nostro sistema IP Intelligence crea una richiesta STUN controllata e analizza i candidati ICE restituiti dal browser. Quando l'IP pubblico da STUN differisce dall'IP che vediamo al nostro server, segnaliamo una VPN o un proxy. Quando l'IP dell'interfaccia locale rivela un intervallo di rete privata che contraddice la presunta posizione geografica, aumentiamo il punteggio di sospetto.
Da bug a segnale di rilevamento
La maggior parte dei browser orientati alla privacy ha corretto questa fuga — Chrome richiede il permesso esplicito dell'utente per WebRTC e Firefox offre impostazioni per disabilitare l'UDP non instradato via proxy. Ma la corsa agli armamenti continua: alcuni client VPN non configurano correttamente WebRTC, le versioni più vecchie dei browser restano vulnerabili, e lo schema comportamentale di una risposta WebRTC «corretta» rispetto a una «con fuga» è di per sé un segnale utile.
Il nostro approccio tratta la risposta WebRTC come un segnale composito: la presenza dei candidati host, il numero di candidati ICE restituiti, i tipi di candidati (host, srflx, relay) e i tempi di risposta contribuiscono tutti al fingerprint del dispositivo. Anche quando nessun IP trapela, lo schema del comportamento WebRTC è distintivo.
Sondaggio dei server TURN
Oltre a STUN, sondiamo anche il comportamento dei server TURN. I relay TURN sono tipicamente usati quando le connessioni peer-to-peer dirette falliscono — comune nelle reti aziendali dietro firewall rigidi. La risposta di allocazione TURN rivela informazioni sul percorso del relay: il protocollo di trasporto (UDP vs TCP vs TLS), l'indirizzo del relay e la durata dell'allocazione.
Il nostro sistema SignalProbe invia richieste di allocazione TURN accuratamente costruite ai nostri server relay. Il tempo di risposta, i trasporti supportati e gli schemi di successo/fallimento dell'allocazione variano a seconda dell'ambiente di rete e forniscono ulteriore diversità di segnale per il fingerprinting del dispositivo.
Considerazioni sulla privacy
Vogliamo essere chiari: tracio.ai non sfrutta le fughe WebRTC per deanonimizzare gli utenti. Il nostro sistema rileva quando è in uso una VPN e lo riporta come segnale di rischio. Non memorizziamo né esponiamo mai l'indirizzo IP trapelato. Il segnale è binario: «VPN rilevata con incoerenza WebRTC» oppure «comportamento WebRTC coerente con una connessione diretta».
Questo approccio fornisce ai team di prevenzione delle frodi le informazioni di cui hanno bisogno — un visitatore sta mascherando la propria posizione reale — senza compromettere la privacy individuale. Il segnale aiuta a rilevare attacchi di frode coordinati in cui molteplici account originano dalla stessa posizione nascosta.