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.