DEP
Qu'est-ce que DEP ?
DEPLa prevention d'execution des donnees (DEP / NX / W^X) marque les pages memoire comme non executables pour empecher un attaquant d'executer du shellcode injecte dans la pile ou le tas.
DEP, aussi appelee NX (No-eXecute) ou W^X (write XOR execute), garantit qu'une page memoire est soit inscriptible soit executable, mais jamais les deux. Le bit NX du processeur bloque toute execution depuis des pages de donnees telles que la pile ou le tas, neutralisant les injections classiques de shellcode. AMD a introduit ce bit materiel en 2003, Intel a suivi; Windows XP SP2 a ajoute le DEP logiciel et Linux l'a recu via PaX/grsecurity avant l'inclusion dans le noyau. Comme DEP supprime l'execution directe depuis les donnees, les attaquants se sont tournes vers le return-to-libc et le ROP, d'ou la necessite de combiner DEP avec ASLR, CFI et shadow stack.
● Exemples
- 01
La pile marquee NX fait planter le programme au lieu d'executer le shellcode.
- 02
Sur Linux durci, mmap refuse PROT_WRITE | PROT_EXEC.
● Questions fréquentes
Qu'est-ce que DEP ?
La prevention d'execution des donnees (DEP / NX / W^X) marque les pages memoire comme non executables pour empecher un attaquant d'executer du shellcode injecte dans la pile ou le tas. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.
Que signifie DEP ?
La prevention d'execution des donnees (DEP / NX / W^X) marque les pages memoire comme non executables pour empecher un attaquant d'executer du shellcode injecte dans la pile ou le tas.
Comment fonctionne DEP ?
DEP, aussi appelee NX (No-eXecute) ou W^X (write XOR execute), garantit qu'une page memoire est soit inscriptible soit executable, mais jamais les deux. Le bit NX du processeur bloque toute execution depuis des pages de donnees telles que la pile ou le tas, neutralisant les injections classiques de shellcode. AMD a introduit ce bit materiel en 2003, Intel a suivi; Windows XP SP2 a ajoute le DEP logiciel et Linux l'a recu via PaX/grsecurity avant l'inclusion dans le noyau. Comme DEP supprime l'execution directe depuis les donnees, les attaquants se sont tournes vers le return-to-libc et le ROP, d'ou la necessite de combiner DEP avec ASLR, CFI et shadow stack.
Comment se défendre contre DEP ?
Les défenses contre DEP combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de DEP ?
Noms alternatifs courants : NX, Bit non executable, W^X.
● Termes liés
- appsec№ 064
ASLR
La randomisation de l'espace d'adressage place aleatoirement le code, les piles, les tas et les bibliotheques en memoire afin qu'un attaquant ne puisse pas predire les adresses cibles.
- appsec№ 925
Return-Oriented Programming
Le ROP est une technique d'exploitation par reutilisation de code qui enchaine de courtes sequences terminees par RET pour executer un calcul arbitraire sans injecter de code.
- appsec№ 1095
Canari de pile
Un canari de pile est une valeur secrete placee entre les tampons locaux d'une fonction et son adresse de retour sauvegardee pour detecter les depassements avant qu'ils ne detournent le flot de controle.
- appsec№ 217
Integrite du flot de controle
L'integrite du flot de controle (CFI) restreint les appels indirects et les retours du programme a un ensemble precalcule de cibles legitimes, bloquant ROP et JOP.
- appsec№ 670
Securite memoire
La securite memoire est la propriete qu'un programme ne lise, n'ecrive ni n'execute jamais une memoire qu'il n'a pas legitimement allouee, ce qui supprime des classes entieres de vulnerabilites.
- appsec№ 545
Intel CET
Intel CET (Control-flow Enforcement Technology) est une fonctionnalite du processeur qui combine une shadow stack materielle et l'Indirect Branch Tracking (IBT) pour bloquer ROP, JOP et COP.
● Voir aussi
- № 1058SMEP / SMAP