Grupa badawcza z Mozilla, Uniwersytetu Iowa i Uniwersytetu Kalifornijskiego podsumowanie badania zastosowania kodu do ukrytej identyfikacji użytkowników na stronach internetowych. Ukryta identyfikacja polega na generowaniu identyfikatorów na podstawie pośrednich danych o działaniu przeglądarki, takich jak , lista obsługiwanych typów MIME, specyficzne parametry w nagłówkach ( i ) analiza zainstalowanych , dostępność określonych Web API, specyficznych dla kart graficznych renderowania za pomocą WebGL i , z CSS, , portów sieciowych, analiza szczegółów działania z i .
Badanie 100 tysięcy najpopularniejszych stron według rankingu Alexa wykazało, że na 9040 z nich (10,18%) stosowany jest kod do ukrytej identyfikacji odwiedzających. Jeśli jednak rozważyć tysiąc najpopularniejszych stron, taki kod został wykryty w 30,60% przypadków (266 stron), a wśród stron zajmujących miejsca od tysiącego do dziesięciotysięcznego w 24,45% przypadków (2010 stron). Ukryta identyfikacja jest głównie stosowana w skryptach dostarczanych przez zewnętrzne usługi do i eliminowania botów, jak również przez sieci reklamowe i systemy śledzenia aktywności użytkowników.
Aby zidentyfikować kod realizujący ukrytą identyfikację, opracowano narzędzie , którego kod jest objęty licencją MIT. W narzędziu używane są metody uczenia maszynowego w połączeniu z analizą statyczną i dynamiczną kodu JavaScript. Twierdzi się, że zastosowanie uczenia maszynowego znacznie zwiększyło dokładność wykrywania kodu stosowanego do ukrytej identyfikacji i wykryto o 26% więcej problematycznych skryptów
w porównaniu z określoną ręcznie heurystyką.
Wiele z wykrytych skryptów identyfikacji nie było obecnych w typowych listach blokad , , DuckDuckGo, i .
Po wysłaniu przez twórców listy blokady EasyPrivacy stworzono osobną sekcję dla skryptów ukrytej identyfikacji. Ponadto, FP-Inspector umożliwił wykrycie pewnych nowych sposobów użycia Web API do identyfikacji, które wcześniej nie były stosowane w praktyce.
Na przykład zidentyfikowano wykorzystanie dla informacji o układzie klawiatury (getLayoutMap), danych resztkowych w pamięci podręcznej (przy użyciu API Performance analizowane są opóźnienia w przekazywaniu danych, co pozwala ustalić, czy użytkownik odwiedzał określoną domenę, oraz czy strona była wcześniej otwierana), uprawnień przyznanych przez przeglądarkę (informacje o dostępie do Notification, Geolocation i Camera API), obecności specjalistycznych urządzeń peryferyjnych i rzadkich czujników (kontrolery gier, hełmy VR, czujniki zbliżeniowe). Ponadto zarejestrowano uwzględnienie przy identyfikacji obecności specjalnych API dla określonych przeglądarek oraz różnic w zachowaniu API (AudioWorklet, setTimeout, mozRTCSessionDescription), a także użycie API AudioContext do określenia cech systemu dźwiękowego.
W trakcie badania zbadano również kwestię naruszenia standardowej funkcjonalności witryn w przypadku zastosowania metod ochrony przed ukrytą identyfikacją, prowadzących do blokowania zapytań sieciowych lub ograniczenia dostępu do API. Wykazano, że selektywne ograniczenie API tylko dla skryptów zidentyfikowanych przez FP-Inspector prowadzi do mniejszych zakłóceń w działaniu w porównaniu do bardziej rygorystycznych ogólnych ograniczeń wywołań API stosowanych w Brave i Tor Browser, które potencjalnie mogą prowadzić do wycieku danych.

Źródło: opennet.ru
