Commentaires : Attention, vos extensions Google Chrome permettent de vous traquer en ligne

Bien pratiques, les extensions de Google Chrome peuvent cependant siphonner des données relatives à votre système et à votre navigation web afin de créer un profil unique découlant de votre empreinte. Ce profil peut ensuite être utilisé pour vous traquer en ligne.

Are you unique ?
Yes! You are unique among the 589215 fingerprints in our entire dataset.

YEEEEEEEEESSS, i am the one !

:sweat_smile:

[:upside_down_face:]

Petite précision depuis la source Malwarebytes: « Extensions for [Microsoft Edge] can be detected using the same methods […] ».

D’autre part « l’EFF conseille d’utiliser un navigateur populaire. »… :thinking:

Histoire de compléter sur la protection de Firefox contre la prise d’empreinte (voir dernier paragraphe de mon message ci-dessous, qui aurait dû être avant celui là si j’avais pas confondu répondre et éditer ^^), voilà par exemple quelques informations basiques que mon Firefox envoie au serveur à chaque requête vers une page web (ça, même en désactivant le JavaScript, c’est envoyé, parce que ça fait partie du protocole HTTP, c’est dans les en-têtes de la requête envoyée par le navigateur au serveur) :

Et une fois la protection contre la prise d’empreintes activée :

On voit qu’il a masqué mon type de processeur (x64), ma version de Firefox (101.0 remplacée par 91.0). On peut supposer que la version de Windows a été aussi « masquée », et qu’il remonte en fait Windows 10 pour tout le monde, même ceux sous une autre version de Windows. Et il a également masqué mes préférence linguistiques, en mettant celles par défaut de la version anglaise de Firefox.

Attention quand même avec ce réglage, ce n’est pas pour rien qu’il est désactivé par défaut :

  • modifier la version du navigateur peut modifier le comportement de certains sites « évolués » qui adaptent automatiquement leur mises en forme en fonction des capacités du navigateur => ces sites s’afficheront comme ils s’afficheraient avec Firefox 91, sans utiliser les nouvelles capacités introduites depuis,
  • certains sites disponibles en plusieurs langues utilisent la liste des langues acceptées par le navigateur pour déterminer quelle langue afficher, sans laisser le choix à l’utilisateur de basculer dans une autre langue => ces sites s’afficheront en anglais au lieu de s’afficher en français.

Idéalement, il faudrait que le navigateur permette de définir un système de liste blanche ou liste noire de sites pour désactiver ou activer la protection en fonction de ça.

Non, c’est une mauvaise compréhension du problème ça.

Telles que vous le présentez, ce sont les extensions elle mêmes qui scanneraient le système pour créer sa signature et traquer l’utilisateur. Ce n’est absolument pas ça.

Ce qu’explique l’article source, c’est qu’un chercheur a trouvé un moyen détourné pour déterminer une liste d’extensions installées sur le navigateur via le code JavaScript d’un site (à priori, pas la liste complète, toutes ne peuvent pas être détectées, seules celles qui autorisent les sites web à accéder à certaines de leurs ressources le peuvent). C’est donc le site visité qui collecte des données, pas les extensions elle même.

Et cette liste permet d’affiner l’empreinte qui peut être calculée à partir de diverses autres données accessibles via JavaScript, dont le nom et la version du navigateur et de l’OS, la définition de l’écran, le fuseau horaire, la liste des polices, etc…, pour maximiser ainsi les chances que cette empreinte soit unique et donc permette d’identifier un navigateur particulier…

Ensuite, dans les solutions pour se prémunir de ça, vous en oubliez une essentielle : cette astuce ne permet d’identifier que des extensions pour les navigateurs basés sur Chrome (et en plus, il faut éventuellement s’adapter à la mouture du navigateur, ils indiquent ainsi que la page de test faite par le chercheur ne marche qu’avec des extensions du Chrome Web Store et nécessiterait donc d’être adaptée pour détecter celles de Edge). Et la protection la plus évidente est donc, et c’est écrit noir sur blanc dans l’article, d’utiliser Firefox, qui est le seul navigateur majeur et multiplateformes à ne pas être lié à Chrome. Firefox dispose en effet d’un mécanisme de protection contre ça, une même extension changeant d’identifiant d’une installation à l’autre, ce qui empêche sa détection indirecte.

