Detectarea scurgerilor de IP prin WebRTC: de la bug la funcționalitate
Sondele STUN/TURN ale WebRTC dezvăluie IP-uri reale din spatele VPN-urilor. Cum am transformat o scurgere de confidențialitate într-un semnal de detectare a fraudei.
WebRTC — Web Real-Time Communication — a fost conceput pentru a permite apeluri video, partajarea de fișiere și transferul de date peer-to-peer direct în browser. Pentru a stabili aceste conexiuni, browserele trebuie să își descopere propriile interfețe de rețea și să negocieze conectivitatea cu peer-urile la distanță. Acest proces implică servere STUN (Session Traversal Utilities for NAT) și TURN (Traversal Using Relays around NAT) care ajută browserele să își descopere adresele IP publice și să traverseze firewall-urile NAT.
Efectul secundar este puternic: chiar și atunci când un utilizator se conectează printr-un VPN, stiva WebRTC a browserului poate dezvălui adresa IP reală din spatele tunelului. Acest lucru se întâmplă deoarece candidații WebRTC ICE (Interactive Connectivity Establishment) includ adresele interfețelor de rețea locale pe care VPN-ul nu le maschează.
Cum funcționează scurgerea
Când un browser creează un RTCPeerConnection și colectează candidați ICE, interoghează serverele STUN pentru a-și descoperi IP-ul public. Dar enumeră totodată și interfețele de rețea locale — inclusiv IP-ul privat al adaptorului fizic. Dacă VPN-ul tunelează traficul doar la nivelul IP, dar nu configurează stiva WebRTC a browserului să folosească exclusiv interfața tunelului, IP-ul real se scurge prin candidatul host.
La tracio.ai sondăm acest comportament cu atenție. Sistemul nostru IP Intelligence creează o cerere STUN controlată și analizează candidații ICE returnați de browser. Când IP-ul public obținut de la STUN diferă de IP-ul pe care îl vedem la serverul nostru, semnalăm un VPN sau proxy. Când IP-ul interfeței locale dezvăluie un interval de rețea privată care contrazice presupusa locație geografică, creștem scorul de suspiciune.
De la bug la semnal de detectare
Majoritatea browserelor axate pe confidențialitate au corectat această scurgere — Chrome cere permisiunea explicită a utilizatorului pentru WebRTC, iar Firefox oferă setări pentru dezactivarea traficului UDP neproxat. Dar cursa înarmărilor continuă: unii clienți VPN nu configurează corect WebRTC, versiunile mai vechi de browser rămân vulnerabile, iar tiparul comportamental al unui răspuns WebRTC „corectat” față de unul „cu scurgere” este în sine un semnal util.
Abordarea noastră tratează răspunsul WebRTC ca pe un semnal compozit: prezența candidaților host, numărul de candidați ICE returnați, tipurile de candidați (host, srflx, relay) și temporizarea răspunsului contribuie toate la amprenta dispozitivului. Chiar și atunci când niciun IP nu se scurge, tiparul comportamentului WebRTC este distinctiv.
Sondarea serverelor TURN
Dincolo de STUN, sondăm și comportamentul serverelor TURN. Releele TURN sunt folosite de obicei când conexiunile directe peer-to-peer eșuează — situație frecventă în rețelele corporative aflate în spatele unor firewall-uri stricte. Răspunsul de alocare TURN dezvăluie informații despre calea releului: protocolul de transport (UDP vs TCP vs TLS), adresa releului și durata de viață a alocării.
Sistemul nostru SignalProbe trimite cereri de alocare TURN atent construite către propriile noastre servere de releu. Timpul de răspuns, transporturile acceptate și tiparele de succes/eșec ale alocării variază în funcție de mediul de rețea și oferă o diversitate suplimentară de semnal pentru amprentarea dispozitivului.
Considerații privind confidențialitatea
Vrem să fim clari: tracio.ai nu exploatează scurgerile WebRTC pentru a dezanonimiza utilizatorii. Sistemul nostru detectează când este folosit un VPN și raportează acest lucru ca semnal de risc. Nu stocăm și nu expunem niciodată adresa IP scursă. Semnalul este binar: „VPN detectat cu inconsecvență WebRTC” sau „comportament WebRTC consecvent cu o conexiune directă”.
Această abordare oferă echipelor de prevenire a fraudei informațiile de care au nevoie — un vizitator își maschează locația reală — fără a compromite confidențialitatea individuală. Semnalul ajută la detectarea atacurilor de fraudă coordonate, în care mai multe conturi provin din aceeași locație ascunsă.