W „Internetowej inwigilacji” stosuję często analogię pocztową. Korzystanie z internetu jest jak wysyłanie i odbieranie listów oraz paczek.

Każda osoba i firma ma jakiś swój adres korespondencyjny. W realiach internetowych jest nim adres IP. Ten adres – choć często zmienny – trochę ujawnia o jego użytkowniku. Dlatego dla lepszej prywatności można go ukryć.

Ale „ukryć” w określony sposób. Bo do osoby podpisującej się zmyślonym adresem IP nie docierałyby odpowiedzi. Tak jak w życiu, gdyby pisała losowy adres na kopercie.

Nie, adresy muszą być prawdziwe. Nie da się zmyślać.
Można natomiast skorzystać z pośrednika. Będzie brał listy wysyłane przez osobę pragnącą prywatności, po czym przekazywał je dalej, podpisując je własnym adresem. Tak działają choćby VPN-y.

Adwersarze mają jednak pewne sposoby na przechytrzenie tego pośrednika. Mogą poznać prawdziwy adres IP, nadużywając WebRTC – protokołu używanego głównie do wideorozmów. Jest szczególnie podatny, bo omijanie pośredników to jedna z jego głównych funkcji. Wynikająca z potrzeby szybkości.

W tym wpisie przybliżę zagrożenie i pokażę sposoby na uporanie się z nim. W bonusie aluzje do romansów i mapki ładnych górskich okolic :smile:

Zapraszam!

Spis treści

Historyjka z happy endem

Czas na opowieść o swataniu. Miejscem akcji będzie kilka niewielkich wioseczek w Beskidzie Wyspowym. Łączące je drogi symbolizują infrastrukturę internetową.

Rutyna z pośrednikiem

Za siedmioma górami, za siedmioma lasami… Na końcu wioski Koninki mieszka sobie Janek. W wiosce Konina mieszka z kolei Gosia. Nie znają swoich nazwisk ani adresów, a jednak ze sobą piszą.
Są bowiem klientami fikcyjnego Klubu „Podobni” z miejscowości Podobin.

Mapka złożona z dwóch zrzutów ekranów ułożonych blisko siebie. Górny pokazujące drogę z południa na północ. Na północy widać ikonę kuli ziemskiej, po której latają strzałki, a na południu jest miejscowość Niedźwiedź. Od głównej drogi odbija na bok mniejsza, do wioski Podobin. Nałożono na nią ikonę serwera. Na dolnej mapce, w miejscowości Niedźwiedź, droga się rozwidla. Jej prawa odnoga kończy się ślepym zaułkiem, na który nałożono ikonę laptopa z różowym ekranem. Lewa odnoga idzie przez miejscowość Poręba Wielka, mijając ikonę wszechwidzącego oka, po czym się rozwidla na dwie drogi. Na końcu jednej z nich jest ikona laptopa z niebieskim ekranem.

Źródło map: mapy.cz. Ikony z Flaticon, szczegóły pod koniec wpisu.

Klub jest pośrednikiem dla nieśmiałych. Przyjmuje listy od jednych klubowiczów i przekazuje je innym, wskazanym z imienia. Adresy zachowuje do swojej wiedzy i nie ujawnia ich, póki klienci nie zechcą się poznać.
To odpowiednik czatu albo anonimowego portalu społecznościowego z wirtualnego świata.

Janek jest kompletnym piwniczakiem. Nie rusza się z domu, mało co umie. Nie ma pojęcia, jak adresować listy, gdzie zdobyć znaczki i tak dalej. W tej analogii to internauta.

Na szczęście mieszka z nim jego wujek złota rączka (przeglądarka), który zna się na rzeczy i któremu Janek bezgranicznie ufa. Chłopak tylko pisze kartki i podaje je wujowi. A ten zajmuje się kopertami i adresowaniem do „Podobnych”.

Wuj przekazuje listy listonoszowi (odpowiednik operatora telekomunikacyjnego). Ten rozwozi przesyłki, jeżdżąc sobie rowerem po wyznaczonych drogach. Korzysta z infrastruktury sieciowej.

