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)
Ei muokkausyhteenvetoa
Rivi 3:
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" />
 
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>
 
Useilla arkkitehtuureilla (mukaan lukien x86) pino kasvaa muistissa "alaspäin". Kun ohjelma kutsuu funktiota, se työntää pinolle paluuosoitteen josta suoritus jatkuu funktiosta palattaessa. Jos pinolla sijaitsevaan (toisin sanottuna lokaaliin) muuttujaan voi sijoittaa mielivaltaisen määrän dataa, paluuosoitteen voi ylikirjoittaa. Perinteisesti puskurin ylivuotohaavoittuvuutta vastaan hyökätessä paluuosoitteeksi valittaisiin sellainen joka ohjaisi ohjelman virran hyökkääjän syöttämään dataan. Oikein käytettynä NX-bitti kuitenkin estää tämän.