Kalo te përmbajtja

Execute Disable (NX)

Referenca e arkitekturësFeex

Execute Disable, i quajtur gjithashtu NX ose XD në terminologjinë x86, lejon që tabelat e faqeve të shënojnë memorien si jo të ekzekutueshme. Ai është një bllok ndërtues harduerik i përdorur nga politikat e mbrojtjes së ekzekutimit të sistemit operativ.

Çfarë duhet të dini

Execute Disable, i quajtur gjithashtu NX ose XD në terminologjinë x86, lejon që tabelat e faqeve të shënojnë memorien si jo të ekzekutueshme. Ai është një bllok ndërtues harduerik i përdorur nga politikat e mbrojtjes së ekzekutimit të sistemit operativ.

Si funksionon

Kur aktivizohet në mjedisin përkatës të faqosjes, një marrje instruksioni nga një faqe e shënuar si jo e ekzekutueshme shkakton gabim (fault) në vend që të ekzekutojë bajtet e saj. Lejet e faqeve dallojnë ekzekutimin nga qasja në të dhëna; softueri është përgjegjës për caktimin e lejeve të përshtatshme dhe trajtimin e kalimeve për kodin e gjeneruar legjitim.

Ku është e dobishme

Një OS mund të hartëzojë një buffer të dhënash pa leje ekzekutimi, kështu që shkrimi i bajteve të kodit të makinës në atë buffer nuk e kthen atë në një faqe kodi të ekzekutueshëm. Mjediset ekzekutuese JIT përdorin API të dokumentuara të menaxhimit të memories dhe politika lejesh për kodin e gjeneruar.

Si të kontrollohet mbështetja dhe aktivizimi

Biti 20 i CPUID.80000001H:EDX numëron aftësinë x86 execute-disable sipas përkufizimit përkatës të prodhuesit. Zbatimi aktual varet gjithashtu nga regjimi i faqosjes dhe aktivizimi nga OS-i. Shqyrtoni gjendjen e dokumentuar të mbrojtjes të OS-it në vend që ta nxirrni si përfundim nga një model CPU-je.

Aftësia, aktivizimi dhe zbatimi duhet të kontrollohen veçmas. Një procesor mund të mbështesë një mbrojtje ndërsa OS-i, aplikacioni ose politika e makinës virtuale nuk e aktivizojnë atë. Një fushë mbështetjeje në bazën e të dhënave nuk është një atestim i një sistemi që ekzekutohet.

Çfarë nuk përcakton kjo veçori

NX nuk vërteton që një skedar i ekzekutueshëm është i sigurt, nuk bllokon çdo sulm të ripërdorimit të kodit dhe as nuk provon përshtatshmërinë për Windows. Të dhënat mbeten të lexueshme ose të shkrueshme sipas lejeve të veçanta. Një flamur veçorie nuk nënkupton që çdo hartëzim memorieje ndjek një politikë strikte shkrimi/ekzekutimi.

Përputhshmëria dhe performanca në praktikë

Mbani të përditësuar sistemin operativ, firmware-in dhe mjedisin e prekur të ekzekutimit. Nëse një mbrojtje nxjerr në pah një problem përputhshmërie, përdorni fillimisht diagnostikimet e prodhuesit dhe përditësimet e mbështetura. Një ndryshim i gjerë i mbrojtjes mund të prekë aplikacione të palidhura dhe duhet të ndjekë një politikë eksplicite vendosjeje dhe rikuperimi.

Një listë praktike kontrolli për verifikim

  1. Regjistroni modelin e saktë të procesorit ose platformës dhe versionet e përfshira të aplikacionit, sistemit operativ dhe mjedisit të ekzekutimit. Ruani formulimin e gabimit ose kërkesës aktuale.
  2. Kontrolloni referencën e prodhuesit për atë model të saktë, më pas inspektoni aftësinë efektive dhe gjendjen e aktivizuar në mjedisin ku ekzekutohet programi.
  3. Krahasoni çdo kërkesë të binarit ose prapavijës së zgjedhur. Një veçori me emër të ngjashëm, një pseudonim ose një etiketë e gjerë teknologjike nuk mjafton.
  4. Konfirmoni që aplikacioni ka zgjedhur implementimin e synuar. Përdorni diagnostikimet e dokumentuara të tij dhe një alternativë të mbështetur kur kërkesat nuk plotësohen.
  5. Bëni një ndryshim të mbështetur në një moment dhe përsëritni të njëjtën ngarkesë pune. Mbajeni të disponueshme konfigurimin origjinal dhe rrugën e rikuperimit.

Nëse veçoria listohet por softueri nuk mund ta përdorë atë

Filloni me komponentin e saktë që dështon. Një bazë të dhënash harduerike përshkruan aftësinë e regjistruar; sistemi operativ ose hipervizori mund të ekspozojë një mjedis efektiv të ndryshëm. Një gabim instruksioni të paligjshëm kërkon gjithashtu hetim të instruksionit aktual me defekt dhe të ndërtimit të binarit, sepse dëmtimi ose një instruksion i palidhur i pambështetur mund të prodhojë një simptomë të ngjashme.

Instaloni versionin e aplikacionit, drajverit ose mjedisit të ekzekutimit të mbështetur për platformën e saktë, dhe përdorni versionin bazë ose alternativ të dokumentuar nga prodhuesi nëse është e nevojshme. Një përditësim softueri nuk mund të krijojë një instruksion që procesorit i mungon. Ndryshimet në firmware dhe politikat e sigurisë duhet të ndjekin procedurën e prodhuesit të sistemit dhe një plan rikuperimi në vend të një recete të përgjithshme optimizimi.

Burimet dhe fusha e këtij shpjegimi

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

Këto referenca përcaktojnë sjelljen arkitekturore dhe kërkesat e softuerit. Ato nuk verifikojnë në mënyrë të pavarur çdo vlerë të veçorive në faqen e lidhur të modelit të harduerit. Për mbështetjen e modelit, përdorni dëshmitë e prodhuesit në atë faqe dhe kontrolloni konfigurimin efektiv të sistemit. Ky artikull nuk ofron një test standard vlerësimi, certifikim ose datë shqyrtimi të pavarur.

Burimet dhe verifikimi

Pronësia editoriale: Feex. Nuk është regjistruar asnjë datë shqyrtimi të pavarur. Si hulumtojmë.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · Vëllimet 1 dhe 2 përshkruajnë familjet e emërtuara të instruksioneve dhe CPUID; Vëllimi 3 përshkruan gjendjen, faqosjen, VMX dhe kontrollet e mbrojtjes. Dokumentacioni i arkitekturës nuk përcakton mbështetjen për një model të caktuar.

A ishte i dobishëm ky artikull?

Një po ose jo mjafton. Zgjidhni një arsye nëse dëshironi, ose shtoni një shënim të shkurtër.

A ishte i dobishëm ky artikull?