En detaljerad beskrivning av funktionen Dataexekveringsskydd i Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005 och Windows Server 2003

Artikelöversättning Artikelöversättning
Artikel-id: 875352 - Visa produkter som artikeln gäller.
Visa alla | Dölj alla

På den här sidan

Sammanfattning

Dataexekveringsskydd är en uppsättning maskinvaru- och programvarutekniker som utför ytterligare kontroller av minnet som hjälp att förhindra att skadlig kod körs i ett system. I Microsoft Windows XP Service Pack 2 (SP2) och Microsoft Windows XP Tablet PC Edition 2005, framtvingas dataexekveringsskydd av både maskinvara och program.

Den främsta fördelen med dataexekveringsskydd är att förhindra körning av kod från datasidor. Kod körs vanligen inte från standardheapen och stacken. Maskinvarudataexekveringsskydd identifierar kod som körs från dessa platser och orsakar ett undantagsfel när körning inträffar. Programvarudataexekveringsskydd kan hindra skadlig kod från att utnyttja undantagshanteringsmekanismerna i Windows.

INLEDNING

I den här artikeln beskrivs funktionen dataexekveringsskydd i Windows XP SP2 och Microsoft Windows Server 2003 med Service Pack 1 (SP1), och följande ämnen diskuteras:

Mer Information

Maskinvarudataexekveringsskydd

Maskinvarudataexekveringsskydd markerar alla minnesplatser i en process som ej körbara, om inte platsen uttryckligen innehåller körbar kod. Det finns en typ av angrepp som försöker placera ut och köra kod från ej körbara minnesplatser. Dataexekveringsskydd hjälper till att förhindra dessa angrepp genom att fånga upp dem och skapa ett undantagsfel.

Maskinvarudataexekveringsskydd förlitar sig på processorns maskinvara för att markera minne med ett attribut som visar att kod inte ska köras från detta minne. Dataexekveringsskydd fungerar på per-virtuell-minnessidebasis, och ändrar vanligen en bit i sidtabellposten (Page Table Entry, PTE), för att markera minnessidan.

Hur dataexekveringsskydd implementeras i maskinvaran och hur den virtuella minnessidan markeras avgörs av processorarkitekturen. Processorer som har stöd för maskinvarudataexekveringsskydd kan dock skapa ett undantagsfel när kod körs från en sida som är markerad med lämpliga attribut.

Advanced Micro Devices (AMD) och Intel har definierat och levererat Windows-kompatibla arkitekturer som är kompatibla med dataexekveringsskydd.

Med början från Windows XP SP2 utnyttjar 32-bitarsversionen av Windows en av följande:
  • Processorfunktionen no-execute page-protection (NX) som definierats av AMD.
  • Funktionen Execute Disable Bit (XD) som definierats av Intel.
För att kunna utnyttja dessa processorfunktioner måste processorn köras i PAE-läge (Physical Address Extension). PAE-läget aktiveras automatiskt i Windows för maskinvarudataexekveringsskydd. Användarna behöver inte aktivera PAE separat genom att använda startväxeln /PAE.

Obs! Eftersom en 64-bitars kernel stöder AWE (Address Windowing Extensions) behövs ingen särskild PAE-kernel in 64-bitarsversioner av Windows.
Om du vill veta mer om PAE och AWE i Windows Server 2003 klickar du på artikelnumret nedan och läser artikeln i Microsoft Knowledge Base:
283037 Det finns stöd för utökat minne i Windows 2000 och Windows Server 2003 (Länken kan leda till en webbplats som är helt eller delvis på engelska)

Programvarudataexekveringsskydd

Ytterligare en uppsättning säkerhetskontroller för dataexekveringsskydd har lagts till i Windows XP SP2. Dessa kontroller, som kallas programvarudataexekveringsskydd, är avsedda att hindra skadlig kod från att utnyttja undantagshanteringsmekanismerna i Windows. Programvarudataexekveringsskydd körs på alla processorer som kan köra Windows XP SP2. Som standard hjälper programvarudataexekveringsskydd endast till att skydda begränsade systembinärfiler, oberoende av processorns möjligheter till maskinvarudataexekveringsskydd.

Fördelar