Swoją drogą w tym świecie adresy korespondencyjne są częściowo anonimowe. Każdy może odczytać z nich miejscowość. Ale zamiast dokładnej ulicy i numeru domu jest ciąg cyfr. Tylko listonosze mają dekodery pozwalające to odczytać.

Gdy listonosz przejeżdża przez Porębę Wielką, zatrzymują go wścibscy staruszkowie (odpowiednik hakera-podglądacza). Całymi dniami nic nie robią, tylko obserwują i plotkują. Nie da się ich ominąć, bo siedzą przy jedynej drodze.

Uwaga

W praktyce haker byłby rzadkim zjawiskiem, częściej to firma telekomunikacyjna analizuje dane ludzi. Wścibski listonosz może się zatrzymać na poboczu i zerknąć na listy.
Ale to detal. Rodzaj podglądacza nie wpłynie na dalszą część historyjki.

Wścibskie oczy chętnie by zajrzały do listu Janka. Ale wujo go zaplombował (zaszyfrował), więc tego nie zrobią. Mogą jedynie odczytać z koperty, że to coś dla Klubu „Podobni” (poznać metadane).

Czy to cenna informacja? To zależy. Mogą obstawiać, że Janek zapewne chce kogoś poznać. Jeśli widzą, że często wysyła tam listy, to pewnie jest stałym klientem. Ale trudno ustalić coś więcej.

Listonosz dostarcza list do Klubu. Tam zdejmują plombę, widzą że to do Gosi. Przekładają list do koperty z jej adresem i powierzają go innemu listonoszowi. Ten zawozi go do Koninek.

A w drugą stronę?

  • Gosia pisze list,
  • listonosz z jej rejonu zawozi go do Klubu,
  • klub wpisuje adres Janka i daje list listonoszowi z jego rejonu,
  • w domu Wujo otwiera kopertę (bo Janek to by rozerwał i wyrzucił, a szkoda). Przebiega wzrokiem po tekście, ale Janek nie ma nic przeciwko.
  • Janek dostaje kartkę do rąk.

I tak to życie się toczy. Listy latają, Janek i Gosia nie znają adresów. Staruszkowie łypią, ale mało co widzą.

ICE, czyli przełamanie lodów

Pewnego dnia Gosia uznaje, że może czas na zmianę rodzaju korespondencji. Zamiast listów tekstowych – liczne zdjęcia. Z podróży, żeby nie było.

W świecie komputerów odpowiednikiem byłoby rozpoczęcie wideorozmowy zamiast czatu tekstowego i przesyłanie sobie klatek filmu. Od strony technicznej wiąże się to często z tematem wpisu – włączeniem WebRTC.

Klub nalegał, żeby dawać im znać o takich zmianach. Zatem Gosia pisze do nich list.

Ciekawostka

Zmiana rodzaju wiadomości podczas WebRTC polega na zmianie protokołu.
Klasycznym „listom”, dłuższym i bardziej oficjalnym, odpowiada protokół TCP. To on działa w tle praktycznie za każdym razem, gdy odwiedzamy strony internetowe.
Z kolei „kartki” (lekkie, zwięzłe i częste) powierza się częściej protokołowi UDP.

Klub ma taką swoją zasadę: gdy zaczynają latać zdjęcia, to odsuwa się w cień. Przekazuje każdej osobie adres tej drugiej i zostawia je same ze sobą.

Ale nie robią tego z dyskrecji. Więcej zdjęć oznaczałoby więcej pracy przy przekazywaniu korespondencji. A rąk do pracy niewiele, więc wolą jej uniknąć.
W podobny sposób serwery podczas WebRTC mogą „zeswatać” ze sobą adresy IP i wycofać się na czas komunikacji. Oszczędzają dzięki temu swoje procesory i łącze internetowe.

Sam moment przekazania adresów nosi nazwę ICE (Interactive Connectivity Establishment). Dzięki niemu użytkownicy mogą się porozumiewać bez udziału serwera pośredniczącego. Od teraz jest między nimi połączenie peer-to-peer. W skrócie P2P.

Obrazek wygenerowany komputerowo, w stylu kolorowego rysunku, pokazujący trzy postacie w eleganckich strojach. Po bokach stoją mężczyzna i kobieta z czarnymi opaskami na oczach. Między nimi stoi starszy, siwy pan, trzymając dłonie na ich barkach. Na postacie nałożono napis WebRTC oraz logo tego standardu.

