Execute Disable (NX)
Execute Disable, takođe poznat kao NX ili XD u x86 terminologiji, omogućava tabelama stranica da označe memoriju kao neizvršnu. To je hardverski gradivni blok koji koriste politike zaštite izvršavanja operativnog sistema.
Šta treba da znate
Execute Disable, takođe poznat kao NX ili XD u x86 terminologiji, omogućava tabelama stranica da označe memoriju kao neizvršnu. To je hardverski gradivni blok koji koriste politike zaštite izvršavanja operativnog sistema.
Kako funkcioniše
Kada je omogućen u odgovarajućem okruženju sa straničenjem, dohvatanje instrukcije sa stranice označene kao neizvršna izaziva grešku (fault) umjesto izvršavanja njenih bajtova. Dozvole stranica razlikuju izvršavanje od pristupa podacima; softver je odgovoran za dodjeljivanje odgovarajućih dozvola i upravljanje prelazima za legitimno generisani kod.
Đe 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 tu stranicu izvršnom kodnom stranicom. JIT izvršna okruženja koriste dokumentovane API-je za upravljanje memorijom i politike dozvola za generisani kod.
Kako provjeriti podršku i omogućenost
CPUID.80000001H:EDX bit 20 popisuje x86 mogućnost onemogućavanja izvršavanja prema relevantnoj definiciji proizvođača. Stvarna primjena takođe zavisi od režima straničenja i omogućavanja u operativnom sistemu. Provjerite dokumentovani status zaštite operativnog sistema umjesto da ga izvodite iz modela procesora.
Sposobnost, omogućenost i primjena moraju se provjeriti odvojeno. Procesor može podržavati zaštitu dok je OS, aplikacija ili politika virtuelne mašine ne aktiviraju. Polje podrške u bazi podataka nije atestacija sistema koji radi.
Šta ova funkcija ne utvrđuje
NX ne dokazuje da je izvršna datoteka bezbjedna, ne blokira svaki napad ponovnim korišćenjem koda niti dokazuje ispunjenost uslova 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 OS, firmver i pogođeni runtime aktuelnim. Ako zaštita izloži problem sa kompatibilnošću, prvo upotrijebite dijagnostiku proizvođača i podržana ažuriranja. Široki prekidač zaštite može uticati na nepovezane aplikacije i treba da prati eksplicitnu politiku implementacije i oporavka.
Praktična lista za provjeru verifikacije
- Zabilježite tačan model procesora ili platforme, kao i verzije aplikacije, OS-a i runtime-a koji se koriste. Sačuvajte formulaciju stvarne greške ili zahtjeva.
- Provjerite referencu proizvođača za taj tačan model, a zatim pregledajte efektivnu sposobnost i omogućeno stanje u okruženju đe se program izvršava.
- Uporedite svaki zahtjev odabranog binarnog koda ili backend-a. Funkcija sličnog naziva, alias ili široka tehnološka oznaka nijesu dovoljni.
- Potvrdite da je aplikacija odabrala predviđenu implementaciju. Koristite njenu dokumentovanu dijagnostiku i podržanu rezervnu varijantu kada zahtjevi nijesu ispunjeni.
- Napravite po jednu podržanu promjenu u isto vrijeme i ponovite isto radno opterećenje. Držite originalnu konfiguraciju i putanju oporavka dostupnima.
Ako je funkcija navedena, ali je softver ne može koristiti
Počnite sa tačnom komponentom koja otkazuje. Baza podataka hardvera opisuje zabilježenu sposobnost; operativni sistem ili hipervizor mogu izložiti drugačije efektivno okruženje. Greška nelegalne instrukcije takođe zahtijeva istragu stvarne instrukcije koja je izazvala kvar i binarne verzije, jer oštećenje ili nepovezana nepodržana instrukcija mogu proizvesti sličan simptom.
Instalirajte verziju aplikacije, drajvera ili runtime-a podržanu za tačnu platformu i koristite dokumentovanu osnovnu ili rezervnu verziju proizvođača ako je potrebno. Ažuriranje softvera ne može stvoriti instrukciju koja procesoru nedostaje. Promjene firmvera i bezbjednosnih politika treba da prate proceduru proizvođača sistema i plan oporavka, a ne generički recept za optimizaciju.
Izvori i obim ovog objašnjenja
Intel 64 and IA-32 Architectures Software Developer's Manual
Ove reference utvrđuju arhitekturno ponašanje i softverske zahtjeve. One ne verifikuju nezavisno svaku vrijednost funkcije na povezanoj stranici hardverskog modela. Za podršku modela, koristite dokaze proizvođača sa te stranice i provjerite efektivnu konfiguraciju sistema. Ovaj članak ne pruža benčmark, sertifikaciju niti datum nezavisnog pregleda.
Izvori i verifikacija
Uredničko vlasništvo: Feex. Nije zabilježen datum nezavisne recenzije. Kako istražujemo.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Tomovi 1 i 2 opisuju imenovane familije instrukcija i CPUID; Tom 3 opisuje stanje, straničenje, VMX i kontrole zaštite. Dokumentacija o arhitekturi ne utvrđuje podršku za određeni model.
Da li je ovaj članak bio koristan?
Dovoljno je da označite sa da ili ne. Izaberite razlog ako želite, ili dodajte kratku napomenu.
Hvala. To nam pomaže da poboljšamo ovu stranicu.