Datenausführungsverhinderung (DEP) konfigurieren oder abschalten
Die Unterstützung für Datenausführungsverhinderung (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 Datenausführungsverhinderung 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
Windows 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 → Datenausführungsverhinderung. Die für Workstations voreingestellte Option ist Datenausführungsverhinderung 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 Datenausführungsverhinderung 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 Eingabeaufforderung mit Administratorrechten 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 Konfigurationsmöglichkeiten
in der Systemsteuerung deaktiviert werden und können jeweils nur wieder mit bcdedit.exe
in einer Eingabeaufforderung mit Administratorrechten geändert werden. Sie
werden jeweils nach einem Neustart des Betriebssystems wirksam.




Keine Kommentare
Kommentar hinzufügen