Detaillierte Beschreibung der Funktion "Datenausführungsverhinderung" in Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005 und Windows Server 2003

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 875352 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
875352 A detailed description of the Data Execution Prevention (DEP) feature in Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005, and Windows Server 2003
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Bei der Datenausführungsverhinderung (Data Execution Prevention, DEP) handelt es sich um eine Reihe von Hardware- und Softwaretechnologien, die zusätzliche Speicherüberprüfungen ausführen und somit zum Schutz vor bösartigen Codeexploits beitragen. In Microsoft Windows XP Service Pack 2 (SP2) und Microsoft Windows XP Tablet PC Edition 2005 wird die Datenausführungsverhinderung durch Hardware und Software erzwungen.

Der Hauptvorteil der Datenausführungsverhinderung besteht darin, dass sie zum Verhindern der Codeausführung über Datenseiten beiträgt. Normalerweise wird kein Code aus dem Standardheap und -stapel ausgeführt. Die durch Hardware erzwungene Datenausführungsverhinderung erkennt von diesen Orten ausgeführten Code und löst bei der Ausführung eine Ausnahme aus. Die durch Software erzwungene Datenausführungsverhinderung kann Exploits von Ausnahmebehandlungsmechanismen in Windows mindern.

Einführung

Dieser Artikel beschreibt die Funktion "Datenausführungsverhinderung" in Windows XP SP2 sowie in Microsoft Windows Server 2003 Service Pack 1 (SP1) und behandelt die folgenden Themen:

Weitere Informationen

Durch Hardware erzwungene Datenausführungsverhinderung

Die durch Hardware erzwungene Datenausführungsverhinderung kennzeichnet alle Speicherbereiche eines Prozesses als nicht ausführbar, es sei denn, der Speicherbereich enthält explizit ausführbaren Code. Bei bestimmten Angriffen wird versucht, Code aus nicht ausführbaren Speicherbereichen einzufügen und auszuführen. Die Datenausführungsverhinderung hilft beim Verhindern dieser Angriffe, indem diese abgefangen werden und eine Ausnahme ausgelöst wird.

Bei der durch Hardware erzwungenen Datenausführungsverhinderung werden Speicherbereiche mit einem Attribut gekennzeichnet, das angibt, dass aus diesem Speicherbereich kein Code ausgeführt werden sollte. Die Datenausführungsverhinderung gilt pro virtueller Speicherseite und ändert normalerweise ein Bit im Seitentabelleneintrag (Page Table Entry, PTE), um die Speicherseite zu kennzeichnen.

Die eigentliche Hardwareimplementierung der Datenausführungsverhinderung und die Kennzeichnung der virtuellen Speicherseite unterscheiden sich je nach Prozessorarchitektur. Prozessoren, die durch Hardware erzwungene Datenausführungsverhinderung unterstützen, können jedoch eine Ausnahme auslösen, wenn Code von einer mit dem entsprechenden Attributsatz gekennzeichneten Seite ausgeführt wird.

Sowohl AMD (Advanced Micro Devices) als auch Intel haben Windows-kompatible Architekturen definiert und ausgeliefert, die mit der Datenausführungsverhinderung kompatibel sind.

Ab Windows XP SP 2 verwendet die 32-Bit-Version von Windows eines der folgenden Features:
  • Die von AMD definierte nicht ausführbare Prozessorfunktion (NX = No eXecute) für den Seitenschutz.
  • Die von Intel definierte Execute Disable Bit-Funktion (XD).
Um diese Prozessorfunktionen zu verwenden, muss der Prozessor im PAE-Modus (Physical Address Extension, Physikalische Adresserweiterung) ausgeführt werden. Windows aktiviert den PAE-Modus jedoch automatisch zur Unterstützung der Datenausführungsverhinderung. Benutzer müssen PAE nicht separat mithilfe des Startparameters /PAE aktivieren.

