Exportar (0) Imprimir
Expandir Todos
Expand Minimize

Prevenção de Execução de Dados

Qual a função da prevenção de execução de dados?

A DEP (Data Execution Prevention, prevenção de execução de dados) é um conjunto de tecnologias de hardware e software que realiza verificações adicionais ao nível da memória para ajudar a proteger o computador da exploração de vulnerabilidades por parte de código malicioso. No Windows Server 2003 com o Service Pack 1, a DEP é imposta por meio de hardware e software.

DEP imposta por hardware

A DEP imposta por hardware marca todas as localizações da memória de um processo como não executáveis, a menos que a localização contenha explicitamente código executável. Existe uma categoria 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 impedir estes ataques, interceptando-os e gerando uma excepção.

A DEP imposta por hardware baseia-se no 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 com base nas páginas da memória virtual; normalmente, altera um bit na PTE (Page Table Entry, entrada de tabela da página) para marcar a página da memória.

A implementação de hardware da DEP propriamente dita e a marcação da página da memória virtual varia consoante a arquitectura do processador. No entanto, os processadores que suportam a DEP imposta por hardware têm capacidade para gerar uma excepção quando é executado código a partir de uma página marcada com o conjunto de atributos apropriado.

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

As versões de 32 bits do Windows Server 2003 com o Service Pack 1 utilizam a funcionalidade de processador de protecção de páginas de não execução (NX) nos termos definidos pela AMD ou a funcionalidade Execute Disable Bit (XD) nos termos definidos pela Intel. Para poder utilizar estas funcionalidades de processador, o processador tem de estar a ser executado no modo de extensão do endereço físico (PAE, Physical Address Extension). As versões de 64 bits do Windows utilizam a funcionalidade de processador NX ou XD nos processadores de extensões de 64 bits e determinados valores do campo da PTE de direitos de acesso nos processadores IPF.

Espera-se que todos os futuros processadores de 32 bits e de 64 bits venham a suportar a DEP imposta por hardware. A Microsoft continua a desenvolver o seu trabalho em conjunto com os fabricantes de processadores no sentido de incentivar a adopção e desenvolvimento de tecnologias de DEP.

DEP imposta por software

Foi adicionado ao Windows Server 2003 com o Service Pack 1 um conjunto adicional de verificações de segurança DEP. Estas verificações, conhecidas como DEP imposta por software, foram concebidas para atenuar as falhas de segurança dos mecanismos de processamento de excepções no Windows. A DEP imposta por software é executada em qualquer processador que suporte o Windows Server 2003 com o Service Pack 1. Por predefinição, a DEP imposta por software só protege binários de sistemas limitados, independentemente das capacidades da DEP imposta por hardware do processador.

A quem se aplica esta função?

Os programadores de aplicações e controladores devem ter conhecimento da DEP e dos requisitos do software em execução numa plataforma de suporte. As aplicações que geram código JIT (Just-in-Time) ou que executam memória a partir da pilha ou heap de processos predefinidos devem prestar especial atenção aos requisitos de DEP.

Os programadores de controladores são encorajados a tomar conhecimento do modo PAE em plataformas que suportam a DEP imposta por hardware. O comportamento do modo PAE nos sistemas com o Windows Server 2003, Standard Edition com o Service Pack 1, foi alterado de maneira a melhorar a compatibilidade dos controladores.

Que nova funcionalidade foi adicionada a esta função no Windows Server 2003 Service Pack 1?

Prevenção de execução de dados nas versões de 32 bits e 64 bits do Windows e aplicações

Descrição detalhada

DEP imposta por hardware

Para fornecer um formato consistente para os programadores de aplicações e de controladores, o modelo de protecção da memória (incluindo a DEP) foi concebido de maneira a ser idêntico quer para as versões de 32 bits, quer para as versões de 64 bits do Windows.

