Datenausführungsverhinderung (DEP) konfigurieren oder abschalten

    Datenausführungsverhinderung (Data Execution Prevention, DEP)Die Unterstützung für Da­ten­aus­füh­rungs­ver­hin­de­rung (Data Execution Prevention, DEP) hat Microsoft mit Windows XP SP2 beziehungsweise Windows Server 2003 SP1 eingeführt. Seitdem ist sie bei allen Windows-Versionen dabei. Es handelt sich um eine Technik zur Vermeidung schädlicher Auswirkungen von Buffer Overflows, bei denen Daten als Code ausgeführt und auf diese Weise potentiell Schadcode gestartet werden könnte.

    NX-Bit: Zusammenspiel von Hardware und Betriebssystem

    Bei der Da­ten­aus­füh­rungs­ver­hin­de­rung wird das Problem der Ausführung von nicht dafür bestimmtem Code dadurch gelöst, dass der Stack oder ein anderer für Daten bestimmter Speicherbereich, genauer der Eintrag für eine Speicherseite im Seitenverzeichnis, vom Betriebssystem durch ein so genanntes NX-Bit gekennzeichnet wird (no execute). Versucht ein fehlerhaftes Programm oder Schadcode nun eine derart markierte Speicherseite auszuführen, fängt die CPU dies ab und meldet dies über einen Hardware-Interrupt an das Betriebssystem. Dieses beendet daraufhin zwangsweise das betreffende Programm.

    Systemsteuerung: DEP konfigurieren

    In der Systemsteuerung lassen sich einige Optionen der Datenausführungsverhinderung konfigurierenWindows kennt 4 Einstellungen für DEP. Zwei davon kann man per GUI in der Systemsteuerung setzen, die anderen nur per bcdedit.exe. Mit Gruppenrichtlinien kann man DEP nicht konfigurieren: Es handelt sich um einen Arbeitsmodus des Windows-Kernels, der nur jeweils beim Bootvorgang gesetzt werden kann.

    In der Systemsteuerung verstecken sich die Einstellungen unter System und Sicherheit → System → Erweiterte Systemeinstellungen → Erweitert → Leistung → Da­ten­aus­füh­rungs­ver­hin­de­rung. Die für Workstations voreingestellte Option ist Da­ten­aus­füh­rungs­ver­hin­de­rung nur für erforderliche Windows-Programme und -Dienste einschalten (OptIn). Normale Anwendungen werden bei dieser Einstellung nicht von DEP erfasst und können auch nicht manuell zu einer Liste zu überwachender Anwendungen hinzugefügt werden – dies bedarf der Neu-Compilierung der betreffenden Anwendung mit eingeschalteter NXCompat-Option.

    Die Voreinstellung für Server ist der höhere Schutzlevel Da­ten­aus­füh­rungs­ver­hin­de­rung für alle Programme und Dienste mit Ausnahme der ausgewählten einschalten (OptOut). Hierbei werden alle Anwendungen durch DEP überwacht. Sollte ein Programm mit dieser Option nicht laufen, stellt dies ein Kompatibilitätsproblem dar. Gibt es keine aktualisierte Version und kann der Hersteller keine Abhilfe schaffen, kann man per Schaltfläche Hinzufügen einzelne ausführbare Dateien von DEP ausnehmen.

    Eine andere Variante besteht darin, die inkompatible Anwendung per Software-Fix mittels ACT von DEP auszunehmen. Der entsprechende Shim heißt DisableNX. Diese Kompatibilitätsoption kann man dann auch zentral in der Organisation verteilen. Eine solche Anwendung taucht dann nicht sichtbar in der Ausnahme-Liste in der Systemsteuerung auf.

    bcdedit: Abschalten, Aktivieren, Abschalten verhindern

    Die Optionen in der Systemsteuerung schalten jeweils Boot-Optionen von Windows um und werden deshalb nur nach einem Neustart wirksam. In einer Ein­ga­be­auf­for­de­rung mit Ad­mi­nis­tra­torrechten kann man per bcdedit /enum die gerade wirksame Einstellung – OptIn oder OptOut – einsehen. Zwei weitere Möglichkeiten der Konfiguration kann man nur per bcdedit.exe direkt setzen:

    • bcdedit /set {current} nx AlwaysOn schaltet für das aktuell aktive Betriebssystem DEP ein, aber lässt weder eine Ausnahmeliste noch die Änderung der Einstellungen per Systemsteuerung zu. Auch eventuelle Kompatibilitätsoptionen werden ignoriert.
    • bcdedit /set {current} nx AlwaysOff schaltet für das aktuell aktive Betriebssystem DEP komplett ab und verhindert das Einschalten per Systemsteuerung.

    Beide Einstellungen bewirken, dass die entsprechenden Kon­fi­gu­ra­tions­mö­glich­kei­ten in der Systemsteuerung deaktiviert werden und können jeweils nur wieder mit bcdedit.exe in einer Ein­ga­be­auf­for­de­rung mit Ad­mi­nis­tra­torrechten geändert werden. Sie werden jeweils nach einem Neustart des Betriebssystems wirksam.

    3 Kommentare

    Bild von Emin
    Emin sagt:
    30. März 2013 - 20:55

    Wenn ich BEP Ausschalten will, kommt eine Fehlermeldung : Der Speicher für die Startkonfigurationsdaten konnte nicht geöffnet werden. Zugriff verweigert.
    Wenn ich es als Adminstrator ausführ, kommt diese Meldung :
    Fehler beim Festlegen der Elementdaten.
    Der Wert wird durch die Richtlinie für sichere Starten geschützt und kann nicht geändert oder gelöscht werden.

    Bitte um hilfe.

    Bild von Matthias Hagestedt
    Matthias Hagestedt sagt:
    11. Januar 2015 - 20:09

    Wenn ich DEP wieder einschalten will kommt die meldung das der vorgang erfolgreich beendet wurde obwohl ich diesen befehl benutzt habe "bcdedit /set {current} nx AlwaysOn" hab dann mal mein pc neu gestartet aber es ist immernoch alles ausgegraut bei der DEP einstellung, also auf leistung, einstellungen, datenausführungsverhinderung.

    ich will es wieder so haben das ich da den oberen punkt anharken kann

    Bild von Peter Strom
    Peter Strom sagt:
    26. März 2015 - 22:42

    bcdedit.exe /set {current} nx OptIn