Habilitar a proteção baseada em virtualização de integridade de código
Aviso
Algumas aplicações e controladores de dispositivos de hardware podem ser incompatíveis com a integridade da memória. Esta incompatibilidade pode fazer com que os dispositivos ou software falhem e, em casos raros, pode resultar numa falha de arranque (ecrã azul). Estes problemas podem ocorrer após a integridade da memória ter sido ativada ou durante o próprio processo de ativação. Se ocorrerem problemas de compatibilidade, veja Resolução de problemas para passos de remediação.
A integridade da memória é uma funcionalidade de segurança baseada em Virtualização (VBS) disponível no Windows. A integridade da memória e o VBS melhoram o modelo de ameaças do Windows e fornecem proteções mais fortes contra software maligno que tenta explorar o kernel do Windows. O VBS utiliza o hipervisor do Windows para criar um ambiente virtual isolado que se torna a raiz de confiança do SO que pressupõe que o kernel pode ser comprometido. A integridade da memória é um componente crítico que protege e protege o Windows ao executar a integridade do código do modo kernel no ambiente virtual isolado do VBS. A integridade da memória também restringe as alocações de memória de kernel que podem ser utilizadas para comprometer o sistema.
Observação
- Por vezes, a integridade da memória é referida como integridade de código protegida por hipervisor (HVCI) ou integridade de código imposta pelo hipervisor e foi originalmente lançada como parte do Device Guard. O Device Guard já não é utilizado, exceto para localizar a integridade da memória e as definições de VBS no Política de Grupo ou no registo do Windows.
- A integridade da memória funciona melhor com o Intel Kabylake e processadores superiores com Controlo de Execução Baseado no Modo e processadores AMD Zen 2 e superiores com capacidades Executar Trap no Modo de Convidado . Os processadores mais antigos dependem de uma emulação destas funcionalidades, denominada Modo de Utilizador Restrito, e terão um impacto maior no desempenho. Quando a virtualização aninhada está ativada, a integridade da memória funciona melhor quando a VM é a versão >= 9.3.
Funcionalidades de integridade da memória
- Protege a modificação do mapa de bits do Control Flow Guard (CFG) para controladores de modo kernel.
- Protege o processo de integridade do código do modo kernel que garante que outros processos de kernel fidedignos têm um certificado válido.
Como ativar a integridade da memória
Para ativar a integridade da memória em dispositivos Windows com hardware de suporte em toda a empresa, utilize qualquer uma destas opções:
Ativar a integridade da memória com Segurança do Windows
A integridade da memória pode ser ativada nas definições de Segurança do Windows e encontrada em Segurança do Windows>Dispositivos de isolamentodo núcleo de segurança >detalha>a integridade da memória. Para obter mais informações, veja Proteção de dispositivos no Segurança do Windows.
A partir de Windows 11 22H2, Segurança do Windows mostra um aviso se a integridade da memória estiver desativada. O indicador de aviso também aparece no ícone de Segurança do Windows na Barra de Tarefas do Windows e no Centro de Notificações do Windows. O utilizador pode dispensar o aviso a partir de Segurança do Windows.
Validar funcionalidades de integridade de memória e VBS ativadas
Utilizar Win32_DeviceGuard classe WMI
Windows 10, Windows 11 e Windows Server 2016 e superior têm uma classe WMI para propriedades e funcionalidades relacionadas com VBS: Win32_DeviceGuard. Essa classe pode ser consultada em uma sessão do Windows PowerShell com privilégios elevados usando-se o seguinte comando:
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard
Observação
A propriedade Controlo de Execução Baseada em Modo só estará listada como disponível a partir da versão 1803 Windows 10 e Windows 11 versão 21H2. Este valor é comunicado tanto para o Controlo de Execução Baseado no Modo da Intel como para as capacidades Executar Trap do Modo de Convidado da AMD.
O resultado deste comando fornece detalhes sobre as funcionalidades de segurança baseadas em hardware disponíveis e as funcionalidades que estão atualmente ativadas.
InstanceIdentifier: uma cadeia exclusiva para um determinado dispositivo e definida pela WMI.
Versão: este campo lista a versão desta classe WMI. Agora o único valor válido é 1.0.
AvailableSecurityProperties: este campo ajuda a enumerar e comunicar o estado das propriedades de segurança relevantes para a integridade da memória e do VBS.
Valor Descrição 0 Caso presente, não haverá propriedades relevantes no dispositivo. 1 Caso presente, há suporte ao hipervisor disponível. 2 Caso presente, a Inicialização Segura estará disponível. 3 Caso presente, a proteção de DMA estará disponível. 4 Caso presente, a Substituição de Memória Segura estará disponível. 5 Caso presente, proteções NX estarão disponíveis. 6 Caso presente, as mitigações SMM estarão disponíveis. 7 Se estiver presente, O MBEC/GMET está disponível. 8 Se estiver presente, a virtualização do APIC está disponível. CodeIntegrityPolicyEnforcementStatus: este campo indica a imposição da política de integridade do código status.
Valor Descrição 0 Desativado 1 Auditoria. 2 Imposto. RequiredSecurityProperties: este campo descreve as propriedades de segurança necessárias para ativar o VBS.
Valor Descrição 0 Não é necessário fazer nada. 1 Caso presente, o suporte ao hipervisor será necessário. 2 Caso presente, a Inicialização Segura será necessária. 3 Caso presente, a proteção de DMA será necessária. 4 Caso presente, a Substituição de Memória Segura será necessária. 5 Caso presente, as proteções NX serão necessárias. 6 Caso presente, as mitigações SMM serão necessárias. 7 Se estiver presente, é necessário MBEC/GMET. SecurityServicesConfigured: este campo indica se o Credential Guard ou a integridade da memória estão configurados.
Valor Descrição 0 Não existem serviços configurados. 1 Caso presente, o Credential Guard estará configurado. 2 Se estiver presente, a integridade da memória está configurada. 3 Se estiver presente, System Guard Iniciação Segura está configurada. 4 Se estiver presente, a Medição de Firmware do SMM está configurada. 5 Se estiver presente, a Proteção contra Pilha imposta pelo hardware no modo kernel está configurada. 6 Se estiver presente, a Proteção contra Pilha imposta pelo hardware no modo kernel está configurada no modo auditoria. 7 Se estiver presente, Hypervisor-Enforced a Tradução de Paginação está configurada. SecurityServicesRunning: este campo indica se o Credential Guard ou a integridade da memória estão em execução.
Valor Descrição 0 Não há serviços em execução. 1 Caso presente, o Credential Guard estará em execução. 2 Se estiver presente, a integridade da memória está em execução. 3 Se estiver presente, System Guard a Iniciação Segura está em execução. 4 Se estiver presente, a Medição de Firmware do SMM está em execução. 5 Se estiver presente, a Proteção contra Pilha imposta pelo hardware no modo kernel está em execução. 6 Se estiver presente, a Proteção contra Pilha imposta por hardware no modo Kernel está em execução no modo auditoria. 7 Se estiver presente, Hypervisor-Enforced a Tradução de Paginação está em execução. SmmIsolationLevel: este campo indica o nível de isolamento do SMM.
UsermodeCodeIntegrityPolicyEnforcementStatus: este campo indica a imposição da política de integridade do código do modo de utilizador status.
Valor Descrição 0 Desativado 1 Auditoria. 2 Imposto. VirtualizationBasedSecurityStatus: este campo indica se o VBS está ativado e em execução.
Valor Descrição 0 O VBS não está ativado. 1 A VBS está habilitada, mas não está em execução. 2 A VBS está habilitada e em execução. VirtualMachineIsolation: este campo indica se o isolamento da máquina virtual está ativado.
VirtualMachineIsolationProperties: este campo indica o conjunto de propriedades de isolamento da máquina virtual que estão disponíveis.
Valor Descrição 1 AMD SEV-SNP 2 Segurança baseada em virtualização 3 Intel TDX
Utilizar msinfo32.exe
Outro método para determinar as funcionalidades de VBS disponíveis e ativadas é executar msinfo32.exe a partir de uma sessão elevada do PowerShell. Quando executa este programa, as funcionalidades do VBS são apresentadas na parte inferior da secção Resumo do Sistema .
Solução de problemas
- Se um controlador de dispositivo não conseguir carregar ou falhar no runtime, poderá conseguir atualizar o controlador com Gerenciador de Dispositivos.
- Se ocorrer um erro crítico durante o arranque ou se o sistema estiver instável depois de ativar a integridade da memória, pode recuperar com o Ambiente de Recuperação do Windows (Windows RE).
Em primeiro lugar, desative quaisquer políticas que sejam utilizadas para ativar a integridade da memória e do VBS, por exemplo, Política de Grupo.
Em seguida, inicie para Windows RE no computador afetado, veja Windows RE Technical Reference (Referência Técnica).
Depois de iniciar sessão no Windows RE, defina a chave de registo de integridade da memória como desativada:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 0 /f
Por fim, reinicie o dispositivo.
Observação
Se tiver ativado a integridade da memória com o bloqueio UEFI, terá de desativar o Arranque Seguro para concluir os passos de recuperação Windows RE.
Implementação da integridade da memória em máquinas virtuais
A integridade da memória pode proteger uma máquina virtual hyper-V, tal como uma máquina física. Os passos para ativar a integridade da memória são os mesmos a partir da máquina virtual.
A integridade da memória protege contra software maligno em execução na máquina virtual convidada. Não fornece proteção adicional do administrador anfitrião. No anfitrião, pode desativar a integridade da memória de uma máquina virtual:
Set-VMSecurity -VMName <VMName> -VirtualizationBasedSecurityOptOut $true
Requisitos para executar a integridade da memória em máquinas virtuais do Hyper-V
- O host do Hyper-V deve executar pelo menos o Windows Server 2016 ou o Windows 10 versão 1607.
- A máquina virtual do Hyper-V deve ser da geração 2 e executar pelo menos o Windows Server 2016 ou o Windows 10.
- A integridade da memória e a virtualização aninhada podem ser ativadas ao mesmo tempo. Para ativar a função Hyper-V na máquina virtual, primeiro tem de instalar a função Hyper-V num ambiente de virtualização aninhada do Windows.
- Fibre Channel Virtual adaptadores não são compatíveis com a integridade da memória. Antes de anexar um Adaptador de Canal de Fibra virtual a uma máquina virtual, primeiro tem de optar ativamente por não participar na segurança baseada em Virtualização com
Set-VMSecurity
. - A opção AllowFullSCSICommandSet para discos pass-through não é compatível com a integridade da memória. Antes de configurar um disco pass-through com AllowFullSCSICommandSet, primeiro tem de optar ativamente por não participar na segurança baseada em Virtualização com
Set-VMSecurity
.