Menu Fermer

Le pistage par empreinte numérique ou Browser FingerPrinting : comprendre et s’en protéger

Cette entrée fait partie d'une série de 4 sur 21 dans la série Le pistage sur internet : Le dossier

Cet article traite du pistage utilisateur sur internet à travers le Browser FingerPrinting ou empreinte digitale du navigateur WEB.
Le Browser FingerPrinting est une technique qui vise à identifier le navigateur WEB de manière unique.
Ainsi à partir de là on peut tracer et pister votre navigateur internet.
Peu d’internautes connaissent cette méthode et technique pourtant de plus en plus utilisées.

Dans ce tutoriel, je vous explique comment fonctionne le profilage et pistage par le Browser FingerPrinting.
Enfin vous trouverez aussi en fin d’article tous les conseils pour bloquer et se protéger du suivi par l’empreinte digitale du navigateur WEB.

Pistage utilisateur sur internet : Browser FingerPrinting

Qu’est-ce que le pistage par empreinte numérique ou Browser FingerPrinting

Afin d’expliquer ce qu’est le Browser FingerPrinting, il faut bien comprendre sur quoi repose le pistage utilisateur sur internet.
Il s’agit ici d’un résumé puisque l’article suivant donne déjà toutes les explications.

Pour pister un utilisateur, il faut être capable de reconnaître un utilisateur de manière unique parmi la multitudes d’internautes.
Plusieurs techniques existent et parfois mélangées afin de pouvoir pister au mieux l’internaute.
Les internautes connaissent souvent bien le tracking cookies ou pistage par les cookies.

Cette méthode vise à déposer dans le profil du navigateur WEB, un cookie appartenant à un site WEB en particulier.
Souvent ce site internet appartient à une régie publicitaire.
Ensuite celle-ci appelle ensuite ce cookie et peut le modifier depuis les sites où ces publicités s’affichent.
Le tracking cookies balisent donc les sites visités où les régies publicitaires sont présentes et permettent de dresser un profil consommateur.
Enfin les régies publicitaires affichent des publicités ciblées grâce aux informations collectées.

Le Browser FingerPrint, de son côté, consiste à constituer un identifiant unique du navigateur WEB.
Cela se fait à travers sa configuration comme le fuseau horaire, résolution écran, la police utilisée, le user-agent, etc.
Un service WEB et notamment les régies publicitaires peuvent alors distinguer n’importe quel navigateur WEB parmi d’autres et donc un potentiel internaute.
Cet identifiant unique s’assimile à une empreinte digitale de ce dernier.

Pour les défenseurs de la vie privée, ces méthodes ne sont pas acceptables. Vous trouverez quelques extensions qui permettent de vous protéger sur internet de ce type de collecte d’informations.

API et réglages du navigateur WEB

Le Browser FingerPrinting vise donc à créer une empreinte unique de votre navigateur WEB à partir notamment de ses réglages.

La constitution de cette empreinte unique se base sur plusieurs attributs du navigateurs WEB.
Des codes JavaScript ou appel API permettent de récupérer ces derniers et notamment ceux-ci.

  • Les réglages Audio.
  • La toile ou Canvas. Canvas est une API HTML5 qui permet de dessiner des graphiques et des animations sur une page Web via un script en JavaScript.
  • Les polices d’écriture ou fonts et leurs utilisations. Recensent les polices qui dépendant du système et applications installées
  • WebGL est une API JavaScript permettant de rendre des graphiques 3D interactifs dans n’importe quel navigateur Web compatible sans utiliser de plug-ins. Les applications WebGL sont constituées d’un code de contrôle écrit en JavaScript et d’un code à effets spéciaux exécuté sur le processeur graphique d’un ordinateur. Les éléments WebGL peuvent être mélangés avec d’autres éléments HTML et composés avec d’autres parties de la page ou de l’arrière-plan de la page.

Bien entendu il existe d’autres attributs qui au final permet de constituer un identifiant unique de votre navigateur WEB.

HTML5 Canvas est la méthode la plus courante pour récupérer les informations de configurations de votre navigateur WEB.

JavaScript FingerPrint- tester ses protections contre le pistage par empreinte numérique (Browser FingerPrint)

