Aller au contenu

Glossaire

Bit NX (DEP)

Permission au niveau de la page qui marque la mémoire comme non exécutable, empêchant l'exécution comme code des données écrites sur la pile ou le tas. Appelée DEP sous Windows.

Le bit NX (No-eXecute), appelé XD par Intel, XN sur Arm et Data Execution Prevention (DEP) sous Windows, est une permission de table de pages qui interdit au processeur de récupérer des instructions depuis une page. Les systèmes d'exploitation mappent la pile, le tas et les segments de données sans permission d'exécution : ainsi, les octets qu'un attaquant parvient à y écrire ne peuvent pas être exécutés, et toute tentative déclenche une faute.

Sous Linux, l'en-tête de programme ELF GNU_STACK devrait indiquer RW, et non RWE, et -Wl,-z,noexecstack l'impose à l'édition de liens. NX bloque l'injection de code mais pas la réutilisation de code existant, d'où l'existence de l'intégrité du flot de contrôle.