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

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

Dziura w WebRTC pozwala uzyskać nasz prawdziwy adres IP, także lokalny
Redakcja
04.02.2015 11:47, aktualizacja: 04.02.2015 12:04

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ą.

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
Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (55)