Descrição detalhada da funcionalidade de prevenção de execução de dados (DEP) do Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005 e Windows Server 2003

Traduções de Artigos Traduções de Artigos
Artigo: 875352 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

A prevenção de execução de dados (DEP, Data Execution Prevention) é um conjunto de tecnologias de hardware e software que efectuam verificações adicionais da memória para ajudar a impedir a execução de código malicioso no sistema. No Microsoft Windows XP Service Pack 2 (SP2) e no Microsoft Windows XP Tablet PC Edition 2005, a DEP é aplicada por hardware e por software.

A principal vantagem da DEP é ajudar a impedir a execução de código a partir de páginas de dados. Normalmente, não é executado código a partir da área de dados dinâmicos (
heap) e da pilha. A DEP aplicada por hardware detecta código em execução a partir destas localizações e origina uma excepção quando ocorre a execução. A DEP aplicada por software pode ajudar a impedir que código malicioso tire partido de mecanismos de tratamento de excepções no Windows.

INTRODUÇÃO

Este artigo descreve a funcionalidade DEP no Windows XP SP2 e no Microsoft Windows Server 2003 com o Service Pack 1 (SP1) e aborda os seguintes tópicos:

Mais Informação

DEP aplicada por hardware

A DEP aplicada por hardware marca todas as localizações de memória de um processo como não executáveis, a menos que a localização contenha explicitamente código executável. Existe uma classe de ataques que tenta inserir e executar código a partir de localizações de memória não executáveis. A DEP ajuda a evitar estes ataques interceptando-os e originado uma excepção.

A DEP aplicada por hardware depende do hardware do processador para marcar a memória com um atributo que indica que não deve ser executado código a partir dessa memória. A DEP funciona por página de memória virtual e, normalmente, altera um bit na entrada de tabela de páginas (PTE, Page Table Entry) para marcar a página da memória.

A arquitectura do processador determina o modo como a DEP é implementada no hardware e o modo como marca a página de memória virtual. No entanto, os processadores que suportam DEP aplicada por hardware podem originar uma excepção quando for executado código a partir de uma página marcada com o atributo adequado definido.

A Advanced Micro Devices (AMD) e a Intel definiram e forneceram arquitecturas compatíveis com o Windows que são compatíveis com a DEP.

A partir do Windows XP SP2, a versão de 32 bits do Windows utiliza uma das seguintes funcionalidades:
  • A funcionalidade de processador de protecção de página de não-execução (NX, no-execute page-protection), como definida pela AMD.
  • A funcionalidade de bit de desactivação de execução (XD, Execute Disable Bit), como definida pela Intel.
Para utilizar estas funcionalidades do processador, este tem de estar a funcionar no modo de extensão de endereçamento físico (PAE, Physical Address Extension). No entanto, o Windows activará automaticamente o modo PAE para suportar a DEP. Os utilizadores não têm de activar a PAE separadamente utilizando o parâmetro de arranque /PAE.

Nota: uma vez que os kernels de 64 bits detectam as AWE (Address Windowing Extensions), não existe um kernel PAE independente em versões de 64 bits do Windows.
Para obter mais informações sobre PAE e AWE no Windows Server 2003, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
283037 Está disponível suporte para memória de grandes dimensões no Windows Server 2003 e no Windows 2000

DEP aplicada por software

Foi incluído um conjunto adicional de verificações de segurança da DEP no Windows XP SP2. Estas verificações, conhecidas como DEP aplicada por software, foram concebidas para bloquear código malicioso que tire partido de mecanismos de tratamento de excepções no Windows. A DEP aplicada por software é executada em qualquer processador que tenha capacidade para executar o Windows XP SP2. Por predefinição, a DEP aplicada por software ajuda a proteger apenas binários de sistema limitados, independentemente das capacidades de DEP aplicada por hardware do processador.

Vantagens

A principal vantagem da DEP é ajudar a impedir a execução de código a partir de páginas de dados, como as páginas predefinidas de área de dados dinâmicos, as diversas páginas de pilha e as páginas de blocos de memória. Normalmente, não é executado código a partir da área de dados dinâmicos (heap) e da pilha predefinidas. A DEP aplicada por hardware detecta código em execução a partir destas localizações e origina uma excepção quando ocorre a execução. Se a excepção não for tratada, o processo será parado. A execução de código a partir de memória protegida no modo kernel provoca um erro de Stop.