Mais on trouve aussi les fonts FingerPrint et WebGPL Fingerprint plus compliqués à bloquer ou falsifier.

WebGPL Fingerprint
Les fonts FingerPrint

Démonstration du pistage par Browser FingerPrint et empreinte numérique

Voici une démonstration sur un forum de test possédant une fonction Browser FingerPrint.
Cela permet en autre de détecter les comptes multiples.

Ci-dessous, une connexion sur le forum avec le compte Malekal_morte qui sert de témoin.
Vous avez la date de la session et l’UID de l’empreinte digitale
Puis un autre utilisateur avec le même navigateur WEB utilisant un VPN.

L’empreinte digitale du navigateur WEB étant unique, quelque soit l’IP de connexion, on reconnaît le navigateur WEB utilisé.
Ainsi le fait de se cacher derrière un VPN ne permet pas de vous rendre totalement anonyme.
Enfin cela permet aussi de suivre un internaute utilisant un ordinateur portable ou une tablette qui serait en vacances ou chez sa famille.

Pistage utilisateur sur internet : Browser FingerPrinting

Ainsi le navigateur informe du User-agent et sa version à chaque connexion au serveur.
Cependant une extension peut très facilement modifier ces informations pour renvoyer une fausse version.
Les protections cherchent donc à falsifier ces informations afin de brouiller les pistes.

Tester son navigateur contre le suivi par Browser FingerPrint et empreinte numérique

Il existe différents sites internet qui permettent de tester son navigateur WEB face aux empreintes numériques et pour savoir si ce dernier est unique.
Ces sites existent pour la plupart en langue anglais.

Toutefois quelques bémols sur ces sites.
Notamment aucun de ces sites ne donne d’identifiant.
Ainsi il n’est donc pas possible de savoir si vous êtes capables via des protections de faire varier l’empreinte digitale de votre navigateur WEB.

Se protéger du pistage par l’empreinte digitale du navigateur WEB

Si vous avez bien compris le principe, la reconnaissance unique du navigateur WEB se fait à travers une concaténation de multiples paramètres utilisés par le navigateur WEB.
Ces informations sont transmises du navigateur WEB au serveur WEB.
Il est donc tout à fait possible de générer des informations erronées ou aléatoires. Il peut aussi être possible de détecter le script qui collecte ces données pour le bloquer.
Faire varier ces paramètres vont faire en sorte de modifier l’empreinte digitale et donc générer un nouvel identifiant empêchant ainsi la reconnaissance du navigateur WEB.

Parmi l’une d’elle se trouve la résolution écran de Windows.
En changeant la résolution écran, on obtient un nouvel identifiant d’empreinte digitale.
Bien entendu, si vous remettez la résolution d’écran d’origine, on retrouve l’identifiant de départ.

Pistage utilisateur sur internet : Browser FingerPrinting

Même chose en mettant à jour Mozilla Firefox, un nouvel UID est généré :

Pistage utilisateur sur internet : Browser FingerPrinting

Modifier le user agent ne génère pas un nouvel identifiant.
Dans l’exemple ci-dessous, je génère un useragent kikoo, l’empreinte digital reste inchangé.

Pistage utilisateur sur internet : Browser FingerPrinting

Du coup, j’ai aussi testé quelques extensions :

Aucun des deux ne permet de générer un identifiant aléatoire ou de bloquer la récupération d’informations qui permet de le générer.
Ces deux extensions sont inefficaces contre le Browser FingerPrinting (empreinte digitale).
Avec Privacy Badger le site panopticlick affiche ces informations durant le test :

Pistage utilisateur sur internet : Browser FingerPrinting

NoScript peut bloquer les appels JavaScript qui servent à collecter les informations.
Le navigateur WEB TOR inclut NoScript et donc vous avez de fortes chances d’être protégé.

Bien entendu il existe des extensions qui permettent de bloquer aussi ces appels ou de falsifier les informations envoyées.

Mozilla Firefox

Protection contre les empreintes numériques

La version 67 de Mozilla Firefox apporte une protection contre les empreintes numériques.
Par défaut, cette protection n’est pas activée et c’est à l’utilisateur de l’activer.
Il faut aller dans les options de vie privée et passer le blocage de contenu en personnalisée.