Źródło: generator Bing Create, logo WebRTC. Opis obrazka i przeróbki moje.

Klub odbiera prośbę Gosi. Pisze do Janka, już we własnym imieniu, pytając czy się zgadza na wymianę zdjęć. Swoje pytanie wysyła na papierze w ozdobne płomyki, bo to szczególny typ informacji.

Jak już pisałem, wszystkie kartki przejmuje wujek Janka. Również tę specjalną.
I tu zwrot akcji… Nie przekazuje jej Jankowi. Wyraża zgodę w jego imieniu. Bo jeszcze Janek by coś popsuł, nie ogarnął. Lepiej zadziałać za niego.

Klub ma teraz zgody obu stron. Zatem wysyła Gosi adres Janka, a Jankowi adres Gosi.

Wuj przejmuje nowy adres, nie ujawnia, od teraz zapisuje go na kopertach. Mógłby go ujawnić, gdyby Janek go zapytał… Ale on nie pyta. Wie tylko tyle, że teraz lecą zdjęcia.

W podobny sposób przeglądarki przy domyślnych ustawieniach zwykle zgadzają się na ujawnienie IP bez udziału użytkownika. Nawet o tym nie informują. Zapewne wygoda wideorozmów ponad prywatnością.
Potem pokażę, w jaki sposób użytkownicy mogą „nauczyć swojego wuja”, żeby był bardziej dyskretny.

Bez pośrednika, ale nie bez sieci

Uzyskane pitu-pitu przez peer-to-peer, jak między Jankiem a Gosią, nazywa się czasem „bezpośrednim” albo „bez udziału pośredników”.

Niektórzy mają przez to mylne wrażenie, że w komunikacji P2P nie ma nikogo poza nadawcą i odbiorcą. Że wysłane informacje jakimś cudem lecą „bezpośrednim światłowodem” między osobami. Sam tak kiedyś myślałem, takie myśli miewają też inni.

Ale tak nie jest, co dobitnie pokazuje mapka. Zniknęła jej górna część, została dolna.

Sama dolna część poprzedniej mapki, pokazująca dwa laptopy na końcach dróg, połączenie między nimi oraz wszystkowidzące oko po drodze

Owszem, listonosz nie musi już jeździć do Klubu, może wozić listy prosto do Gosi.
Ale nadal korzysta z roweru i drogi (internetu). Nadal trzeba przejechać przez Porębę Wielką i przez Niedźwiedź, zahaczając o wścibskich staruszków. Innej opcji nie ma.

A co z prywatnością? Skoro „typ listów” zmienił się na lżejsze UDP, to czy wścibskie oczy mogą teraz do nich zajrzeć?
Na szczęście nie! Wszystkie rzeczy wysyłane w ramach WebRTC są szyfrowane. Wujo nadal dzielnie plombuje listy.

Natomiast od teraz podglądacze z zewnątrz poznają prawdziwy, docelowy adres IP. W końcu na (widocznej dla nich) kopercie będzie już adres Gosi.
I dziwnym trafem listy do niej zaczęły się pojawiać równo z tym, jak skończyły się listy Janka do Klubu… Staruszkowie będą mieli o czym plotkować.

Tego się nie uniknie, póki internet jest jaki jest.

Prawdziwe ominięcie pośredników i podglądaczy wymagałoby innej metody komunikacji. Ominięcia dróg, zrezygnowania z listonosza. Na przykład przejścia spacerkiem przez góry, z jednej wioski do drugiej.
W świecie cyfrowym byłaby to komunikacja bezpośrednia. Jak Bluetooth albo przesył danych przez USB.

Fragment dużej mapki z poprzedniego obrazka, będący zbliżeniem na dwie ikony laptopów na końcach dwóch miejscowości. Między nimi jest niebieska strzałka, nad którą widnieje logo standardu Bluetooth

Ciekawostka

Przejście na Bluetooth i ominięcie w ten sposób internetu nie jest wcale głupim pomysłem. Na tej zasadzie opiera się koncepcja sieci meshnet.
Na niej z kolei opierają się komunikatory takie jak darmowy Briar, działające nawet w obliczu braku internetu. Choćby podczas wojen lub intensywnych protestów.