Den främsta fördelen med dataexekveringsskydd är att det hjälper till att förhindra körning av kod från datasidor, till exempel standardheapsidor, olika stacksidor och minnespoolsidor. Kod körs vanligen inte från standardheapen och stacken. Maskinvarudataexekveringsskydd identifierar kod som körs från dessa platser och orsakar ett undantagsfel när körning inträffar. Om undantaget är ohanterat, stoppas processen. Körning av kod från skyddat minne i kernel-läge orsakar ett stoppfel.

Dataexekveringsskydd kan hjälpa till att blockera en typ av säkerhetsintrång. Specifikt kan dataexekveringsskydd hjälpa till att blockera ett skadligt program där ett virus eller någon annan typ av angrepp har infört ytterligare kod i en process och försöker köra denna kod. I ett system med dataexekveringsskydd förorsakar körning av den infogade koden ett undantag. Programvarudataexekveringsskydd kan blockera program från att utnyttja undantagshanteringsmekanismerna i Windows.

Konfiguration av dataexekveringsskydd för hela systemet

Konfiguration av dataexekveringsskydd för systemet styrs av växlar i filen Boot.ini. Om du är inloggad som administratör kan du nu enkelt konfigurera inställningar för dataexekveringsskydd med dialogrutan System på Kontrollpanelen.

Windows har stöd för fyra konfigurationer av maskinvaru- och programvarudataexekveringsskydd för hela systemet.
Dölj tabellenVisa tabellen
KonfigurationBeskrivning
OptInDetta är standardinställningen. I system med processorer som har maskinvarudataexekveringsskydd är skyddet aktiverat som standard för begränsade systemfiler och program som "väljs till". Med detta alternativ endast Windows systemfiler skyddade av dataexekveringsskyddet som standard.
OptOutDataexekveringsskyddet är som standard aktiverat för alla processer. Du kan manuellt skapa en lista över specifika program där dataexekveringsskyddet inte utnyttjas, med hjälp av dialogrutan System på Kontrollpanelen. IT-personal kan använda Application Compatibility Toolkit för att "välja bort" ett eller flera program från dataexekveringsskyddet. Systemkompatibilitetskorrigeringar för dataexekveringsskyddet har verkan.
AlwaysOnDenna inställning ger fullt dataexekveringsskydd för hela systemet. Alla processer körs alltid med skyddet på. Undantagslistan för att utelämna specifika program från skydd är inte tillgänglig. Systemkompatibilitetskorrigeringar för dataexekveringsskyddet har ingen verkan. Program som har valts bort med Application Compatibility Toolkit körs med dataexekveringsskyddet på.
AlwaysOffDenna inställning ger inget skydd för någon del av systemet, oberoende av maskinvarustöd för dataexekveringsskydd. Processorn körs inte i PAE-läge om inte alternativet /PAE finns i filen Boot.ini.
Maskinvaru- och programvarudataexekveringsskydd konfigureras på samma sätt. Om den systemövergripande principen är satt till OptIn, skyddas samma Windows-kärnprogram av både maskinvaru- och programvaruskydd. Om systemet inte kan använda maskinvaruskydd, skyddas Windows kärnprogram endast av programvarudataexekveringsskydd.

Om den systemövergripande principen är satt till OptOut, skyddas på samma sätt de program som undantagits från skydd varken av maskinvaru- eller programvaruskydd.

Inställningarna i filen Boot.ini är följande:
/noexecute=policy_level
Obs! policy_level anges med AlwaysOn, AlwaysOff, OptIn eller OptOut.

Befintliga /noexecute-inställningar i filen Boot.ini ändras inte när Windows XP SP2 installeras. Dessa inställningar ändras heller inte om en diskavbildning av Windows flyttas mellan datorer med eller utan stöd för maskinvarudataexekveringsskydd.

Under installationen av Windows XP SP2 och Windows Server 2003 SP1 eller senare versioner aktiveras som standard principnivån OptIn, om inte en annan principnivå anges i en obevakad installation. Om inställningen /noexecute=policy_level inte finns i filen Boot.ini för en version av Windows som har stöd för dataexekveringsskydd, är beteendet detsamma som om inställningen /noexecute=OptIn fanns.

