Des chercheurs ont publié les résultats de leurs travaux : dans une grande partie des cas, il est possible de laisser sur la machine d’un internaute une empreinte exploitable par des navigateurs multiples. Un changement de taille puisque chaque navigateur avait jusqu’ici sa propre empreinte. Explications.
On appelle empreinte (« fingerprint ») un identifiant a priori unique tenant compte des caractéristiques du navigateur. Résolution, couleurs, liste d'extensions, fuseau horaire, signal Do Not Track, options WebGL, langue utilisée, liste des polices installées, plateforme, User Agent, support du tactile ou encore activation des cookies sont ainsi analysés pour générer cet identifiant. Bien sûr, l’unicité est relative dans la mesure où l’on peut rencontrer une configuration similaire.
De l'empreinte spécifique à un navigateur...
Cet identifiant est utilisé pour de nombreuses raisons, certaines bonnes, d’autres moins. Un site à caractère « sérieux », comme celui d’une banque, peut ainsi se rendre compte que l’utilisateur se sert visiblement d’un autre appareil pour se connecter. Il pourra donc appliquer une mesure de sécurité en réclamant une ou plusieurs informations de sécurité complémentaires.
Mais l’identifiant est surtout connu pour servir dans le domaine de la publicité. L’utilisateur aura beau vider son cache, il est bâti en fonction de caractéristiques qui, pour la plupart, ne changent pas à moins d’aller trafiquer certaines options. L’utilisateur peut donc être suivi à la trace, certaines enseignes commerciales n’hésitant pas à récolter toutes les habitudes de navigation pour mieux adapter les contenus publicitaires.
... à celle liée à une machine spécifique
Cependant, changer de navigateur suffisait jusqu’à présent à obtenir un nouvel identifiant. C’est là que les travaux des chercheurs des universités de Lehigh et Saint Louis (Yinzhi Cao, Song Li et Erik Wijmans) entrent en piste. Plutôt que de s’appuyer sur les caractéristiques du navigateur, ils se servent de fonctions faisant appel des API (Application Programming Interface) du système ou puisant dans les ressources matérielles de la machine. L’identifiant ne dépend donc plus du seul navigateur, mais d’un ensemble de caractéristiques de l’ordinateur lui-même.
Spécificités de la carte graphique, nombre de cœurs du processeur, carte son et autres entrent ainsi en piste pour compléter l’empreinte existante. En tout, 36 fonctions indépendantes du navigateur sont utilisées pour réaliser des calculs. La manière dont la machine les exécute permet de gérer une nouvelle empreinte qui ne peut pas varier. Du moins en théorie.
Un taux de réussite supérieur à 99 % dans les tests
Pour prouver leurs dires, les chercheurs ont mis en place un test nommé Unique Machine, qui permet d’afficher ce fameux identifiant et dont le code source est disponible sous licence MIT sur un dépôt GitHub. Sur 3 615 empreintes collectées auprès de 1 903 utilisateurs au cours d’une période de trois mois, le taux de succès était ainsi de 99,2 %, prouvant l’efficacité de la méthode – qui se veut d’ailleurs toujours expérimentale.
Nous avons-nous-mêmes testé Unique Machine. Les dernières révisions stables de Chrome, Firefox et Opera ont toutes affiché le même identifiant. Curieusement, Edge a donné une autre série de caractères. Notez au passage que Chrome et Edge ont pu donner un identifiant navigateur différent en mode Navigation privée. Dans le cas de Chrome cependant, l’identifiant machine restait le même que les autres. Le fait que seul Edge ait donné une valeur différente peut simplement venir du caractère expérimental du test, sur lequel les travaux se poursuivent.
Seul Tor Browser échappe pour l'instant à cette technique
Pour l’instant, et comme souligné par Ars Technica, la méthode des chercheurs ne fonctionne pas avec la configuration par défaut de Tor Browser. Ce dernier bloque notamment certaines fonctionnalités liées à WebGL et autres technologies. Cependant, puisqu’il s’agit d’un Firefox modifié, les options sont toujours présentes : si l’utilisateur les réactive, il s’expose à un risque potentiel accru.
Les tests montrent que des sites pourraient très bien utiliser cette technique pour suivre très efficacement les internautes à la trace, quel que soit le navigateur utilisé (en partant du principe que le cas spécifique d’Edge n’est que temporaire). Les chercheurs précisent que ces travaux ne sont pas conçus spécifiquement pour ouvrir la voie à ce genre de pistage, mais pour montrer ce qu’il est capable de faire. La publication du code en open source est d’ailleurs là pour prouver la démarche académique.
Devancer les recherches dans ce domaine
En l’état, la priorité est de redoubler d’inventivité pour découvrir l’ensemble des éléments qu’un site pourrait impliquer dans la création d’une empreinte. Dans le cas présent, un court code JavaScript est utilisé, assez petit pour être embarqué dans des pages web. Seul problème actuellement, le temps d’attente pour la fin des calculs, puisque l’on regarde un cadre afficher des éléments graphiques pendant une dizaine de secondes. Rien n’empêche cependant d’effectuer ces tâches en arrière-plan, seule une montée en charge du processeur pouvant être décelée.
Les chercheurs n'annoncent pas que les sites vont tôt ou tard se pencher sur ces mécanismes. Ils espèrent simplement attirer l'attention sur ce qu'il est possible de faire actuellement. Rien n'empêchera cependant certaines entreprises de se pencher sur ses résultats pour y trouver une inspiration.