What is DEP, and how do I find out if my processor supports it?
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:
Related videos on Youtube
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, 2022Comments
-
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 betweenDEP
andNX
and how do I find out if my processor supportsDEP
?-
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 over 6 yearsYou linked to me to a page on the E5540. I'm on the E7525.
-
Ramhound over 6 yearsSo, 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 over 6 yearsThat'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 over 6 yearsYour wording was confusing to be honest. You listed a HP part number along with an Intel chipset identifier.
-
Evan Carroll over 6 yearsBecause 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 wasIs there a way to tell if my hardware supports specific instructions?
and you knew the name of it and you were right: it'scoreinfo
. That's easier than me poping in a live-cd and runningcat /proc/cpuinfo
. Linux guys don't remember the 9,000 tools required to do basic admin on windows boxes. -
Ramhound over 6 yearsI 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 over 6 yearsSo 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 over 6 yearsDEP requires PAE in later versions of Windows. The hardware requirements of Windows Server 2016 and Windows 10 (64-bit) are identical.
-
Ramhound over 6 yearsThe 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.