Om du är inloggad som administratör kan du manuellt konfigurera dataexekveringsskyddet att växla mellan principerna OptIn och OptOut med hjälp av fliken Dataexekveringsskydd i Systemegenskaper. Gör så här om du manuellt vill konfigurera dataexekveringsskydd på datorn:
  1. Klicka på Start, Kör, skriv sysdm.cpl och klicka på OK.
  2. Klicka på fliken Avancerat och på Inställningar under Prestanda.
  3. På fliken Dataexekveringsskydd gör du ett av följande:
    • Välj principen OptIn genom att klicka på Aktivera bara dataexekveringsskydd för nödvändiga Windows-program och -tjänster.
    • Välj principen OptOut genom att klicka på Aktivera dataexekveringsskydd för alla program och tjänster, förutom de jag anger. Klicka sedan på Lägg till och lägg till de program som inte ska skyddas.
  4. Klicka två gånger på OK.
IT-personal kan styra konfigurationen av dataexekveringsskydd för hela systemet med flera olika metoder. Filen Boot.ini kan ändras direkt med skriptmekanismer eller med verktyget Bootcfg.exe som ingår i Windows XP SP2.

Om du vill att skyddet ska byta till principen AlwaysOn med filen Boot.ini gör du så här:
  1. Klicka på Start, högerklicka på Den här datorn och klicka på Egenskaper.
  2. Klicka på Inställningar under fältet Start och återställning på fliken Avancerat.
  3. Klicka på Redigera i fältet Systemstart. Filen Boot.ini öppnas i Anteckningar.
  4. Klicka på SökRedigera-menyn i Anteckningar.
  5. Skriv /noexecute i rutan Sök efter och klicka på Sök nästa.
  6. Klicka på Avbryt i dialogrutan Sök.
  7. Ersätt policy_level med AlwaysOn.

    Varning! Kontrollera att du skriver in texten korrekt. Filen Boot.ini ska nu innehålla:
    /noexecute=AlwaysOn
  8. Klicka på SparaArkiv-menyn i Anteckningar.
  9. Klicka två gånger på OK.
  10. Starta om datorn.
För obevakade installationer av Windows XP SP2 och senare kan du använda filen Unattend.txt för att förbestämma en viss konfiguration. Du kan använda posten OSLoadOptionsVar i avsnittet [Data] i filen Unattend.txt för att ange en konfiguration för hela systemet.

Konfiguration av exekveringsskydd på programnivå

Av programkompatibilitetsskäl kan du inaktivera dataexekveringsskydd för enstaka 32-bitarsprogram när principnivån OptOut används. Det gör du på fliken Dataexekveringsskydd i Systemegenskaper och inaktiverar skyddet för varje program. För IT-personal finns en ny korrigeringsfil för programkompatibilitet med namnet DisableNX i Windows XP SP2. DisableNX inaktiverar dataexekveringsskydd för det program som den används på.

Den kan användas på ett program med Application Compatibility Toolkit. Mer information om programkompatibilitet i Windows finns under Programkompatibilitet i Windows på följande Microsoft-webbplats:
http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/default.mspx
Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
912923 Kontrollera om dataexekveringsskyddet är tillgängligt och konfigurerat på datorn (Länken kan leda till en webbplats som är helt eller delvis på engelska)

Referenser

Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
899298 Hjälpavsnittet om dataexekveringsskydd anger fel standardinställning för dataexekveringsskydd i Windows Server 2003 Service Pack 1 (Länken kan leda till en webbplats som är helt eller delvis på engelska)

Egenskaper

Artikel-id: 875352 - Senaste granskning: den 21 november 2006 - Revision: 14.1
Informationen i denna artikel gäller:
  • Microsoft Windows Server 2003 Service Pack 1 på följande plattformar
    • Microsoft Windows Server 2003 Web Edition
    • Microsoft Windows Server 2003 Standard Edition
    • Microsoft Windows Server 2003 Datacenter Edition
    • Microsoft Windows Server 2003 Enterprise Edition
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows XP Professional Service Pack 2 (SP2)
  • Microsoft Windows XP Home Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Media Center Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Tablet PC Edition 2005
Nyckelord: 
kbinfo kbtshoot KB875352

Ge feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com