Aller au contenu

Data Execution Prevention

Un article de Wikipédia, l'encyclopédie libre.
Ceci est la version actuelle de cette page, en date du 22 septembre 2017 à 09:22 et modifiée en dernier par Nodulation (discuter | contributions). L'URL présente est un lien permanent vers cette version.
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

La prévention de l'exécution des données (data execution prevention, DEP) est un dispositif de sécurité intégré à de nombreux systèmes d'exploitation modernes tels Linux, Mac OS X, iOS, Microsoft Windows et Android. Il est destiné à empêcher l'exécution de code depuis des blocs de mémoire censés contenir des données afin d'affaiblir les probabilités de réussite d'une attaque de type dépassement de tampon.

DEP fut introduit dans Linux en 2004 (kernel 2.6.8[1]), sur Microsoft Windows en 2004 avec le Service Pack 2 de Windows XP[2] ainsi que sur Mac OS X lors de la transition vers X86 en 2006[3]

Modes d'application

[modifier | modifier le code]

L'activation de la fonctionnalité DEP consiste à passer le bit NX à 1 dans le processeur. Il préviendra toute exécution de code dans la plage mémoire allouée aux données et remontera une exception si cela arrive.

Sous Linux, on trouve des émulations d'activation du bit NX : par exemple dans la solution PaX.

Le DEP logiciel consiste, sous Microsoft Windows, à vérifier, lorsqu'une exception est remontée, si elle est enregistrée dans une table prévue à cet effet. Cela implique que le programme soit spécifiquement conçu pour exploiter cette fonctionnalité. Dans ce cas, il n'y a aucun lien avec le bit NX.

Références

[modifier | modifier le code]
  1. « Nouveautés du kernel 2.6.8 » (consulté le )
  2. « Description détaillée (en anglais) de la fonctionnalité DEP dans Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005 et Windows Server 2003 », Microsoft, (consulté le )
  3. (de) Tobias Engler, « Schwere der Lücken ist besorgniserregend », Mac & i, Heinz Heise, (consulté le )