Pobierz PDF

FP-Radar: Longitudinal Measurement and Early Detection of Browser Fingerprinting

Metadane

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:

  1. 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)

  2. 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%

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

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

Notatki

Elementów w folderze: 0.