Partilhar via


Proteção de Pilha Imposta por Hardware no Modo Kernel

Aplica-se a: Windows Server 2025

O recurso de segurança Proteção da pilha reforçada por hardware foi introduzido para proteger os processos do modo utilizador e ajudar a prevenir o sequestro da pilha no Windows 10. A Proteção de Pilha imposta por hardware agora se estende ao Modo Kernel, que protege as pilhas no kernel contra ataques baseados em programação orientada a retorno (ROP). O ROP é uma maneira comum de os invasores sequestrarem o fluxo de execução de um programa e continuarem sua cadeia de ataque para executar o código desejado pelo invasor.

Agora que as pilhas de modo de usuário estão protegidas e impedem a modificação do endereço de retorno do código do modo kernel, os invasores não podem explorar vulnerabilidades de segurança de memória. Os clientes já estão vendo como a Proteção de Pilha imposta por hardware no Modo Kernel impede que drivers associados a vírus e malware executem sua carga maliciosa.

A Proteção de Pilha imposta por hardware no modo kernel está desativada por padrão, mas os clientes podem ativá-la se os pré-requisitos forem atendidos. Este artigo fornece mais informações sobre a Proteção de Pilha Imposta por Hardware no modo Kernel e mostra como habilitar o recurso no Aplicativo de Segurança do Windows e por meio da Diretiva de Grupo.

Prerequisites

  • Atualização do Windows 11 2022 ou mais recente
  • Versão do aplicativo de Segurança do Windows 1000.25330.0.9000 ou mais recente
  • Hardware compatível com a tecnologia Intel Control-flow Enforcement Technology (CET) ou AMD Shadow Stacks.
    • Para Intel, processadores Intel Core Mobile de 11ª geração e AMD Zen 3 Core (e mais recentes).
  • A segurança baseada em virtualização (VBS) e a integridade de código imposta pelo hipervisor (HVCI) estão habilitadas.

Use pilhas de sombra para impor a integridade do fluxo de controle

Com a Proteção de Pilha imposta por hardware no modo kernel, todas as pilhas do kernel têm uma pilha de sombra correspondente para garantir a integridade do seu fluxo de controlo. Se os invasores explorarem uma vulnerabilidade de segurança de memória, a próxima etapa é redirecionar o fluxo de controle de um programa para o local desejado pelo invasor.

As pilhas de sombra impedem o sequestro do fluxo de controle. O Windows usa o Control Flow Guard para impor a integridade em chamadas indiretas e a Proteção de Pilha imposta por hardware para impor a integridade nos retornos, a fim de proteger contra exploits que visam redirecionar o fluxo da execução de um programa. O Control Flow Guard utiliza um bitmap para anotar alvos de salto válidos, para evitar que uma chamada indireta comprometida redirecione o fluxo de controle para locais arbitrários.

A pilha de sombras mantém uma pilha secundária (protegida por hardware) para todas as pilhas de chamadas, e sempre que uma instrução CALL ou RET envia ou exibe um valor na pilha, uma entrada correspondente vive na pilha de sombra. Quando ocorre uma incompatibilidade de endereço de retorno, o sistema aciona uma tela azul para evitar um comportamento não intencional de controle do programa.

Para obter mais informações, consulte a postagem do blog sobre Noções básicas sobre proteção de pilha imposta por hardware.

Ativar a Proteção de Pilha Imposta por Hardware no Modo Kernel na Segurança do Windows

Virtualization-Based A Segurança baseada em Virtualização (VBS) e a Integridade de Código Imposta pelo Hipervisor (HVCI) são pré-requisitos para a Proteção da Pilha Imposta por Hardware no modo Kernel. É necessário primeiro garantir que esses recursos estejam habilitados antes de continuar. Eles são habilitados automaticamente em sistemas Windows que atendem aos requisitos mínimos de hardware.

