Czy kiedykolwiek zastanawiałeś(aś) się jakich informacji o Tobie i o Twoim komputerze jest w stanie dowiedzieć się właściciel strony WWW lub hacker, kiedy odwiedzasz jego witrynę? Możesz się bardzo zdziwić, jak dużo może zdradzić o Tobie Twoja przeglądarka Internetowa. Z tego artykułu dowiesz się jakie są to informacje, jak możesz się w przyszłości zabezpieczyć oraz poznasz sposoby skutecznego zwiększenia anonimowości w Internecie.


Wstęp

Współczesne strony internetowe nie są już stronami statycznymi, jak te z ubiegłych lat. Wyświetlają multimedia, chaty, umożliwiają komunikację multimedialną, integrują się z współczesnymi technologiami i innymi portalami (pokazują posty i statusy dostępności w mediach społecznościowych). Są nawet w stanie dokładnie pokazać Twoją lokalizację. Są też w stanie zidentyfikować Twoje urządzenie za pomocą zestawu parametrów i za pomocą szeregu wyrafinowanych technik. Pozwala to właścicielom stron internetowych na ograniczenie Twoich działań na stronie, zbieranie informacji o Twoim systemie lub dostarczanie Ci informacji uznanych za atrakcyjne w Twoim konkretnym przypadku np. wyświetlanie reklam lub postów sprofilowanych pod Ciebie.

Podobniej jak przypadku popełnienia przestępstwa podejrzany może pozostawić po sobie ślady (np. odciski palców), tak przypadku odwiedzania strony internetowej użytkownik zostawia po sobie artefakty pozwalające niemal precyzyjnie ustalić jego tożsamość. Pozostawione lub udostępniane informacji przez Ciebie w Internecie w informatyce nosi nazwę Fingerptint’ing (od ang. cyfrowy odcisk palca) lub footprint’ing (odcisk stopy).
Fingerprinting jest to nic innego jak cyfrowa reprezentacja urządzenia użytkownika składająca się z informacji o systemie operacyjnym, ustawieniach, aktywnych przeglądarkach, zainstalowanych wtyczkach itp. Taki cyfrowy odcisk palca jest generowany jako unikalny kod lub obraz.
Od dawna uważa się, że adresy IP i pliki cookie to jedyne wiarygodne cyfrowe odciski palców służące do śledzenia osób online. Ale po pewnym czasie wszystko wymknęło się spod kontroli, gdy nowoczesne technologie internetowe pozwoliły zainteresowanym organizacjom korzystać z nowych sposobów identyfikowania i śledzenia użytkowników bez ich wiedzy i bez możliwości ich uniknięcia.
W celu zwiększenia anonimowości i większej kontroli nad ruchem do Internetu, w sieci firmy lub prywatni użytkownicy zaczęli używać serwerów proxy. Lecz w tym przypadku musisz wiedzieć, że należy w nim skonfigurować odpowiednie parametry odpowiadające poszczególnym atrybutom fingerprintingu, w przeciwnym wypadku zostawisz po sobie ślad. Przy blokowaniu fingerprintingu pamiętać należy, że zablokowanie niektórych funkcji może spowodować problemy z działaniem niektórych stron WWW w Twojej przeglądarce. Jak zatem pozostać anonimowym i co od nas mogą dowiedzieć się właściciele portali? O tym poniżej.


Przeglądarka jak szpiegujący agent?

Nasze poszukiwania rozpoczniemy od wejścia na ciekawą strone Browserleaks, na której będziemy w stanie dowiedzieć się jakie dane udostępnia nasz komputer i zainstalowana na nim przeglądarka.
Ciekawe też, że ta strona udostępnia galerię narzędzi do testowania bezpieczeństwa technologii internetowych (pasek po lewej stronie), które pokażą, jakie dane osobowe mogą wyciec przez Twoją przeglądarkę i jak się przed tym zabezpieczyć.

Poniżej zamieszczamy opisy najciekawszych parametrów (artefaktów) jakie jest w stanie wyciągnąć od nas właściciel strony poprzez naszą przeglądarkę.


Jakie możemy wyróżnić rodzaje cyfrowych artefaktów naszej tożsamości w sieci?

W celu jak najlepszego rozróżnienia klientów wchodzących na konkretną stronę WWW stosuje się technikę pobierania z ich systemów operacyjnych fingerprintów. Dzięki tzw. entropii (tj. unikalności) tych systemowych artefaktów, strona internetowa łatwo może nas rozpoznać. Odciski palców, które pozostawia przeglądarka i komputer na stronie internetowej, ujawniają zaskakującą ilość danych użytkownika. Liczba parametrów jest oszałamiająca, począwszy od parametrów agenta przeglądarki użytkownika, wersji systemu operacyjnego, historii przeglądania do rozdzielczości ekranu, renderera WebGL, identyfikatorów urządzeń, adresów IP sieci, WebRTC, a nawet informacji o baterii. Informacje te mogą być wykorzystywane do analizy i gromadzenia danych np. przez firmy zajmujące się płatnościami kart kredytowych w Internecie w celu potwierdzenia, czy dana karta jest używana na tym samym systemie i przez tego samego użytkownika co zazwyczaj.

