NX bit
lastmod 2016-05-04created 2016-05-041 edits
The NX bit (no-execute bit) is a CPU technology that separates areas of memory for storing processor instructions (code) from those for storing data. This feature is commonly used in Harvard architecture processors. However, the NX bit is widely used for security purposes in ordinary von Neumann architecture processors.
Any memory region marked with the NX attribute is used only for storing data; processor instructions do not reside there, so it cannot be executed. The general technique called executable space protection is used to keep certain kinds of malware from getting into a computer. Malware plants its own code in another program's data storage area and then makes its code run from within that region; this is called a buffer overflow attack.
Intel decided to market it as the XD bit, short for eXecute Disable. However, Intel's XD bit and AMD's NX bit perform the same function and differ only in name.