Le fingerprinting : votre ordinateur est devenu un cookie géant !

Protection des données
fingerprinting

Vous souvenez-vous du bon vieux temps ?

Il s’agissait de l’époque où tout ce que l’on avait à faire pour éviter d’être pisté en ligne était de supprimer ses cookies. Ressortir son stockage DOM. Nettoyez sa Flash LSO et ses ETags hors de votre cache, évitez ces vendeurs de téléphones mobiles qui attribuent des identifiants uniques au niveau du trafic sortant et décide si les avantages de sécurité du HSTS, sont plus importants qu’un éventuel compromis au niveau de la confidentialité.

Il s’agissait effectivement d’une époque plus simple !

Garder le contrôle sur tous ces paramètres pouvait être un vrai casse-tête, mais peu importait combien de bannières de repérage étaient attachées à la coque de votre navigateur, puisque vous et vos plugins pouvaient aller les trouver et les supprimer.

Puis arriva le fingerprinting et le pistage était devenu obsolète.

Les empreintes digitales du navigateur

Contrairement au suivi de l’état et de l’activité des balises supprimables comme les cookies et les LSO, le fingerprinting représente l’enregistrement passif des attributs individuels de votre navigateur.

Il s’avère que les navigateurs partagent (et sur-partagent) tant d’informations sur eux-mêmes, et que ces données varient tellement d’un utilisateur à l’autre, que votre navigateur n’a pas besoin d’un cookie pour être suivi, car il est lui-même un cookie !

Et bonne chance pour supprimer cela !

De la taille d’écran aux séquences des user-agent, jusqu’à de longues listes de polices de caractères et de plugins, les navigateurs internet bouillonnent littéralement de différentes sources d’entropie. Individuellement, les valeurs de chacune de ces sources ne sont pas assez remarquables pour agir comme un identifiant unique, mais en les ajouter ensemble, ils le deviennent. Cette ID devient l’empreinte digitale de votre navigateur.

Plus il existe de sources d’entropie différentes, plus il est facile de créer des empreintes digitales stables.

L’EFF a été un pionnier avec son test Panopticlick, qui nous a laissés sans voix, avec seulement huit attributs de navigateur, et a d’ailleurs lancé une recherche pour en trouver plus. Et plus nous regardions, plus la situation s’aggravait.

Au fur et à mesure que la liste des caractéristiques des empreintes digitales augmentait en taille et en sophistication, il est devenu évident que certains d’entre eux, comme l’autonomie restante de votre batterie, ou encore le rendu 3D de votre navigateur, allaient bien au-delà du navigateur pour s’intéresser au hardware et au système d’exploitation.

Ces caractéristiques sont les mêmes, peu importe le navigateur que vous utilisez.

Des chercheurs aux États-Unis ont récemment démontré que les navigateurs divulguaient tellement d’informations qu’il est possible de créer des empreintes digitales utilisables et stables pour votre ordinateur.

En d’autres termes, ce n’est pas votre navigateur qui est un cookie, mais bien votre ordinateur lui-même est un cookie !

Les empreintes digitales cross-navigateurs

Yinzhi Cao et Song Li de l’université de Lehigh et Erik Wijmans de l’Université de Washington, St Louis, ont développé des techniques inédites d’empreintes digitales de navigateurs et de cross-navigateurs, en se basant sur les travaux de Károly Boda et al de l’Université de Technologie et d’Economie de Budapest :

… ces techniques peuvent identifier non seulement les utilisateurs en lien avec un navigateur mais aussi tous ceux qui utilisent des navigateurs différents sur la même machine. Notre approche utilise des fonctionnalités au niveau de l’OS et du matériel, y compris les cartes graphiques sous WebGL, la pile audio via AudioContext et le CPU par le biais de hardwareConcurrency. Notre évaluation montre que notre approche peut identifier plus d’utilisateurs que AmIUnique via l’empreinte digitale d’un navigateur unique, et que Boda et al. pour les empreintes digitales cross-navigateurs. Notre approche est hautement fiable, à savoir que la suppression d’une seule caractéristique diminue la précision de 0,3% au maximum.

… notre approche peut identifier avec succès 99,24% des utilisateurs par opposition à 90,84% pour l’état de l’art pour des empreintes digitales au niveau d’un seul navigateur, avec comme référence le même ensemble de données. De plus, notre approche peut atteindre un taux d’unicité plus élevé que l’approche cross-navigateur renseignée dans la littérature …

Pour atteindre ces résultats, les chercheurs ont mélangé des versions améliorées des techniques de fingerprinting existantes, telle qu’une méthode plus puissante de type cross-navigateur pour capturer la résolution d’écran, avec un grand nombre de nouvelles techniques exotiques.

Les nouvelles techniques incluent la première utilisation des données provenant des systèmes audio dans la création des empreintes digitales, avec ce qui ressemble à une évaluation globale du GPU (unité de traitement de graphique).

Il est connu depuis un certain temps que les navigateurs présentent des différences mesurables dans leur façon d’afficher les images et le texte au niveau du canevas HTML (une surface de dessin virtuelle que vous pouvez inclure dans les pages web).

Cette empreinte digitale du canevas est assez bonne pour avoir été utilisée pour le suivi réel, et les recherches réalisées en 2014 ont trouvé 20 implémentations séparées d’empreintes digitales du canevas au niveau des 100 000 principaux sites web (dont un qui a été déployé en silence sur 13 000 sites via le bouton réseaux sociaux de partage AddThis).

