Ero sivun ”NX-bitti” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Ipr1 (keskustelu | muokkaukset)
p järjestys
Rivi 2:
'''NX-bitti''' (''no execute'') tarkoittaa [[tietokone]]en [[muisti (tietokone)|muisti]]n tilabittiä, joka määrittää saako [[sivutus|sivulta]] suorittaa ohjelmakoodia vai ei.<ref name="lwnnx">{{Verkkoviite | osoite = https://lwn.net/Articles/87814/ | nimeke = x86 NX support | ajankohta = 2.6.2004 | viitattu = 20.9.2020 | kieli = {{en}} }}</ref>
Eri [[suoritin]]arkkitehtuurit ovat tukeneet toimintoa pitkään.<ref name="lwnnx" /> [[x86]]-arkkitehtuuriin se tuli [[AMD]]:n lisättyä tuen 64-[[bitti]]siin suorittimiinsa ([[AMD64]]).<ref name="lwnnx" />
 
Toimintoa on kutsuttu myös termeillä "Enhanced virus protection", "Execute disable" (''XD-bit'') ja "Data execution prevention".<ref>http://web1.toshiba.ca/support/isg/tsb/en/view.asp?docid=TSB001112</ref><ref>{{Verkkoviite | osoite = https://www.zdnet.com/article/amd-intel-put-antivirus-tech-into-chips/ | nimeke = AMD, Intel put antivirus tech into chips | ajankohta = 8.1.2004 | viitattu = 19.9.2020 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = http://h10032.www1.hp.com/ctg/Manual/c00387685.pdf | nimeke = Data Execution Prevention | tiedostomuoto = PDF | viitattu = 19.9.2020 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = https://www.techarp.com/bios-guide/execute-disable-bit/ | nimeke = Execute Disable Bit – The BIOS Optimization Guide | viitattu = 19.9.2020 | kieli = {{en}} }}</ref>
 
[[ARM]]-suorittimissa käytetään vastaavalle ominaisuudelle termiä XN (''execute never'').<ref>https://developer.arm.com/documentation/ddi0360/f/memory-management-unit/memory-access-control/execute-never-bits</ref>
 
Ratkaisu rajoittaa ohjelmissa esiintyvien [[puskurin ylivuotovirhe]] -[[tietoturva-aukko]]jen hyödyntämistä hyökkäyksiin estämällä [[tietokoneohjelma]]n suorittamisen tietyiltä alueilta.<ref name="atbit">{{Verkkoviite | osoite = https://www.anandtech.com/show/1507/2 | nimeke = A bit about the NX bit; Virus Protection Woes | tekijä = Kristopher Kubicki | ajankohta = 11.10.2004 | viitattu = 20.9.2020 | kieli = {{en}} }}</ref> Haittaohjelmat pyrkivät hyödyntämään haavoittuvuuksia ylikirjoittamalla [[pino]]n sen omalla koodilla ja sitten suorittamaan sen.<ref name="atbit" /> NX-bitillä yritys suorittaa ohjelmakoodia suojatusta paikasta havaitaan ja voidaan pysäyttää.<ref name="atbit" /> 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.<ref name="atbit" /> ROP-hyökkäystä vastaan on kehitetty [[ASLR]]-tekniikka.<ref>{{Verkkoviite | osoite = http://hmarco.org/data/OnTheEffectivness-NX-SSP-RenewSSP-and-ASLR.pdf | nimeke = On the effectiveness of NX, SSP, RenewSSP and ASLR against stack buffer overflows | tiedostomuoto = PDF | viitattu = 20.9.2020 | kieli = {{en}} }}</ref>
Rivi 8 ⟶ 12:
 
Yleinen tapa hyödyntää puskuriylivuotoa NX-bitin yhteydessä on return-to-libc -hyökkäys. Return-to-libc -hyökkäyksellä pino muotoillaan niin että ohjelma saadaan kutsumaan jo sisältämiään funktioita mielivaltaisilla parametreilla.
 
Toimintoa on kutsuttu myös termeillä "Enhanced virus protection", "Execute disable" (''XD-bit'') ja "Data execution prevention".<ref>http://web1.toshiba.ca/support/isg/tsb/en/view.asp?docid=TSB001112</ref><ref>{{Verkkoviite | osoite = https://www.zdnet.com/article/amd-intel-put-antivirus-tech-into-chips/ | nimeke = AMD, Intel put antivirus tech into chips | ajankohta = 8.1.2004 | viitattu = 19.9.2020 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = http://h10032.www1.hp.com/ctg/Manual/c00387685.pdf | nimeke = Data Execution Prevention | tiedostomuoto = PDF | viitattu = 19.9.2020 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = https://www.techarp.com/bios-guide/execute-disable-bit/ | nimeke = Execute Disable Bit – The BIOS Optimization Guide | viitattu = 19.9.2020 | kieli = {{en}} }}</ref>
 
[[ARM]]-suorittimissa käytetään vastaavalle ominaisuudelle termiä XN (''execute never'').<ref>https://developer.arm.com/documentation/ddi0360/f/memory-management-unit/memory-access-control/execute-never-bits</ref>
 
== Lähteet ==