Študija primera puščanja 2: puščanje WebRTC

Vaši javni naslovi IP so del identitete posameznika v spletu, kar omogoča spletnim mestom, aplikacijam in tretjim osebam, da spremljajo svojo dejavnost po spletu in jo povežejo s to določeno osebo. Z VPN spletna mesta vidijo javni IP naslov strežnika VPN namesto uporabnikovega in ščitijo njegovo identiteto.

Vendar lahko WebRTC občasno omogoči spletnim mestom, da vidijo javni IP-naslov uporabnika, kar predstavlja uhajanje zasebnosti. Ta študija primera iz našega laboratorija za raziskovanje zasebnosti opisuje, kako prihaja do puščanja WebRTC in kako jih lahko preizkusite z orodji za testiranje uhajanja ExpressVPN.

Pregled WebRTC

WebRTC je nabor odprtih tehnologij, ki spletnim stranem omogočajo komunikacijo med osebnimi (P2P) prek spletnega brskalnika. Večina sodobnih brskalnikov zdaj popolnoma podpira standard WebRTC.

WebRTC med drugim omogoča spletnim brskalnikom možnost zaznavanja tako uporabnikovih javnih naslovov IP kot tudi njihovih lokalnih naslovov IP. Ta sposobnost je ključna za olajšanje komunikacije P2P z uporabo samo spletnih brskalnikov, brez dodatnih aplikacij ali vtičnikov.

WebRTC pušča

Puščanja WebRTC so oblika puščanja IP. Spletne strani lahko z JavaScript API-ji WebRTC zaprosijo brskalnik za IP naslove naprave. Ko zberejo te naslove IP, jih lahko pošljejo na svoje strežnike in jih uporabijo za identifikacijo, kdo dostopa do določene spletne strani ali storitve.

Večina aplikacij VPN učinkovito ščiti pred uhajanjem naslovov IPv4 prek WebRTC, vendar veliko aplikacij VPN ponavadi spregledajo uhajanje naslovov IPv6 na enak način.

Kako WebRTC zazna IP naslove?

WebRTC uporablja dve glavni tehniki za določitev naslova IP naprave: strežniki STUN / TURN in odkrivanje gostiteljskega kandidata.

STUN / TURN strežniki odkrijejo IP naslove tako, da preverijo, kateri javni IP naslov se uporablja za dostop do njih. Običajno to niso vzrok puščanja IP VPN.

Odkritje kandidatk za gostitelja je bolj problematičen, ko gre za puščanje WebRTC. Ta funkcionalnost omogoča brskalnikom, da neposredno pregledajo vaš sistemski in omrežni vmesnik in vidijo, kateri IP naslovi so z njimi povezani.

Vsi aktivni omrežni vmesniki v napravi potrebujejo IP naslove, da delujejo. Na primer, za aktivno povezavo Wi-Fi bo v napravi ustrezen omrežni vmesnik. Ta vmesnik bo imel IP naslov.

WebRTC lahko na spletnih straneh razkrije te naslove IP, ki jih običajno ni bilo mogoče videti zunaj naprave.

Zakaj so puščanja IPv6 problematična?

IPv4 naslovov je malo - preprosto jih ni dovolj! Običajno se naslovi IPv4 delijo med ljudi. Da bi to naredili, se uporablja sistem, imenovan Network Address Translation (NAT). Ta sistem omogoča napravam, da dodelijo "lokalne IPv4" naslove svojim omrežnim vmesnikom, medtem ko delijo skupni javni naslov IP, običajno prek ponudnika internetnih storitev. Te lokalne naslove IP uporabljajo milijoni računalnikov po vsem svetu in jih je težko povezati z določenim posameznikom.

Težava IPv6 je, da naslovov ne primanjkuje. Obstajajo a veliko izmed njih! To pomeni, da imajo posamezni ljudje običajno dodeljen enkraten naslov IPv6. Ko je tak naslov IPv6 dodeljen omrežnemu vmesniku, to pomeni, da lahko WebRTC odkrije IP naslov, ki identificira, kdo ste, tudi če ta naslov ni običajno viden v zunanjem svetu.

Kakšne vrste puščanja obstajajo?

Obstajata dve vrsti puščanja WebRTC različnih resnosti. Kateri uporabnik je lahko ranljiv, je odvisno od tega, ali spletni strani podelijo določena dovoljenja, povezana z WebRTC. V obeh primerih naj bi dober VPN ščitil pred puščanjem.

Upoštevajte, da lahko proizvajalci brskalnikov uporabljajo različne načine za izvajanje WebRTC, tako da lahko en brskalnik pušča, drugi pa ne, tudi z isto nastavitvijo naprave in ponudnikom VPN.

Stalna puščanja (dovoljenja niso potrebna)

Spletne strani privzeto nimajo dovoljenja WebRTC. Kljub temu je na straneh še vedno mogoče dostopati do nekaterih uporabnikovih IP naslovov s pomočjo API-jev WebRTC. V teh okoliščinah spletna mesta lahko brez težav vedejo uporabnika prek njihovih naslovov IP.