Os programadores de aplicações devem ter conhecimento do comportamento da DEP no modo de utilizador. Uma excepção da DEP em modo de utilizador resulta num STATUS_ACCESS_VIOLATION (0xc0000005) nos sistemas Windows. O primeiro parâmetro de ExceptionInformation que está localizado na estrutura EXCEPTION_RECORD contém o tipo de violação de acesso ocorrido. O valor 8 para ExceptionInformation[0] indica que a violação de acesso foi uma violação de execução.

Na maior parte dos processo, a excepção STATUS_ACCESS_VIOLATION será uma excepção não processada e resultará no fim do processo.

A prevenção de execução de dados também se aplica a controladores em modo kernel. A DEP para regiões da memória em modo kernel não pode ser activada nem desactivada de forma selectiva. Nas versões de 32 bits do Windows, a DEP é aplicada à pilha por predefinição. Esta situação difere da DEP em modo kernel nas versões de 64 bits do Windows, nas quais a DEP é aplicada à pilha, ao bloco paginado e ao bloco da sessão.

Os controladores de dispositivo não podem executar código a partir da pilha quando a DEP está activada. Uma violação de acesso da DEP em modo kernel resultará num erro 0xFC: ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY.

DEP imposta por software

A DEP imposta por software leva a cabo verificações adicionais nos mecanismos de processamento de excepções no Windows. Se os ficheiros de imagem do programa forem criados com base no formato Safe Structured Exception Handling (SafeSEH), a DEP imposta por software assegurará que o processador de excepções está registado na tabela de funções localizada no ficheiro de imagem antes de uma excepção ser distribuída.

Se os ficheiros de imagem do programa não forem criados com base no formato SafeSEH, a DEP imposta por software assegurará que o processador de excepções se encontra localizado numa região da memória marcada como executável antes de uma excepção ser distribuída.

Comportamento de fecho de aplicações da DEP

A maior parte das aplicações não encontra um problema com a DEP. No entanto, quando uma aplicação não encontra um problema com a DEP, será apresentada ao utilizador uma mensagem da Prevenção de Execução de Dados, alertando-o para o problema.

A mensagem da Prevenção de Execução de Dados indica que ocorreu um problema de DEP com a aplicação e permite ao utilizador obter mais informações sobre a DEP e, opcionalmente, desactivar a DEP para a aplicação que foi fechada.

ImportantImportante
Caso ocorra um problema de DEP com uma aplicação, a Microsoft recomenda que contacte o fornecedor da aplicação, de modo a obter uma actualização. Antes de desactivar a DEP para uma aplicação, deve ter em consideração todas as implicações de segurança relacionadas com a desactivação da DEP para uma aplicação. A capacidade para alterar as definições de DEP para uma aplicação fechada utilizando o botão Alterar Definições, na janela da mensagem da Prevenção de Execução de Dados, depende da configuração da DEP ao nível do sistema. Só é possível efectuar alterações à protecção de DEP de uma aplicação se a configuração da DEP ao nível do sistema estiver definida para o modo OptOut (cancelamento).

A mensagem da Prevenção de Execução de Dados é apresentada imediatamente antes de uma janela de relatório de erros do Windows, permitindo submeter um relatório sobre o problema de DEP à Microsoft.

No Windows Server 2003 com o Service Pack 1, a mensagem da Prevenção de Execução de Dados será apresentada da próxima vez que um Administrador iniciar sessão no sistema de modo interactivo. No Windows Server 2003 com o Service Pack 1, o comportamento é diferente do verificado no Windows XP com o Service Pack 2 porque, por predefinição, o Relatório de Erros do Windows está configurado no modo de colocação em fila. O modo de colocação em fila faz com que as mensagens de relatório de erros fiquem colocadas em fila até à próxima vez que um administrador inicie sessão no sistema de modo interactivo.

Para obter mais informações sobre o Relatório de Erros do Windows ou para configurar esta função de modo a que as mensagens da DEP e de Relatório de Erros do Windows sejam apresentadas imediatamente a seguir a um problema na aplicação, consulte o artigo sobre a Utilização do Windows Server 2003 num Ambiente Gerido: Relatório de Erros do Windows no Web site da Microsoft em http://go.microsoft.com/fwlink/?LinkId=38443.

