Les CPU modernes intègrent des mécanismes de protection de la mémoire, interdisant aux programmes d'accéder à des zones réservées telles que la pile ou le tas. On retrouve ce mécanisme sous l'appellation NX (Non-eXecute) ou XD (eXecute Disable).
L'activation de ces protections se fait à deux niveaux :
Cette fonctionnalité relevant du CPU, c'est généralement dans la section de configuration du CPU que l'on trouvera ce réglage ; là ou l'on peut régler la fréquences et autres joyeusetés. Le réglage peut porter un autre nom que NX ou XD mais en faisant attention on doit le trouver.
Pour que le système fonctionne correctement, le noyau doit avoir employer un mode d'adressage adapté.
Typiquement, sur un système Ubuntu Linux, on utilisera un noyau PAE, ces trois lettres venant s'ajouter au nom du noyau que l'on utiliserait si l'on ne se préoccupait pas de la protection NX/XD.
Après avoir redémarré le système on peut s'informer sur le niveau de prise en charge de cette protection, en ouvrant un terminal et en y copiant/collant la commande suivante :
grep ^flags /proc/cpuinfo | head -n1 | egrep --color=auto ' (pae|nx) '
Si les mots “pae” et “nx” apparaissent dans la liste des indicateurs affichés, c'est que la protection est complètement prise en charge. Ils appraissent dans une couleur spéciale, c'est fait exprès pour qu'on le repère plus facilement
Deux pages de la documentation Ubuntu (en) donnent un peu plus de détails :