FingerprintJS2 Library

Informacje podstawowe

  • Nazwa: FingerprintJS2 (Browser Fingerprinting Library)
  • Alias: fingerprintjs2, Valve FingerprintJS
  • Dziedzina: Web Tracking, Browser Fingerprinting
  • Typ: JavaScript library, open-source

Źródło

  • URL: https://github.com/Valve/fingerprintjs2
  • Paper: Referencyjna biblioteka fingerprinting’u, powszechnie w publikacjach
  • Organizacja: Valve (Steam)
  • Rok: Początkowo 2012, aktywny rozwój przez lata

Charakterystyka

  • Rozmiar: 152 API słów kluczowych
  • Format: JavaScript library (minified/unminified)
  • Licencja: Open source (MIT License)
  • Popularność: Szeroko rozpowszechniona, referencyjne źródło technik fingerprinting’u
  • Obsługa: Canvas, WebGL, Battery, Audio, Fonts, Navigator itp.

Opis

FingerprintJS2 to jedna z najpopularniejszych bibliotek open-source do browser fingerprinting’u. Implementuje wiele technik fingerprinting’u poprzez wykorzystanie różnych API przeglądarki, włączając Canvas rendering, WebGL capabilities, battery status, audio context i wiele innych. Biblioteka stała się defacto standardem referencyjnym dla badań nad fingerprinting’iem i jest powszechnie wykorzystywana przez trackers na stronach internetowych.

Publikacja techniczna o fingerprinting’u (Mowery i Shacham, 2012) stworzyła podstawę do powstania tej biblioteki, która następnie była powszechnie adoptowana. Jej wydanie około 2013 roku doprowadziło do gwałtownego wzrostu adoption canvas fingerprinting’u na stronach - z 5,542 top-100K stron w ciągu 2 lat od ujawnienia.

Zastosowania

  • Referencyjne źródło słów kluczowych API fingerprinting’u
  • Badania nad rozpowszechnieniem technik fingerprinting’u
  • Identyfikacja fingerprinting skryptów w wild
  • Pomiary evolucji API fingerprinting’u
  • Implementacja fingerprinting’u w tracker’ach

Używany w publikacjach

  • [bahrami-fp-radar-fingerprinting-2021] - Użyty jako referencyjne źródło 152 słów kluczowych API do etykietowania klastrów fingerprinting’u. FP-Radar odkrył że 36% słów kluczowych w głównym klastrze fingerprinting’u pochodzi z fingerprintjs2, wskaźnik ~6x wyższy niż w innych klastrach.

Benchmarki

MetrykaWartośćŹródło
API słów kluczowych152fingerprintjs2 source
Pokrycie w FP-Radar cluster36%FP-Radar analysis
Adoption po wydaniu5,542 z top-100KAcar et al. 2014 (2 lata po ujawnieniu)
Adoption canvas FP14,371 z top-1MEnglehardt et al. 2016

Uwagi

Znaczenie historyczne

  • Główny driver rozpowszechnienia canvas fingerprinting’u
  • Stół wskaźnik adoption w stosunku do ujawnienia (2 lata)
  • Wymusiła odpowiedź ze strony vendor’ów przeglądarek (countermeasures 2016+)

Ograniczenia

  • Nie obejmuje wszystkich technik fingerprinting’u (np. nowych API jak Gamepad)
  • Może być zablokowana lub ograniczona przez przeglądarki
  • Wymaga JavaScriptu do uruchomienia

Tagi

library fingerprinting javascript tracking browser-apis open-source