Outils
Démo de suivi Evercookie
Comprenez comment les "cookies zombies" persistent malgré les tentatives de suppression en exploitant de multiples mécanismes de stockage du navigateur.
Démonstration éducative uniquement
Cette page illustre les concepts d'evercookie à des fins éducatives. Nous ne vous pistons PAS réellement. La démo stocke un identifiant aléatoire pour montrer comment fonctionne la persistance, et vous pouvez le supprimer complètement à tout moment.
Qu'est-ce qu'un Evercookie ?
Un evercookie (aussi appelé "cookie zombie" ou "supercookie") est une API JavaScript qui crée des cookies extrêmement persistants en stockant le même identifiant de suivi simultanément dans de nombreux mécanismes de stockage du navigateur.
Quand un utilisateur supprime ses cookies, l'evercookie se recrée à partir de tout emplacement de stockage restant. Pour vraiment supprimer un evercookie, vous devez effacer TOUS les mécanismes de stockage en même temps — ce que la plupart des utilisateurs ne savent pas faire.
L'evercookie original a été créé par Samy Kamkar, chercheur en sécurité et créateur de l'evercookie en 2010 pour démontrer à quel point il est difficile de préserver sa vie privée en ligne.
Démo interactive
Votre identifiant de suivi démo
Génération...
Essayez de supprimer uniquement les cookies, puis cliquez sur "Vérifier tous les stockages" pour voir comment l'identifiant persiste
Mécanismes de stockage
Les evercookies exploitent plus de 17 mécanismes de stockage. Ci-dessous, vous pouvez voir lesquels sont disponibles dans votre navigateur et leur statut actuel :
Comment chaque mécanisme fonctionne
Cookies HTTP standard Courant
La méthode traditionnelle — de petits fichiers texte stockés par le navigateur. Faciles à supprimer via les paramètres du navigateur.
document.cookie = "tracking_id=abc123; expires=Fri, 31 Dec 9999 23:59:59 GMT";
HTML5 Local Storage Courant
Stocke jusqu'à 5-10 Mo par domaine. Persiste jusqu'à suppression explicite. Souvent oublié lors de la suppression des "cookies".
localStorage.setItem('tracking_id', 'abc123');
// Survives browser restart, never expires
HTML5 Session Storage Courant
Similaire à localStorage mais effacé à la fermeture de l'onglet. Peut être utilisé pour transmettre des données afin de recréer d'autres cookies pendant une session.
sessionStorage.setItem('tracking_id', 'abc123');
IndexedDB Courant
Une base de données NoSQL complète dans le navigateur. Peut stocker de grandes quantités de données structurées. Rarement effacée par les utilisateurs.
const request = indexedDB.open('evercookie_db', 1);
request.onsuccess = (e) => {
const db = e.target.result;
// Store tracking ID in database
};
Empreinte Canvas PNG Sournois
Encode la valeur du cookie en couleurs de pixels RGB dans une image PNG, puis force sa mise en cache. Le cookie est relu en dessinant l'image en cache sur un canvas et en lisant les valeurs des pixels.
// Encode "abc" as RGB: R=97, G=98, B=99
ctx.fillStyle = 'rgb(97, 98, 99)';
ctx.fillRect(0, 0, 1, 1);
// Later, read it back from cached image
HTTP ETag Sournois
Les ETags sont destinés à la validation du cache mais peuvent stocker des identifiants de suivi. Le serveur envoie un ETag unique, et le navigateur le renvoie lors des requêtes suivantes.
// Server response:
HTTP/1.1 200 OK
ETag: "tracking_id_abc123"
// Browser's next request:
If-None-Match: "tracking_id_abc123"
Supercookie HSTS Avancé
Exploite le HSTS (HTTP Strict Transport Security) en encodant des bits dans les politiques HSTS des sous-domaines. Chaque bit est un sous-domaine qui a ou non le HSTS activé.
// Encoding "5" (binary: 101) across subdomains:
// bit0.tracker.com → HSTS ON (1)
// bit1.tracker.com → HSTS OFF (0)
// bit2.tracker.com → HSTS ON (1)
// Reading: check if browser upgrades each subdomain to HTTPS
Cache web Sournois
Stocke l'identifiant de suivi dans un fichier JavaScript ou HTML mis en cache. Quand le navigateur charge la version en cache, elle contient l'identifiant.
// Server sends with far-future cache headers:
Cache-Control: max-age=31536000
// File contents:
var cached_tracking_id = "abc123";
window.name Sournois
La propriété window.name persiste à travers les navigations de page dans le même onglet, même vers des domaines différents. Peut stocker jusqu'à 2 Mo.
window.name = "tracking_id=abc123";
// Survives navigation to other sites in same tab!
Cookies Flash (LSO) Obsolète
Les Flash Local Shared Objects stockaient des données hors du contrôle du navigateur. Nécessitait de visiter le site d'Adobe pour les supprimer. Flash est maintenant mort, mais était très efficace.
// ActionScript:
var so:SharedObject = SharedObject.getLocal("evercookie");
so.data.tracking_id = "abc123";
so.flush();
Silverlight Isolated Storage Obsolète
Le plugin Silverlight de Microsoft avait son propre mécanisme de stockage, séparé du stockage du navigateur. Silverlight est abandonné.
Vol d'historique Corrigé
Encodait des données dans l'historique du navigateur en visitant des URL contenant l'identifiant. Pouvait être relu en vérifiant les styles :visited des liens. Les navigateurs ont corrigé cela.
// Create history entries:
location = "http://tracker.com/id/a";
location = "http://tracker.com/id/b";
// Read via CSS :visited (now blocked)
Comment Brave protège contre les Evercookies
- Partitionnement du stockage : Isole le stockage par site, empêchant le suivi inter-sites
- Ephemeral Storage: Third-party storage is cleared when you close the site
- Canvas Fingerprint Randomization: Defeats PNG-based cookie storage
- Blocked HSTS Supercookies: Clears HSTS state for tracking domains
- ETag Stripping: Removes tracking ETags from known trackers
- Pas de Flash/Silverlight : Les plugins obsolètes sont complètement bloqués
Implications pour la vie privée
Les evercookies démontrent un problème fondamental de la confidentialité web : le navigateur a trop d'endroits pour stocker des données. Chaque nouvelle API (IndexedDB, Service Workers, Cache API) crée une nouvelle cachette potentielle pour les traqueurs.
Bien que les evercookies étaient à l'origine une preuve de concept, des variantes sont utilisées dans la pratique par :
- Les réseaux publicitaires pour le suivi inter-sites
- Les systèmes de détection de fraude
- L'application des paywalls
- Les outils de surveillance gouvernementale
La meilleure défense est d'utiliser un navigateur axé sur la confidentialité comme Brave qui implémente le partitionnement du stockage et bloque activement les techniques de suivi connues.