Historyjka bez happy endu

Wyżej było szczęśliwe zakończenie z nutką goryczy (bo wścibscy staruszkowie jednak coś ugrali). Ale równie dobrze mogło pójść inaczej.

Jeśli ktoś nie chce ujawniać swojego adresu IP, ale zostanie zdemaskowany przez WebRTC, to mamy tak zwany WebRTC leak. Wyciek (adresu) przez WebRTC. Mogą to wykorzystać zarówno prywatni stalkerzy, jak i firmy.

Wykorzystanie nieświadomego ujawnienia

Nie dla każdego może być intuicyjne, że wideokonferencja ma nieco inne fundamenty niż reszta internetu. Dla użytkownika to często po prostu integralna część czatu.

Być może Klub nie wspominał swoim członkom, że przejście na wysyłanie zdjęć oznacza ujawnienie adresów? Może Gosia by tego nie robiła, gdyby nie było to ukryte w aneksie do regulaminu?

Jeśli Janek włączy tryb stalkera i zapyta wuja o adres, to dostanie informację, że Gosia przebywa w Koninie. Gdyby dodatkowo przekupił listonosza (mała szansa), to mógłby ustalić dokładne dane dziewczyny.

W podobny sposób nacinają się użytkownicy Omegle, stronki losującej osoby do wideorozmów. Popularnym sposobem na trolling jest tam mówienie ludziom, z jakiego są miasta.

Działa to właśnie dzięki temu, że Omegle „swata” użytkowników również od strony technicznej, przez WebRTC. Dane lecące do jednego rozmówcy są podpisane adresem drugiego.
Ktoś może ustawić na swoim komputerze program odczytujący ten adres IP. I od razu sprawdzający w bazie geolokalizacyjnej, jakiemu miejscu odpowiada.

Ciekawostka

Jeśli kogoś interesuje konkretny przykład takiego programu, to całe rozwiązanie w parudziesięciu linijkach JavaScriptu pokazuje Matt Upham na YouTubie. Właśnie w kontekście trollowania na Omegle.

Da się ustalić lokalizację z dokładnością najwyżej co do miasta, bo IP nie ujawnia więcej. Ale do przestraszenia rozmówców wystarczy.

Sprawa dotyczy oczywiście nie tylko Omegle. Szczególnie zdeterminowany stalker mógłby celowo kogoś namówić na wideorozmowę, żeby poznać IP tej osoby. Raczej nie wykorzysta go wprost – chyba że ma wtyki w policji, prokuraturze albo firmie telekomunikacyjnej, z której korzysta ofiara.
Może jednak wkręcać, że jest z konkretnej miejscowości w okolicach ofiary, i budować w ten sposób zaufanie przed sięgnięciem po inne metody.

Celowe zdemaskowanie

Skoro już gdybałem na temat Janka-stalkera, to pogdybam też o Gosi. Mogłaby być stalkerką wyższego poziomu, gromadzącą dane wielu osób do celów biznesowych (odpowiednik: firmy od reklam internetowych).

Nigdy nie zależało jej na pisaniu z Jankiem, tylko na jego adresie. W ten sposób zyskuje więcej danych, które może ze sobą łączyć, żeby lepiej sprofilować chłopaka.

Przeszkodą jest dla niej klub-pośrednik, za którym ten adres się kryje. Ale nic nie szkodzi. Gosia wie, że korespondencja kierowana do Janka (i ogólnie Janków tego świata) idzie przez wujka.
A wujkowie to romantycy. Zawsze spełnią prośbę o bezpośrednie listy, rezygnację z pośrednictwa. Dlatego wysyła swoją prośbę z premedytacją; nie planując dalszego pisania, ale wiedząc, że dostanie adres.

Na podobnej zasadzie firmy reklamowe mogą inicjować WebRTC całkiem po cichu, tylko w celu odsłonięcia IP. Użytkownik nic nie zobaczy.

