O Windows VBS (segurança baseada em virtualização, não VBScript!) Possui documentação desconexa, mas a Microsoft oferece este artigo sobre como ativar vários componentes VBS e verificar quais deles estão ativos, o que parece ser bastante simples.
Valide recursos habilitados de VBS e integridade de memória
Use a classe WMI Win32_DeviceGuard
Windows 10, Windows 11 e Windows Server 2016 e superior têm uma classe WMI para propriedades e recursos relacionados ao VBS: Win32_DeviceGuard . Essa classe pode ser consultada em uma sessão elevada do Windows PowerShell usando o seguinte comando:
PowerShell Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard
(. . . )
Serviços de segurança em execução
Este campo indica se o Credential Guard ou a integridade da memória estão em execução.
Value Description 0 No services running. 1 If present, Credential Guard is running. 2 If present, memory integrity is running. 3 If present, System Guard Secure Launch is running. 4 If present, SMM Firmware Measurement is running.
Aqui está o meu problema.
Quando executo o commandlet Powershell, vejo a seguinte linha:
SecurityServicesRunning: {1, 2, 5}
Não consigo encontrar nenhuma documentação sobre o que significa um valor "5"!
A saída completa do commandlet Powershell no meu dispositivo é:
AvailableSecurityProperties : {1, 2, 3, 4…}
CodeIntegrityPolicyEnforcementStatus : 2
InstanceIdentifier : <redacted>
RequiredSecurityProperties : {1, 2, 3}
SecurityFeaturesEnabled : {0}
SecurityServicesConfigured : {1, 2, 3}
SecurityServicesRunning : {1, 2, 5}
UsermodeCodeIntegrityPolicyEnforcementStatus : 0
Version : 1.0
VirtualizationBasedSecurityStatus : 2
VirtualMachineIsolation : False
VirtualMachineIsolationProperties : {0}
PSComputerName : <redacted>
Alguma idéia do que está acontecendo aqui?
O artigo da Microsoft vinculado à pergunta também diz:
Fazer isso neste dispositivo retornará as seguintes linhas relevantes do painel Informações do sistema:
A última linha lista os serviços em execução "Credential Guard", "Integridade de código imposta por hipervisor", "Proteção de pilha imposta por hardware (modo Kernel)". Os dois primeiros itens correspondem a
SecurityServicesRunning
valores{1}
e{2}
, portanto, podemos adivinhar que o valor{5}
corresponde a Proteção de pilha imposta por hardware (modo Kernel) .Mais informações sobre a proteção de pilha imposta por hardware (modo Kernel) podem ser encontradas neste artigo da Microsoft:
https://support.microsoft.com/en-us/windows/core-isolation-e30ed737-17d8-42f3-a2a9-87521df09b78#ID0EFN
Não é 100% certo que seja isso que
{5}
significa, mas é uma conclusão razoável.Seria ótimo se alguém que tivesse a proteção de pilha imposta por hardware no modo Kernel habilitada também pudesse executar o comando PS para confirmar/comparar valores.