O Relatório de Erros do Windows gera uma assinatura de erro quando uma aplicação é fechada devido à DEP. A assinatura do erro pode ser visualizada seguindo a hiperligação "clique aqui" na caixa de diálogo Relatar Erros do Windows. A assinatura do erro de um problema de DEP tem os seguintes atributos:

 

Parâmetro Valor de Exemplo Descrição

EventType

BEX

Indica uma excepção de capacidade da memória intermédia excedida (/GS) ou de DEP (BEX64 indica uma excepção de capacidade da memória intermédia excedida (/GS) ou de DEP nas versões de 64 bits do Windows)

P1

DEPDemo.exe

Nome do executável da aplicação que encontrou o problema

P2

5.1.2600.2180

Versão do executável da aplicação que encontrou o problema

P3

416725f2

Carimbo da aplicação em falha

P4

DEPDemo.exe

Nome do módulo em falha

P5

5.1.2600.2180

Versão do módulo em falha

P6

416725f2

Carimbo do módulo em falha

P7

00002060

Desvio de falha (Endereço de instrução se não existir um módulo carregado no endereço em falha)

P8

C0000005

Indica uma excepção STATUS_ACCESS_VIOLATION (Se este parâmetro for c0000409, o problema é uma falha relacionada com /GS)

P9

00000008

Indica uma execução STATUS_ACCESS_VIOLATION (00000002 indica uma execução STATUS_ACCESS_VIOLATION em versões de 64 bits do Windows para a arquitectura Itanium da Intel)

Por último, a mensagem da Prevenção de Execução de Dados poderá não ser apresentada para algumas aplicações quando estas encontram um problema com a DEP, independentemente da configuração do Relatório de Erros do Windows. Estas aplicações processam a excepção STATUS_ACCESS_VIOLATION gerada pela DEP ou instalam um UEF (Unhandled Exception Filter), que substitui o UEF Win32 predefinido. O UEF Win32 predefinido é responsável pelo accionamento das mensagens da Prevenção de Execução de Dados e do Relatório de Erros do Windows. A mensagem da Prevenção de Execução de Dados também poderá ser apresentada se uma aplicação tiver chamado a função SetErrorMode() com o sinalizador SEM_NOGPFAULTERRORBOX.

Porque é que esta alteração é importante? Que ameaças ajuda a atenuar?

A principal vantagem da DEP reside no facto de ajudar a impedir a execução de código de páginas de dados como, por exemplo, o heap predefinido, várias pilhas e conjuntos de memória. Nas operações normais do sistema, regra geral, o código não é executado a partir da pilha e heap predefinidos. A DEP imposta por hardware detecta o código que está a ser executado a partir destas localizações e gera uma excepção quando ocorre a execução. Se a excepção não for processada, o processo será terminado. A execução de código a partir de memória protegida em modo kernel resulta num erro.

Apesar de o fim de um processo ou uma falha de sistema provocada por um erro não constituírem experiências ideais, ajudam a impedir a execução de código mal intencionado. Impedir a execução de código malicioso no sistema poderá ajudar a evitar danos no sistema ou a propagação de código malicioso cujos efeitos nocivos poderiam facilmente exceder os de um processo terminado ou de um erro do sistema.

A DEP pode ajudar a impedir a exploração de uma vulnerabilidade na qual um vírus ou outra forma de ataque injecta um processo com código executável e, em seguida, tenta executar o código injectado. Num sistema com DEP, a execução do código injectado resulta numa excepção. A DEP imposta por software pode ajudar a atenuar as falhas de segurança dos mecanismos de processamento de excepções no Windows.

Uma vantagem suplementar inerente à prevenção de execução de dados diz respeito a aspectos como uma engenharia eficiente e procedimentos recomendados para programadores de aplicações e controladores. A DEP força os programadores a evitar a execução de código fora das páginas de dados sem marcarem explicitamente as páginas como executáveis.

O que funciona de maneira diferente?

Compatibilidade das Aplicações

