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.

Outils de confidentialité associés