Do podstawowych odcisków (artefaktów informacyjnych) zostawianych przez przeglądarkę Internetową możemy zaliczyć:

  • Aktualny adres IP
  • Nagłówki przeglądarki (User-Agent, HTTP, ACCEPT, Do Not Track)
  • Parametry ekranu JavaScript
  • Informacje o plikach cookie i „super” plikach cookie włączonych lub wyłączonych w przeglądarce
  • Zainstalowane wtyczki do przeglądarek, ich wersje i aktualizacje

Dodatkowo, niezależnie od wersji i rodzaju przeglądarki oprócz powyższych odcisków istnieją też skrypty lub moduły zainstalowane na stronie WWW pozwalające zbierać i analizować informacje z różnych przeglądarek przy użyciu tego samego sprzętu i łatwo identyfikować użytkownika końcowego.

Odciski pozostawiane przez przeglądarki niezależnie od rodzaju i wersji to:

  • System operacyjny
  • Liczba rdzeni w procesorze
  • Lista czcionek i zainstalowanych języków
  • Analiza odpowiedzi na operacje wykonywane przez przeglądarkę z udziałem systemu operacyjnego i komponentów sprzętowych (renderowanie kształtów i obrazów 2D i 3D, tworzenie cieni itp.)

Poniżej opisaliśmy wszystkie funkcje systemu, które pozostawiają „cyfrowe odciski palców”.


1. Przeglądarka User-Agent

Aplikacje klienckie to oczywiste fingerprint’y Twojego systemu. Przeglądarka użytkownika i klienta ma na celu ułatwienie interakcji użytkownika końcowego z treściami internetowymi i jest częścią nagłówka żądania, który zawiera więcej informacji, takich jak zaakceptowany język i zaakceptowany tekst / HTML.
Format klienta użytkownika w HTTP składa się z listy nazw i wersji produktów.

Wpisując w Google „What is my user agent” dowiemy się jak strony WWW rozpoznają naszego klienta przeglądarkowego. Zobaczymy wersję systemu operacyjnego i przeglądarki.

Podobne informacje otrzymamy wchodząc na stronę whatismybrowser.com


2. Ciasteczka

Pliki cookie to starsza forma przechowywania danych w przeglądarce. Pierwotnie miały one przechowywać dane otrzymane z serwera w jednym żądaniu i przesyłać je z powrotem do serwera w kolejnych żądaniach. JavaScript używa plików cookie do przechowywania niemal dowolnego rodzaju danych (limit wielkości to 4 KB na pojedynczy plik cookie).
Pliki cookie są istotne tylko w tej samej domenie. Wszystkie pliki cookie, w tym ciasteczka, można łatwo usunąć lub zablokować za pomocą zestawu łatwych działań. Z punktu widzenia pobierania artefaktów z przeglądarki standardowe pliki cookie można łatwo usunąć z systemu po ustawieniu przeglądarki w tryb „incognito”.


3. Pamięć podręczna witryny WWW

Pamięć podręczna witryny WWW to mechanizm JavaScript do przechowywania danych w przeglądarce. Podobnie jak pliki cookie, pamięć podręczna WWW jest osobna dla każdego źródła. Pamięć ta jest całkowicie niewidoczna dla serwera i oferuje znacznie większą pojemność niż pliki cookie.
Istnieją dwa rodzaje pamięci podręcznej: pamięć lokalna i pamięć sesji. Element pamięci lokalnej jest widoczny na wszystkich kartach wszystkich okien i utrzymuje się nawet po zamknięciu przeglądarki. Zachowuje się trochę jak ciasteczko z datą ważności ustawioną na bardzo daleko w przyszłość. Z drugiej strony element pamięci sesji jest widoczny tylko na karcie, na której został utworzony i znika po zamknięciu karty.


4. Canvas API

Podczas odwiedzania strony internetowej specjalny skrypt fingerprint rysuje przykładowy tekst z czcionką i wybranym rozmiarem i dodaje tło. Ten tekst może zawierać obiekty 2D i emoji, czyli słynne obrazki. Następnie skrypt odczytuje renderowane dane obrazu, aby porównać dokładność pikseli.
Ten sam kształt lub tekst będą renderowane na różne sposoby na różnych komputerach, w zależności od systemu operacyjnego, bibliotek czcionek, karty graficznej, sterownika karty graficznej i przeglądarki.


