Proteção de DMA para Kernel

A Proteção de Acesso Direto à Memory (DMA) do Kernel é um recurso de segurança do Windows que protege contra periféricos externos na obtenção do acesso não autorizado à memória.

Dispositivos tipo hot plug e PCIe, como Thunderbolt, USB4 e CFexpress, permitem que os usuários anexem classes de periféricos externos, incluindo placas gráficas, a seus dispositivos com a facilidade plug-and-play do USB. Esses dispositivos são compatíveis de DMA e podem acessar a memória do sistema e realizar operações de leitura e gravação sem a necessidade de envolvimento do processador do sistema. Esse recurso é o motivo por trás do desempenho excepcional de dispositivos PCI, mas também os torna suscetíveis a ataques direcionados por DMA.

Ataques direcionados por DMA são ataques que ocorrem enquanto o proprietário do sistema não está presente e geralmente levam apenas alguns minutos, com ferramentas de ataque simples a moderadas (hardware e software acessíveis, prontos para uso), que não exigem a desmontagem do dispositivo. Por exemplo, os invasores podem conectar um dispositivo semelhante a USB enquanto o proprietário do dispositivo está em um intervalo e sair com todos os segredos no computador ou injetar um malware que lhes permita ter controle total sobre o dispositivo remotamente ignorando a tela de bloqueio.

Observação

O recurso Proteção de DMA do Kernel não protege contra ataques de DMA por meio de 1394/FireWire, PCMCIA, CardBus ou ExpressCard.

Como o Windows protege contra ataques direcionados por DMA

O Windows usa a Unidade de Gerenciamento de Memória de Entrada/Saída (IOMMU) do sistema para impedir que periféricos externos iniciem e executem DMA, a menos que os drivers desses periféricos ofereçam suporte ao isolamento de memória (como o remapeamento de DMA). Os periféricos com Drivers compatíveis com o Remapeamento de DMA serão automaticamente enumerados, iniciados e autorizados a executar DMA em suas regiões de memória atribuídas.

Por padrão, os periféricos com drivers incompatíveis com Remapeamento de DMA serão impedidos de iniciar e executar o DMA até que um usuário autorizado entre no sistema ou desbloqueie a tela. Os administradores de TI podem modificar o comportamento padrão aplicado a dispositivos com drivers incompatíveis de Remapeamento de DMA usando políticas de grupo ou MDM.

Experiência do usuário

Quando a Proteção de DMA do Kernel estiver habilitada:

  • Os periféricos com drivers de dispositivo compatíveis com Remapeamento de DMA serão enumerados automaticamente e iniciados
  • Os periféricos com drivers incompatíveis com o Remapeamento de DMA serão impedidos de iniciar se o periférico estiver conectado antes que um usuário autorizado faça logon ou enquanto a tela estiver bloqueada. Depois que o sistema for desbloqueado, o driver do periférico será iniciado pelo sistema operacional e o periférico continuará funcionando normalmente até que o sistema seja reiniciado ou o periférico esteja desconectado. O periférico continuará a funcionar normalmente se o usuário bloquear a tela ou sair do sistema.

Edição do Windows e requisitos de licenciamento

A tabela a seguir lista as edições do Windows que dão suporte à proteção de Acesso Direto à Memória (DMA) do Kernel:

Windows Pro Windows Enterprise Windows Pro Education/SE Windows Education
Sim Sim Sim Sim

Os direitos de licença da proteção de Acesso Direto à Memória (DMA) do Kernel são concedidos pelas seguintes licenças:

Windows Pro/Pro Education/SE Windows Enterprise E3 Windows Enterprise E5 Windows Education A3 Windows Education A5
Sim Sim Sim Sim Sim

Para obter mais informações sobre o licenciamento do Windows, consulte Visão geral do licenciamento do Windows.

Compatibilidade do sistema

A Proteção de DMA do Kernel requer suporte a firmware UEFI e a Segurança Baseada em Virtualização não é necessária.

A Proteção de DMA do Kernel não é compatível com outras contramedidas de ataques de DMA do BitLocker. É recomendável desabilitar as contramedidas de ataques de DMA do BitLocker se o sistema der suporte à Proteção de DMA do Kernel. A Proteção de DMA do Kernel fornece uma barra de segurança mais alta para o sistema do que as contramedidas de ataque de DMA do BitLocker, mantendo a usabilidade de periféricos externos.

Observação

O suporte de remapeamento de DMA para dispositivos gráficos foi adicionado ao Windows 11 com o modelo de driver WDDM 3.0; o Windows 10 não dá suporte a esse recurso.

Verificar se a Proteção de DMA do Kernel está habilitada

Os sistemas compatíveis com a Proteção de DMA do Kernel habilitarão o recurso automaticamente, sem a necessidade de configuração do administrador de TI ou do usuário.