Hinweis: Da 64-Bit-Kernel Unterstützung für Address Windowing Extensions (AWE) bieten, gibt es in den 64-Bit-Versionen von Windows kein gesondertes PAE-Kernel.
Weitere Informationen zum PAE-Modus und zu Address Windowing Extensions (AWE) in Windows Server 2003 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
283037 Großer Arbeitsspeicher wird nun in Windows 2000 und Windows Server 2003 unterstützt

Durch Software erzwungene Datenausführungsverhinderung

In Windows XP SP2 wurde ein zusätzlicher Satz von DEP (Datenausführungsverhinderung)-Sicherheitsprüfungen hinzugefügt. Diese Prüfungen werden "durch Software erzwungene Datenausführungsverhinderung" genannt und sollen verhindern, dass sich Code mit böswilligem Inhalt Mechanismen der Ausnahmebehandlung in Windows zunutze macht. Die durch Software erzwungene Datenausführungsverhinderung kann auf jedem Prozessor ausgeführt werden, der Windows XP SP2 ausführen kann. Standardmäßig schützt die durch Software erzwungene Datenausführungsverhinderung nur begrenzte Systembinärdateien, unabhängig von den durch Hardware erzwungenen DEP-Funktionen des Prozessors.

Vorteile

Der Hauptvorteil der Datenausführungsverhinderung besteht darin, dass sie zum Verhindern der Codeausführung über Datenseiten beiträgt, wie z. B. den Standardheap, verschiedene Stapel und Speicherpools. Normalerweise wird kein Code aus dem Standardheap und -stapel ausgeführt. Die durch Hardware erzwungene Datenausführungsverhinderung erkennt von diesen Orten ausgeführten Code und löst bei der Ausführung eine Ausnahme aus. Wenn es sich um eine nicht behandelte Ausnahme handelt, wird der Prozess beendet. Die Ausführung von Code aus geschütztem Speicher im Kernelmodus führt zu einer Fehlerüberprüfung.

Die Datenausführungsverhinderung kann dazu beitragen, bestimmte Formen der Ausnutzung von Sicherheitslücken zu verhindern. Insbesondere kann die Datenausführungsverhinderung Exploits verhindern, bei denen ein Virus oder ein anderer Angriff zusätzlichen Code in einen Prozess einfügt und dann diesen eingefügten Code auszuführen versucht. Auf einem System mit Datenausführungsverhinderung würde die Ausführung des eingefügten Codes zu einer Ausnahme führen. Die durch Software erzwungene Datenausführungsverhinderung kann dazu beitragen, Programme zu blockieren, die Ausnahmebehandlungsmechanismen in Windows ausnutzen.

Systemweite Konfiguration der Datenausführungsverhinderung

Die Konfiguration der Datenausführungsverhinderung für das System wird über Optionen in der Datei "Boot.ini" gesteuert. Wenn Sie als Administrator angemeldet sind, können Sie die Einstellungen für die Datenausführungsverhinderung leicht mithilfe des Dialogfensters System in der Systemsteuerung konfigurieren.

