La page web qui affiche tout ce que votre navigateur a révélé
(sinceyouarrived.world)- Cette page affiche la localisation, l’appareil, le navigateur, la langue, le GPU, la batterie, les polices et les préférences de l’utilisateur en se basant uniquement sur les données transmises par le navigateur durant les toutes premières millisecondes après la visite, sans exploit ni piratage, en utilisant uniquement des fonctionnalités standard publiquement documentées
- Elle envoie l’adresse IP de tous les en-têtes de requête à ip-api.com · Free tier · CC-BY-SA pour la convertir en nom de ville et de fournisseur d’accès à Internet, précise que la requête n’est pas conservée et n’affiche à l’écran qu’une partie des octets, tout en indiquant que le reste est également connaissable
- L’empreinte de police détecte les polices installées via la largeur du texte rendu, Electronic Frontier Foundation · Cover Your Tracks fournit un outil pour vérifier l’unicité du navigateur, et une étude de Princeton de 2014 a trouvé une empreinte canvas sur 5 % des 100 000 sites web les plus visités
- Bien que la page ne les exécute pas, il existe la Clipboard API, qui peut demander la lecture du dernier contenu copié à l’aide d’un seul geste utilisateur, “The Leaking Battery”, qui a montré une possibilité de suivi pendant jusqu’à 30 minutes via le niveau de batterie et le temps de décharge, ainsi qu’une technique de détection des sites auxquels l’utilisateur est connecté via le favicon
- Il est précisé que seuls deux événements anonymes, arrivée et fin, ont été envoyés au serveur, et que rien n’est stocké dans
cookies,localStorage,sessionStorage,IndexedDBni dans le cache du service worker ; une fois l’onglet fermé, le visiteur est oublié
Les informations transmises par le navigateur dès son arrivée
- Toutes les observations de taken. proviennent des données fournies par le navigateur du visiteur durant les toutes premières millisecondes après son arrivée, sans exploit, vulnérabilité ni piratage, en utilisant uniquement des fonctionnalités standard publiquement documentées
-
Localisation
- L’adresse IP incluse dans tous les en-têtes de requête est envoyée à ip-api.com · Free tier · CC-BY-SA pour être convertie en nom de ville et de fournisseur d’accès à Internet
- La requête est temporaire et n’est conservée par aucune des deux parties ; seuls le premier et le dernier octet de l’IP sont affichés à l’écran, mais il est précisé que le reste est aussi connu
- Selon le RGPD, une adresse IP peut être considérée comme une donnée personnelle lorsqu’elle est utilisée pour le suivi, et taken. n’effectue ni suivi, ni conservation, ni journalisation
-
API du navigateur
- Les observations sur l’appareil, comme l’écran, le navigateur, la langue, le GPU, le nombre de cœurs, la batterie, les polices et les préférences utilisateur, sont obtenues via des API JavaScript standard publiquement documentées sur MDN Web Docs · Mozilla · CC-BY-SA 2.5
- Il s’agit d’un comportement possible tel que prévu par la conception du navigateur, ce qui mène à la conclusion que « le problème vient de la conception »
-
Empreintes de police et canvas
- La technique d’empreinte de police, qui détecte les polices installées à partir de la largeur du texte rendu, est documentée depuis 2010, et Electronic Frontier Foundation · Cover Your Tracks propose un outil pour vérifier à quel point un navigateur est unique
- La plupart des navigateurs sont suffisamment uniques pour permettre un suivi sur le web ouvert même sans cookies, et la combinaison de polices est l’un des signaux les plus puissants
- Une étude de 2014 du Princeton University · Web Transparency & Accountability Project a été la première à documenter l’empreinte canvas sur le web réel, et en a trouvé sur 5 % des 100 000 sites web les plus visités
- L’empreinte canvas consiste à faire dessiner au navigateur du visiteur une image cachée, puis à relire les pixels rendus comme identifiant ; taken. n’exécute pas cette technique, mais le navigateur la prend en charge
-
Presse-papiers et batterie
- Selon la MDN · Clipboard API specification, avec un seul geste utilisateur comme un clic ou un tap, une page peut demander à lire le dernier contenu copié
- Le dernier contenu copié peut être un mot de passe, une adresse ou un brouillon de message ; taken. ne le demande pas, mais cette fonctionnalité existe bien dans les navigateurs modernes
- L’article de 2015 “The Leaking Battery” d’Olejnik, Englehardt et Narayanan a montré qu’en combinant uniquement le niveau de batterie et le temps de décharge, il était possible de suivre un visiteur jusqu’à 30 minutes sur plusieurs sites web, sans cookies ni compte
- Firefox a supprimé cette API en 2016, mais Chrome et Edge l’exposent toujours
Techniques non exécutées et données non laissées
-
Détection des sites de connexion
- Bien que taken. ne l’exécute pas, une technique consistant à faire charger au navigateur l’URL du favicon d’un service précis puis à observer la réussite ou l’échec pour déterminer à quels sites l’utilisateur est connecté est documentée, légale et largement diffusée
- Elle exploite la différence entre les images renvoyées selon l’état connecté ou déconnecté, et permet de savoir sans autorisation si l’utilisateur est connecté à Facebook, Google, X, GitHub, Reddit, LinkedIn et d’autres services
-
Le code-barres calculé dans le navigateur
- Les 16 barres affichées sous le compteur sont composées de hauteurs dérivées du GPU, des polices, de la taille d’écran, de la langue, du fuseau horaire, du système d’exploitation, du navigateur et de la profondeur de couleur
- Les mêmes données produisent le même code-barres, et des visiteurs différents voient des codes-barres différents ; le calcul a lieu uniquement dans le navigateur et n’est pas transmis
- Si quelqu’un possède exactement la même empreinte, il verra les mêmes barres, mais cette probabilité est faible
-
Méthode de génération des phrases
- Toutes les phrases ont été écrites directement par Matt, et aucun modèle de langage ne les écrit ni ne les corrige au moment de l’exécution
- Le code choisit l’un des modèles de phrases préécrits selon les valeurs renvoyées par le navigateur, et il est conçu pour ne rien dire si la condition ne peut pas être traitée avec une phrase écrite par un humain
-
Ce qui a été envoyé au serveur
- Les seuls événements envoyés au serveur sont deux événements anonymes, arrivée et fin, sans cookies, identifiants ni IP conservée
- Le serveur jette le corps de chaque requête et ne renvoie rien ; des traces au niveau de la couche de transport indiquant qu’une requête a eu lieu peuvent rester dans les logs pendant la durée de conservation par défaut de l’hébergeur, généralement quelques jours
- La plupart des sites envoient des centaines de balises supplémentaires à des annonceurs, collecteurs d’empreintes, outils de session replay et gestionnaires de tags, mais taken. n’en envoie que deux à son propre serveur et le signale explicitement
-
Ce qui a été stocké sur l’appareil
- Rien n’est stocké dans
cookies,localStorage,sessionStorage,IndexedDBni dans le cache du service worker - Les données affichées à l’écran ont été calculées dans le navigateur et, à l’exception de la requête de géolocalisation IP et des deux événements anonymes, ne quittent pas l’appareil
- Une fois l’onglet fermé, taken. oublie le visiteur, et conclut, source ouverte à l’appui, que « la plupart des pages ne peuvent pas en dire autant »
- Rien n’est stocké dans
-
Contexte de la série et réalisation
- Le Vol. I portait sur ce qui s’est passé dans le monde pendant que le visiteur restait sur place, le Vol. II sur le ciel qu’il a manqué, le Vol. III sur ce qui se trouvait déjà sous ses pieds, et le Vol. IV resserre progressivement le cadre jusqu’au visiteur lui-même
- La page a été créée par Matt chez Rise Up Labs, et les éditions suivantes seront publiées sur X et Bluesky
2 commentaires
Avis sur Lobste.rs
C'est peut-être juste que je suis devenu cynique avec l'âge, mais il n'y a rien de vraiment nouveau dans ce qui est présenté ici. Le mème “hot singles in your area” doit bien avoir presque 20 ans maintenant
On peut se demander si certaines de ces informations devraient être exposées par le navigateur, mais une partie sert à la fois au fingerprinting et à des fonctions de base. Par exemple, c'est utile qu'un site sache que je préfère le mode sombre, et c'est aussi pratique que la date et l'heure s'affichent selon mon fuseau horaire
Ce site relève davantage de la mise en scène sensationnaliste du fingerprinting que d'une information réellement utile, et si le fingerprinting vous inquiète, https://coveryourtracks.eff.org de l'EFF est une bien meilleure ressource
J'accorde de l'importance à la vie privée et je prends quelques mesures pour réduire le pistage, mais je ne crois pas vraiment que limiter le fingerprinting aide en pratique. Pour supprimer toute empreinte, l'expérience de navigation devient extrêmement pénible, et les solutions intermédiaires risquent surtout de produire une empreinte encore plus distinctive
Et beaucoup des éléments suivis ici sont trop courants. Si tout le monde utilise les mêmes polices, préfère le thème clair et vit dans la même région, comment en tirer un profil vraiment unique pour chacun ?
C'est une belle démo, et j'aime bien la manière dont les animations révèlent les informations au fil du temps. Mais l'analyse et le texte sont, à mon goût, trop axés sur le ressenti
Par exemple, beaucoup d'informations que cette page prétend avoir “comprises” sur le navigateur sont en fait des valeurs codées en dur que Firefox renvoie indépendamment de l'état réel de l'appareil. Un pisteur d'empreinte ne verrait pas la différence, mais Firefox privilégie la cohérence sur des informations propres à l'appareil comme le nombre de CPU ou la résolution de l'écran
Sur Firefox, cette page dit à la fois que les informations sur mon GPU ont été “cachées” par le navigateur et que le navigateur les a quand même transmises. C'est juste pour l'ambiance ?
À part ça, les autres pages qui testent le pistage essaient souvent de mesurer l'entropie ou à quel point on est unique, mais cette approche a aussi des défauts regrettables. Certains navigateurs ajoutent de l'aléatoire à des API censées être plus précises que “combien de CPU as-tu ?”
Par exemple, Firefox peut toujours sembler unique pour un pisteur d'empreinte canvas, ce qui a l'air inquiétant, alors qu'en réalité il a une empreinte unique différente à chaque fois. On peut le voir en ouvrant une page de test d'empreinte en mode normal et en navigation privée, ou dans des conteneurs différents
Haha, oui
Aux débuts d'internet, il y avait des bannières du genre « votre ordinateur diffuse son adresse IP !!! ». Ce site me rappelle beaucoup cette époque, ainsi que l'idée qu'un site web qui connaît certaines choses sur l'appareil ou la connexion que j'utilise serait dangereux d'une manière vague et difficile à formuler
Quand je sors, les gens peuvent voir mon visage. Quand j'entre dans un magasin, les autres clients peuvent voir quels rayons je regarde. Si j'achète une boîte d'œufs, le magasin gardera une trace horodatée de la vente, et si quelqu'un note les allées et venues devant le magasin, il pourra même retrouver dans la poubelle mon ticket de caisse et savoir que j'ai acheté des œufs
On peut fermer les stores, rester enfermé chez soi, terrifié par les atteintes constantes à la vie privée, et n'interagir avec le monde qu'en Monero acheté via Tor, ou bien accepter que cela fait partie de la vie humaine depuis toujours et que le fait qu'un site connaisse mon fuseau horaire local ou le CPU de mon ordinateur ne cause pas de grand tort
Et dire « c'est la vie, accepte-le ou va vivre dans les bois », je ne pense pas que ce soit une bonne manière de résoudre quelque problème que ce soit dans ce monde
Mais imaginons qu'au lieu de simplement jeter un coup d'œil, elles viennent toutes vers moi pour faire un croquis de mon visage, regarder leur montre et noter l'heure, écrire ce que je porte et où je me trouve. Elles pourraient même me demander où je vais. Dans le monde vers lequel nous fonçons, elles feront peut-être aussi une copie d'une pièce d'identité émise par l'État
Une fois mon passage terminé, ces centaines de personnes emportent leurs notes dans de grands bâtiments remplis de millions d'employés de grandes entreprises et de gouvernements, où l'on classe méthodiquement des croquis et des dossiers sur tous les habitants de la ville. Comme dans une série policière, on les affiche sur un immense tableau et on les relie avec de la ficelle rouge
Ils font cela tous les jours, mus par la volonté de me connaître. Est-ce vraiment quelque chose de si vague et difficile à décrire ?
« La première chose envoyée par votre appareil était votre adresse IP, c'est ainsi que nous le savons. Nous savons aussi le reste. Nous avons choisi de ne pas l'afficher. La plupart des pages n'auraient pas fait ce choix. »
Le premier paragraphe m'agace un peu, et ça ressemble à du marketing par la peur destiné à des personnes peu à l'aise avec la technique. Il est normal qu'un serveur web connaisse mon IP
La phrase « Nous avons choisi de ne pas l'afficher. La plupart des pages n'auraient pas fait ce choix » est aussi étrange. Je ne vois pas en quoi me montrer mon adresse IP poserait problème, et je ne pense pas non plus que « la plupart des pages » choisiraient réellement de le faire. Peut-être que je rate le point visé
« Votre adresse IP — 88.xxx.xxx.231 — a été la première chose envoyée par votre appareil. Nous savons aussi le reste. Nous avons choisi de ne pas l'afficher. La plupart des pages n'auraient pas fait ce choix. »
Commencer par une formule aussi maladroite et façon InfoWars est un choix audacieux. Pour moi, ça a immédiatement sapé la crédibilité du reste de la page ; en fait, on pourrait dire que « l'ambiance était donnée », puisque le reste m'a pareillement déplu
Ce billet semble avoir besoin d'un titre bien plus explicite
« L'écran fait 375×812 pixels et le rendu se fait avec une densité de 3×. Cela signifie presque à coup sûr qu'il s'agit d'un écran haut de gamme récent. »
Mouais, cet iPhone 13 mini date de 2021, c'est un appareil qui approche plutôt des 5 ans, donc je ne le qualifierais pas de si récent. Cela dit, la page reste intéressante
« Vous préférez une interface claire — c'est votre système d'exploitation qui nous l'a dit. »
Et pourtant, ce site web ignore ma préférence. Ça montre bien que ce genre de données sert généralement peu à améliorer l'expérience utilisateur sur les sites
Ça doit être pénible si on utilise Chrome
J'utilise en ce moment une connexion 5G à Munich, mais le site pense que je suis à Londres
Avis sur Hacker News
Je ne suis même pas dans cette ville. Même en voyant large, ça détecte juste quelque chose comme Chrome sur quelque chose comme Linux, et personne ne peut déduire quand je travaille ou quand je dors. Moi non plus, d’ailleurs.
Le soi-disant écran haut de gamme récent est en fait l’écran d’une tablette bas de gamme achetée au supermarché il y a 5 ans, et malgré ça, le fingerprinting du navigateur reste agaçant. Si on peut détecter le mode clair, on pourrait aussi respecter ce réglage, non ?
Ça affiche « English · Chinese » en disant que la langue principale du navigateur et les langues supplémentaires révèlent le lieu où l’on a grandi, celui où l’on vit, voire avec qui l’on cohabite, mais avoir l’anglais et le chinois comme langues de saisie ne dit rien de tout ça. C’est un peu comme dire que « le fait de naviguer sur Internet avec un téléphone révèle que vous êtes une personne capable d’accéder à Internet avec un téléphone ». Les technologies interagissent entre elles, c’est comme ça qu’elles fonctionnent. C’est orwellien, certes, mais savoir si c’est plus orwellien que des États de surveillance comme la Russie, la Chine ou la Corée du Nord, c’est autre chose. Le partage de localisation peut servir à retrouver un téléphone, une voiture ou un appareil, l’activité en ligne peut servir à retrouver des criminels, et elle peut aussi documenter des crimes ou des affaires où il faut demander des comptes à la police. Voir l’intrusion excessive de la technologie comme une catastrophe relève d’un choix cognitif, mais il est bon d’être conscient de ce que notre technologie « sait » de nous
Et pour le mode clair, je compatis totalement. J’ai la trentaine bien avancée, et certains de ces sites en mode sombre me donnent l’impression d’avoir plus de 80 ans. Celui-ci, on n’y voit vraiment rien
J’aimerais vraiment que les défenseurs de la vie privée parlent normalement, au moins une fois. Présenter l’accès du navigateur au fuseau horaire comme quelque chose de maléfique ne convaincra personne
La question n’est pas de savoir si les informations sont exactes ou non. L’important, c’est qu’elles permettent de m’identifier même sans cookies. En cherchant un meilleur site, j’ai trouvé EFF utile.
Mon empreinte de navigateur y est indiquée comme unique parmi les visiteurs des 45 derniers jours : https://coveryourtracks.eff.org/
Quand on visite sans JavaScript, on voit : « Si JavaScript est désactivé, la page ne peut pas vous dire ce que votre navigateur a révélé. Les données sont toujours là. La divulgation a toujours lieu. La seule chose qui s’arrête, c’est le fait de vous le dire. »
Ce style LLM grandiloquent est extrêmement agaçant, mais au moins il signale que je peux l’ignorer complètement, donc merci pour ça
Je ne sais pas si c’est parce que je suis vieux ou parce que je fais du logiciel Internet depuis près de 30 ans, mais rien de tout ça ne me semble surprenant ni inquiétant.
Quelqu’un met en place un serveur qui reçoit des connexions, et quelqu’un d’autre envoie une requête de connexion à ce serveur. Il n’y a eu aucun accord, aucune attente ni aucune règle définie. Le serveur n’est pas obligé d’accepter toutes les requêtes, pas plus que quiconque n’est obligé de lui en envoyer. Ce que le serveur renvoie et la manière dont le client le traite relèvent de chacun.
J’ai l’impression que cet accord, ou cette absence d’accord, s’applique aux deux côtés. Je ne pense pas qu’un utilisateur doive se fâcher parce qu’un site utilise les informations de la requête comme il l’entend, mais je ne pense pas non plus qu’un site doive se fâcher parce que je traite les données reçues comme bon me semble. Autrement dit, un site peut conserver mon adresse IP et les détails de ma requête autant qu’il veut, et moi je peux faire ce que je veux de la réponse reçue. Bloquer les publicités, refuser les requêtes suivantes que le site demandait, ou afficher la réponse comme je l’entends. J’ai demandé des données, et eux les ont envoyées.
Si certaines informations ne doivent pas être révélées à mon sujet, alors il ne faut pas les inclure dans la requête. Si l’on veut que je voie une publicité avant d’envoyer certaines données, alors il faut obtenir mon accord avant de les envoyer. Bien sûr, dans la réalité, la plupart des gens ne savent pas ce que fait leur navigateur, n’ont pas beaucoup de choix concret sur ce qu’il envoie, et Internet n’est plus une option dans la vie. Et avec des choses comme les DDoS, une structure totalement « tout est permis » n’est pas réaliste non plus. Mais j’ai quand même l’intuition qu’il ne faut pas trop attendre des deux côtés quand on fait une requête sur Internet
Dans la réalité, le navigateur est le mandataire de quelqu’un d’autre. Il travaille pour les développeurs web, en leur fournissant toutes sortes de choses qui leur facilitent la vie. Il travaille pour les annonceurs, en fournissant des indices de suivi et du fingerprinting. Il travaille pour les développeurs du navigateur, en collectant des métriques, de la télémétrie et d’autres données dont on ne sait même pas vraiment la nature. Mais il ne travaille plus vraiment pour moi. Je ne suis qu’un passager dans la voiture.
Je comprends que l’adresse IP n’est pas sous le contrôle du navigateur et qu’elle doit inévitablement être révélée pour se connecter à un site web. Mais le fait qu’en l’état, sans VPN, une adresse IP puisse être mappée de manière fiable à un pays, une région, et parfois une ville, est un horrible défaut de conception. C’est un gros problème de conception dans la façon dont les IP sont attribuées. Dans un monde meilleur, l’adresse IP seule ne devrait pas révéler la position géographique de quelqu’un
Quand le client envoie un en-tête de langue ou une liste de polices prises en charge, ça ne voulait pas dire « faites-en tout ce que vous voulez ». Quand nous avons défini ces standards, il y avait de vraies raisons. Le fait que les fournisseurs de sites web, ou plus précisément les réseaux publicitaires, aient décidé d’utiliser cela à d’autres fins, c’est une rupture de cet accord implicite. Bien sûr, il se peut que j’attende trop
Ça a su connaître le niveau de batterie de mon téléphone et a correctement déduit des éléments sur l’appareil. Ça a correctement lu le gyroscope, les interactions avec l’écran tactile, et montré comment ces choses peuvent servir à l’identification et à l’inférence. On peut même en déduire si quelqu’un est assis, debout ou allongé. Le début est lent, mais c’est devenu intéressant ensuite
L’idée que personne ne doit rien à personne fonctionnait assez bien à l’époque où l’on pouvait supposer que la plupart des acteurs étaient de bonne foi. Mais une fois que l’argent et le pouvoir d’Internet sont devenus une réalité, les relations sont devenues plus hostiles. Les hypothèses de confiance et l’absence de responsabilité facilitent l’exploitation de la bonne volonté d’un côté par l’autre. Et à cause du déséquilibre technique et de pouvoir inhérent à l’architecture client-serveur du web, les abus ont aussi tendance à aller surtout dans un seul sens
Le site est joli et les formulations excessives sont amusantes, mais il existe de bien meilleures démos de fingerprinting.
Le nombre de points de données montrés ici est faible. On peut vérifier bien plus de choses, et une bonne partie semble fausse. Il n’a explicitement détecté qu’un seul élément comme « withheld », mais en réalité plusieurs semblent masqués, ce qui donne l’impression que la sortie est déformée. Il faut du contrôle qualité
On dirait EFF Cover Your Tracks codé en vibe coding. Le fait que ce soit arrivé en première page fait plus peur que le contenu lui-même
Il y a bien plus à voir ici. Il existe aussi beaucoup de travaux antérieurs sur les super cookies et le fingerprinting.
https://coveryourtracks.eff.org/
https://amiunique.org/
Waouh, on dirait que quelqu’un qui utilise ChatGPT a découvert le concept des en-têtes du navigateur et y a ajouté des phrases bizarres du style « nous avons choisi de ne pas vous le dire »
Si vous voulez vraiment savoir ce que votre navigateur envoie, regardez plutôt ici :
https://browserleaks.com/
https://coveryourtracks.eff.org/
« Nous n’avons pas demandé votre position. Votre adresse est arrivée avant vous » est absurde. Ils ont bien demandé ma position en interrogeant une API ou un service de géolocalisation avec mon adresse IP comme clé.
Et pour que la communication Internet fonctionne, l’IP est quasiment indispensable. Il existe des services pour la masquer, mais dans ce cas c’est ce service qui détient mes informations
Si vous avez un dictionnaire, vous n’êtes pas obligé de demander à votre interlocuteur ce que veut dire un mot que vous avez entendu ; vous pouvez le chercher dedans. Le mot peut avoir plusieurs sens ou être familier, et vous pouvez donc vous tromper dans votre déduction. Pour corriger cette imprécision, il faut soit d’autres points de données, comme le contexte de la conversation, soit demander directement confirmation à l’interlocuteur
Et bien sûr que l’adresse arrive avant. Sinon, ils ne pourraient pas renvoyer les données demandées