É de esperar que alguns comportamentos das aplicações sejam incompatíveis com a DEP. As aplicações que geram código dinâmico (tal como a geração de código just-in-time) e que não marcam o código gerado de forma explícita com a permissão de execução (Execute) poderão ter problemas de compatibilidade com a DEP. As aplicações que não são criadas com SafeSEH têm de ter os respectivos processadores de excepções localizados nas regiões de memória executável.

As aplicações que tentem violar a DEP receberão uma excepção com o código de estado STATUS_ACCESS_VIOLATION (0xC0000005). Se uma aplicação necessitar de memória executável, terá de definir este atributo de forma explícita na memória apropriada especificando PAGE_EXECUTE, PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE ou PAGE_EXECUTE_WRITECOPY no argumento de protecção da memória das funções de atribuição de memória Virtual* . As atribuições de pilha que utilizem as funções malloc() e HeapAlloc() não são executáveis.

Compatibilidade dos controladores

Os problemas de compatibilidade dos controladores relativamente à DEP centram-se sobretudo nos problemas de compatibilidade induzidos pelo modo PAE.

noteNota
O PAE só é necessário nos sistemas com versões de 32 bits do Windows com processadores que suportam a DEP imposta por hardware.

Em termos individuais, a DEP poderá criar problemas de compatibilidade com controladores que geram código ou que utilizam outras técnicas para gerar código executável em tempo real. É muito provável que a maior parte dos controladores com este tipo de comportamento já tenha sido corrigida, uma vez que a DEP está "sempre activa" nos controladores fornecidos nas versões de 64 bits do Windows, mas não é possível garantir que todos os controladores tenham sido actualizados. No entanto, são poucos os controladores que empregam estas técnicas, pelo que não é de esperar que a DEP, por si só, venha a causar um elevado número de problemas de compatibilidade com os controladores.

A principal preocupação em termos de compatibilidade dos controladores diz respeito à execução do modo de extensão do endereço físico (PAE, Physical Address Extension) em sistemas de 32 bits. O modo PAE permite aos processadores endereçar mais de 4 gigabytes (GB) de memória. A principal diferença entre os esquemas de paginação de memória de PAE e os esquemas de paginação de memória sem ser de PAE reside no nível suplementar de paginação necessário no modo PAE (três níveis em vez de dois).

Poderá não ser possível carregar alguns controladores se a PAE estiver activada, visto que o dispositivo poderá não conseguir efectuar o endereçamento de 64 bits ou os controladores poderão assumir que o modo PAE requer mais de 4 GB de RAM. Esses controladores partem do princípio de que irão receber sempre endereços de 64 bits quando estiverem em modo PAE e de que não têm capacidade, ou o respectivo dispositivo não tem capacidade, para interpretar o endereço.

Em contrapartida, poderá ser possível carregar outros controladores em modo PAE, mas isso pode provocar instabilidade no sistema pelo facto de as PTEs do sistema serem directamente modificadas. Estes controladores esperam PTEs de 32 bits mas, em vez disso, recebem PTEs de 64 bits em modo PAE.

O maior de todos os problemas de compatibilidade da PAE com os controladores envolve transferências de acesso directo à memória (DMA, Direct Memory Access) e a atribuição de registos de mapa. Muitos dos dispositivos que suportam DMA, geralmente adaptadores de 32 bits, não conseguem efectuar o endereçamento físico de 64 bits. Uma vez executado no modo de 32 bits, o dispositivo consegue endereçar a totalidade do espaço de endereços físicos. No modo PAE, é possível que existam dados num endereço físico superior a 4 GB. Para permitir o funcionamento de dispositivos com estas limitações neste cenário, o Windows 2000 Server e os sistemas operativos posteriores disponibilizam uma memória intermédia dupla para a transacção de DMA fornecendo um endereço de 32 bits indicado por um registo de mapa. O dispositivo pode efectuar a transacção de DMA para o endereço de 32 bits e o kernel copia a memória para o endereço de 64 bits fornecido ao controlador.

Quando o sistema é executado com a PAE desactivada, os controladores para dispositivos de 32 bits nunca necessitam que os respectivos registos de mapas sejam suportados por memória real. Isto significa que a memória intermédia dupla não é necessária, uma vez que os dispositivos e controladores encontram-se integralmente contidos no espaço de endereços de 32 bits. Com base em testes efectuados em controladores para dispositivos de 32 bits em computadores baseados em processadores de 64 bits, espera-se que a maioria dos controladores testados pelos clientes e que suportam DMA consigam obter registos de mapa ilimitados.

Para limitar os problemas de compatibilidade, o Windows Server 2003, Standard Edition com o Service Pack 1, inclui alterações ao nível da HAL (Hardware Abstraction Layer, camada de abstracção de hardware) que simulam o comportamento de DMA da HAL de 32 bits. A HAL alterada concede registos de mapa ilimitados quando o sistema está a ser executado no modo PAE. Além disso, o gestor da memória kernel ignora todos os endereços físicos cujo tamanho ultrapasse os 4 GB. Qualquer RAM de sistema que exceda a barreira dos 4 GB será considerada como não podendo ser endereçada pelo Windows nem utilizada no sistema. Ao limitar o espaço dos endereços a 4 GB, os dispositivos que tenham uma capacidade de bus principal de DMA de 32 bits não conseguirão ver uma transacção com um endereço que ultrapasse a barreira dos 4 GB. Uma vez que estas alterações anulam a necessidade de duplicar a memória intermédia das transacções, evitam uma categoria de erros em alguns controladores relacionada com a implementação correcta do suporte de memória intermédia dupla.

Tenha em atenção que o comportamento de PAE do Windows Server 2003, Enterprise Edition com o Service Pack 1, e do Windows Server 2003, Datacenter Edition com o Service Pack 1, permanece inalterado em relação às versões sem o service pack.

Na sequência destas alterações à HAL e ao gestor de memória, espera-se que o impacto na compatibilidade dos controladores de dispositivo seja mínimo nos sistemas que tenham o Windows Server 2003 com o Service Pack 1 instalado e a DEP activada.

Compatibilidade do sistema

Uma última preocupação relacionada com a compatibilidade da DEP diz respeito a sistemas com o modo PAE activado, apesar de estes poderem não ter sido concebidos para suportar mais de 4 GB de RAM física. Durante os testes internos, a Microsoft observou que alguns sistemas com processadores que suportam a DEP imposta por hardware não são iniciados ou apresentam outros problemas de estabilidade quando o processador está a ser executado em modo PAE.

O modo PAE é um requisito necessário para tirar partido da funcionalidade de processador NX. Assim, os criadores de sistemas e engenheiros de firmware devem estar cientes de que, apesar de o chipset e firmware do sistema poderem não ter sido concebidos para suportar mais de 4 GB de RAM física, o sistema pode estar a ser executado em modo PAE.

O firmware de sistema que interpreta as entradas de tabela da página para determinar as instruções executadas pelo sistema operativo reveste-se de particular interesse. As entradas de tabela da página são expandidas para 64 bits de comprimento quando o processador está a ser executado em modo PAE. Os criadores de sistemas e programadores de firmware são encorajados a contactar os respectivos fornecedores de processadores e chipsets a fim de obterem mais informações sobre como determinar, com segurança, as instruções executadas pelo sistema operativo.

Os designers de sistemas que trabalham com processadores AMD podem obter mais informações em "BIOS and Kernel Developer’s Guide for AMD Athlon 64 and AMD Opteron Processors". Para obter este documento, vá para Web site da AMD Athlon 64 em http://go.microsoft.com/fwlink/?LinkId=28165 e clique em "BIOS and Kernel Developer’s Guide for AMD Athlon 64 and AMD Opteron Processors".

A Intel não disponibiliza informações detalhadas sobre o modo de gestão do sistema (SMM, System Management Mode) ao público em geral. Os criadores de sistemas que trabalham com processadores Intel são encorajados a contactar directamente a Intel a fim de obterem mais informações.