Windows unterstützt vier systemweite Konfigurationen für durch Hardware und Software erzwungene Datenausführungsverhinderung.
Tabelle minimierenTabelle vergrößern
KonfigurationBeschreibung
OptInDies ist die Standardkonfiguration. Auf Systemen mit Prozessoren, die die durch Hardware erzwungene Datenausführungsverhinderung verwenden können, ist die Datenausführungsverhinderung standardmäßig für begrenzte Systembinärdateien und Anwendungen mit Opt-In aktiviert. Mit dieser Option gilt die Datenausführungsverhinderung standardmäßig nur für Windows-Systembinärdateien.
OptOutDie Datenausführungsverhinderung ist standardmäßig für alle Prozesse aktiviert. Benutzer können über das Dialogfeld System in der Systemsteuerung manuell eine Liste mit bestimmten Anwendungen erstellen, auf die die Datenausführungsverhinderung nicht angewendet wird. IT-Experten können mithilfe des Application Compatibility Toolkit eine oder mehrere Anwendungen vom Schutz durch die Datenausführungsverhinderung ausnehmen. Systemkompatibilitätskorrekturen (Shims) werden für die Datenausführungsverhinderung wirksam.
AlwaysOnDie Datenausführungsverhinderung gilt für das gesamte System. Alle Prozesse werden immer mit angewendeter Datenausführungsverhinderung ausgeführt. Die Ausnahmenliste für das Ausnehmen bestimmter Anwendungen vom Schutz durch die Datenausführungsverhinderung steht nicht zur Verfügung. Systemkompatibilitätskorrekturen (Shims) werden für die Datenausführungsverhinderung nicht wirksam. Anwendungen, die mithilfe des Application Compatibility Toolkit ausgenommen wurden, werden mit angewendeter Datenausführungsverhinderung ausgeführt.
AlwaysOffFür das gesamte System gilt unabhängig von der DEP-Unterstützung der Hardware kein Schutz durch die Datenausführungsverhinderung. Der Prozessor wird nur im PAE-Modus ausgeführt, wenn die Option/PAE in der Datei "Boot.ini" vorhanden ist.
Die durch Hardware erzwungene Datenausführungsverhinderung und die durch Software erzwungene Datenausführungsverhinderung werden auf die gleiche Weise konfiguriert. Wenn die systemweite Richtlinie für die Datenausführungsverhinderung auf Opt In festgelegt ist, sind die gleichen Windows-Kernbinärdateien und Anwendungen sowohl durch die durch Hardware erzwungene Datenausführungsverhinderung als auch durch die durch Software erzwungene Datenausführungsverhinderung geschützt.

Wenn das System die durch Hardware erzwungene Datenausführungsverhinderung nicht verwenden kann, sind die Windows-Kernbinärdateien und Anwendungen nur durch die durch Software erzwungene Datenausführungsverhinderung geschützt.

Folgende Einstellungen gelten für Boot.ini:
/noexecute=Richtlinienstufe
Hinweis:Richtlinienstufe ist definiert als AlwaysOn, AlwaysOff, OptIn oder OptOut.

Die Einstellung /noexecute in der Datei Boot.ini wird, sofern vorhanden, beim Installieren von Windows XP SP2 nicht geändert. Die Einstellungen werden auch beim Verschieben eines Windows-Betriebssystemabbilds zwischen Computern mit und ohne Unterstützung für durch Hardware erzwungene Datenausführungsverhinderung nicht geändert.

Während der Installation von Windows XP SP2 und Windows Server 2003 SP1 oder neueren Versionen ist die Richtlinienstufe "OptIn" standardmäßig aktiviert, wenn nicht in einer unbeaufsichtigten Installation eine andere Richtlinienstufe angegeben ist. Wenn die Einstellung /noexecute=Richtlinienstufe nicht im Starteintrag für eine Version von Windows mit Unterstützung für die Datenausführungsverhinderung vorhanden ist, entspricht das Verhalten dem Verhalten beim Einschluss der Option /noexecute=OptIn.

Wenn Sie als Administrator angemeldet sind, können Sie die Datenausführungsverhinderung zwischen den Richtlinien OptIn und OptOut manuell auf der Registerkarte Datenausführungsverhinderung im Dialogfeld Systemeigenschaften konfigurieren. Im folgenden Verfahren wird die manuelle Konfiguration der Datenausführungsverhinderung auf dem Computer beschrieben:
  1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie sysdm.cpl im Feld Öffnen ein, und klicken Sie dann auf OK.
  2. Klicken Sie auf der Registerkarte Erweitert unter Systemleistung auf Einstellungen.
  3. Klicken Sie auf die Registerkarte Datenausführungsverhinderung, und wenden Sie eines der folgenden Verfahren an:
    • Klicken Sie auf Datenausführungsverhinderung nur für erforderliche Windows-Programme und -Dienste aktivieren, um die Richtlinie "OptIn" auszuwählen.
    • Klicken Sie auf Datenausführungsverhinderung für alle Programme und Dienste mit Ausnahme der ausgewählten aktivieren, um die Richtlinie "OptOut" auszuwählen. Klicken Sie anschließend auf Hinzufügen, und fügen Sie die Anwendungen hinzu, für die die Datenausführungsverhinderung nicht verwendet werden soll.
  4. Klicken Sie zweimal auf OK.