Habilite o VBS e o HVCI com as seguintes etapas:

  1. Abra a aplicação Segurança do Windows .

  2. Navegue até Segurança do Dispositivo > Detalhes de Isolamento do Núcleo > Integridade da Memória.

  3. Ative o recurso.

  4. Depois de fazer essa alteração, você precisa reiniciar o dispositivo.

Captura de ecrã do botão de alternância para ativar ou desativar a integridade da memória.

Ativar a Proteção de Pilha no Modo Kernel Habilitada por Hardware

  1. Abra a aplicação Segurança do Windows .

  2. Navegue até Segurança do Dispositivo > Detalhes de Isolamento de Núcleo > Proteção de Pilha Imposta por Hardware em Modo Kernel.

  3. Ative o recurso.

Imagem do botão para ativar ou desativar a Proteção de Pilha imposta por hardware no modo Kernel.

Habilitar a Proteção de Pilha Imposta por Hardware no Modo de Kernel no Editor de Diretiva de Grupo Local

Para clientes empresariais, a Proteção de Pilha imposta por hardware em modo Kernel pode ser ativada usando a Política de Grupo.

  1. Abra o Editor de Diretiva de Grupo Local.

  2. Navegue até Configuração do Computador, > Modelos Administrativos > , System > Device Guard > , Ative a Segurança Baseada em Virtualização.

  3. Confirme se a Segurança Baseada em Virtualização está Ativada.

  4. Em Opções, localize Proteção de pilha imposta por hardware no modo kernel. Selecione Ativado no modo de imposição.

  5. Selecione Aplicar. Então OK.

Captura de tela de onde ativar a Proteção de Pilha imposta por hardware no modo Kernel usando a Diretiva de Grupo.

Drivers incompatíveis

Existe um pequeno conjunto de drivers que ainda não são compatíveis. Os drivers que exibem um comportamento potencialmente mal-intencionado, como capturar endereços de retorno para contornar as políticas de fluxo de controle, não são compatíveis e são adicionados à lista de bloqueio de drivers vulneráveis para a proteção da pilha no modo kernel imposta por hardware. Depois de trabalhar com fornecedores de drivers para executar ofuscação de código de forma compatível com a pilha de sombras, esses drivers são permitidos.

Para proporcionar uma boa experiência ao utilizador e evitar ecrãs azuis no sistema, o Windows mantém uma lista de bloqueio de drivers conhecidos por serem incompatíveis para proteção de pilha imposta por hardware no modo núcleo. Estes são drivers conhecidos por interceptar endereços de retorno no kernel. Quando este recurso é ativado, não se permite que o driver seja carregado (em contraste com um ecrã azul quando é tentada uma apropriação de endereço de retorno). Além disso, se o sistema já tiver um driver instalado na lista de bloqueio, esse recurso não será habilitado. Você pode habilitar esse recurso desinstalando o driver associado.

Verificar controladores incompatíveis

O recurso não pode ser ativado até que as incompatibilidades sejam resolvidas, seja com uma versão atualizada do fornecedor do driver ou removendo o aplicativo que instalou o driver. Para ver a lista de drivers incompatíveis, selecione "Analisar drivers incompatíveis".

Captura de ecrã sobre onde encontrar possíveis drivers incompatíveis.

Alguns aplicativos usam drivers que são incompatíveis com a Proteção de Pilha imposta por hardware no modo Kernel. Por exemplo, aplicativos que usam mecanismos de ofuscação para proteger IP e ofuscar o fluxo de controle, que são incompatíveis com pilhas de sombra. Quando o driver inseguro tenta carregar com esse recurso de segurança ativado, você verá um prompt dizendo "Um driver não pode carregar neste dispositivo".

Captura de tela da caixa de diálogo de alerta do driver não é possível carregar.

Pode desativar a função de segurança, embora isso comprometa a segurança do seu dispositivo. Você sempre pode reativar esse recurso no aplicativo de Segurança do Windows.