5. WebGL

WebGL działa w sposób podobny do Canvas, ale renderuje interaktywne obiekty 3D w przeglądarce bez użycia wtyczek.
Witryna może uzyskać informacje o dostawcy i modelu karty graficznej. Pośrednio powoduje to wycieki z systemu operacyjnego Windows lub Mac OS.


6. WebRTC

Węzły WebRTC (lub internetowa komunikacja w czasie rzeczywistym) służą do zbierania informacji o adresach IP w celu zapewnienia najlepszych tras między dwoma równorzędnymi elementami w sieci. W przypadku wycieku informacje te można łatwo wykorzystać do pobrania cyfrowych artefaktów z systemu.
W celu przetestowania Twojego systemu i WebRCT możesz skorzystać z opcji „WebRTC Leak Test „na browserleaks.com. Zobaczysz adres IP swojej sieci i poniżej webRTC wykrywający adres ethernetowy w biurze wraz z identyfikatorami urządzeń. Pamiętaj, aby wyłączyć webRTC, aby uniknąć wycieków adresu IP podczas korzystania z serwera proxy za pośrednictwem przeglądarki.


Jak pozostać anonimowym?

Poniżej wymieniliśmy wszystkie popularne sposoby rozwiązania problemu cyfrowego pobierania fingerprintów w celu zapewnienia anonimowego przeglądania.


1. Sieci VPN i serwery proxy

VPN lub proxy to najprostszy sposób na ominięcie regionalnych ograniczeń. Zmienia Twój adres IP na ten dostępny w serwisie.
Jednak same serwery proxy nie chronią przed wieloma modułami śledzącymi i nie wpływają na pliki cookie przechowywane w systemie. Dlatego ważne jest, aby uzupełnić korzystanie z serwera proxy dodatkowymi konfiguracjami Twojego komputera w celu uniknięcia udostępnienia niektórych fingerprintów.


2. Ustawienia ręczne

Możesz ręcznie dostosować następujące ustawienia.

  • Zmienić strefę czasową urządzenia;
  • Ustawić inny języka dla systemu operacyjnego urządzenia;
  • Ustawić inny język dla swojej przeglądarki;
  • Zmienić rozdzielczość ekranu urządzenia;
  • Zmienić skalę wyświetlania (powiększanie / pomniejszanie) na stronie internetowej;
  • Zainstalować lub usunąć wtyczki do przeglądarki;
  • Wyłączyć Flash, JavaScript i WebGL.

Niektórzy mogą uznać te metody za radykalne i nieco niewygodne podczas surfowania w Internecie, ale mimo to pomagają znacząco poprawić anonimowość przeglądania.


Wskazówki i rekomendacje

Jeśli używasz przeglądarki Firefox lub Chrome, poniższe zalecenia będą odpowiednie, aby zapewnić anonimowe surfowanie.

Rozważ zainstalowanie następujących wtyczek, aby zwiększyć anonimowość przeglądarki:

User Agent Switcher – zamienia agenta użytkownika przeglądarki.

Ghostery – blokuje moduły śledzące analizy, reklamy i inne sygnały nawigacyjne. Oprócz wtyczek zawsze powinieneś wyłączyć WebRTC na swoim komputerze. Ważne jest, aby zapobiec wyciekom IP z lokalnej podsieci IP. W większości przypadków wyłączenie WebRTC nie wpłynie na zachowanie strony internetowej i nie będzie Cię blokować.

Aby to zrobić w Firefoksie, wpisz w pole adresu about:config i wyszukaj media.peerconnection.enabled. I ustaw na false.

Ponadto należy wyłączyć wszystkie opcje JavaScript, rasterizer oprogramowania 3D, wszystkie funkcje GPU, wszystkie opcje WebGL, wyłączyć rejestrację pikseli pikseli itp.

W przeglądarce Firefox wystarczy wpisać about:config i wyłączyć powyższe atrybuty. W przeciwnym razie można to zrobić, dodając wtyczkę noscript do skryptów blokujących uruchamianych w przeglądarce.

W Chrome można to zrobić, wpisując chrome: „//flags” i przechodząc przez listę i wyłączając: Przyspieszone płótno 2D, Złożone krawędzie warstwy renderowania, Treści skomponowane w Tint GL, Włącz okluzję rysowania, wszystkie opcje wspominając o WebRTC.


Anonimowe przeglądarki

Istnieją również specjalnie przygotowane przeglądarki do anonimowego surfowania po Internecie, takie jak Pale Moon, przeglądarka open source oparta na Firefox, Selenium lub Puppeteer.

Podczas pracy z automatycznymi przeglądarkami możesz zablokować niektóre narzędzia „odcisków palców”, ponieważ niektóre witryny docelowe umożliwiają dostęp bez żadnych danych odcisków palców. Aby to zrobić, wyłącz Java, usuń Flash, wyłącz WebRTC, WebGL i canvas.

