NX-bitti (no execute) tarkoittaa tietokoneen muistin tilabittiä, joka määrittää saako sivulta suorittaa ohjelmakoodia vai ei. Eri suoritinarkkitehtuurit ovat tukeneet toimintoa pitkään. x86-arkkitehtuuriin se tuli AMD:n lisättyä tuen 64-bittisiin suorittimiinsa (AMD64).
Toimintoa on kutsuttu myös termeillä "Enhanced virus protection", "Execute disable" (XD-bit) ja "Data execution prevention" (DEP).http://web1.toshiba.ca/support/isg/tsb/en/view.asp?docid=TSB001112
ARM-suorittimissa käytetään vastaavalle ominaisuudelle termiä XN (execute never).https://developer.arm.com/documentation/ddi0360/f/memory-management-unit/memory-access-control/execute-never-bits
Ratkaisu rajoittaa ohjelmissa esiintyvien puskurin ylivuotovirhe -tietoturva-aukkojen hyödyntämistä hyökkäyksiin estämällä tietokoneohjelman suorittamisen tietyiltä alueilta. Haittaohjelmat pyrkivät hyödyntämään haavoittuvuuksia ylikirjoittamalla pinon sen omalla koodilla ja sitten suorittamaan sen. NX-bitillä yritys suorittaa ohjelmakoodia suojatusta paikasta havaitaan ja voidaan pysäyttää. NX ei kuitenkaan pysäytä haittaohjelmia, jotka eivät riipu sen mukana tulevasta koodista: haittaohjelma voi edelleen ohjata ohjelman suorituksen toiseen paikkaan joka avaa sen hyökkäykselle. ROP-hyökkäystä (Return Oriented Programming) vastaan on kehitetty ASLR-tekniikka.
Lähteet
Luokka:Tietokonetekniikka Luokka:Suorittimet Luokka:Tietoturva