1. [Wiki](https://feex.it/wiki/)
2. [Hardware](https://feex.it/wiki/hardware/)
3. [Systemer og arkitektur](https://feex.it/wiki/hardware/system/)
4. Execute Disable (NX)

# Execute Disable (NX)

Arkitekturreference: Feex

Execute Disable, også kaldet NX eller XD i x86-terminologi, gør det muligt for sidetabeller at markere hukommelse som ikke-eksekverbar. Det er en hardwaremæssig byggesten, der bruges af operativsystemets politikker til beskyttelse mod programkørsel.

## Hvad du behøver at vide

Execute Disable, også kaldet NX eller XD i x86-terminologi, gør det muligt for sidetabeller at markere hukommelse som ikke-eksekverbar. Det er en hardwaremæssig byggesten, der bruges af operativsystemets politikker til beskyttelse mod programkørsel.

## Sådan virker det

Når funktionen er aktiveret i det relevante paging-miljø, vil en instruktionshentning fra en side markeret som ikke-eksekverbar udløse en fejl (fault) i stedet for at udføre dens bytes. Siderettigheder skelner mellem udførelse og dataadgang; software er ansvarlig for at tildele passende rettigheder og håndtere overgange for legitim genereret kode.

## Hvor det er nyttigt

Et OS kan tilknytte en databuffer uden udførelsestilladelse, så skrivning af maskinkode-bytes ind i denne buffer ikke gør den til en eksekverbar kodeside. JIT-runtimes anvender dokumenterede hukommelsesstyrings-API'er og rettighedspolitikker for genereret kode.

## Sådan kontrolleres understøttelse og aktivering

CPUID.80000001H:EDX bit 20 opremser x86 execute-disable-kapabiliteten under den relevante leverandørdefinition. Faktisk håndhævelse afhænger også af paging-tilstanden og OS-aktivering. Undersøg operativsystemets dokumenterede beskyttelsesstatus frem for at udlede den ud fra en CPU-model.

Kapacitet, aktivering og håndhævelse skal kontrolleres separat. En processor kan understøtte en beskyttelse, mens operativsystemet, applikationen eller den virtuelle maskines politik ikke aktiverer den. Et databaseunderstøttelsesfelt er ikke en attestering af et kørende system.

## Hvad funktionen ikke fastslår

NX godtgør ikke, at en eksekverbar fil er sikker, blokerer ikke alle kode-genbrugsangreb og beviser ikke Windows-berettigelse. Data forbliver læsbare eller skrivbare i henhold til separate tilladelser. Et funktionsflag betyder ikke, at enhver hukommelsestilknytning følger en streng skrive/udførelses-politik.

## Kompatibilitet og ydeevne i praksis

Hold operativsystem, firmware og det berørte runtime ajour. Hvis en beskyttelse afslører et kompatibilitetsproblem, skal du bruge leverandørens diagnosticering og understøttede opdateringer først. Et bredt skift af beskyttelse kan påvirke urelaterede programmer og bør følge en eksplicit udrulnings- og genopretningspolitik.

## En praktisk tjekliste til verifikation

1. Registrer den nøjagtige processor- eller platformsmodel samt de involverede applikations-, OS- og runtime-versioner. Bevar formuleringen af den faktiske fejl eller det faktiske krav.
2. Tjek producentreferencen for den nøjagtige model, og undersøg derefter den effektive kapacitet og aktiverede tilstand i det miljø, hvor programmet kører.
3. Sammenlign ethvert krav for den valgte binære fil eller backend. En funktion med et lignende navn, et alias eller en bred teknologimærkat er ikke tilstrækkelig.
4. Bekræft, at applikationen har valgt den tilsigtede implementering. Brug dens dokumenterede diagnosticering og et understøttet fallback, når kravene ikke er opfyldt.
5. Foretag en enkelt understøttet ændring ad gangen, og gentag den samme arbejdsbelastning. Hold den oprindelige konfiguration og gendannelsessti tilgængelig.

## Hvis funktionen er anført, men softwaren ikke kan bruge den

Start med den nøjagtige komponent, der fejler. En hardwaredatabase beskriver registreret kapacitet; operativsystemet eller hypervisoren kan udstille et andet effektivt miljø. En illegal-instruction-fejl kræver også undersøgelse af den faktiske fejlbehæftede instruktion og det binære build, fordi korruption eller en urelateret ikke-understøttet instruktion kan frembringe et lignende symptom.

Installer den applikations-, driver- eller runtime-version, der understøttes til den nøjagtige platform, og brug om nødvendigt leverandørens dokumenterede baseline eller fallback-build. En softwareopdatering kan ikke oprette en instruktion, som processoren mangler. Ændringer i firmware og sikkerhedspolitik bør følge systemproducentens procedure og en genopretningsplan frem for en generisk optimeringsopskrift.

## Relaterede funktioner og nyttige sondringer

[OS Guard og SMEP](https://feex.it/wiki/l/da/hardware/system/os-guard/) · [SMAP](https://feex.it/wiki/l/da/hardware/system/smap/) · [Control-flow Enforcement (CET)](https://feex.it/wiki/l/da/hardware/system/cet/)

## Kilder og denne forklaringens omfang

[Intel 64 and IA-32 Architectures Software Developer's Manual](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)

Disse referencer fastlægger arkitektonisk adfærd og softwarekrav. De verificerer ikke uafhængigt enhver funktionsværdi på en tilknyttet hardwaremodelside. For modelunderstøttelse skal du bruge den pågældende sides producentdokumentation og kontrollere den effektive systemkonfiguration. Denne artikel leverer ikke et benchmark, en certificering eller en uafhængig revisionsdato.

## Relateret

Disse enheder har forbindelse til denne artikel. Type vises på hvert link.

[OS Guard og SMEP: Arkitekturreference](https://feex.it/wiki/l/da/hardware/system/os-guard/)[SMAP: Arkitekturreference](https://feex.it/wiki/l/da/hardware/system/smap/)[Control-flow Enforcement (CET): Arkitekturreference](https://feex.it/wiki/l/da/hardware/system/cet/)

## Kilder og verificering

Redaktionelt ejerskab: Feex. Ingen uafhængig revisionsdato er registreret. [Sådan undersøger vi](https://feex.it/wiki/research/).

- [Intel 64 and IA-32 Architectures Software Developer's Manual ](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)· Bind 1 og 2 beskriver de navngivne instruktionsfamilier og CPUID; Bind 3 beskriver tilstands-, sideinddelings-, VMX- og beskyttelseskontroller. Arkitekturdokumentation fastslår ikke understøttelse for en bestemt model.

## Var denne artikel nyttig?

Et ja eller nej er nok. Vælg en grund, hvis du vil, eller tilføj en kort bemærkning.

Hurtige fakta

Den korte identitet for denne side. Specifikationer, kilder og hele historien forbliver i artiklen.

---

Source: [Canonical Feex Wiki page](https://feex.it/wiki/l/da/hardware/system/execute-disable/)

[Developer guide](https://feex.it/wiki/developers/) | [API policy](https://feex.it/developers/api-policy/) | [Agent guidance](https://feex.it/wiki/llms.txt)
