What is DEP, and how do I find out if my processor supports it?

5,350

Data Execution Prevention (DEP) is a system-level memory protection feature that is built into the operating system starting with Windows XP and Windows Server 2003. DEP enables the system to mark one or more pages of memory as non-executable. Marking memory regions as non-executable means that code cannot be run from that region of memory, which makes it harder for the exploitation of buffer overruns.

If we combine it with the information from your own link we determine that when combined with ASLR (which requires NX-bit) DEP becomes synonymous with NX. Specifically the ASLR implementation within Windows Server 2016 requires it.

But when it is combined with other technologies like Address Space Layout Randomization (ASLR), it helps prevent common buffer overflow vulnerabilities in Windows Internet Explorer and the add-ons that it loads. No additional user interaction is required to provide this protection, and no new prompts are introduced.

Additionally:

Microsoft added ASLR functionality in Windows Vista and Windows Server 2008. On this platform, DEP is implemented through the automatic use of PAE kernel in 32-bit Windows and the native support on 64-bit kernels. Windows Vista DEP works by marking certain parts of memory as being intended to hold only data, which the NX or XD bit enabled processor then understands as non-executable.

Sources:

Share:
5,350

Related videos on Youtube

Evan Carroll
Author by

Evan Carroll

Consider opposing apartheid in Palestine and signing onto the BDS Movement; #1 User for DBA.SE 2017. Available for contracting: 281.901.0011 PostgreSQL & PostGIS / MySQL / SQL Server JavaScript, Typescript, Rx.js, Node.js, Angular Also: C / Perl / Python / Rust / x86 Assembly

Updated on September 18, 2022

Comments

  • Evan Carroll
    Evan Carroll over 1 year

    Coreinfo shows me a bunch of instructions my processor supports. However one that I'm interested in is DEP Data Execution Prevention. DEP is listed as something the CPU must support in Windows 2016 Server. What is it?

    The docs from Microsoft seem to link it with NX What's the difference between DEP and NX and how do I find out if my processor supports DEP?

    • Evan Carroll
      Evan Carroll over 6 years
      @Ramhound updated with link, I'm using an HP Workstation xw6200 – Intel E7525 chipset. Wanting to know if it will support Server 2016, or if I need to upgrade. And, if I upgrade if a DELL PowerEdge R710 2 x 2.53Ghz E5540 will cover the requirements of Server 2016. I've already determined my own box does not work. It doesn't have NX, according to coreinfo.
    • Evan Carroll
      Evan Carroll over 6 years
      You linked to me to a page on the E5540. I'm on the E7525.
    • Ramhound
      Ramhound over 6 years
      So, ark.intel.com/m/products/28016/…, is your current processor and it does not support NX which is required for Windows 8.1+ and Windows Server 2012 R2+
    • Evan Carroll
      Evan Carroll over 6 years
      That's what I've been trying to say. And, I trust that as a source more so than cpu-world.com (which seems to be incorrect)
    • Ramhound
      Ramhound over 6 years
      Your wording was confusing to be honest. You listed a HP part number along with an Intel chipset identifier.
    • Evan Carroll
      Evan Carroll over 6 years
      Because that's the chipset in the HP. I also listed a dump of coreinfo. That was your suggestion. It says clearly that NX is not supported. I mean the question was Is there a way to tell if my hardware supports specific instructions? and you knew the name of it and you were right: it's coreinfo. That's easier than me poping in a live-cd and running cat /proc/cpuinfo. Linux guys don't remember the 9,000 tools required to do basic admin on windows boxes.
    • Ramhound
      Ramhound over 6 years
      I did not until I looked up the HP product number know which processor you currently have. Don't blame me for my confusion due to confusing statement and formatting of your question
  • Evan Carroll
    Evan Carroll over 6 years
    So DEP is Microsoft's fancy name to say they compiled their software with NX support and ASLR libraries? If so, it seems kind of weird to say they require something from the CPU that's really just their own marketing wank on NX.
  • Ramhound
    Ramhound over 6 years
    DEP requires PAE in later versions of Windows. The hardware requirements of Windows Server 2016 and Windows 10 (64-bit) are identical.
  • Ramhound
    Ramhound over 6 years
    The author's processor was discontinued in 2004 so 13 years ago. It doesn't support NX per the specifications by Intel. The processor they wish to purchase does support it though per its own specifications by Intel.