NX-bitti
NX-bitti (no execute) tarkoittaa tietokoneen muistin tilabittiä, joka määrittää saako sivulta suorittaa ohjelmakoodia vai ei.[1] Eri suoritinarkkitehtuurit ovat tukeneet toimintoa pitkään.[1] x86-arkkitehtuuriin se tuli AMD:n lisättyä tuen 64-bittisiin suorittimiinsa (AMD64).[1]
Toimintoa on kutsuttu myös termeillä "Enhanced virus protection", "Execute disable" (XD-bit) ja "Data execution prevention" (DEP).[2][3][4][5]
ARM-suorittimissa käytetään vastaavalle ominaisuudelle termiä XN (execute never).[6]
Ratkaisu rajoittaa ohjelmissa esiintyvien puskurin ylivuotovirhe -tietoturva-aukkojen hyödyntämistä hyökkäyksiin estämällä tietokoneohjelman suorittamisen tietyiltä alueilta.[7] Haittaohjelmat pyrkivät hyödyntämään haavoittuvuuksia ylikirjoittamalla pinon sen omalla koodilla ja sitten suorittamaan sen.[7] NX-bitillä yritys suorittaa ohjelmakoodia suojatusta paikasta havaitaan ja voidaan pysäyttää.[7] 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.[7] ROP-hyökkäystä (Return Oriented Programming) vastaan on kehitetty ASLR-tekniikka.[8]
Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ a b c x86 NX support lwn.net. 2.6.2004. Viitattu 20.9.2020. (englanniksi)
- ↑ http://web1.toshiba.ca/support/isg/tsb/en/view.asp?docid=TSB001112 (Arkistoitu – Internet Archive)
- ↑ AMD, Intel put antivirus tech into chips zdnet.com. 8.1.2004. Viitattu 19.9.2020. (englanniksi)
- ↑ Data Execution Prevention (PDF) h10032.www1.hp.com. Viitattu 19.9.2020. (englanniksi)
- ↑ Execute Disable Bit – The BIOS Optimization Guide techarp.com. Viitattu 19.9.2020. (englanniksi)
- ↑ https://developer.arm.com/documentation/ddi0360/f/memory-management-unit/memory-access-control/execute-never-bits
- ↑ a b c d Kristopher Kubicki: A bit about the NX bit; Virus Protection Woes anandtech.com. 11.10.2004. Arkistoitu 24.1.2021. Viitattu 20.9.2020. (englanniksi)
- ↑ On the effectiveness of NX, SSP, RenewSSP and ASLR against stack buffer overflows (PDF) hmarco.org. Viitattu 20.9.2020. (englanniksi)