FP-Radar: Longitudinal Measurement and Early Detection of Browser Fingerprinting
Metadane
- Autorzy: Pouneh Nikkhah Bahrami, Umar Iqbal, Zubair Shafiq
- Rok: 2021
- Źródło: Proceedings on Privacy Enhancing Technologies
- DOI/Link: arXiv:2112.01662v2 [cs.CR]
- Status: read
- Kategoria główna: Security
- Podkategorie: Privacy, Web Tracking, Browser Security
- Tagi: browser-fingerprinting machine-learning privacy web-apis detection longitudinal-study temporal-graphs
Streszczenie
FP-Radar to podejście oparte na uczeniu maszynowym do wczesnego wykrywania nadużycia internetowych API do tworzenia odcisków przeglądarki (browser fingerprinting). Publikacja przedstawia retrospektywne badanie podłużne wykorzystania internetowych API na top-100K stronach internetowych przez ostatnią dekadę (2010-2019), wykorzystując Wayback Machine do pobrania historycznych kopii skryptów. Głównym wkładem pracy jest zaproponowanie grafu współwystępowania API w time i zastosowanie uczenia maszynowego do przewidywania ewolucji API oraz wykrywania ich nadużywania do fingerprinting’u, zanim lub w momencie ich publicznego ujawnienia.
System FP-Radar odkrywa zarówno już znane, jak i wcześniej nieznane API wykorzystywane do fingerprinting’u, w tym Page Visibility, Gamepad, Clipboard i Network Information APIs. Co istotne, publikacja jest pierwsza w wykryciu nadużycia Visibility API do efemeralnego fingerprinting’u w rzeczywistych warunkach (in the wild).
Kluczowe Wnioski
- FP-Radar jest w stanie wykryć nadużycie nowych metod istniejących API oraz całkowicie nowych API poprzez zasadę “guilty by association” (współwystępowanie z znanymi API fingerprinting’u)
- System wykazuje zdolność do wczesnego wykrycia nadużyć API nawet 6-7 lat przed ich publicznym ujawnieniem (np. Gamepad API 2014 vs. ujawnienie 2020)
- 44% wykrytych API słów kluczowych pozostaje niepublicznie ujawnionych, wskazując na zdolność systemu do odkrywania zupełnie nowych technik
- Badanie longitudinalne wykazuje, że fingerprinting evolucjonuje - nowe API są systematycznie wykorzystywane do fingerprinting’u po ich wprowadzeniu
- Niestandardowe typy fingerprinting’u są wykrywane, takie jak fingerprinting sprzętu poprzez Gamepad API (konfiguracja peryferii) i Network Information API (możliwości systemu)
Metodologia
Publikacja stosuje cztery główne komponenty podejścia:
-
Modelowanie współwystępowania API: Wykorzystanie abstrakcyjnych drzew składni (AST) do ekstrahowania słów kluczowych API ze skryptów JavaScript, następnie reprezentowanie współwystępowania API w postaci czasowych grafów ważonych wędrówkami (temporal co-occurrence graphs)
-
Przewidywanie współwystępowania API: Zastosowanie random forest z kombinacją handcrafted features (Common Neighbors, Adamic-Adar Index, Jaccard Index itp.) i graph embedding features (node2vec) do przewidywania przyszłych połączeń API z średnią dokładnością 89.13%
-
Clustering czasowy: Partycjonowanie grafów API przy użyciu metody Louvain i łączenie klastrów w kolejnych latach na podstawie podobieństwa Jaccarda (próg 20%), aby zidentyfikować funkcjonalnie powiązane API
-
Etykietowanie klastrów: Semi-automatyczna analiza klastrów z wykorzystaniem MDN’a (Mozilla Developer Network) oraz miar fingerprinting’u (odsetek słów kluczowych w skryptach fingerprinting’u, zgodność z fingerprintjs2 itp.)
Główne Koncepcje
- Browser Fingerprinting: Technika śledzenia bezstanowego (stateless tracking) łącząca informacje z wielu API przeglądarki (HTTP headers, WebGL, Canvas, Battery Status, itp.) aby utworzyć unikatowy identyfikator dla urządzenia
- Guilt by Association: Zasada stosowana przez FP-Radar - jeśli API występuje razem ze znanymi API fingerprinting’u, zakłada się że również jest wykorzystywane do fingerprinting’u
- Temporal Graphs: Reprezentacja współwystępowania API ze znacznikami czasu, pozwalająca na analizę ewolucji technik fingerprinting’u w tiempo
- Ephemeral Fingerprinting: Nowy typ fingerprinting’u ujawniony przez FP-Radar - wykorzystanie zmian stanu widzialności strony (Page Visibility API) do korelacji między zakładkami dla stworzenia efemerycznego (krótkotrwałego) odcisku
- Time-to-Detection: Czas między pierwszą obserwacją nadużycia API a jego publicznym ujawnieniem lub ujawnieniem przez przeglądarkę
Wyniki
- FP-Radar identyfikuje 14 klastrów czasowych w grafie API, z czego jeden wyraźnie wyróżnia się jako cluster fingerprinting’u z 63% słów kluczowych w skryptach fingerprinting’u
- System wykrywa 313 słów kluczowych w głównym klastrze fingerprinting’u, z czego 36% jest użyte w bibliotece fingerprinting’u fingerprintjs2
- Średnia dokładność przewidywania współwystępowania API wynosi 88.13% dla połączonego modelu
- Publikacja detektuje nadużycie następujących wcześniej nieznanych API: deviceMemory (Navigator), WebGL2RenderingContext, illuminance (Sensor), paint (Performance)
- Detektuje wcześnie (przed ujawnieniem) nadużycie: getGamepads (Gamepad - 6 lat przed ujawnieniem), visibilityState (Page Visibility - 3 lata przed ujawnieniem), clipboardData (Clipboard - wcześnie)
- Porównanie z DuckDuckGo wykazuje że FP-Radar detektuje 80% API wykrytych przez DuckDuckGo, ale znalazł również 90% dodatkowych znanych API fingerprinting’u
Przydatne Cytaty
“Browser fingerprinting is not a static phenomenon, but it is rather evolving; as novel fingerprinting techniques are designed over time.” (str. 1)
“FP-Radar detects a number of API keywords before their disclosure such as getGamepads (GamePad), visibilityState (Page Visibility), and clipboardData (Clipboard).” (str. 10)
“FP-Radar is able to detect the fingerprinting abuse of APIs before/at their disclosure, thus demonstrating its utility as an early detection system that can inform standards bodies and browser vendors” (str. 16)
“We find that the 44% of API keywords detected by FP-Radar are still publicly undisclosed.” (str. 15)
Datasety
- Alexa top-100K websites (wykorzystane dla gromadzenia skryptów)
- Internet Archive Wayback Machine snapshots (2010-2019) - historyczne kopie stron
- FP-Inspector dataset - klasyfikacja skryptów fingerprinting’u vs. niefingerprinting’u
- fingerprintjs2 library - referencyjne słowa kluczowe biblioteki fingerprinting’u
Powiązane Tematy
- Machine Learning detection systemów
- Web API security and privacy
- Temporal graph analysis
- Browser vendor mitigation strategies
- W3C fingerprinting guidance
- Privacy budgets and tracking prevention
- Stateless vs. stateful tracking
- Web standards evolution
- Security and privacy by design