Activer la protection d'empreinte numérique sur Mozilla Firefox

Plus de détails sur l’article suivant qui donne les étapes pas à pas.

Random agent Spoofer

L’extension Random Agent Spoofer pour Firefox permet de générer un identifiant aléatoire en chargeant un nouveau profil de navigateur WEB.
Ce profil peut être changé tous les X minutes ou à chaque requête.

Pistage utilisateur sur internet : Browser FingerPrinting
Pistage utilisateur sur internet : Browser FingerPrinting

On trouve bien une empreinte digitale différente pour chaque session.

Pistage utilisateur sur internet : Browser FingerPrinting

L’extension CanvasBlocker fait aussi le boulot.
Les appels du script sont détectées et l’extension envoie des informations biaisées.

Pistage utilisateur sur internet : Browser FingerPrinting

Ainsi, l’identificateur unique est modifié à chaque connexion.

Pistage utilisateur sur internet : Browser FingerPrinting

Google Chrome

L’extension CanvasFingerprintBlock ou CanvasDefender fait le boulot pour ce qui est de la récupération du canvas.
Pour les empreintes numériques par les polices, vous avez aussi l’extension fonts fingerprint Defender
Par contre, l’extension StopFingerprinting n’a pas fonctionné, l’identifiant a pu être généré.

Pistage utilisateur sur internet : Browser FingerPrinting

On obtient ceci sur le site de test :

Pistage utilisateur sur internet : Browser FingerPrinting

CanvasDefender permet de choisir le délai où un nouveau canvas est généré.
Vous pouvez aussi ajouter des sites en liste blanche.

Pistage utilisateur sur internet : Browser FingerPrinting

ScriptSafe et NoScript

NoScript et ScriptSafe bloque le JavaScript et d’autres objets.
Ainsi le code à la source du pistage et du Browser FingerPrinter peut-être bloqué par ces derniers.
En outre, ScriptSafe donne la possibilité de créer un canvas aléatoire ou vide. Ce n’est pas le cas de NoScript.

Par exemple, ci-dessous, comme les scripts par défaut avec ScriptSafe, il est impossible de charger le code qui va permettre d’effectuer le pistage.

ScriptSafe protection contre le Pistage utilisateur sur internet : Browser FingerPrinting

Trace

L’extension Trace fait aussi très bien le job.
Par exemple ci-dessous, on voit qu’il génère un Canevas différent à chaque requête.

De plus il embarque une protection contre le WebGL BrowserFingerPrintering.

Elle semble bien faire le boulot puisque sur ce test, les appel WebGL sont bloqués.

Vous trouverez plus d’explications sur le contenu de Trace sur notre article dédié.

Chamelon

Cette extension offre aussi beaucoup de protection dont des protections contre la reconnaissance d’empreinte numérique.
Un article sur le site consacrée à cette extension existe avec tout le descriptif.

Quelques autres tests d’extension vie privée

En vidéo présentation du Browser FingerPrinting et quelques testes rapides d’extension qui protège la vie privée contre cette technologie.
Dans cette vidéo, on parle des extensions suivantes face à cette méthode de pistage.

Vous verrez qu’il n’est pas simple de se protéger de cette empreinte digitale.

Conclusion & Liens

Cette technique de Browser FingerPrinting étant très efficace, beaucoup de régies publicitaires commencent à l’adapter.
C’est pourquoi, nous recommandons d’utiliser un bloqueur de publicités (comme uBlock ou AdBlock) qui limitent la casse.

Par exemple, le site lemonde.fr semble utiliser ce type de tracking utilisateur :

Pistage utilisateur sur internet : Browser FingerPrinting

Bien entendu, il existe d’autres techniques de pistage.
Par exemple à travers la technologie WebRTC.
On en parle dans cet article :

Enfin notre dossier sur le Web Tracking sur internet et aussi bloquer les mouchards sur Windows et internet vous donne toutes les méthodes pour protéger votre confidentialité.
De manière générale, tous les tutos sur les navigateurs WEB dans le menu : navigateurs WEB.