Dziura w WebRTC pozwala uzyskać nasz prawdziwy adres IP, także lokalny

WebRTC będący częścią HTML 5 i implementowany przez kolejne przeglądarki to bardzo przydatne rozwiązanie, które znalazło zastosowanie choćby w nowej odsłonie YouTube. Niestety, nie ma róży bez kolców, a ostatnio odkryto lukę w tym protokole komunikacyjnym, która pozwala na ujawnienie lokalnych adresów IP użytkowników, którzy z niego korzystają.

Dziura w WebRTC pozwala uzyskać nasz prawdziwy adres IP, także lokalny
Redakcja

Wielu badaczy już od dawna podejrzewało, że WebRTC może zostać do tego wykorzystane, ale dopiero praktyczna prezentacja tego problemu dokładnie pokazała, na czym on polega i do czego może doprowadzić. Daniel Roesler z UtilityAPI stworzył dosyć prostą stronę, na której możemy dokładnie zobaczyć, na co pozwala wspomniana luka – wyświetla nam ona adresy IP jakimi się posługujemy, zarówno te zewnętrzne, jak i lokalne, nawet gdy znajdujemy się za NAT-em. Ma to poważne konsekwencje związane z prywatnością użytkowników, w szczególności gdy chcą oni dbać o nią np. poprzez korzystanie z serwerów VPN. Przez wspomnianą lukę możliwe jest obejście tego typu zabezpieczeń i poznanie prawdziwego IP.

Problem polega na tym, że WebRTC umożliwia wysyłanie żądań za pośrednictwem protokołu STUN (Session Traversal Utilities for NAT). Pozwala on komputerom znajdującym się za NAT-em na odnajdywanie ich publicznych adresów IP, typu NAT z jakiego korzystają, a także wykorzystywanego portu internetowego, który został powiązany z portem lokalnym komputera. Wszystko to w celu umożliwienia komunikacji pomiędzy dwoma tak „schowanymi” hostami przy pomocy UDP. W odpowiedzi na ping do takiego serwera wykonany za pomocą JavaScriptu można otrzymać adres klienta, a także port z jakiego korzysta. Co więcej, nie zobaczymy tego w żadnej konsoli deweloperskiej przeglądarki, bo nie jest realizowane przez np. XMLHttpRequest. Nie są w stanie tego zablokować także żadne dodatki takie jak AdBlock i Ghostery, które przecież mają za zadanie dbać o naszą prywatność.

Schemat działania protokołu STUN
Schemat działania protokołu STUN

Luka jest poważną wadą dla użytkowników dbających o prywatność, a jednocześnie szansą dla reklamodawców – poprzez odpowiednie wykorzystanie serwerów STUN mogliby oni po prostu identyfikować użytkowników w sposób jeszcze dokładniejszy, bez pytania o zgodę i bez przejmowania się dodatkami blokującymi śledzenie. Jak na razie oficjalne informację mówią o tym, że na tego typu działanie są narażeni użytkownicy przeglądarek Google Chrome i Mozilla Firefox pracujących pod kontrolą systemów Windows lub FreeBSD. Osoby używające WebRTC na Linuksie, Mac OS X lub Androidzie są teoretycznie bezpieczne, ale niektórzy z naszych czytelników sygnalizują, że podana podstrona wyświetla ich adresy IP nawet pod pingwinkiem. Na szczęście istnieją sposoby na zabezpieczenie się przed tą luką.

Jak radzi blog TorGuard, jednym z rozwiązań jest wpięcie się do VPN bezpośrednio z poziomu routera, bo złośliwe skrypty nie byłby w stanie przejść przez jego oprogramowanie. Nie każdy będzie mógł sobie pozwolić na takie rozwiązanie, ale jest i inna rada. W przypadku Chrome możemy skorzystać z rozszerzenia WebRTC Block, które blokuje ten protokół, lub ScriptSafe, w którym dokładnie konfigurujemy pracę przeglądarki. W Firefoksie możemy zupełnie zablokować JavaScript na nieznanych stronach przy pomocy NoScript, a także wyłączyć obsługę dziurawego protokołu. Wystarczy w pasku adresu wpisać about:config, wyszukać ustawienie media.peerconnection.enabled, a następnie przestawić je na wartość false i ponownie uruchomić przeglądarkę.

Oczywiście nie powinniśmy z tego powodu przekreślać WebRTC jako takiego, bo jest to rozwiązanie otwarte i nad wyraz użyteczne. Znalazło już zastosowanie w komunikatorze Google Hangouts, a także w niedawno wprowadzonych czatach Hello, jakie są zintegrowane w przeglądarce Firefox. Umożliwia on „rozmawianie ze sobą” zupełnie różnych przeglądarek w czasie rzeczywistym i realizowanie rozmów zarówno głosowych jak i wideo. W przyszłości może dzięki temu pozwolić na wyparcie np. Skype, tym bardziej, że Microsoft postanowił dodać wsparcie dla WebRTC w swojej przeglądarce.

Programy

Zobacz więcej

Wybrane dla Ciebie

Komentarze (55)