Skip to main content
Tous les termes Glossary

Empoisonnement du cache

Definition

L'empoisonnement du cache se produit lorsque des données malveillantes sont injectées dans le cache d'un navigateur, ce qui l'amène à servir du contenu compromis même après l'attaque initiale. Cela peut affecter à la fois le cache du navigateur et celui du DNS, redirigeant potentiellement les utilisateurs vers des sites malveillants ou servant des ressources JavaScript modifiées. Du point de vue de la sécurité côté client, la mise en œuvre de contrôles de cache appropriés, l'utilisation du protocole HTTPS et la validation des ressources mises en cache contribuent à prévenir les attaques par empoisonnement. Les en-têtes de sécurité modernes tels que Cache-Control et une configuration SSL/TLS appropriée constituent des défenses essentielles.

Ce qu'est l'empoisonnement de cache

L'empoisonnement de cache (cache poisoning) consiste à insérer des données malveillantes ou incorrectes dans un cache, de sorte que les requêtes ultérieures se voient servir la version altérée. Plusieurs couches peuvent être touchées. L'empoisonnement de cache web abuse de la manière dont un CDN ou un reverse proxy construit sa clé de cache, en le trompant pour qu'il stocke une réponse influencée par l'attaquant, laquelle est ensuite transmise à d'autres utilisateurs. L'empoisonnement de cache DNS corrompt les enregistrements d'un résolveur pour qu'un nom d'hôte pointe vers le serveur d'un attaquant. Le cache propre à un navigateur peut lui aussi conserver une ressource manipulée. Dans chaque cas, l'entrée empoisonnée persiste après la requête d'origine, laissant une seule interaction affecter de nombreux visiteurs ultérieurs jusqu'à l'expiration ou la purge du cache.

Pourquoi l'empoisonnement de cache est important

Un cache empoisonné transforme une unique réponse injectée en une attaque durable et de grande portée. Si l'entrée manipulée est un fichier JavaScript, chaque visiteur servi depuis ce cache exécute le code de l'attaquant, qui peut voler des données, rediriger les utilisateurs ou défigurer la page, tout cela pendant que les propres journaux du serveur d'origine paraissent normaux. L'empoisonnement DNS peut silencieusement réacheminer le trafic vers un site sosie à des fins de phishing ou de vol d'identifiants. Comme le contenu malveillant est livré depuis une infrastructure à laquelle les utilisateurs et les navigateurs font déjà confiance, il contourne de nombreuses défenses et peut être difficile à repérer. L'étendue des dégâts dépend de l'ampleur du partage du cache et de la durée de vie des entrées.

Se défendre contre l'empoisonnement de cache

Réduisez la surface d'attaque en servant tout en HTTPS avec des certificats valides, ce qui bloque l'altération en transit qui amorce de nombreuses attaques d'empoisonnement, et associez-y HSTS. Configurez les caches pour qu'ils s'appuient sur chaque élément de la requête qui influence la réponse, évitez les décisions de mise en cache fondées sur des en-têtes non pris en compte dans la clé, et définissez des valeurs Cache-Control et TTL délibérées. Utilisez des résolveurs compatibles DNSSEC pour résister à l'empoisonnement DNS, ainsi que Subresource Integrity afin qu'un navigateur rejette un script dont le hachage ne correspond plus. Lorsqu'un cache empoisonné sert un script tiers altéré, l'analyse de charge utile de cside au niveau de son méthode Script peut détecter que le comportement du code a changé et le bloquer, indépendamment de l'endroit où le fichier a été mis en cache.

Définition

L'empoisonnement de cache est-il la même chose que la tromperie de cache web ?

Non, bien qu'ils soient liés. L'empoisonnement de cache stocke une réponse nuisible pour que d'autres la reçoivent. La tromperie de cache web (web cache deception) trompe au contraire un cache pour qu'il stocke la page privée et personnalisée d'une victime sous une URL qu'un attaquant peut ensuite demander, exposant les données de cet utilisateur. L'une transforme un contenu partagé en arme ; l'autre fait fuiter un contenu confidentiel.

Définition

En quoi HTTPS aide-t-il contre l'empoisonnement de cache ?

HTTPS chiffre et authentifie le trafic entre le navigateur et le serveur, si bien qu'un attaquant en transit ne peut pas altérer silencieusement une réponse et la faire mettre en cache comme légitime. Il ne corrige pas les défauts dans la manière dont un CDN construit ses clés de cache, ni ceux du DNS ; il est donc nécessaire mais pas suffisant, et une configuration de cache correcte ainsi que DNSSEC restent importants.

Got more questions

Talk to a security expert

We answer client-side security questions every day. Bring yours.

Réserver une démonstration

Envie de passer tout ça en revue avec un ingénieur ?

Trente minutes, sur votre propre site. Pas de slides.

Nous vous montrerons :

Quels scripts tiers s'exécutent actuellement sur votre site
Où vous en êtes sur les exigences PCI DSS 6.4.3 et 11.6.1
Quelle part de votre trafic provient de bots et d'agents IA

Vous préférez simplement poser une question ?

Recherche de créneaux…

Humains uniquement. On le saurait.

Un problème pour réserver ? Ouvrir le calendrier dans un nouvel onglet

Quel problème cherchez-vous à résoudre ?

Dites-le-nous en une ligne et nous reviendrons vers vous avec quelque chose d'utile, pas un discours générique.

Nous aidons souvent sur :

Voir quels scripts tiers s'exécutent sur votre site
Les preuves pour PCI DSS 6.4.3 et 11.6.1
Les bots, les agents IA et le vol de comptes

Vous préférez réserver un créneau ? Choisir un créneau