Você pode usar as configurações de Segurança do Windows para verificar se a Proteção de DMA do Kernel está habilitada:

  1. Abrir a Segurança do Windows.

  2. Selecione Segurança de dispositivo > Detalhes de isolamento do núcleo > Proteção de acesso à memória

    Captura de tela da proteção de DMA do Kernel na Segurança do Windows.

    Como alternativa, você pode usar o aplicativo da área de trabalho (msinfo32.exe) de Informações do Sistema. Se o sistema for compatível com a Proteção de DMA do Kernel, o valor da Proteção de DMA do Kernel será definido como ON.

    Captura de tela da proteção de DMA do Kernel em Informações do Sistema.

    Se o estado atual da Proteção de DMA do Kernel for OFF e Hyper-V - Virtualização Habilitada no Firmware for NÂO:

    • Reinicializar nas configurações de UEFI
    • Habilitar a Tecnologia de Virtualização Intel
    • Habilitar a Tecnologia de Virtualização da Intel para E/S (VT-d)
    • Reinicializar o sistema no Windows

    Observação

    Se o recurso Hyper-V do Windows estiver habilitado, todos os recursos relacionados ao Hyper-V ficarão ocultos e Um hipervisor foi detectado. Os recursos necessários para o Hyper-V não serão exibidos e a entidade será exibida na parte inferior da lista. Isso significa que o Hyper-V - Virtualização Habilitada no Firmware está definido como SIM.

    É necessário habilitar a virtualização do Hyper-V no Firmware (IOMMU) para habilitar a Proteção de DMA do Kernel, mesmo quando o firmware tiver o sinalizador de Indicadores de Proteção de DMA do Kernel do ACPI descritos na Proteção de DMA do Kernel (Proteção de Acesso à Memória) para OEMs.

    Se o estado da Proteção de DMA do Kernel permanecer desativada, o sistema não dá suporte à Proteção de DMA do Kernel.

Para sistemas que não dão suporte à Proteção de DMA do Kernel, consulte as Contramedidas do BitLocker ou o Thunderbolt 3 e Segurança no Sistema operacional Microsoft Windows para outros meios de proteção de DMA.

Perguntas frequentes

A Proteção de DMA do Kernel impede ataques direcionados por DMA durante a Inicialização?

Não, a Proteção de DMA do Kernel só protege contra ataques direcionados por DMA depois que o SO é carregado. É responsabilidade do firmware/BIOS do sistema proteger contra ataques por meio das portas do Thunderbolt 3 durante a inicialização.

Como posso verificar se um determinado driver dá suporte ao remapeamento de DMA?

Nem todos os dispositivos e drivers dão suporte ao remapeamento de DMA. Para verificar se um driver específico é aceito no remapeamento de DMA, verifique os valores correspondentes à propriedade de Política de Remapeamento de DMA na guia Detalhes de um dispositivo no Gerenciador de Dispositivos*. Um valor 0 ou 1 significa que o driver do dispositivo não dá suporte ao remapeamento de DMA. Um valor 2 significa que o driver do dispositivo é compatível com o remapeamento de DMA. Se a propriedade não estiver disponível, o driver do dispositivo não é compatível com o remapeamento de DMA. Verifique a instância do driver do dispositivo que você está testando. Alguns drivers podem ter valores variados dependendo da localização do dispositivo (interno versus externo).

Captura de tela dos detalhes do dispositivo para um controlador Thunderbolt mostrando um valor de 2.

Quando os drivers para periféricos PCI ou Thunderbolt 3 não dão suporte ao remapeamento de DMA?

Use os drivers fornecidos pelo Windows para os periféricos quando estiverem disponíveis. Se não houver drivers de classe fornecidos pelo Windows para seus periféricos, entre em contato com o fornecedor do driver periférico para atualizar o driver para dar suporte ao Remapeamento de DMA.

A Proteção de DMA do Kernel do meu sistema está desativada. O remapeamento de DMA para um dispositivo específico pode ser ativado?

Sim. O remapeamento de DMA para um dispositivo específico pode ser ativado independentemente da Proteção de DMA do Kernel. Por exemplo, se o driver optar por entrar e a VT-d (Tecnologia de Virtualização para E/S Direcionada) estiver ativada, o remapeamento de DMA será habilitado para o driver de dispositivos, mesmo que a Proteção de DMA do Kernel esteja desativada.

A Proteção de DMA do Kernel é uma política que permite ou bloqueia os dispositivos para executar o DMA, com base em seu estado e capacidades de remapeamento.

Os drivers da Microsoft são compatíveis com o remapeamento de DMA?

Os drivers de entrada da Microsoft para Controladores USB XHCI (3.x), Controladores AHCI/SATA de Armazenamento e Controladores NVMe de Armazenamento dão suporte ao Remapeamento de DMA.

Os drivers para dispositivos não PCI precisam ser compatíveis com o remapeamento de DMA?

Não. Os dispositivos para periféricos não PCI, como os dispositivos USB, não executam DMA e, portanto, não é necessário que o driver seja compatível com o remapeamento de DMA.

Como uma empresa pode habilitar a política de enumeração de dispositivo externo?

A política de enumeração de dispositivo externo controla se é necessário enumerar periféricos externos que não são compatíveis com o remapeamento de DMA. Periféricos compatíveis com o remapeamento de DMA são sempre enumerados. Periféricos que não são, podem ser bloqueados, permitidos ou permitidos somente depois que o usuário entrar (padrão).

A política pode ser ativada usando:

  • Política de Grupo: Política administrativa de Modelos\Sistema\Proteção de DMA de Kernel\Enumeração para dispositivos externos incompatíveis com a Proteção de DMA do Kernel
  • Gerenciamento de Dispositivo Móvel (MDM): Políticas do DmaGuard