A DEP pode ajudar a bloquear uma classe de intrusões de segurança. Especificamente, a DEP pode ajudar a bloquear um programa malicioso no qual um vírus ou outro tipo de ataque tenha introduzido um processo com código adicional e, em seguida, tente executar o código introduzido. Num sistema com DEP, a execução do código introduzido provoca uma excepção. A DEP aplicada por software pode ajudar a bloquear programas que tirem partido de mecanismos de tratamento de excepções no Windows.

Configuração da DEP ao nível do sistema

A configuração da DEP para o sistema é controlada por parâmetros no ficheiro Boot.ini. Se tiver sessão iniciada como administrador, poderá agora configurar facilmente definições da DEP utilizando a caixa de diálogo Sistema (System) do Painel de controlo (Control Panel).

O Windows suporta quatro configurações de sistema da DEP aplicada por hardware e da DEP aplicada por software.
Reduzir esta tabelaExpandir esta tabela
ConfiguraçãoDescrição
OptInEsta definição é a configuração predefinida. Em sistemas com processadores com capacidade para implementar a DEP aplicada por hardware, a DEP é activada por predefinição para binários de sistema limitados e programas que optem ("opt-in") pela mesma. Com esta opção, apenas os binários de sistema do Windows são abrangidos, por predefinição, pela DEP.
OptOutA DEP é activada por predefinição para todos os processos. Pode criar manualmente uma lista de programas específicos que não tenham a DEP aplicada utilizando a caixa de diálogo Sistema (System) do Painel de controlo (Control Panel). Os profissionais de tecnologias de informação (TIs) podem utilizar o Application Compatibility Toolkit para excluir ("opt-out") um ou mais programas da protecção da DEP. Correcções de compatibilidade do sistema, ou shims, para a DEP têm efeito.
AlwaysOnEsta definição permite que a DEP abranja todo o sistema. Todos os processos são sempre executados com a DEP aplicada. A lista de excepções para excluir programas específicos da protecção da DEP não está disponível. Correcções de compatibilidade do sistema para a DEP não têm efeito. Programas que tenham sido excluídos utilizando o Application Compatibility Toolkit são executados com a DEP aplicada.
AlwaysOffEsta definição não fornece qualquer protecção da DEP a nenhuma parte do sistema, independentemente do suporte de DEP de hardware. O processador não funciona no modo PAE, a menos que a opção /PAE esteja presente no ficheiro Boot.ini.
A DEP aplicada por hardware e aplicada por software é configurada da mesma forma. Se a política de DEP do sistema for OptIn, os mesmos binários principais e programas do Windows serão protegidos por ambas. Se o sistema não tiver capacidade para utilizar a DEP aplicada por hardware, os binários principais e programas do Windows serão protegidos apenas pela DEP aplicada por software.

Da mesma forma, se a política de DEP do sistema estiver definida como OptOut, os programas que tenham sido excluídos da protecção da DEP serão excluídos da DEP aplicada por hardware e aplicada por software.

As definições do ficheiro Boot.ini são as seguintes:
/noexecute=nível_política
Nota: nível_política é definido como AlwaysOn, AlwaysOff, OptIn ou OptOut.

Definições /noexecute existentes no ficheiro Boot.ini não são alteradas quando o Windows XP SP2 é instalado. Estas definições também não são alteradas se uma imagem do sistema operativo Windows for passada para outros computadores, com ou sem suporte para DEP aplicada por hardware.

Durante a instalação do Windows XP SP2 e do Windows Server 2003 SP1 ou versões posteriores, o nível de política OptIn é activado por predefinição, a menos que seja especificado um nível de política diferente numa instalação automática. Se a definição /noexecute=nível_política não estiver presente no ficheiro Boot.ini para uma versão do Windows que suporte a DEP, o comportamento será idêntico ao que se verificaria com a definição /noexecute=OptIn incluída.