Janek mógłby być ostrożnym człowiekiem. Nie do końca ufającym pośrednictwu Klubu i mającym ponadto własnego pośrednika. Przykładowo:

  • znajomego z innej miejscowości (własny serwer proxy);
  • nieznajomego, komercyjnego pośrednika z innego miasta (VPN-a);
  • albo nawet całą sieć kurierów, nieznających siebie nawzajem, rozsianych po całym świecie (sieć Tor).
Uwaga

Nie należy mylić sieci Tor z konkretną przeglądarką Tor Browser. Ta druga zabezpiecza się przed wyciekiem adresu IP. Ale jeśli ktoś używa innej przeglądarki, z siecią Tor jedynie w roli pośrednika, to raczej nie ma takiej ochrony.
Całą sprawę dokładniej pokazuje filmik użytkownika AKM z YouTube’a.

W każdym z tych przypadków Janek dawałby list wujowi, wuj listonoszowi, listonosz zawoziłby do pierwszego pośrednika. List po krótszym lub dłuższym czasie trafiałby do Klubu. Dopiero stamtąd do Gosi.
Tak, Janek jest ostrożny.

Ale jeśli Gosia wyśle oficjalną prośbę o kontakt bezpośredni, to nie ma znaczenia, ilu ustawiłby pośredników. Jego adres i tak zostałby ujawniony.
To dlatego, że słabym ogniwem jest tutaj wuj. Ostatnie ogniwo łańcuszka, nie licząc Janka. Wujek, który zwykle przystaje na propozycję bezpośredniej korespondencji.

Jak się chronić

Janka i Gosię zostawię już samym sobie, myślę że potencjał analogii wyczerpany na dziś :smile: Teraz będą praktyczne rady.
Zacznę od tego, kogo całe zagrożenie na pewno nie dotyczy:

  • osób korzystających z aplikacji, które nie obsługują WebRTC.

    Ten protokół nie jest jedynym sposobem na wideorozmowy. Mogą istnieć programy, które zawsze puszczają wszystko przez własną platformę, bez peer-to-peer.
    Ale wspominam o nich tylko dla formalności. Ta seria skupia się na ogólnych przeglądarkach.

  • osób, które i tak nie maskują adresu IP.

    Uszczelnianie WebRTC jest jak łatanie dziur w prywatnościowym pancerzu. To szlif, nie fundament.
    A jeśli ktoś po prostu chodzi po internecie, podpisując się swoim prawdziwym IP, to żadnego pancerza nie ma. Co najwyżej koszulę i kalesony.

  • osób, które mają wyłączony JavaScript.

    To na bazie tego „języka programowania internetu” włącza się WebRTC w przeglądarkach.
    Wiem, że mało kto wyłącza JS-a, bo wiele stron z niego korzysta. Ale jeśli już to zrobią, to raczej nie muszą obawiać się zagrożenia.

Istnieje teoretyczna możliwość, że jakiś VPN jest ściślej zintegrowany z przeglądarką. Dzięki czemu ujawnia ona tylko jego adres zamiast tego prawdziwego.

Ale proponuję nie bazować na obietnicach VPN-ów, tylko osobiście testować szczelność na niezależnych stronkach mających taką funkcję.
Osobiście poszedłem o krok dalej i postawiłem na opcję nuklearną, czyli całkowite wyłączenie WebRTC. Włączam go tylko w razie potrzeby, przed rozmowami.

Sprawdzanie szczelności i wyłączanie

Dobra nowina 1: można łatwo sprawdzić, w bezpiecznych i kontrolowanych warunkach, czy adres IP wycieka przez WebRTC. Wystarczy odwiedzić stronkę internetową oceniającą prywatność, jak BrowserLeaks.

Dobra nowina 2: większość przeglądarek pozwala łatwo wyłączyć WebRTC.
Zła nowina: prawie każda robi to w nieco inny sposób. Jeszcze większa różnorodność występuje w innych apkach, jak komunikatory.

Żeby nie rozdymać już tego wpisu, wydzieliłem instrukcje sprawdzania i wyłączania WebRTC do osobnego samouczka.

I to tyle z mojej strony! Życzę, żeby WebRTC swatało Was tylko z fajnymi ludźmi na czacie czy callu, a nie ze zbieraczami danych :smile:

Źródła obrazków

Lista ikon z serwisu Flaticon: