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 , par Victor Vincent, Chroniqueur Actualités
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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de transgohan transgohan - Expert éminent https://www.developpez.com
le 30/10/2017 à 13:40
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.
Avatar de Max Lothaire Max Lothaire - Membre confirmé https://www.developpez.com
le 30/10/2017 à 14:22
Citation Envoyé par transgohan Voir le message
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.
Avatar de Uther Uther - Expert éminent https://www.developpez.com
le 30/10/2017 à 16:40
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.

Citation Envoyé par transgohan Voir le message
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.
Avatar de transgohan transgohan - Expert éminent https://www.developpez.com
le 30/10/2017 à 17:28
Merci pour les informations, c'est en effet une façon de faire intéressante...
Avatar de AndMax AndMax - Membre averti https://www.developpez.com
le 30/10/2017 à 23:28
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 ?
Avatar de Namica Namica - Membre éprouvé https://www.developpez.com
le 31/10/2017 à 4:25
Citation Envoyé par Uther Voir le message
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.

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.
+1
Ce +/- bien, outre le canvas, si on l'ajoute aux +/- bien d'autres caractéristiques du client captées par le serveur et les différents scripts avalés par le client, on finit par par avoir une id quasiment unique de l'internaute.

Je crains que l'avance des bloqueurs de pub ne conduise les marketeux à développer le fingerprinting (comment le détecter), même si la législation européenne, indirectement, ne l'autorise pas (because accord préalable éclairé). (A qui incombe la charge de la preuve ?)

Mais le canva printing est loin d'être la seule source de tracking. Il y a aussi les CDN, sur lesquels vos pages téléchargent moult bibliothèques javascript en transmettant votre referrer et autres données...
(merci l'extension "decentraleyes" pour firefox)
Avatar de Neckara Neckara - Expert éminent sénior https://www.developpez.com
le 31/10/2017 à 8:16
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.
Avatar de St-Jean St-Jean - Membre habitué https://www.developpez.com
le 02/11/2017 à 14:46
Ce que je ne comprends pas, c'est que Firefox soit toujours incapable de lire certaines vidéos (notamment dans Facebook).
J'étais presque revenu à Firefox depuis la version 56, grâce à sa rapidité retrouvée, mais cette difficulté à lire les vidéos me fait rester fidèle à Chrome.
Avatar de ctxctx ctxctx - Futur Membre du Club https://www.developpez.com
le 03/11/2017 à 10:56
Le problème c'est que imageData c'est quand même une API très utilisé dans les canvas.
Déjà dès qu'on veut faire de la manipulation de pixel de l'image c'est obligé et canvas était justement fait pour ça.
Mais aussi tant que canvas.hitregion n'est pas implémenté dans les navigateurs, lorsque l'on veut que l'utilisateur puisse sélectionner/modifier les éléments du canvas, la seule technique viable est celle d'utiliser un 2nd canvas caché où tous les éléments ont une couleur unique et lorsque l'utilisateur clique dans la canvas il faut récupérer la position de la souris dans le canvas et récupérer à l'aide de getImageData la couleur pointé par la souris pour retrouver l'élément de dessins sélectionner par l'utilisateur à l'aide du canvas caché contenant uniquement des couleur unique pour chaque éléments.
Quasiment toutes les lib qui ajoute de l'interaction à canvas font comme ça (concrete, konvas, fabric) car canvas est une API de direct rendering qui ne garde rien mémoire sur les éléments dessinés.

En gros à mon avis (estimation au doigt mouillé) c'est pus de 90% des utilisation légitime de canvas qui vont avoir ce message. Car on utilise canvas quand on veut :
1/ appliquer des effets sur des images (donc imagedata est forcément utilisé)
2/ faire du dessins avec des interactions et donc même des graphique avec un minimum d'interaction, genre buble au survol tombe dans ce cas (donc un 2nd canvas + getImageData() sont utilisé)
3/ seul les dessins sans interaction n'auront pas de problème
Contacter le responsable de la rubrique Accueil