Se tiver sessão iniciada como administrador, poderá configurar a DEP manualmente para alternar entre as políticas OptIn e OptOut utilizando o separador Prevenção de execução de dados (Data Execution Prevention) das Propriedades do sistema (System Properties). O procedimento que se segue descreve como configurar a DEP manualmente no computador:
  1. Clique em Iniciar (Start), clique em Executar (Run), escreva sysdm.cpl e clique em OK.
  2. No separador Avançadas (Advanced), em Desempenho (Performance), clique em Definições (Settings).
  3. No separador Prevenção de execução de dados (Data Execution Prevention), utilize um dos seguintes procedimentos:
    • Clique em Activar a DEP apenas para programas e serviços essenciais do Windows (Turn on DEP for essential Windows programs and services only) para seleccionar a política OptIn.
    • Clique em Activar a DEP apenas para todos os programas e serviços excepto os seleccionados por mim (Turn on DEP for all programs and services except those I select) para seleccionar a política OptOut e clique em Adicionar (Add) para adicionar os programas que pretende que não utilizem a funcionalidade DEP.
  4. Clique em OK duas vezes.
Os profissionais de TIs podem controlar a configuração de sistema da DEP utilizando vários métodos. O ficheiro Boot.ini pode ser modificado directamente com mecanismos de script ou com a ferramenta Bootcfg.exe, incluída no Windows XP SP2.

Para configurar a DEP para mudar para a política AlwaysOn utilizando o ficheiro Boot.ini, siga estes passos:
  1. Clique em Iniciar (Start), clique com o botão direito do rato em O meu computador (My Computer) e clique em Propriedades (Properties).
  2. Clique no separador Avançadas (Advanced) e clique em Definições (Settings), no campo Arranque e recuperação (Startup and Recovery).
  3. No campo Arranque do sistema (System startup), clique em Editar (Edit). O ficheiro Boot.ini é aberto no Bloco de notas (Notepad).
  4. No Bloco de notas (Notepad), clique em Localizar (Find) no menu Editar (Edit).
  5. Na caixa Localizar (Find what), escreva /noexecute e clique em Localizar seguinte (Find Next).
  6. Na caixa de diálogo Localizar (Find), clique em Cancelar (Cancel).
  7. Substitua nível_política por AlwaysOn.

    AVISO: certifique-se de que introduz correctamente o texto. O parâmetro do ficheiro Boot.ini deverá ser:
    /noexecute=AlwaysOn
  8. No Bloco de notas (Notepad), clique em Guardar (Save) no menu Ficheiro (File).
  9. Clique em OK duas vezes.
  10. Reinicie o computador.
Para instalações automáticas do Windows XP SP2 ou versões posteriores, pode utilizar o ficheiro Unattend.txt para preencher previamente uma configuração de DEP específica. Pode utilizar a entrada OSLoadOptionsVar da secção [Data] do ficheiro Unattend.txt para especificar uma configuração de sistema da DEP.

Configuração da DEP por programa

Para efeitos de compatibilidade de programas, pode desactivar selectivamente a DEP para determinados programas de 32 bits, quando a DEP estiver definida com o nível de política OptOut. Para o fazer, utilize o separador Prevenção de execução de dados (Data Execution Prevention) das Propriedades do sistema (System Properties) para desactivar selectivamente a DEP para determinado programa. Para os profissionais de TIs, foi incluída no Windows XP SP2 uma nova correcção de compatibilidade de programas denominada DisableNX. A correcção de compatibilidade DisableNX desactiva a prevenção de execução de dados para o programa a que a correcção for aplicada.

A correcção de compatibilidade DisableNX pode ser aplicada a um programa utilizando o Application Compatibility Toolkit. Para obter mais informações sobre a compatibilidade de aplicações do Windows, consulte Windows Application Compatibility no seguinte Web site da Microsoft:
http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/default.mspx
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
912923 How to determine that hardware DEP is available and configured on your computer

Referências

Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
899298 The "Understanding Data Execution Prevention" help topic incorrectly states the default setting for DEP in Windows Server 2003 Service Pack 1

Propriedades

Artigo: 875352 - Última revisão: 23 de outubro de 2006 - Revisão: 14.1
A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 Service Pack 1 nas seguintes plataformas
    • Microsoft Windows Server 2003 Web Edition
    • Microsoft Windows Server 2003 Standard Edition
    • Microsoft Windows Server 2003 Datacenter Edition
    • Microsoft Windows Server 2003 Enterprise Edition
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows XP Professional Service Pack 2 (SP2)
  • Microsoft Windows XP Home Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Media Center Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Tablet PC Edition 2005
Palavras-chave: 
kbinfo kbtshoot KB875352

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com