Code-Garage #57 - Votre navigateur possède une empreinte numérique

Durée: 6m43s

Date de sortie: 25/04/2023

Salut et bienvenue dans ce nouvel épisode du podcast de Code Garage,
je m'appelle Nicolas Brondin-Bernard et aujourd'hui on va parler de Fingerprinting.
Alors le browser Fingerprinting, qu'on peut aussi appeler une empreinte de navigateur,
c'est une méthode qui consiste, comme son nom l'indique, à générer une empreinte unique,
basée sur les caractéristiques de votre machine et de votre navigateur, plus particulièrement,
le tout sans jamais rien stocker. Alors c'est surtout une technique qui est utilisée en réalité
pour traquer des utilisateurs sans utiliser les fameux cookies ou le local storage. Alors
comment est-ce que ça marche ? Eh bien tout simplement grâce à un bout de code JavaScript
présent dans la page, le site qui va essayer de justement créer une empreinte de la personne,
et bien le site en question va récupérer un maximum d'informations mis à disposition par
le navigateur. Alors quelles sont ces informations ? J'en ai fait une petite liste qui est évidemment
pas exhaustive, mais ça va être la langue par défaut, la time zone, le user adjunct,
la liste des polices installés, les plugins aussi, les extensions navigateurs installés,
la résolution de l'écran, le ratio des pixels, etc. Alors certaines des librairies
qui font ça automatiquement utilisent des dizaines de caractéristiques différentes,
et certains sites utilisent aussi des informations récupérées par le serveur comme l'adresse IP,
l'adresse MAC, etc. Alors il est possible d'arriver à 99,5% de précision d'identification en quelques
millisecondes. Alors vous pouvez par exemple tester la librairie Fingerprint.js, et dans
sa version 2 qui est encore plus performante, je vous mettrai le lien du projet sur GitHub
directement dans les notes de l'épisode. Alors donc quel but est-ce qu'on va faire ça ? Evidemment
vous connaissez la méthode tracking la plus courante qui consiste simplement à déposer un
cookie sur la machine du visiteur et de récupérer sa valeur entre chaque visite. Encore mieux, il est
possible d'importer un script d'un domaine particulier, chaque cookie est relié à un seul
domaine, sur plusieurs sites pour traquer la navigation du visiteur entre ces sites. C'est
le principe du Google Analytics et c'est surtout le principe qu'on appelle globalement de script
tiers, et c'est ce qui essaye évidemment d'interdire ou d'éviter la plupart des navigateurs.
Certains navigateurs le font complètement et d'autres le font un petit peu, mais évidemment il y a
aussi des ad blocker et plein de choses qui peuvent éviter ça. Alors qu'est-ce qui se passe si
l'utilisateur supprime ce cookie ? Et bien s'il passe en navigation privée ou si il bloque le
chargement des scripts tiers comme les ad blocks le font, et bien le tracking devient impossible.
Enfin impossible justement jusqu'à ce qu'on vienne ajouter du fingerprinting parce que grâce à ça ou
plutôt à cause de ça, il est possible d'identifier un utilisateur sans rien stocker sur sa machine,
en toute description, et même s'il change de navigateur où il passe en navigation privée.
Alors évidemment ça va être un peu moins précis, des fois il peut y avoir des faux positifs,
mais ça sera quand même possible parce que l'algorithme de fingerprinting
il devra simplement recalculer l'identifiant unique et il pourra le comparer justement s'il
y a eu des sessions précédentes. Alors les deux principales utilisations de cette méthode,
c'est évidemment le tracking publicitaire, je vais en reparler un petit peu après,
et par contre il y a aussi la détection de fraud. Par exemple une plateforme qui voudrait utiliser
qu'un seul compte par utilisateur pourra utiliser l'empreinte d'un visiteur fait pendant la création
du compte pour vérifier qu'il sait pas déjà un script avec un autre email. Alors ça évidemment
c'est moins courant quand même parce qu'il peut y avoir beaucoup de faux positifs, on a l'impression
de faire soit de l'adulcation ou soit directement de pas détecter du tout, notamment quand la
personne va utiliser un téléphone par exemple alors qu'il s'inscrit depuis son ordinateur.
Alors comment est-ce qu'on peut s'en protéger ? Pour se protéger de ce genre de système de tracking,
c'est plus complexe que de bloquer les cookies ou les scripts tiers parce que tout le code est
en local sur les sites, il faudrait donc une analyse complète du code du site pour essayer
d'essler un algorithme de fingerprinting et ça c'est quand même compliqué. Mais heureusement
certains éditeurs de logiciels arrivent à trouver des solutions partielles comme une extension par
exemple pour le navigateur Firefox censé empêcher le fingerprinting. Je vous le mets aussi dans
les liens de l'épisode. Et il y a aussi une initiative qui s'appelle AMA unique et qui permet
d'analyser votre navigateur de manière à découvrir à quel point votre navigateur peut être
pistée ou non. Ça peut vous permettre de prendre quelques précautions, d'installer ou désinstaller
des extensions etc pour essayer d'avoir le plus bas taux d'unicité justement et vous fondre dans
la masse. Alors est-ce que cette pratique est autorisée par l'RGPD ? Le but d'une réglementation
comme l'RGPD c'est de rester valable pour un maximum de cas malgré l'évolution rapide des
technologies. C'est évidemment pourquoi vous ne verrez jamais de mention du terme fingerprinting
dans le texte de loi mais plus globalement de toutes les informations personnelles permettant
de traquer un utilisateur. Oui les caractéristiques de votre amicataire peuvent être considérés comme
des données personnelles si elles sont recoupées entre elles. En résumé le fingerprinting est
autorisé à condition d'avoir un consentement explicite de l'utilisateur ou bien de ne pas
stocker le résultat de l'algorithme pour l'utiliser à seul fin de détection de fraude par exemple.
En tout cas en pratique rien ne vous empêche d'expérimenter de votre côté pour comprendre
le fonctionnement et si vous voulez plus d'informations sur le fingerprinting et l'RGPD,
je vous mets en lien un article de l'EFF, l'Electronic Frontier Foundation qui parle justement de
cette technologie-là et du RGPD. J'espère que vous aurez appris quelque chose en écoutant ce podcast.
Moi je vous donne rendez-vous la semaine prochaine pour un prochain épisode et je vous donne rendez-vous
surtout sur code-garrache.fr pour retrouver tous nos épisodes, tous nos articles de blog,
il y en a toutes les semaines qui sortent et surtout tous nos cours complets pour vous former
et avec des cours de très grande qualité. C'est toujours notre priorité. Moi je vous dis à la semaine prochaine, salut !

Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

Code-Garage

Découvrons ensemble des sujets passionnants autour du métier de dev et de la programmation en général !
Tags
Card title

Lien du podcast

[{'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]

Go somewhere