- Technique de suivi qui attribue un identifiant unique aux visiteurs d’un site web en exploitant le cache des favicons, avec une persistance de l’identifiant même après suppression du cache ou des cookies par l’utilisateur
- Cette méthode fonctionne même en mode privé, avec un VPN ou un bloqueur de publicités, et persiste après le redémarrage du navigateur ou du système
- Elle génère un numéro d’identification unique à partir de combinaisons de motifs indiquant si le navigateur demande les favicons ou les charge depuis le cache
- Les principaux navigateurs comme Chrome, Firefox, Safari, Edge ainsi que les navigateurs mobiles sont affectés par cette vulnérabilité
- Elle met en évidence l’importance de la gestion du cache des favicons du point de vue de la sécurité des navigateurs et de la protection de la vie privée
Aperçu de Supercookie
- Supercookie est une technique qui identifie l’utilisateur à l’aide du cache des favicons (F-Cache)
- Les favicons sont de petites icônes de site web affichées dans la barre d’adresse du navigateur ou dans la liste des favoris
- Pour les afficher rapidement, le navigateur les stocke dans une base de données locale distincte appelée F-Cache
- Le F-Cache contient des informations telles que l’URL visitée, l’identifiant du favicon et le TTL (durée de validité)
- En détournant cette structure, il est possible de créer un motif de navigateur unique en combinant la présence ou non de requêtes de favicons selon des chemins d’URL spécifiques
Modèle de menace
- Un serveur web peut déterminer si le navigateur a déjà visité auparavant en observant s’il redemande un favicon
- Si le favicon n’est pas dans le cache, une requête GET est envoyée au serveur ; sinon, la requête est omise
- En combinant l’état des requêtes de favicon sur plusieurs chemins, on peut générer un numéro d’identification propre à chaque navigateur
- Cet identifiant n’est pas affecté par les mesures classiques de prévention du suivi, comme la suppression des cookies, la réinitialisation du cache, l’usage d’un VPN ou la modification des en-têtes
Comparaison avec les cookies classiques
- D’après le tableau, Supercookie offre une précision d’identification de 100 % et permet
- la détection du mode privé, la persistance après suppression du cache et des cookies, l’identification entre plusieurs fenêtres, ainsi que le contournement des logiciels anti-tracking
- Les cookies classiques, eux, ne prennent pas en charge ces capacités
Navigateurs affectés
- Les principaux navigateurs, comme Chrome, Safari, Edge et Firefox, sont vulnérables
- Chrome : affecté sur Windows, macOS, Linux et Android
- Safari : affecté sur macOS et iOS
- Edge : affecté sur Windows, macOS et Android
- Firefox : sur certaines plateformes, une empreinte différente est générée en mode privé
- Brave : majoritairement bloqué dans les versions récentes
- Les anciennes versions de Brave (1.14.0) et Firefox (<84.0) sont vulnérables à cette attaque
Extensibilité et performances
- En ajustant le nombre de chemins de redirection (N), il est possible de distinguer 2^N utilisateurs uniques
- Plus le nombre d’utilisateurs distinguables augmente, plus le temps de lecture et d’écriture augmente lui aussi
- Il est possible de réduire au minimum le nombre de redirections en ajustant dynamiquement la longueur de N
Méthodes de défense
- La méthode la plus fiable consiste à désactiver complètement le cache des favicons ou à le supprimer manuellement
- Chrome(macOS) : supprimer
~/Library/Application Support/Google/Chrome/Default/Favicons et Favicons-journal
- Chrome(Windows) : supprimer
C:\Users\username\AppData\Local\Google\Chrome\User Data\Default
- Safari(macOS) : supprimer le contenu de
~/Library/Safari/Favicon Cache
- Edge(macOS) : supprimer
~/Library/Application Support/Microsoft Edge/Default/Favicon et Favicons-journal
Objectif et contexte du projet
- Ce dépôt a été conçu à des fins éducatives et de démonstration, avec pour objectif de sensibiliser à la sécurité autour des possibilités de suivi via les favicons
- L’inspiration provient d’un article de recherche de l’University of Illinois Chicago et d’un article de heise.de
- Le projet comprend un portail de démonstration implémenté en 2 jours dans le cadre d’une recherche personnelle
Divers
- Le développeur est un étudiant allemand de 20 ans, intéressé par le design logiciel et la sécurité informatique
- Le projet est publié sur GitHub et peut être exécuté dans un environnement Docker ou Node.js
- Le sujet a été couvert par des médias majeurs comme Vice, Gizmodo, TechRadar et Schneier.com
1 commentaires
Avis sur Hacker News
Par exemple, sur Reddit, c’est le favicon de Ars Technica qui apparaît
C’est toujours le cas après des mises à jour d’iOS, et ça persiste aussi sur le profil comme en mode navigation privée
Pour le forcer à se rafraîchir, il faut avancer l’horloge système de plusieurs années
Ça dure depuis des années sur mon MacBook, donc j’ai fini par abandonner
Sur Safari iOS, le compteur va de 1 à 18 puis repart en boucle infinie avec une redirection
C’est un comportement indésirable, au point que j’envisage de supprimer mes favoris ou de les enregistrer en HTML
J’utilise surtout des fenêtres privées, et c’est Little Snitch qui m’a permis de le remarquer
Une combinaison qemu + cage + firefox, avec suppression de l’image à la fermeture
C’est lent, mais plus rassurant côté sécurité. La conteneurisation est aussi possible, mais le fait que le navigateur puisse accéder au noyau hôte me met mal à l’aise
Contrôler cela avec des politiques eBPF est trop complexe, donc j’isole simplement via une VM
Par exemple, des caractéristiques comme le moteur de rendu SwiftShader ou l’absence de polices sont détectées
Même en essayant de masquer cela, des choses comme la manipulation du bruit du canvas sont rapidement repérées. Si quelqu’un a une solution, je serais preneur
J’ai eu l’impression d’avoir perdu une vingtaine de secondes