Skip to main content
Tous les termes Glossary

Vulnérabilités liées à la corruption de la mémoire

Definition

Les vulnérabilités liées à la corruption de la mémoire dans les navigateurs peuvent permettre à des pirates d'exécuter du code arbitraire ou de bloquer le navigateur en manipulant le contenu de la mémoire. Ces vulnérabilités de bas niveau affectent souvent les moteurs et les plug-ins des navigateurs. Les navigateurs modernes mettent en œuvre diverses protections, notamment l'isolation des processus et le sandboxing, afin d'atténuer ces risques.

Ce qu'est la corruption de mémoire

Les vulnérabilités de corruption de mémoire surviennent lorsqu'un programme lit ou écrit en dehors des limites de la mémoire qu'il possède légitimement. Dans les navigateurs, le moteur est écrit en grande partie en C et C++, des langages qui n'imposent pas la sûreté mémoire, si bien que des bogues tels que les débordements de tampon, les use-after-free (utilisation de la mémoire après sa libération), la confusion de type et les débordements d'entiers sont possibles. Un attaquant qui contrôle les données environnantes peut transformer un tel bogue en une réécriture maîtrisée de pointeurs ou de métadonnées d'objet, et de là en une exécution de code arbitraire ou un plantage. Ces failles résident généralement dans le moteur JavaScript, le code de mise en page et de rendu, les analyseurs d'images et de polices, ou les plugins.

Pourquoi la corruption de mémoire compte

La corruption de mémoire figure parmi les classes de vulnérabilités de navigateur les plus graves, car un exploit réussi peut exécuter du code natif avec les privilèges du navigateur, au-delà des limites prévues du bac à sable JavaScript. Enchaînée à une évasion du bac à sable, elle peut mener à la compromission complète de l'appareil à partir de rien de plus que la simple visite d'une page, le mécanisme derrière de nombreux téléchargements furtifs (drive-by downloads) et attaques zero-day ciblées. Ces bogues sont précieux, activement échangés et difficiles à éliminer parce qu'ils découlent du langage sous-jacent plutôt que d'une seule erreur de codage. Les polices, les images et les médias, données provenant de sites non fiables, sont des déclencheurs courants, si bien qu'une navigation ordinaire suffit à atteindre le code vulnérable.

Se défendre contre la corruption de mémoire

Parce que ces bogues résident à l'intérieur du moteur du navigateur, la défense principale consiste à maintenir les navigateurs et leurs composants à jour, puisque les éditeurs déploient rapidement des correctifs dès qu'une faille est connue. Les navigateurs modernes ajoutent des mesures d'atténuation en couches : l'isolation de processus et l'isolation de site contiennent un moteur de rendu compromis, le bac à sable limite ce que le code exploité peut atteindre, et des durcissements comme l'ASLR, les canaris de pile et l'intégrité du flux de contrôle augmentent le coût de l'exploitation. Les moteurs adoptent de plus en plus des langages à sûreté mémoire comme Rust pour les analyseurs à haut risque. En tant qu'exploitant web, cette classe échappe largement à votre contrôle ; les mesures concrètes sont les mises à jour rapides, la limitation des plugins et une défense en profondeur pour vos utilisateurs.

Définition

Les propriétaires de sites web peuvent-ils corriger les bogues de corruption de mémoire ?

Non. Ces failles résident dans le moteur du navigateur lui-même, si bien que seul l'éditeur du navigateur peut les corriger. Les propriétaires de sites ne peuvent pas remédier au bogue, mais eux et leurs utilisateurs réduisent leur exposition en maintenant leurs navigateurs à jour, en limitant les plugins et en s'appuyant sur le bac à sable et l'isolation de site du navigateur.

Définition

Comment les attaquants trouvent-ils les vulnérabilités de corruption de mémoire ?

En grande partie par le fuzzing, qui consiste à fournir au navigateur des entrées malformées à grande échelle pour provoquer des plantages, complété par une revue manuelle des analyseurs complexes. Un plantage qui corrompt la mémoire d'une manière influencée par l'attaquant est ensuite étudié et développé en un exploit fiable, parfois enchaîné à une évasion du bac à sable pour sortir du navigateur.

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