IT-Experten können die systemweite Konfiguration der Datenausführungsverhinderung mit einer Reihe von Methoden steuern. Die Datei "Boot.ini" kann direkt mit Skriptmechanismen oder mit dem in Windows XP SP2 enthaltenen Tool "Bootcfg.exe" geändert werden.

Gehen Sie folgendermaßen vor, um zur Konfiguration der Datenausführungsverhinderung mithilfe der Datei "Boot.ini" zur Richtlinie "AlwaysOn" zu wechseln.
  1. Klicken Sie auf Start, klicken Sie mit der rechten Maustaste auf Arbeitsplatz, und klicken Sie auf Eigenschaften.
  2. Klicken Sie in der Registerkarte Erweitert unter Starten und Wiederherstellen auf Einstellungen.
  3. Klicken Sie unter Systemstart auf Bearbeiten. Die Datei "Boot.ini" wird in Microsoft Editor geöffnet.
  4. Klicken Sie im Editor im Menü Bearbeiten auf Suchen.
  5. Geben Sie in das Feld Suchen nach die Zeichenfolge /noexecute ein, und klicken Sie anschließend auf Weitersuchen.
  6. Klicken Sie im Dialogfeld Suchen auf Abbrechen.
  7. Ersetzen Sie Richtlinienstufe durch AlwaysOn.

    WARNUNG Achten Sie darauf, den Text exakt einzugeben. Die Option für die Datei Boot.ini sollte nun folgendermaßen lauten:
    /noexecute=AlwaysOn
  8. Klicken Sie im Editor im Menü Datei auf Speichern.
  9. Klicken Sie zweimal auf OK.
  10. Starten Sie den Computer neu.
Für unbeaufsichtigte Installationen von Windows XP SP2 können Sie mithilfe der Datei "Unattend.txt" eine bestimmte Konfiguration der Datenausführungsverhinderung im Voraus ausfüllen. Mit dem Eintrag "OSLoadOptionsVar" im Abschnitt [Data] der Datei "Unattend.txt" können Sie eine systemweite Konfiguration der Datenausführungsverhinderung angeben.

Konfiguration der Datenausführungsverhinderung auf Anwendungsbasis

Aus Gründen der Anwendungskompatibilität kann die Datenausführungsverhinderung, wenn sie auf die Richtlinienstufe "OptOut" festgelegt ist, für einzelne 32-Bit-Anwendungen selektiv deaktiviert werden. Verwenden Sie hierzu die Registerkarte Datenausführungsverhinderung im Dialogfeld Eigenschaften von System, um die Datenausführungsverhinderung selektiv für eine Anwendung zu deaktivieren. Für IT-Experten ist in Windows XP Service Pack 2 eine neue Anwendungskompatibilitätskorrektur namens "DisableNX" enthalten. Die Anwendungskompatibilitätskorrektur DisableNX deaktiviert die Datenausführungsverhinderung für das Programm, auf das sie angewendet wird.

Die Anwendungskompatibilitätskorrektur DisableNX kann mithilfe des Application Compatibility Toolkit auf eine Anwendung angewendet werden. Weitere Informationen zur Windows-Anwendungskompatibilität finden Sie im Artikel zur Windows-Anwendungskompatibilität auf der folgenden Website von Microsoft:
http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/default.mspx
Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
912923 Wie Bestimmen von Hardware DEP von verfügbar und auf Ihrem Computer konfiguriert ist

Informationsquellen

Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
899298 Das "Understanding Data Execution Prevention" Hilfethema besagt falsch Standardeinstellung für Datenausführungsverhinderung in Windows Server 2003 Service Pack 1

Eigenschaften

Artikel-ID: 875352 - Geändert am: Montag, 10. Juni 2013 - Version: 14.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows Server 2003 Service Pack 1, wenn verwendet mit:
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
Keywords: 
kbtshoot kbinfo KB875352
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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