Developpez.com

Le Club des Développeurs et IT Pro

Firefox 58 ne permettra pas le pistage des internautes grâce à l'élément HTML Canvas

Le navigateur demandera d'abord la permission de l'utilisateur

Le 2017-10-30 11:58:22, par Victor Vincent, Expert éminent sénior
La version à venir de Firefox, ne permettra pas aux entreprises et aux sites web utilisant l’élément HTML canvas d’extraire des données sur les internautes sans le consentement de ces derniers. En effet, le navigateur avertira les utilisateurs quand un site web utilise cet élément HTML en soulignant à l’utilisateur le fait que cette balise HTML pourrait être utilisée uniquement à des fins d’identification de sa machine. L’extraction de cet élément pouvait se faire jusque là par les sites web de manière silencieuse. Firefox a donc décidé d’y mettre fin à partir de sa version 58. Le navigateur de Mozilla emboite ainsi le pas au navigateur centré sur la confidentialité des utilisateurs, Tor. Cette similitude entre les deux navigateurs n’est pas un hasard, car Tor s’appuie en réalité la version ESR (Extended Support Release) de Firefox. Ce qui explique que plusieurs des fonctionnalités de l’un puissent se retrouver chez l’autre navigateur.

Le phénomène de l’utilisation de ce qui est appelé empreinte digitale des navigateurs a pris de l’ampleur ces dernières années. Ce système permet aux sites internet de collecter des données permettant de pister le navigateur lui-même plutôt que de se baser sur des cookies ou encore des objets Flash. L’efficacité de cette technique pour les entreprises et les sites web qui y recourent réside dans le fait que les empreintes digitales des navigateurs ne peuvent pas être supprimées contrairement aux cookies et autres moyens similaires de collecte de l’information. Les informations qui peuvent être recueillies vont du numéro de version de votre navigateur à la résolution d’écran utilisée en passant par le système d’exploitation, la langue, la liste des plug-ins ou encore la liste des polices qui sont installés sur le navigateur. C’est pour ces raisons entre autres, que le navigateur de Mozilla, qui se veut le navigateur de la protection des libertés sur internet, a décidé d’avertir les utilisateurs quand un site utilise la balise canvas de HTML qui est l’un des moyens de mettre en œuvre cette technique.

Les développeurs de Firefox ont adopté la même approche que Tor concernant la problématique du pistage par le biais de la balise canvas. La restriction pure et simple de la balise ne pouvait pas être solution optimale, car cette balise même si elle constitue un moyen de pistage n’en est pas moins une balise très utile dans bien d’autres cas d’utilisation. La solution qui a donc été retenue par les développeurs du navigateur de Mozilla est de donner le choix aux utilisateurs eux-mêmes de décider en toute conscience s’ils veulent autoriser les sites web à extraire des informations de cette balise sur leur navigateur ou non.

Source : Twitter

Et vous ?

Que pensez-vous de cette décision des développeurs de Firefox ?

Voir aussi

Mozilla lance un programme pilote d'un module anti-tracking développée par la société Cliqz, pour donner des recommandations personnalisées aux utilisateurs

Mozilla apporte la protection de suivi à la version iOS de son navigateur Web, et améliore également la synchronisation avec la version desktop
  Discussion forum
