Execute Disable (NX)
Execute Disable, v terminológii x86 nazývané aj NX alebo XD, umožňuje tabuľkám stránok označiť pamäť ako nespustiteľnú. Ide o hardvérový stavebný prvok používaný zásadami ochrany spúšťania v operačnom systéme.
Čo potrebujete vedieť
Execute Disable, v terminológii x86 nazývané aj NX alebo XD, umožňuje tabuľkám stránok označiť pamäť ako nespustiteľnú. Ide o hardvérový stavebný prvok používaný zásadami ochrany spúšťania v operačnom systéme.
Ako to funguje
Ak je táto funkcia povolená v príslušnom prostredí stránkovania, načítanie inštrukcie zo stránky označenej ako nespustiteľná vyvolá výpadok namiesto vykonania jej bajtov. Oprávnenia stránok rozlišujú vykonávanie od prístupu k dátam; softvér zodpovedá za priradenie vhodných oprávnení a zvládnutie prechodov pre legitímny generovaný kód.
Kde je to užitočné
Operačný systém môže namapovať dátový vyrovnávací pamäťový priestor bez oprávnenia na spúšťanie, takže zápis bajtov strojového kódu do tejto vyrovnávacej pamäte z nej nespraví spustiteľnú stránku kódu. Behové prostredia JIT používajú dokumentované rozhrania API na správu pamäte a zásady oprávnení pre generovaný kód.
Ako overiť podporu a povolenie
Bit 20 v CPUID.80000001H:EDX enumeruje funkciu x86 execute-disable podľa definície príslušného dodávateľa. Skutočné presadzovanie závisí aj od režimu stránkovania a povolenia v OS. Skontrolujte dokumentovaný stav ochrany v OS namiesto jeho vyvodzovania z modelu CPU.
Schopnosť, povolenie a vynucovanie sa musia kontrolovať samostatne. Procesor môže ochranu podporovať, zatiaľ čo operačný systém, aplikácia alebo politika virtuálneho počítača ju neaktivujú. Pole podpory v databáze nie je atestáciou bežiaceho systému.
Čo táto funkcia nezakladá
NX nedokazuje, že spustiteľný súbor je bezpečný, neblokuje každý útok zameraný na znovupoužitie kódu ani nepotvrdzuje spôsobilosť pre systém Windows. Dáta zostávajú čitateľné alebo zapisovateľné podľa samostatných oprávnení. Príznak funkcie neznamená, že každé mapovanie pamäte sa riadi striktnými zásadami zápisu/spúšťania.
Kompatibilita a výkon v praxi
Udržiavajte operačný systém, firmvér a dotknuté runtime prostredie aktuálne. Ak ochrana odhalí problém s kompatibilitou, použite najprv diagnostiku od dodávateľa a podporované aktualizácie. Plošné prepnutie ochrany môže ovplyvniť nesúvisiace aplikácie a malo by sa riadiť explicitnou politikou nasadenia a obnovy.
Praktický kontrolný zoznam na overenie
- Zaznamenajte presný model procesora alebo platformy a príslušné verzie aplikácie, operačného systému a runtime prostredia. Zachovajte presné znenie skutočnej chyby alebo požiadavky.
- Skontrolujte referenčnú dokumentáciu výrobcu pre daný presný model a potom preverte efektívnu schopnosť a povolený stav v prostredí, kde program beží.
- Porovnajte každú požiadavku vybraného binárneho súboru alebo backendu. Podobne pomenovaná funkcia, alias alebo široké technologické označenie nepostačujú.
- Uistite sa, že aplikácia vybrala zamýšľanú implementáciu. Ak požiadavky nie sú splnené, použite jej dokumentovanú diagnostiku a podporované náhradné riešenie.
- Vykonávajte vždy len jednu podporovanú zmenu a zopakujte rovnaké pracovné zaťaženie. Ponechajte si k dispozícii pôvodnú konfiguráciu a postup obnovy.
Ak je funkcia uvedená, ale softvér ju nemôže použiť
Začnite presne pri zlyhávajúcom komponente. Hardvérová databáza popisuje zaznamenanú schopnosť; operačný systém alebo hypervízor však môže sprístupniť iné efektívne prostredie. Chyba neplatnej inštrukcie si vyžaduje aj preskúmanie skutočnej chybujúcej inštrukcie a zostavenia binárneho súboru, pretože poškodenie alebo nesúvisiaca nepodporovaná inštrukcia môže vyvolať podobný príznak.
Nainštalujte verziu aplikácie, ovládača alebo runtime prostredia podporovanú pre presnú platformu a v prípade potreby použite dodávateľom dokumentované základné alebo záložné zostavenie. Aktualizácia softvéru nedokáže vytvoriť inštrukciu, ktorú procesor nemá. Zmeny firmvéru a bezpečnostných politík by sa mali riadiť postupom výrobcu systému a plánom obnovy, nie generickým návodom na optimalizáciu.
Zdroje a rozsah tohto vysvetlenia
Intel 64 and IA-32 Architectures Software Developer's Manual
Tieto referencie definujú architektonické správanie a softvérové požiadavky. Neoverujú nezávisle každú hodnotu funkcie na prepojenej stránke hardvérového modelu. Podporu modelu nájdete v podkladoch od výrobcu na danej stránke a skontrolujte efektívnu konfiguráciu systému. Tento článok neposkytuje dátum benchmarku, certifikácie ani nezávislej recenzie.
Zdroje a overenie
Redakčné vlastníctvo: Feex. Nie je zaznamenaný žiadny dátum nezávislej kontroly. Ako robíme výskum.
- Intel 64 and IA-32 Architectures Software Developer's Manual · Zväzky 1 a 2 popisujú uvedené rodiny inštrukcií a CPUID; Zväzok 3 popisuje stav, stránkovanie, VMX a ovládacie prvky ochrany. Dokumentácia k architektúre nezaručuje podporu pre konkrétny model.
Bol tento článok užitočný?
Stačí áno alebo nie. Ak chcete, vyberte dôvod, alebo pridajte krátku poznámku.
Ďakujeme. Pomáha nám to zlepšovať túto stránku.