Site-urile pot detecta adresa IP locala folosind WebRTC

Atunci cand se acceseaza un site web, informatii legate de utilizator si conexiunea de internet folosita sunt disponibile pentru site in mod automat. Aceste informatii includ numele browser-ului si versiunea acestuia, sistemul de operare, limba folosita de catre utilizator, rezolutia ecranului si adresa IP publica.

Adresa IP publica se poate schimba folosind servere proxy sau retele virtuale private (VPN), acest lucru permitand utilizatorilor sa ramana anonimi pe internet fata de companiile ce furnizeaza servicii in mediul online - in special acele companii care incearca sa te urmareasca pe internet. Insa aceasta anonimitate are o limita pentru ca noua adresa IP utilizata va putea fi folosita pentru aflarea adresei IP publice reale - asta doar de catre institutile legale abilitate.

Odata cu integrarea componentei WebRTC in versiunile recente ale navigatoarelor de internet precum Firefox, Chrome si Opera, siturile pot detecta IP-ul public si local chiar daca se foloseste un VPN sau DNS pentru a masca IP-urile reale. Acest lucru face ca un calculator sa fie identificat si urmarit cu usurinta pe internet cat si in cadrul unei retele locale.

WebRTC este un proiect open-source, disponibil gratuit, care are rolul de a permite comunicarea in timp real (Real Time Comunication - RTC) a navigatoarelor de internet si a aplicatiilor mobile cu un server sau calculator din reteaua de internet utilizand API-uri care sa trimita cereri STUN(Session Traversal Utilities for NAT) calculatorului local . Broswerele care folosesc WebRTC permit siturilor sa afle IP-ul local dintr-un script JavaScript, fara instalarea sau rularea unui plugin aditional.

Poti verifica daca browserul tau foloseste WebRTC accesand aceasta pagina Github care va incerca sa detecteze adresa IP publica si locala.
Browserul are incorporat WebRTC si deci permite furnizarea  IP-ului local. Adresele afisate in imagine nu sunt cele reale.


  Dezactivare WebRTC

Dezactivarea rularii de cod JavaScript in browser face ca cererile de obtinere a adresei IP publice sau locale prin intermediul WebRTC sa nu pot fi efectuate. Desi dezactivarea de JavaScript este echivalenta cu dezactivarea WebRTC, toate site-urile care vor fi accesate si care folosesc JavaScript nu vor putea reda utilizatorului toate functionalitatile implementate pe site. Extensia NoScript a browser-ului Firefox va avea acelasi rezultat - imposibilitatea de a rula cod JavaScript si deci adresa IP locala ramane inaccesibila siturilor.

Cererile WebRTC nu pot fi blocate folosind plugin-uri precum AdBlockPlus sau Ghostery, insa se pot instala extensii specializate care va bloca  componenta WebRTC. Extensia pentru Chrome si Opera se numeste webRTC Block, cea pentru Firefox - Disable webRTC.

Mai multe pe pagina WebRTC. Codul sursa JavaScript de preluare al IP-urilor il gasesti aici.