20 commentaires
  • Uther
    Expert éminent sénior
    En lisant cet article j'ai eu peur, croyant qu'ils voulaient envoyer un avertissement pour toutes les utilisations de la balise Canvas. Ça aurait été démesuré car la très grande majorité des fonctionnalités offertes par cette balise sont complètement inoffensives. Le message étant grandement dissuasif, beaucoup d'usages légitimes de cette balise auraient probablement été remplacé par des hacks dégueulasses.

    Mais en regardant le message d'origine, on comprend que l'avertissement ne concerne heureusement que l'utilisation de l'API Image Data qui permet d'extraire les informations du Canvas.

    Envoyé par transgohan
    Quelqu'un aurait un exemple d'utilisation pour montrer le concept qui se cache derrière cette balise ?
    Pour moi le canvas ne sert qu'à dessiner des formes, donc je l'associe difficilement à du tracking.
    En gros en fonction de ta carte graphique (et de son paramétrage), de l'API graphique de l'OS, des polices installées, ... les commandes de dessin donnent des résultats certes très proches, mais pas identiques au pixel près. Les gens qui veulent te tracer dessinent donc dans un canevas invisible une image "empreinte" dont les pixels sont récupérés via l'API Image Data pour construire un hash identifiant plus ou moins bien ta machine.
  • Neckara
    Inactif
    Pour le browser fingerprinting, le but est de collecter (dans l'idéal) un maximum d'information, généralement via les API JavaScript, dans le but de discriminer les utilisateurs. Par exemple, j'ai deux groupes d'utilisateurs, l'un qui utilise l'anglais, l'autre qui utilise le français. Dans chacun de ces groupes, j'en ai qui utilisent Firefox, d'autres qui utilisent Chrome.

    Pour faire une analogie, c'est assez proche du jeu "qui est-ce ?", à force de discriminer, on tombe sur une personne unique. Il n'est pas possible de supprimer cette "empreinte", car l'absence d'une information est aussi une information qui permettra de vous discriminer.

    Cependant, ce n'est pas une fatalité, et il est possible de modifier cette "empreinte", c'est à dire l'ensemble des informations potentiellement collectable. Cela peut aller vers une randomisation, ou une uniformisation. Le TOR Browser a adopté la stratégie de l'uniformisation, c'est à dire qu'il est fait en sorte que les informations collectées soient les mêmes pour tous les utilisateurs, ainsi, même en discriminant, on ne tombe plus sur une seule personne, mais sur un groupe de personnes. On est donc anonyme parmi un groupe.

    Après, cela ne sert pas à grand chose si vous n'utilisez pas le réseau TOR (ou un réseau VPN), vous serez de toute manière pisté "grâce" à votre adresse IP.

    Par contre, il serait bien que les navigateurs commencent à supprimer ou uniformiser leurs User-Agent... surtout sur mobile où ils sont presque uniques.
  • transgohan
    Expert éminent
    Ils n'ont pas de designer/graphiste chez Mozilla ?

    Mais à part ça cela va dans le bon sens, je félicite la nouveauté.
  • Zefling
    Expert confirmé
    Envoyé par frfancha
    Sur notre site internet ouvrir une page representative du travail repetitif effectue sur l'intranet (Angularjs) met 12 secondes en Firefox ESR 52, 8 secondes en Firefox 57 et 3 secondes en Chrome.
    Du coup ce sera Chrome pour tout le monde.
    AngularJS /Angular sont codés par Google est principalement testé sous Chrome. Je suis dessus, et ça se voit quand on regarde les bugs reportés.
    De plus, ce qui est mise en œuvre ne touche pas encore à la partie JS. Firefox 57 c'était surtout Stylo (Quantum CSS).

  • transgohan
    Expert éminent
    Quelqu'un aurait un exemple d'utilisation pour montrer le concept qui se cache derrière cette balise ?
    Pour moi le canvas ne sert qu'à dessiner des formes, donc je l'associe difficilement à du tracking.
  • Max Lothaire
    Membre confirmé
    Envoyé par transgohan
    Quelqu'un aurait un exemple d'utilisation pour montrer le concept qui se cache derrière cette balise ?
    Pour moi le canvas ne sert qu'à dessiner des formes, donc je l'associe difficilement à du tracking.

    L'article dédiée sur Wikipedia donne pas mal de pistes.
  • onilink_
    Membre émérite
    Envoyé par RyzenOC
    oui je le sais, mais tu ne répond pas à ma question.... y'en a qui l'utilise ?
    Perso je l'ai utilisé un peu a des fins de test, avec emscripten, pour compiler du C++ (des petits jeux en SDL2/opengl/openal).
    Ça a grandement amélioré les choses, avant un build emscripten d'un code sans dépendances pouvait prendre jusqu'a 1mo de js.
    Avec webasm ça divise a peu près le poids en 10. Les temps de chargement sont bien plus rapide, et le code tourne plus vite (et pourtant c'était déjà pas mal du tout avant cela).

    Bref c'est vraiment très intéressant pour tous ceux qui visent le web sans avoir a être forcé a faire du javascript (emscripten peut transpiler en webasm tout langage avec un backend llvm, ce qui donne beaucoup de possibilités).
  • Zefling
    Expert confirmé
    Envoyé par beekeep
    unity 3d pourrait l'utiliser pour remplacer WebGL en export Web.
    Ça reste du WebGL au final, il me semble. C'est juste avec du Wasm et non du JS.

    Exemple ici : Unity WebGL avec Wasm
  • transgohan
    Expert éminent
    Merci pour les informations, c'est en effet une façon de faire intéressante...
  • AndMax
    Membre éprouvé
    Que pensez-vous de cette décision des développeurs de Firefox ?
    Excellente décision. Je me demande si les développeurs de Chromium vont suivre ?