Para mais informações sobre o suporte do Windows para o modo PAE, consulte "Physical Address Extension - PAE Memory and Windows" no Web site da Microsoft em http://go.microsoft.com/fwlink/?LinkId=45912.

Como posso resolver estes problemas?

As aplicações que necessitam de regiões de memória executáveis têm de utilizar os atributos PAGE_EXECUTE, PAGE_EXECUTE_READ, PAGE_EXECUTE_READWRITE ou PAGE_EXECUTE_WRITECOPY durante a atribuição de memória. Além disso, as aplicações não podem executar a partir da pilha ou heap do processo predefinido. A maior parte das aplicações que executam acções incompatíveis com a DEP terão de ser actualizadas para serem compatíveis. As aplicações também têm de ser criadas com base no formato SafeSEH ou garantir que os respectivos processadores de excepções estão presentes na memória marcados explicitamente como sendo executáveis.

Uma aplicação pode utilizar a interface de programação de aplicações VirtualAlloc() (API) para atribuir memória executável com as opções de protecção de memória apropriadas. Deverá ser utilizada, no mínimo, a opção de protecção de memória PAGE_EXECUTE. Uma vez gerado o código executável, recomenda-se que a aplicação defina protecções de memória que impeçam o acesso de escrita à memória atribuída. As aplicações podem impedir o acesso de escrita à memória atribuída utilizando a função da API VirtualProtect(). Ao impedir o acesso de escrita, está a assegurar a protecção máxima das regiões executáveis do espaço de endereços do processo.

Se um processo malicioso tentar inserir código numa região executável, esta tentativa de acesso resultará numa excepção de escrita STATUS_ACCESS_VIOLATION. A aplicação deve tentar reduzir ao máximo as regiões executáveis do respectivo espaço de endereços. Desta forma, a superfície de ataque através da qual a memória executável poderá ser injectada no espaço de endereços do processo e executada será menor.

Além do mais, as aplicações sofisticadas podem controlar o esquema da respectiva memória virtual e criar regiões executáveis. Estas aplicações devem tentar localizar regiões executáveis num espaço de memória inferior relativamente às regiões não executáveis. O objectivo de localizar regiões executáveis abaixo das regiões não executáveis consiste em evitar que uma sobrecarga da memória intermédia passe para a memória executável.

Um pequeno número de executáveis e bibliotecas poderá conter código executável numa secção de dados do ficheiro de imagem. Em alguns casos, as aplicações poderão colocar pequenos segmentos de código (geralmente designados por thunks) nas secções de dados. No entanto, a DEP marcará as secções do ficheiro de imagem carregado na memória como não executáveis, excepto quando a secção tiver o atributo executável aplicado.

Assim sendo, o código executável contido nas secções de dados deve ser movido para uma secção de código ou, como alternativa, a secção de dados que contém o código executável deve ser marcada explicitamente como executável. O atributo executável, IMAGE_SCN_MEM_EXECUTE (0x20000000), deve ser adicionado ao campo Characteristics do cabeçalho da secção correspondente para as secções que contêm código executável.

O mecanismo de interligação da Microsoft distribuído com os produtos Microsoft Visual Studio pode adicionar o atributo executável a uma secção através da opção de interligação /SECTION. A opção de interligação /SECTION tem o seguinte formato:

