DEP Data Execution Prevention
DEP "Data Execution Prevention" ist ein Sicherheitsmechanismus von Windows, der verhindert, dass Programmcode aus Speicherbereichen ausgeführt wird, die eigentlich nur Daten enthalten dürfen.
- Grundlage ist das NX-Bit (No Execute) bzw. XD-Bit der CPU.
- Versucht ein Programm dennoch Code aus einem Datenbereich auszuführen, erzeugt Windows eine Zugriffsverletzung (Access Violation) und beendet den Prozess.
- DEP wurde eingeführt, weil vormals Angreifer über Buffer-Overflows Schadcode in Stack oder Heap schreiben und ausführen konnten.
- Auf modernen 64-Bit-Systemen ist DEP praktisch immer aktiv. Windows 11 nutzt selbst den DEP-Mechanismus über das NX-Bit hardwaregestützt für alle 64-Bit-Prozesse.
- Bei unseren Anwendungen wird beim Kompilieren das PE-Header-Flag gesetzt und die EXE wird dann zur Laufzeit von Windows als DEP-kompatibel erkannt.
- Außerdem führen unsere Anwendungen seit jeher nur in sehr selten Fällen Code direkt auf dem Heap oder Stack aus; meist läuft die Ausführung über die gewählte Powerbuilder-Runtime.