Et Firefox dispose en outre en option de mécanismes de protection plus généraux contre le tracking par empreinte (masquage du fuseau horaire, masquage d’une partie des polices installées, de la version (OS et navigateur), etc… Là encore, c’est indiqué à la fin de l’article source, avec un lien vers ces explications sur le site de Mozilla : Firefox's protection against fingerprinting | Firefox Help

Bref, dommage de faire un tel contre-sens sur le fond de l’article et d’oublier au final la principale recommandation, qui est d’utiliser un autre navigateur que Chrome, surtout en mettant à la fin de l’article un résumé d’un « test » de Chrome avec que des points positifs et aucun points négatifs…

C’est aussi ce que je m’étais dit, ou une mauvaise traduction peut-être.

Quant à recommander un autre navigateur que Chrome, c’est plus facile à dire qu’à faire si tous les navigateurs sous Chromium sont concernés. J’ajoute que l’ergonomie de FF ne me convient pas du tout pour certaines tâches de streaming vidéo par exemple, en plus d’être un peu lent.

Après, c’est quoi un « navigateur populaire recommandé », un Chrome sans extensions?

Les navigateurs dérivés de Chrome sont concernés s’ils utilisent le Chrome Web Store comme source d’extensions.
Ils sont théoriquement aussi vulnérables s’ils utilisent une autre source, mais en pratique la vulnérabilité est moindre : si quelqu’un intègre à un site un système de détection des extensions, il va cibler les extensions les plus populaire du Chrome Web Store (puisqu’il faut détecter spécifiquement chaque extension en testant si elle est là, il n’y a pas de système permettant de demander au navigateur une liste d’extension… pour faire une analogie, c’est comme si tu voulais déterminer les applications installées sur un ordinateur en n’ayant que le droit de tester si un fichier existe, mais sans pouvoir lister tous les fichiers/répertoires… tu détecterais facilement un Office ou un Photoshop, en allant chercher si leurs exe existent dans leur répertoire d’installation par défaut, mais tu ne détecteras pas une application rare, qui ne sera pas dans ta liste de fichiers à tester). D’où le fait par exemple que la page de test mise en ligne par le chercheur ne marche pas avec les extensions Edge.

Il doit aussi y avoir moyen de bidouiller les extensions pour masquer les ressources qu’elles rendent accessibles aux sites web. Mais je ne sais pas si c’est facile à faire sous Chrome et ses dérivés, je n’ai jamais regardé comment se présentent leurs extensions, et en cas de modification le navigateur gueulera sans doute parce que l’extension n’est plus signée correctement.

Le plus rigolo dans l’histoire, c’est que les 5 extensions que j’ai sur Chrome (elles sont partiellement différentes sur les autres navigateurs) sont les suivantes: G DATA WebProtection, McAfee WebAdvisor, uBlock Origin, Privacy Badger et… Malwarebytes ! :smirk:

Cela implique qu’il faut savoir si le site sur lequel on veut aller va scanner l’internaute pour faire du « fingerprinting » ou pas. Si on estime qu’on se trouve dans un pays qui veut faire de la surveillance de masse, autant directement passer par TOR sinon ça ne sera pas 100% efficace, même avec un FF « normal ».

Si on ne veut pas passer par TOR réputé être utilisé par beaucoup de hackers, on peut avoir plusieurs machines, OS, navigateurs, timezones etc donc plusieurs empreintes, elles-mêmes modifiables à tout moment, c’est beaucoup moins compliqué que ça en a l’air.

Comme je l’avais écrit dans un autre commentaire, la confidentialité sur la toile ne passe pas que par le navigateur qu’on utilise, mais aussi par les sites qu’on choisit de ne pas visiter car douteux et/ou sans intérêt.

La liste blanche ou noire? C’est notre cerveau ! :sunglasses:

L’idée n’est pas de tout bloquer en mode parano (et dans ce cas, passer par TOR n’empêche en rien le fingerprinting) pour bloquer une éventuelle surveillance d’état (qui a peu de chance de passer par cette forme de fingerprinting en plus…), mais simplement de bloquer par défaut le fingerprinting pour éviter le tracking publicitaire, et l’autoriser éventuellement sur certains sites dont on a l’habitude pour éviter de les « casser » en désactivant JavaScript et en se présentant avec une vieille version du navigateur.

Typiquement, avoir le fingerprinting bloqué quand je vais sur mon moteur de recherche où que je visite un commerce en ligne, mais ne pas le bloquer sur Clubic pour être sûr que toutes les fonctions du site fonctionnent correctement, et en sachant que de toute façon sur Clubic je suis connecté à mon compte, donc fingerprinting ou non, je suis identifié.