Cao et al. ont pris cette idée d’empreinte digitale du canvas, et se sont lancés avec dans un véritable marathon.

Les GPU sont alors testés au niveau de leurs vitesses avec du lighting et shadow mapping, du clipping, vertex et fragment shading, rendu de police et anti-aliasing, entre autres choses.

L’exécution de ces tests par votre ordinateur sera assez différente de la mienne pour que nous puissions les différencier.

Quelques captures d’écran des tests de fingperinting du canvas tirés du site de tests des chercheurs uniquemachine.org sont incluses ci-dessous. Bien sûr, ils ne sont visibles que parce qu’il s’agit d’une étude. En effet, une personne qui voudra vous suivre en silence, fera en sorte de les dissimiler pour que vous ne puissiez en aucun cas les découvrir :

fingerprintingCertaines sources d’entropie sont captées indirectement par des « side channels ».

Votre navigateur sera heureux de fournir les listes des polices de caractères qu’il prend en charge, mais ne donnera pas la liste des langues que vous avez installées. Néanmoins, cela est facilement surmontable : tout ce que vous avez à faire pour tester si une langue est installée est de tenter d’écrire son propre nom. Si votre navigateur tente d’écrire « Javanaise » ainsi : Javanaise mais n’est pas équipé du bon système d’écriture, il affichera une chaîne de boîtes blanches comme ceci : □□□□□.

Une chaîne de cases blanches signifie que la langue n’est pas installée, n’importe quoi d’autre signifie qu’il est. Recommencez et répétez pour chaque langue et vous avez votre liste.

D’autres sources d’entropie sont récoltées au niveau de votre navigateur en les lui demandant tout simplement.

Saviez-vous que n’importe quel site web que vous visitez peut demander à votre ordinateur combien de cœurs virtuels il possède, par exemple ? En effet, vous pourrez le trouver dans la propriété suivante : window.navigator.hardwareConcurrency.

Un absent notable tout de même, de la liste des attributs de navigateur de type « demandez le et nous vous le diront », est l’autonomie de la batterie.

En 2015, des chercheurs en France et en Belgique ont montré qu’ils pouvaient utiliser l’autonomie restante de la batterie (accessible via l’API Battery Status au niveau des navigateurs) en tant qu’identification unique.

Environ un an plus tard, une étude à grande échelle au sujet des techniques de suivi utilisées par les mille premiers sites web, a révélé que l’autonomie de la batterie était utilisée comme une tactique de fingerprinting assez répandue de par le monde.

Face aux preuves évidentes de son utilisation comme un outil de suivi, et face aux questions sérieuses quant à savoir si elles ont déjà été utilisées par quiconque, Firefox a rapidement mis un terme à ce fingerprinting.

Quoi faire ?

L’étude aborde cette technique de fingerprinting d’une manière assez équitable, suggérant que, bien qu’elle puisse être utilisée pour distribuer des annonces ciblées non désirées, elle peut également devenir un deuxième facteur d’authentification bien utile.

Je ne suis pas prêt à avaler cette couleuvre : les cookies fonctionnent très bien, merci, et tout le reste nous montre bien que nous ne sommes pas prêts à demander l’avis des utilisateurs sur le fait qu’ils soient pistés ou non.

Malheureusement, le fingerprinting est très difficile à contrer.

Le seul navigateur qui rend la vie vraiment difficile au fingerprinting est, sans surprise, le navigateur Tor. La protection de la vie privée et la sécurité sont les principes de base du navigateur Tor, une version modifiée de Firefox, et il a été cité dans toutes les recherches sur le sujet que j’ai pu voir, y compris celui-ci :

Le navigateur Tor peut se défendre avec succès contre les nombreuses techniques de fingerprinting au niveau des navigateurs, y compris les fonctionnalités proposées dans notre étude.

Si vous refusez l’utilisation de l’élément canvas (Tor vous indiquera quand un site tente de l’utiliser), les chercheurs estiment que Tor ne donnera accès qu’à quelques sources de données qu’il utilisera.

Il est possible que des plugins de navigateur comme Privacy Badger, Ghostery ou NoScript puissent aider aussi. Ils ne contrent pas le fingerprinting directement, mais leur interruption du pistage et des annonces pourrait vous empêcher de charger un script fingerprinting tiers. Par contre, une collection ésotérique de plugins vous rendra un peu atypique et donc une proie facile face au fingerprinting.

Vous pouvez générer votre propre empreinte digitale de navigateur et d’ordinateur sur le site des chercheurs : uniquemachine.org. Il vous donnera un bon aperçu de certaines astuces graphiques utilisées dans la recherche, mais il ne vous dira pas avec quelle facilité vous êtes pistés.

Si vous êtes à la recherche d’un site qui vous permet de tester et de retester votre empreinte digitale en vue de la réduire, allez sur Panopticlick ou Am I Unique.

Le code utilisé dans la recherche est disponible sur les pages GitHub de Song Li.

Pour plus d’informations sur l’empreinte digitale de navigateur et la façon dont elle est utilisée dans la vraie vie, vous pouvez lire Browser fingerprints – the invisible cookies you can’t delete.


Billet inspiré de Your computer is a cookie that you can’t delete, par Mark Stockley, Sophos NakedSecurity.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s