Un groupe de chercheurs de Mozilla, de l'Université de l'Iowa et de l'Université de Californie a étudié l'utilisation de code sur les sites pour une identification cachée des utilisateurs. L'identification cachée est comprise comme la génération d'identifiants basés sur des données indirectes sur le fonctionnement du navigateur, telles que , la liste des types MIME pris en charge, les paramètres spécifiques dans les en-têtes ( et ), l'analyse des plugins installés , la disponibilité de certaines API Web spécifiques aux cartes graphiques le rendu avec WebGL et , avec CSS, , des ports réseau, l'analyse des particularités de l'interaction avec et .
L'étude de 100 000 des sites les plus populaires selon le classement Alexa a montré que sur 9040 d'entre eux (10,18 %), un code pour l'identification cachée des visiteurs est appliqué. Cependant, si l'on considère les mille sites les plus populaires, un tel code a été identifié dans 30,60 % des cas (266 sites), tandis que parmi les sites classés de la mille à la dix-mille, ce code était présent dans 24,45 % des cas (2010 sites). En général, l'identification cachée est utilisée dans des scripts fournis par des services externes pour et le filtrage des bots, ainsi que par des réseaux publicitaires et des systèmes de suivi des déplacements des utilisateurs.
Pour détecter le code permettant l'identification cachée, un outil a été développé , dont le code est sous licence MIT. L'outil utilise des méthodes d'apprentissage automatique ainsi que de l'analyse statique et dynamique du code JavaScript. Il est affirmé que l'utilisation de l'apprentissage automatique a considérablement amélioré la précision de la détection du code pour l'identification cachée, permettant d'identifier 26 % de problèmes de scripts en plus
par rapport à l'heuristique manuelle définie.
Beaucoup des scripts d'identification détectés n'étaient pas présents dans les listes de blocage typiques , , DuckDuckGo, et .
Après l'envoi par les développeurs de la liste de blocage EasyPrivacy, il y a eu une section distincte pour les scripts d'identification cachée. De plus, FP-Inspector a permis de découvrir certains nouveaux moyens d'utiliser les Web API pour l'identification qui n'avaient pas été rencontrés dans la pratique auparavant.
Par exemple, il a été observé que l'identification des informations sur la disposition du clavier (getLayoutMap), les données résiduelles en cache (à l'aide de l'API Performance, les retards de transmission de données sont analysés, ce qui permet de déterminer si l'utilisateur a accédé à un certain domaine ou non, ainsi que si la page a été précédemment ouverte), les autorisations définies dans le navigateur (informations sur l'accès à l'API de Notification, de Géolocalisation et de Caméra), la présence de périphériques spécialisés et de capteurs rares (manettes, casques de réalité virtuelle, capteurs de proximité) ont été identifiés. De plus, il a été enregistré que l'identification de la présence d'API spécialisées pour certains navigateurs et les différences de comportement des API (AudioWorklet, setTimeout, mozRTCSessionDescription), ainsi que l'utilisation de l'API AudioContext pour déterminer les caractéristiques du système audio.
Dans le cadre de l'étude, la question de la violation de la fonctionnalité normale des sites en cas d'utilisation de méthodes de protection contre l'identification cachée, entraînant le blocage des requêtes réseau ou la restriction de l'accès aux API, a également été examinée. Il a été montré que la restriction sélective des API uniquement pour les scripts détectés par FP-Inspector entraîne moins de perturbations dans le fonctionnement par rapport à l'utilisation de restrictions générales plus strictes sur les appels API dans Brave et Tor Browser, qui peuvent potentiellement entraîner des fuites de données.

Source : opennet.ru
