Data Execution Prevention

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Data Execution Prevention (DEP) est un dispositif de sécurité intégré à de nombreux système d'exploitations 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]

Matériel[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.

Logiciel[modifier | modifier le code]

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.

Voir aussi[modifier | modifier le code]

Références[modifier | modifier le code]

  1. « Nouveautés du kernel 2.6.8 » (consulté en 2012-02-28)
  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,‎ 2006-09-26 (consulté en 2008-07-11)
  3. (de) Tobias Engler, « Schwere der Lücken ist besorgniserregend », Mac & i, Heinz Heise,‎ 22 février 2011 (consulté le 22 février 2011)