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 actif 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 - Membre à l'essai 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
Avatar de Michael Guilloux Michael Guilloux - Chroniqueur Actualités https://www.developpez.com
le 18/01/2018 à 12:55
Firefox 58 débarque le 23 janvier avec de nouveaux gains de performance
grâce à la compilation en streaming et un nouveau compilateur à deux niveaux

18/01/2018 : Il y a deux mois, Mozilla a lancé ce qui est sans doute la meilleure version de Firefox jamais développée, en termes de nouveautés introduites et gain de performance : Firefox 57 (Quantum). Avec cette version, Firefox est devenu plus rapide que six mois auparavant et est allé jusqu'à défier Google Chrome, non seulement au niveau de la performance, mais encore en ce qui concerne l'utilisation de la mémoire. Les tests de Mozilla montraient en effet que sur de nombreuses machines (en particulier celles avec des processeurs à plusieurs cœurs), Firefox était plus rapide que Chrome. D'autres tests également menés par l’éditeur de Firefox ont aussi montré qu'avec l'architecture multiprocessus, Firefox 57 consommait 30 % moins de RAM que le navigateur de Google.

Avec Firefox 58 qui sera officiellement disponible le 23 janvier, Mozilla veut continuer à augmenter les performances de son navigateur, en introduisant deux nouveaux changements, à savoir la compilation en streaming et un nouveau compilateur WebAssemby à deux niveaux. Avec la compilation en streaming, le navigateur compile le code pendant qu’il est en train d’être téléchargé. « Jusqu'à présent, c'était juste une accélération future potentielle. Mais avec la sortie de Firefox 58 la semaine prochaine, cela devient une réalité », explique Lin Clark de Mozilla, dans un billet de blog.

« Si vous commencez à compiler le code plus tôt, vous finirez de le compiler plus tôt. C'est ce que fait la compilation en streaming ... rendre possible de commencer à compiler le fichier .wasm dès que possible », a écrit Lin Clark. Le fait est que lorsque vous téléchargez un fichier, il ne vient pas en un seul morceau, mais plutôt en une série de paquets. Jusqu'à présent, lorsque chaque paquet d'un fichier .wasm était en cours de téléchargement, la couche réseau du navigateur le mettait dans un ArrayBuffer, comme cela est illustré ci-dessous. Une fois cela fait, l'ArrayBuffer est déplacé sur la VM Web (le moteur JS). C'est alors que le compilateur WebAssembly commence la compilation.

Mais d'après l'ingénieur de Mozilla, il n'y a aucune raison de mettre le compilateur en attente. Il est en effet techniquement possible de compiler WebAssembly ligne par ligne. Cela signifie que vous devriez être en mesure de démarrer la compilation dès que le premier paquet arrive, et c'est ce que fait le nouveau compilateur, qui tire parti de l'API de streaming de WebAssembly.


Firefox 58 inclut également un nouveau compilateur à deux niveaux, et le nouveau compilateur de base compile le code de 10 à 15 fois plus vite que le compilateur optimisant. D'après Mozilla, ces deux changements combinés signifient que Firefox compile le code plus vite qu'il n’est livré par le réseau.


Dans l'ensemble, les gains de performance résultant des changements sont assez impressionnants. Sur PC, Firefox va compiler 30 à 60 Mo de code WebAssembly par seconde, et sur mobile le navigateur va compiler environ 8 Mo par seconde. Cela veut dire que peu importe votre dispositif, vous devriez toujours profiter de gains de performance sur le Web.

En dehors des performances, il faut savoir que Firefox 58 sera la première version du navigateur à intégrer des correctifs de sécurité contre les attaques de type Meltdown et Spectre. À propos des nouvelles fonctionnalités, on peut également mentionner que la technologie WebVR est maintenant activée pour les utilisateurs de Mac OS X. Il y a aussi le support du remplissage automatique dans les formulaires pour les informations de carte de crédit et une optimisation du chargement des pages Web par la mise en cache de la représentation interne JavaScript. Firefox 58.0 améliore encore la vitesse de rendu des pages Web pour les utilisateurs Windows avec la technologie Off-Main-Thread Painting et la mise en cache JavaScript. Plus de détails sur les nouveautés seront donnés avec la sortie officielle de Firefox 58.

Mise à jour le 23/01/2018 : Firefox 58 est officiellement disponible

« Cette version est construite sur la grande fondation fournie par notre tout nouveau navigateur Firefox Quantum », a expliqué Mozilla lors de l’annonce de la sortie officielle de Firefox 58. « Nous optimisons les gains de performance que nous avons introduits dans Firefox 57 en améliorant le rendu des graphiques et la mise en cache JavaScript. Nous avons également apporté des améliorations de fonctionnalité et de confidentialité à Firefox Screenshots. » Il faut en effet noter que les captures d'écran Firefox fonctionnent maintenant en mode navigation privée. Il est également possible de les copier et coller directement dans votre presse-papiers.

Entre autres changements au niveau de l'expérience utilisateur, il faut aussi savoir que les profils utilisateur créés à partir de Firefox 58 ne seront pas pris en charge dans les versions précédentes du navigateur. Les utilisateurs qui rétrogradent vers une version précédente doivent donc créer un nouveau profil pour cette version. Côté développeur, on note entre autres l'implémentation de l'API PerformanceNavigationTiming et l'ajout de PerformanceResourceTiming.workerStart afin que les sites puissent mesurer le temps de démarrage des service workers.

Sur Firefox pour Android, Mozilla a ajouté la prise en charge des applications Web progressives (PWA) afin que vous puissiez ajouter des sites Web à votre page d'accueil et les utiliser comme des applications natives. On note en plus la prise de (Free Lossless Audio Codec).
Sources : Blog Mozilla, Notes de version Firefox 58 bêta, Notes de version Firefox 58

Et vous ?

Que pensez-vous des nouveautés et améliorations dans Firefox 58 et de la nouvelle direction empruntée par le navigateur de Mozilla ?

Voir aussi :

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
La bêta de Firefox 58 pour Android est disponible : support des progressive web apps, de FLAC et autres à découvrir
Contacter le responsable de la rubrique Accueil