Możesz także użyć Multiloginapp, platformy zaprojektowanej do wymiany „odcisków palców” w różnych przeglądarkach. Program przeznaczony jest do pracy z dużą liczbą profili przeglądarki. Każdy profil jest umieszczony we własnym „pojemniku”, co eliminuje ryzyko wycieku historii przeglądania, plików cookie i odcisków palców między profilami.

Jednak niektóre witryny docelowe mogą blokować Cię po usunięciu niektórych funkcji odcisków palców i mogą zwracać zerowe dane.

Należy również pamiętać, że w przypadku korzystania z niektórych narzędzi do automatyzacji przeglądarki w celu emulacji użytkowników komputerów stacjonarnych lub mobilnych ważne jest zastąpienie bezobsługowego klienta przeglądarki. Na przykład, używając Puppeteer, który wykorzystuje Chromium, klient użytkownika zawiera ciąg „HeadlessChrome”, który jest łatwy do wykrycia.

Zastąpienie klienta użytkownika można wykonać, dodając do kodu Puppeteer „setUser-agent” w następujący sposób:

const page = await browser.newPage();

await page.setUserAgent(‘Mozilla/5.0 (Windows NT 10.0; Win64; x64)

AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110

Safari/537.36′);


Aby zastąpić dane klienta użytkownika, odwiedź tę stronę: http://www.networkinghowtos.com/howto/common-user-agent-list/


Jak przetestować czy Twój system jest anonimowy?

Po wszystkich zmianach ustawień w swojej przeglądarce powinieneś sprawdzić wszystkie bieżące fingerprinty opuszczane przez przeglądarkę. Zalecamy skorzystanie z poniższej listy stron internetowych do tej procedury.
W przypadku, kiedy korzystasz z wspominanego powyżej Multiloginapp, sprawdź każdy ze swoich profili indywidualnie.

Whoer.net – to usługa służąca do weryfikacji informacji wysyłanych przez komputer do sieci. Doskonale nadaje się do sprawdzania serwerów proxy lub sock, dostarczania informacji o serwerze VPN i skanowania czarnych list pod kątem adresu IP. Usługa pokazuje, czy Twój komputer obsługuje Flash i Java, a także jego język i ustawienia systemowe, system operacyjny i przeglądarkę internetową, zdefiniuj DNS itp.
Mocną stroną serwisu jest interaktywne sprawdzanie obsługi Java, Flash i WebRTC, pozwalające wykryć rzeczywiste ustawienia systemu i jego słabości, które mogą być wykorzystane przez zasoby innych firm do uzyskania informacji o Twoim komputerze.
Są dwie wersje naszej witryny: lekką i rozszerzoną (do wyświetlania dodatkowych informacji).

Panopticlick.eff.org – Panopticlick przeanalizuje, jak dobrze Twoja przeglądarka i dodatki chronią Ciebie przed technikami śledzenia online. Zobaczysz również, czy Twój system jest skonfigurowany w sposób unikalny – a zatem możliwy do zidentyfikowania – nawet jeśli używasz oprogramowania chroniącego prywatność.

Browserleaks.com – opisywaliśmy go powyżej.

Audiofingerprint.openwpm.com – portal testuje fingerprints przeglądarki za pomocą AudioContext i Canvas API. Korzysta z interfejsu API AudioContext do pobierania fingerprint, nie gromadzi dźwięku odtwarzanego lub nagrywanego przez urządzenie – fingerprint AudioContext jest właściwością samego stosu audio urządzenia. Strona potrafi przetestować również formę pobierania fingerprint przy użyciu Flasha, jeśli masz go włączonego.


Podsumowanie

We współczesnym Internecie ciężko pozostać anonimowym i łatwo pozostawić w nim po sobie ślad. Gromadzenie informacji o użytkowniku obserwujemy praktycznie wszędzie. Każdy właściciel witryny chce jak najwięcej dowiedzieć się o odwiedzających ją użytkownikach, każdy bank chce sprawdzić jak najwięcej artefaktów komputera, z którego wykonujemy przelewy, każdy portal społecznościowy chce dowiedzieć się jak najwięcej o zainteresowaniach swoich użytkowników i jakie witryny odwiedzają. Współczesny Internet gromadzi mnóstwo informacji o poszczególnych użytkownikach. Aby uniknąć udanego pobrania artefaktów z informacjami o systemie, zalecamy ustawienie i weryfikację unikalnej konfiguracji systemu lub użycie specjalnych narzędzi opisanych powyżej. Gdy to zrobisz, będziesz mieć znacznie większe szanse na bezpieczne anonimowe przeglądanie Internetu włączając w to nowe serwery proxy.