Pređi na sadržaj

Execute Disable (NX)

Referenca arhitektureFeex

Execute Disable, koji se u x86 terminologiji naziva i NX ili XD, omogućava tabelama stranica da označe memoriju kao neizvršnu. To je hardverski gradivni blok koji koriste smernice operativnog sistema za zaštitu izvršavanja.

Šta treba da znate

Execute Disable, koji se u x86 terminologiji naziva i NX ili XD, omogućava tabelama stranica da označe memoriju kao neizvršnu. To je hardverski gradivni blok koji koriste smernice operativnog sistema za zaštitu izvršavanja.

Kako funkcioniše

Kada je omogućen u odgovarajućem okruženju sa straničenjem, preuzimanje instrukcije sa stranice označene kao neizvršna izaziva grešku (fault) umesto izvršavanja njenih bajtova. Dozvole stranice razlikuju izvršavanje od pristupa podacima; softver je odgovoran za dodelu odgovarajućih dozvola i upravljanje prelazima za legitimno generisani kod.

Gde je korisno

Operativni sistem može mapirati bafer podataka bez dozvole za izvršavanje, tako da upisivanje bajtova mašinskog koda u taj bafer ne čini ga izvršnom stranicom koda. JIT izvršna okruženja koriste dokumentovane API-je za upravljanje memorijom i smernice za dozvole za generisani kod.

Kako proveriti podršku i omogućavanje

CPUID.80000001H:EDX bit 20 nabraja x86 mogućnost zabrane izvršavanja pod relevantnom definicijom proizvođača. Stvarno sprovođenje takođe zavisi od režima straničenja i omogućavanja u operativnom sistemu. Pregledajte dokumentovani status zaštite operativnog sistema umesto da ga izvodite iz modela CPU-a.

Sposobnost, omogućavanje i primena moraju se proveravati odvojeno. Procesor može podržavati zaštitu dok je operativni sistem, aplikacija ili politika virtuelne mašine ne aktiviraju. Polje podrške u bazi podataka nije atestiranje pokrenutog sistema.

Šta ova funkcija ne utvrđuje

NX ne utvrđuje da je izvršna datoteka bezbedna, ne blokira svaki napad ponovnim korišćenjem koda niti dokazuje podobnost za Windows. Podaci ostaju čitljivi ili upisivi u skladu sa zasebnim dozvolama. Zastavica funkcije ne znači da svako mapiranje memorije prati strogu politiku upisa/izvršavanja.

Kompatibilnost i performanse u praksi

Održavajte operativni sistem, firmver i zahvaćeno izvršno okruženje ažurnim. Ako zaštita izloži problem kompatibilnosti, najpre upotrebite dijagnostiku i podržana ažuriranja dobavljača. Široko prebacivanje zaštite može uticati na nepovezane aplikacije i treba da prati eksplicitnu politiku primene i oporavka.

Praktična kontrolna lista za verifikaciju

  1. Zabeležite tačan model procesora ili platforme, kao i verzije aplikacije, operativnog sistema i izvršnog okruženja koji se koriste. Sačuvajte formulaciju stvarne greške ili zahteva.
  2. Proverite referencu proizvođača za taj tačan model, a zatim pregledajte efektivnu sposobnost i omogućeno stanje u okruženju u kojem se program izvršava.
  3. Uporedite svaki zahtev izabrane binarne datoteke ili pozadinskog podsistema. Slično nazvana funkcija, alias ili široka oznaka tehnologije nisu dovoljni.
  4. Potvrdite da je aplikacija izabrala predviđenu implementaciju. Koristite njenu dokumentovanu dijagnostiku i podržanu rezervnu varijantu kada zahtevi nisu ispunjeni.
  5. Primenite jednu po jednu podržanu promenu i ponovite isto radno opterećenje. Zadržite originalnu konfiguraciju i putanju za oporavak na raspolaganju.

Ako je funkcija navedena, ali softver ne može da je koristi

Počnite od tačne komponente koja otkazuje. Baza podataka hardvera opisuje zabeležene mogućnosti; operativni sistem ili hipervizor mogu izložiti drugačije efektivno okruženje. Greška nelegalne instrukcije takođe zahteva ispitivanje stvarne instrukcije koja izaziva grešku i binarne verzije, jer oštećenje ili nepovezana nepodržana instrukcija mogu proizvesti sličan simptom.

Instalirajte verziju aplikacije, drajvera ili izvršnog okruženja podržanu za tačnu platformu i po potrebi koristite dokumentovanu osnovnu ili rezervnu verziju proizvođača. Softversko ažuriranje ne može stvoriti instrukciju koja procesoru nedostaje. Promene firmvera i bezbednosnih smernica treba da prate proceduru proizvođača sistema i plan oporavka, a ne generički recept za optimizaciju.

Izvori i obuhvat ovog objašnjenja

Intel 64 and IA-32 Architectures Software Developer's Manual

Ove reference utvrđuju arhitektonsko ponašanje i softverske zahteve. One ne verifikuju nezavisno svaku vrednost funkcije na povezanoj stranici modela hardvera. Za podršku modela koristite dokaze proizvođača sa te stranice i proverite efektivnu konfiguraciju sistema. Ovaj članak ne pruža referentni rezultat, sertifikaciju niti datum nezavisnog pregleda.

Izvori i verifikacija

Urednička pripadnost: Feex. Nije zabeležen datum nezavisne recenzije. Kako istražujemo.

Da li je ovaj članak bio koristan?

Dovoljno je da odgovorite sa da ili ne. Izaberite razlog ako želite ili dodajte kratku belešku.

Da li je ovaj članak bio koristan?