/SECTION: Nome ,[E][R][W][S][D][K][L][P][X][,ALIGN=#]

O valor E indica o atributo executável (0x20000000). Estão disponíveis mais informações sobre /SECTION e outras opções de interligação da Microsoft no Web site da MSDN em http://go.microsoft.com/fwlink/?LinkId=28167.

Adicionalmente, poderá usar o utilitário Microsoft COFF Binary File Editor (Editbin.exe) para alterar os atributos de secção de uma imagem existente. O utilitário Editbin tem uma opção /SECTION com o seguinte formato:

/SECTION: Nome [= novonome ][,[[!]{CDEIKOMPRSUW}][A{1248PTSX}]]

Os valores C e E indicam o código e os atributos executáveis, respectivamente. Para mais informações sobre o utilitário Editbin e a opção /SECTION, consulte o Web site da MSDN em http://go.microsoft.com/fwlink/?LinkId=28168.

A Microsoft disponibilizou service packs para o Microsoft .NET Framework versão 1.0 e versão 1.1, de modo a ser possível tirar partido da DEP no Windows Server 2003 com o Service Pack 1. As aplicações que utilizam o Microsoft .NET Framework continuarão a funcionar normalmente, mas não beneficiarão da DEP se esta estiver activada, a menos que tenha sido instalado o Microsoft .NET Framework Service Pack apropriado.

A Microsoft encoraja os programadores de aplicações que redistribuem o Microsoft .NET Framework a actualizarem para o Microsoft .NET Framework versão 1.0 Service Pack 3 ou versão 1.1 Service Pack 1, que tiram partido da DEP.

Quais as definições adicionadas ou alteradas no Windows Server 2003 Service Pack 1?

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

A principal diferença no comportamento da DEP no Windows Server 2003 Service Pack 1 em comparação com o Windows XP Service Pack 2 (SP2) reside no facto de, no sistema operativo de servidor, a configuração predefinida proteger todas as aplicações e serviços. No Windows XP SP2, a DEP só era activada por predefinição para programas e serviços essenciais do sistema operativo Windows.

A configuração da DEP no sistema é controlada por parâmetros do ficheiro Boot.ini. Além disso, foram introduzidas alterações à secção Sistema no Painel de Controlo de modo a facilitar a configuração das definições de DEP por parte dos utilizadores finais, caso tenham iniciado sessão no sistema como administradores.

As definições da configuração da DEP do sistema só se aplicam a aplicações e processos em execução nas versões de 32 bits ou 64 bits do Windows. Nas versões de 64 bits do Windows, se a DEP imposta por hardware estiver disponível, é sempre aplicada aos espaços de memória kernel e processos de 64 bits, não existindo definições de configuração do sistema para desactivá-la.

O Windows suporta quatro configurações ao nível do sistema, tanto para a DEP imposta por hardware como para a DEP imposta por software.

Configuração da DEP

Configuração Descrição

OptIn

(predefinição para o Windows XP SP2 e Windows XP 64-Bit Edition)

Nos sistemas com processadores que suportam a DEP imposta por hardware, a DEP está activada por predefinição para binários de sistemas limitados e aplicações que aderem (opt in). Com esta opção, a DEP só abrange binários de sistemas Windows por predefinição.

OptOut

(predefinição para o Windows Server 2003 Service Pack 1)

A DEP está activada para todos os processos por predefinição. Os utilizadores podem criar manualmente uma lista de aplicações específicas que não têm a DEP aplicada utilizando Sistema no Painel de Controlo. Os informáticos profissionais podem utilizar o Application Compatibility Toolkit para cancelar (opt-out) a protecção de DEP para uma ou mais aplicações. As Correcções de Compatibilidade do Sistema ("shims") para a DEP são implementadas.

AlwaysOn

Esta opção fornece protecção de DEP total para todo o sistema. Todos os processos são executados sempre com a DEP aplicada. Não existe uma lista de excepções disponível que exclua aplicações específicas da protecção de DEP. As Correcções de Compatibilidade do Sistema ("shims") para a DEP não são implementadas. As aplicações que tenham sido canceladas utilizando o Application Compatibility Toolkit serão executadas com a DEP aplicada.

AlwaysOff

Esta opção não fornece qualquer protecção da DEP para nenhuma parte do sistema, independentemente do suporte de DEP imposta por hardware existente. No entanto, o processador será executado no modo PAE com versões de 32 bits do Windows a menos que a opção /noexecute=alwaysoff seja substituída pela opção /execute na entrada de arranque.

Tanto a DEP imposta por hardware como a DEP imposta por software são configuradas da mesma forma. Se a política da DEP ao nível do sistema estiver definida como Adesão (OptIn), os mesmos binários e aplicações principais do Windows serão protegidos quer pela DEP imposta por hardware, quer pela DEP imposta por software. Se o sistema não suportar a DEP imposta por hardware, os binários e aplicações principais do Windows serão protegidos apenas pela DEP imposta por software.

Do mesmo modo, se a política da DEP ao nível do sistema estiver definida como Cancelamento (OptOut), as aplicações que tiverem sido excluídas da protecção da DEP também serão excluídas da DEP imposta por hardware e da DEP imposta por software.

As quatro configurações de DEP ao nível do sistema são controladas através de parâmetros do ficheiro Boot.ini. Seguem-se as definições do ficheiro Boot.ini:

/noexecute=policy_level

onde nível_política está definido como AlwaysOn, AlwaysOff, OptIn ou OptOut.

As definições /noexecute existentes no ficheiro Boot.ini não são alteradas quando o Windows Server 2003 Service Pack 1 é instalado ou no caso de uma imagem do sistema operativo Windows ser movida entre vários computadores com e sem suporte da DEP imposta por hardware.

Durante a instalação do Windows Server 2003 Service Pack 1, o nível de política OptOut é 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 na entrada de arranque de uma versão do Windows que suporta a DEP, o comportamento será o mesmo do que se a opção /noexecute=OptIn estivesse incluída.

Os utilizadores finais que tenham iniciado sessão como administradores podem configurar a DEP manualmente entre as políticas OptIn e OptOut utilizando o separador Prevenção de Execução de Dados na caixa de diálogo Opções de Desempenho. O procedimento que se segue descreve como configurar a DEP manualmente no computador:

Para configurar as definições da DEP
  1. Clique em Iniciar, clique em Painel de Controlo e, em seguida, faça duplo clique em Sistema.

  2. Clique no separador Avançadas. Em seguida, em Desempenho, clique em Definições.

  3. Clique no separador Prevenção de Execução de Dados.

  4. Clique em Activar a DEP Apenas para Programas e Serviços Essenciais do Windows para seleccionar a política OptIn.

  5. Clique em Activar a DEP Apenas para Todos os Programas e Serviços Excepto os Seleccionados por Mim para seleccionar a política OptOut.

  6. Se tiver seleccionado a política OptOut, clique em Adicionar e adicione as aplicações com as quais não pretende utilizar a DEP.

Os informáticos profissionais podem controlar a configuração de DEP ao nível do sistema através de vários métodos. O ficheiro Boot.ini pode ser modificado directamente através de mecanismos de processamento de scripts ou da ferramenta Bootcfg.exe, incluída no Windows Server 2003 Service Pack 1.

Para as instalações automáticas do Windows Server 2003 com o Service Pack 1, poderá utilizar o ficheiro Unattend.txt para preencher previamente uma configuração de DEP específica. Pode utilizar a entrada OSLoadOptionsVar na secção [Data] do ficheiro Unattend.txt para especificar uma configuração da DEP ao nível do sistema.

Configuração da DEP por aplicação

Para efeitos de compatibilidade das aplicações quando a DEP está definida como o nível de política OptOut, é possível desactivar a DEP de forma selectiva para aplicações individuais de 32 bits. No entanto, a DEP está sempre activada para aplicações de 64 bits.

Os utilizadores finais podem utilizar o separador Prevenção de Execução de Dados na caixa de diálogo Propriedades de Sistema para desactivar a DEP selectivamente para uma aplicação.

Para os informáticos profissionais, foi incluída uma nova correcção de compatibilidade das aplicações denominada DisableNX no Windows Server 2003 Service Pack 1. A correcção de compatibilidade DisableNX desactiva a DEP para o programa ao qual é aplicada.

A correcção de compatibilidade DisableNX pode ser aplicada a uma aplicação através do Application Compatibility Toolkit. Para mais informações sobre a compatibilidade das aplicações do Windows, consulte "Windows Application Compatibility" no Web site da Microsoft Web em http://go.microsoft.com/fwlink/?LinkId=23302.

Considera isto útil?
(1500 caracteres restantes)
Obrigado pelos seus comentários

Conteúdo da Comunidade

Adicionar
Mostrar:
© 2014 Microsoft