Un gruppo di ricercatori di Mozilla, dell'Università dell'Iowa e dell'Università della California ha analizzato l'uso di codice per l'identificazione nascosta degli utenti sui siti web. Per identificazione nascosta si intende la generazione di identificatori basati su dati indiretti sul funzionamento del browser, come , elenco dei tipi MIME supportati, parametri specifici nelle intestazioni ( e ) analisi dei plugin e dei font installati caratteristiche le rappresentazioni tramite WebGL e , con CSS, , delle porte di rete e l'analisi delle caratteristiche di utilizzo di e .
Lo studio di 100.000 dei siti più popolari secondo il ranking di Alexa ha mostrato che su 9.040 di essi (10,18%) viene utilizzato codice per l'identificazione nascosta dei visitatori. Inoltre, considerando i mille siti più popolari, tale codice è stato riscontrato nel 30,60% dei casi (266 siti), mentre tra i siti che occupano posizioni dalla millesima alla decimillesima, nel 24,45% dei casi (2010 siti). L'identificazione nascosta è principalmente utilizzata in script forniti da servizi esterni per e filtrare i bot, così come dalle reti pubblicitarie e dai sistemi di tracciamento dei movimenti degli utenti.
Per identificare il codice che esegue l'identificazione nascosta, è stato sviluppato uno strumento , il cui codice è sotto licenza MIT. Lo strumento utilizza metodi di machine learning in combinazione con analisi statica e dinamica del codice JavaScript. Si afferma che l'uso del machine learning ha consentito di aumentare significativamente la precisione nella rilevazione del codice per l'identificazione nascosta e di individuare il 26% in più di script problematici
rispetto a quella precedentemente definita manualmente per le euristiche.
Molti degli script di identificazione rilevati erano assenti nelle liste di blocco standard , , DuckDuckGo, e .
Dopo l'invio da parte degli sviluppatori della lista di blocco EasyPrivacy è stata creata una sezione dedicata agli script di identificazione nascosta. Inoltre, FP-Inspector ha permesso di scoprire alcuni nuovi modi di utilizzo delle Web API per l'identificazione, che non erano stati precedentemente registrati nella pratica.
Ad esempio, è stato identificato l'uso di informazioni sulla disposizione della tastiera (getLayoutMap), dati residui nella cache (tramite l'API Performance vengono analizzati i ritardi nella restituzione dei dati, il che consente di determinare se l'utente ha richiamato un determinato dominio o meno, e se la pagina era già stata aperta in precedenza), autorizzazioni impostate nel browser (informazioni sull'accesso a Notification, Geolocation e Camera API), presenza di dispositivi periferici specializzati e sensori rari (gamepad, visori per realtà virtuale, sensori di prossimità). Inoltre, è stata registrata l'attenzione nell'identificazione della presenza di API specializzate per determinati browser e differenze nel comportamento delle API (AudioWorklet, setTimeout, mozRTCSessionDescription), così come l'uso dell'API AudioContext per determinare le caratteristiche del sistema audio.
Durante lo studio è stata anche esaminata la questione della violazione della funzionalità normale dei siti in caso di applicazione di metodi di protezione contro l'identificazione nascosta, che portano al blocco delle richieste di rete o alla limitazione dell'accesso alle API. È stato dimostrato che la limitazione selettiva delle API solo per gli script identificati da FP-Inspector porta a minori interruzioni nel funzionamento, rispetto all'uso di restrizioni generali più severe delle chiamate API in Brave e Tor Browser, che possono portare a perdite di dati.

Fonte: opennet.ru
