Compartilhar via


Proteção contra DMA do Kernel (Proteção de Acesso à Memória) para OEMs

A Proteção contra DMA do Kernel (também conhecida como Proteção de Acesso à Memória) é um recurso de um pc de núcleo protegido Windows 10 que tem suporte em plataformas Intel e AMD começando com Windows 10, versão 1803 e Windows 10, versão 1809.

Com esse recurso, o sistema operacional e o firmware do sistema protegem o sistema contra ataques de DMA (Acesso direto à memória) mal-intencionados e não intencionais para todos os dispositivos compatíveis com DMA:

  • Durante o processo de inicialização.
  • Contra DMA mal-intencionado por dispositivos conectados a portasinternas com capacidade de DMA internas/ facilmente acessíveis, como slots PCIe M.2 e Thunderbolt™3, durante o runtime do sistema operacional.
Requisito de plataforma Detalhes
CPU de 64 bits A Proteção contra DMA do Kernel só tem suporte em processadores de IA de 64 bits com extensões de virtualização, incluindo Intel VT-X e AMD-v.
IOMMU (Intel VT-D, AMD-Vi) Todos os dispositivos de E/S capazes de DMA devem estar por trás de uma IOMMU habilitada (por padrão). A IOMMU é usada para bloquear/desbloquear dispositivos com base na Política de Enumeração de Dispositivo DMAGuard e executar o remapeamento de DMA para dispositivos com drivers compatíveis.
Suporte ao PCI Express Native Control Habilitar o PCI Express Native Control usando _OSC método ACPI é necessário para o suporte à Proteção contra DMA do Kernel.
Proteção contra DMA de pré-inicialização
  • O firmware do sistema deve proteger contra ataques de DMA de pré-inicialização implementando o isolamento de DMA de todos os buffers de E/S de dispositivos compatíveis com DMA antes de ExitBootServices().
  • O firmware do sistema deve desabilitar o bit BME (Habilitação Mestra do Barramento) para todas as portas raiz PCI, que não têm dispositivos filhos necessários para executar o DMA entre ExitBootServices() e o driver do dispositivo que está sendo iniciado pelo sistema operacional.
  • Em ExitBootServices(), o IOMMU deve ser restaurado pelo firmware do sistema para ligar o estado.
  • Nenhum dispositivo pode executar DMA fora das regiões RMRR (Intel) ou blocos IVMD (AMD) após ExitBootServices() até que os respectivos drivers do sistema operacional dos dispositivos sejam carregados e iniciados pelo PnP.
    • Executar DMA fora das regiões RMRR ou blocos IVMD após ExitBootServices() e antes do driver de dispositivo iniciar pelo sistema operacional resultará em uma falha de IOMMU e, potencialmente, em um bug do sistema marcar (0xE6).
Indicadores de Proteção contra DMA do Kernel do ACPI
Trusted Platform Module (TPM) 2.0 Os TPMs, discretos ou firmware, serão suficientes. Para obter mais informações, consulte Trusted Platform Module (TPM) 2.0.
  • Em cada inicialização em que a IOMMU (VT-D ou AMD-Vi) ou a Proteção contra DMA do Kernel estiver desabilitada, será desabilitada ou configurada para um estado de segurança inferior, a plataforma DEVE estender um evento EV_EFI_ACTION para PCR[7] antes de habilitar o DMA.
  • A cadeia de caracteres de evento DEVE ser "Proteção contra DMA Desabilitada". O firmware de plataforma DEVE registrar essa medida no log de eventos usando a cadeia de caracteres "Proteção contra DMA Desabilitada" para os Dados de Evento.

Verificando o estado da Proteção contra DMA do Kernel em um sistema de Windows 10

O estado da Proteção contra DMA do Kernel pode ser verificado em um determinado sistema usando qualquer um dos métodos a seguir

  1. Usando o aplicativo informações do sistema:

    • Inicie MSINFO32.exe.
    • Verifique o campo "Proteção contra DMA do Kernel" na página "Resumo do Sistema".
  2. Usando Segurança do Windows aplicativo:

    • Inicie Segurança do Windows aplicativo no menu Iniciar do Windows.

    • Clique no ícone "Segurança do Dispositivo".

    • Clique em "Detalhes do isolamento principal".

    • "Proteção de Acesso à Memória" será listado como um recurso de segurança disponível, se habilitado.

      • Se a "Proteção de Acesso à Memória" não estiver listada, o recurso não estará habilitado no sistema.

Visão geral da Proteção contra DMA do Kernel

Habilitando a remapeamento de DMA para drivers de dispositivo

Política DMAGuard