O que é o DEP e como descubro se meu processador o suporta?

1

Coreinfo me mostra um monte de instruções meu processador suporta . No entanto, estou interessado em DEP Prevenção de Execução de Dados . DEP está listado como algo que a CPU deve suportar no Windows 2016 Server . O que é isso?

Os documentos de Microsoft parecem associá-lo a NX Qual é a diferença entre DEP e NX e como descubro se meu processador suporta DEP ?

    
por Evan Carroll 20.09.2017 / 02:12

2 respostas

1

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.

Se combinarmos com as informações do seu próprio link, determinaremos que, quando combinado com o ASLR (que requer o NX-bit), a DEP se torna sinônimo do NX. Especificamente, a implementação do ASLR no Windows Server 2016 exige isso.

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.

Além disso:

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.

Fontes:

por 20.09.2017 / 02:39
0

Existe uma DEP baseada em hardware e baseada em software. Referência .

A DEP baseada em hardware requer que sua CPU ofereça suporte ao XD ou NX. Se a CPU tentar executar o código a partir de uma página onde o bit é definido, a CPU lançará uma exceção de hardware e nada será executado.

DEP baseada em software - essa referência fornece as seguintes informações:

An additional set of Data Execution Prevention security checks have been added to Windows XP SP2. These checks, known as software-enforced DEP, are designed to block malicious code that takes advantage of exception-handling mechanisms in Windows.

e

Software-enforced DEP runs on any processor that can run Windows XP SP2. By default, software-enforced DEP helps protect only limited system binaries, regardless of the hardware-enforced DEP capabilities of the processor.

Isso pode ser ativado e usado independentemente do suporte da CPU NX / XD.

Não tenho certeza de como o software DEP funciona, mas provavelmente é algo como um canário de pilha usado por determinados binários do sistema - referência .

DEP is listed as something the CPU must support in Windows 2016 Server.

O Windows 2016 não será executado em uma CPU que não tenha suporte a hardware NX / XD. A maioria dos processadores, se não todos, desde 2000 (Pentium 4+) tem esse suporte, e certamente qualquer CPU de classe de servidor nesta década o possui. Em qualquer sistema relativamente moderno, você não precisa se preocupar com isso.

    
por 20.09.2017 / 02:56