Sproženo puščanje (potrebna dovoljenja)

Spletne strani lahko izrecno zahtevajo dovoljenja za uporabo funkcionalnosti, povezane z WebRTC. Ta dovoljenja so dejansko razvrščena kot Mikrofon in Kamera dovoljenja. Razlog za to je, da je WebRTC tehnologija, usmerjena v komunikacijo P2P, kot so glasovni klici ali videokonference.

Ko je katero od teh dovoljenj odobreno, spletna stran dobi dostop do širšega obsega naslovov IP v napravi, kar omogoča puščanje. V nekaterih brskalnikih ta dovoljenja obstajajo med sejami, tj. Če je uporabnik enkrat dovolil spletno stran, ta dovoljenja obdrži, ko se uporabnik v prihodnosti vrne na stran..

Upoštevajte, da je treba posameznim spletnim stranem dodeliti dovoljenja ločeno, zato podeljevanje dovoljenj za eno spletno mesto ne dovoljuje dovoljenja za drugo.

Čeprav so ta puščanja manj resna od stalnih puščanj zgoraj, ker zahtevajo aktivno odobritev dovoljenj s strani uporabnika, še vedno menimo, da so zaskrbljujoči. WebRTC postaja vse bolj priljubljen in uporabniki lahko v prihodnjih letih pričakujejo, da bo s tehnologijo videlo več in več spletnih mest. Če VPN ne skriva IP naslovov, ko uporabnik podeli dovoljenja spletnemu mestu, potem imata le dve možnosti:

  • Ne uporabljajte nobenih spletnih mest in storitev, ki podpirajo WebRTC
  • Sprejmite varnostna in zasebna tveganja, povezana z izpostavitvijo njihovega naslova IP

Testiranje na puščanje

Ti testi se lahko izvajajo na katerem koli namiznem računalniku. Pri izvajanju testov puščanja priporočamo, da imate na preskusni napravi na voljo IPv6, saj je to najverjetnejša situacija, v kateri puščajo ponudniki VPN.

Ročno testiranje

Za puščanje lahko ročno preizkusite s spletnim testom puščanja WebRTC.

Repro koraki

  • Preverite, ali je testna stran za tesnjenje zaprto
  • Prepričajte se, da je vaša aplikacija VPN odklopljen
  • Obiščite testno stran za tesnjenje WebRTC
  • Zapomni si vse javnosti IP naslovi, ki jih vidite v testnem izhodu
    • Prikazani bodo s svojimi Stanje kot "potencialno puščanje"
  • Zaprite testno stran za tesnjenje
  • Povežite se s svojim VPN
  • Znova odprite testno stran za puščanje WebRTC
  • Če vidite katerega od naslovov IP, ki ste jih pravkar zabeležili, potem imate puščanje

Upoštevajte, da vas izrecno prosimo, da zaprete testno stran za puščanje, da se izognete težavam s predpomnjenjem brskalnika. Številni brskalniki bodo predpomnili IP-je, odkrite prek WebRTC, zato ponovno nalaganje spletne strani ni zanesljiv način za zagon testa.

Upoštevajte, da ta preskusna stran testira samo najtežje razrede puščanja, tj. "Obstojna puščanja", o katerih smo govorili zgoraj. Če želite preveriti, ali puščate, ko so v brskalniku odobrena dovoljenja, predlagamo, da uporabite spodaj uporabljena orodja za testiranje puščanja.

Testiranje z uporabo orodij za testiranje uhajanja ExpressVPN

Orodja za testiranje puščanja ExpressVPN so razširljiva zbirka odprtokodnih orodij Python, zasnovana tako za ročno kot samodejno testiranje tesnjenja VPN aplikacij. Oglejte si naš uvod v orodja za navodila za prenos in nastavitev orodij.

Ko nastavite orodja, se prepričajte, da ste v korenskem imeniku orodij in izvedite:

./run_tests.sh -c configs / case_studies / webrtc_leaks.py

Ta ukaz bo vodil dva preskusna primera v več brskalnikih. Oba primera sta v veliki meri avtomatizacija zgoraj opisanih ročnih korakov in naredita naslednje:

  • Prepričajte se, da je preizkušena aplikacija VPN izključena
  • Določite javna naslova naprave IPv4 in IPv6
  • Povežite aplikacijo VPN
  • Za zbiranje IP-jev WebRTC uporabite poenostavljeno spletno stran za testiranje puščanja
  • Preverite, ali je kateri koli javni IP, zbran pred povezavo, po povezavi viden prek WebRTC

En test bo preizkusil obstojno puščanje, ko dovoljenja brskalnika niso odobrena, drugi test pa bo preizkusila puščanje, ko so dovoljenja so odobreno.

Opomba: Brskalnike, ki jih uporabljate, lahko prilagodite s spreminjanjem BROŠARJI seznam v webrtc_leaks.py mapa.

Študija primera puščanja 2: puščanje WebRTC
admin Author
Sorry! The Author has not filled his profile.