Activer la protection basée sur la virtualisation de l’intégrité du code

S’applique à

  • Windows10
  • Windows 11

Cette rubrique aborde différentes façons d’activer l’intégrité du code protégé par l’hyperviseur (HVCI) sur Windows 10 et Windows 11. Certaines applications, notamment les pilotes de périphériques, peuvent être incompatibles avec le service HVCI. Cela peut entraîner un dysfonctionnement des appareils ou des logiciels et, dans de rares cas, un écran bleu. Ces problèmes peuvent se produire une fois que le service HVCI a été activé ou au cours du processus d’activation proprement dit. Si cela se produit, voir Résolution des problèmes pour les étapes de mise à jour.

Notes

Étant donné qu’il utilise le contrôle d’exécution en mode, HVCI fonctionne mieux avec les processeurs Intel Classey Lake ou AMD Zen 2 et les plus nouvelles. Les processeurs sans MBEC dépendent d’une émulation de cette fonctionnalité, appelée modeutilisateur restreint, qui a un impact plus important sur les performances.

Fonctionnalités HVCI

  • HVCI protège la modification de l’Flow bitmap CFG (Control Flow Guard).
  • HVCI garantit également que vos autres processus de confiance, tels que Credential Guard, ont obtenu un certificat valide.
  • Les pilotes de périphériques modernes doivent également avoir un certificat EV (validation étendue) et doivent prendre en charge HVCI.

Comment activer HVCI dans Windows 10 et Windows 11

Pour activer HVCI sur Windows 10 et Windows 11 avec du matériel de prise en charge dans l’ensemble d’une entreprise, utilisez l’une des options ci-après :

Sécurité Windows application

HVCI est **** étiqueté Intégrité de la mémoire dans l’application Sécurité Windows et il est accessiblevia Paramètres > Update & Security > Sécurité WindowsDevice security Core isolation > **** > **** > details Memory integrity. Pour plus d’informations, voir KB4096339.

Activer HVCI à l’aide d’Intune

L’activation dans Intune nécessite l’utilisation du nœud Intégrité du code dans le CSP AppLocker.

Activer HVCI à l’aide de la stratégie de groupe

  1. Utilisez l’Éditeur de stratégie de groupe (gpedit.msc) pour modifier un GPO existant ou en créer un nouveau.

  2. Accédez à **** > Modèles d’administration deconfiguration ordinateur > **** > System Device Guard.

  3. Double-cliquez sur Activer la sécurité basée sur la virtualisation.

  4. Cliquez **** sur Activé et sous Protection basée sur la virtualisationde l’intégrité du code , sélectionnez Activé avec verrouillage UEFI pour vous assurer que HVCI ne peut pas être désactivé à distance ou activer sans verrouillage UEFI.

    Activez HVCI à l’aide de la stratégie de groupe.

  5. Cliquez sur OK pour fermer l’éditeur.

Pour appliquer la nouvelle stratégie sur un ordinateur joint à un domaine, redémarrez ou exécutez-la dans une invite gpupdate /force de commandes avec élévation de élévation de niveaux.

Utiliser des clés de registre pour activer la protection basée sur la virtualisation de l'intégrité du code

Définissez les clés de registre suivantes pour activer HVCI. Cela permet d’obtenir exactement le même ensemble d’options de configuration que celui de la stratégie de groupe.

Important

  • Parmi les commandes ci-dessous, vous pouvez choisir les paramètres pour Démarrage sécurisé et Démarrage sécurisé avec DMA. Dans la plupart des cas, nous vous recommandons de choisir Démarrage sécurisé. Cette option fournit le Démarrage sécurisé avec la protection prise en charge par le matériel d’un ordinateur donné. Un ordinateur doté d’unitésIOMMU disposera du Démarrage sécurisé avec la protectionDMA. Un ordinateur sans unitésIOMMU disposera simplement du Démarrage sécurisé activé.

    En revanche, le paramètre Démarrage sécurisé avecDMA permet d’activer le Démarrage sécurisé, et la sécuritéVBS proprement dite, uniquement sur un ordinateur prenant en chargeDMA, autrement dit, un ordinateur doté d’unitésIOMMU. Avec ce paramètre, les ordinateurs dépourvus d’unitésIOMMU ne disposeront pas de la protectionVBS ou HVCI, même s’ils peuvent toujours disposer de WDAC activé.

  • Tous les pilotes du système doivent être compatibles avec la protection basée sur la virtualisation de l’intégrité du code; dans le cas contraire, votre système risque d’échouer. Nous vous recommandons d’activer ces fonctionnalités sur un groupe d’ordinateurs de test avant de les activer sur les ordinateurs des utilisateurs.

Pour Windows 10 version 1607 et ultérieures et Windows 11 version 21H2

Paramètres recommandés (pour activer la protection basée sur la virtualisation des stratégies d’intégrité du code, sans verrouillage UEFI):

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f

Si vous souhaitez personnaliser les paramètres recommandés ci-dessus, utilisez les paramètres suivants.

Pour activer VBS

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f

Pour activer VBS et exiger uniquement le démarrage sécurisé (valeur1)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f

Pour activer VBS avec démarrage sécurisé et DMA (valeur 3)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 3 /f

Pour activer VBS sans verrouillage UEFI (valeur0)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 0 /f

Pour activer VBS avec verrouillage UEFI (valeur 1)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Locked" /t REG_DWORD /d 1 /f

Pour activer la protection basée sur la virtualisation des stratégies d'intégrité du code

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 1 /f

Pour activer la protection basée sur la virtualisation des stratégies d’intégrité du Code sans verrouillage UEFI (valeur0)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 0 /f

Pour activer la protection basée sur la virtualisation des stratégies d’intégrité du code avec verrouillage UEFI (valeur 1)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Locked" /t REG_DWORD /d 1 /f

Pour Windows 10 version 1511 et antérieures

Paramètres recommandés (pour activer la protection basée sur la virtualisation des stratégies d’intégrité du code, sans verrouillage UEFI):

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f

Si vous souhaitez personnaliser les paramètres recommandés ci-dessus, utilisez les paramètres suivants.

Pour activer VBS (elle est toujours verrouillée pour UEFI)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "EnableVirtualizationBasedSecurity" /t REG_DWORD /d 1 /f

Pour activer VBS et exiger uniquement le démarrage sécurisé (valeur1)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 1 /f

Pour activer VBS avec démarrage sécurisé et DMA (valeur 3)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "RequirePlatformSecurityFeatures" /t REG_DWORD /d 3 /f

Pour activer la protection basée sur la virtualisation des stratégies d’intégrité du Code (avec le verrouillage UEFI par défaut)

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "HypervisorEnforcedCodeIntegrity" /t REG_DWORD /d 1 /f

Pour activer la protection basée sur la virtualisation des stratégies d’intégrité du Code sans verrouillage UEFI

reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard" /v "Unlocked" /t REG_DWORD /d 1 /f

Valider les fonctionnalités activées de sécurité basée sur le matériel de Windows Defender DeviceGuard

Windows 10, Windows 11 et Windows Server 2016 une classe WMI pour les propriétés et fonctionnalités connexes : Win32_DeviceGuard. Cette classe peut être interrogée à partir d’une session WindowsPowerShell avec élévation de privilèges, à l’aide de la commande suivante:

Get-CimInstance –ClassName Win32_DeviceGuard –Namespace root\Microsoft\Windows\DeviceGuard

Notes

La classe WMI Win32_DeviceGuard est disponible uniquement sur l’édition Enterprise de Windows 10 et Windows 11.

Notes

La propriété Mode Based Execution Control sera uniquement répertoriée comme disponible à partir Windows 10 version 1803 et Windows 11 version 21H2.

La sortie de cette commande détaille les fonctionnalités de sécurité basée sur le matériel disponibles, ainsi que les fonctionnalités qui sont activées.

AvailableSecurityProperties

Ce champ permet d’énumérer et de créer des rapports sur l’état des propriétés de sécurité pertinentes pour Windows Defender DeviceGuard.

Valeur Description
0. Si cette valeur est présente, cela signifie qu’il n’existe aucune propriété pertinente sur l’appareil.
1. Si cette valeur est présente, cela signifie que la prise en charge de l’hyperviseur est disponible.
2. Si cette valeur est présente, cela signifie que la fonction Démarrage sécurisé est disponible.
3. Si cette valeur est présente, cela signifie que la protectionDMA est disponible.
4. Si cette valeur est présente, cela signifie que l’option Sécuriser le remplacement de la mémoire est disponible.
5. Si cette valeur est présente, cela signifie que les protectionsNX sont disponibles.
6. Si cette valeur est présente, cela signifie que les préventionsSMM sont disponibles.
7. S’il est présent, le contrôle d’exécution en mode est disponible.
8. S’il est présent, la virtualisation APIC est disponible.

InstanceIdentifier

Chaîne propre à un appareil particulier. Les valeurs valides sont déterminées par WMI.

RequiredSecurityProperties

Ce champ décrit les propriétés de sécurité requises pour activer la sécurité basée sur la virtualisation.

Valeur Description
0. Aucune valeur n’est requise.
1. Si cette valeur est présente, cela signifie que la prise en charge de l’hyperviseur est nécessaire.
2. Si cette valeur est présente, cela signifie que l’option Démarrage sécurisé est nécessaire.
3. Si cette valeur est présente, cela signifie que la protectionDMA est nécessaire.
4. Si cette valeur est présente, cela signifie que l’option Sécuriser le remplacement de la mémoire est nécessaire.
5. Si cette valeur est présente, cela signifie que les protectionsNX sont nécessaires.
6. Si cette valeur est présente, cela signifie que les préventionsSMM sont nécessaires.
7. S’il est présent, le contrôle d’exécution en mode est nécessaire.

SecurityServicesConfigured

Ce champ indique si le service Windows Defender Credential Guard ou HVCI a été configuré.

Valeur Description
0. Aucun service n’est configuré.
1. Si cette valeur est présente, cela signifie que Windows Defender Credential Guard est configuré.
2. Si cette valeur est présente, cela signifie que le serviceHVCI est configuré.
3. S’il est présent, le lancement sécurisé de System Guard est configuré.
4. S’il est présent, la mesure du microprogramme SMM est configurée.

SecurityServicesRunning

Ce champ indique si le service Windows Defender Credential Guard ou HVCI est en cours d’exécution.

Valeur Description
0. Aucun service n’est en cours d’exécution.
1. Si cette valeur est présente, cela signifie que Windows Defender Credential Guard est en cours d’exécution.
2. Si cette valeur est présente, cela signifie que le serviceHVCI est en cours d’exécution.
3. S’il est présent, le lancement sécurisé de System Guard est en cours d’exécution.
4. S’il est présent, la mesure du microprogramme SMM est en cours d’exécution.

Version

Ce champ indique la version de la classeWMI. Seule valeur valide pour l’instant: 1.0.

VirtualizationBasedSecurityStatus

Ce champ indique si la sécurité basée sur la virtualisation est activée et en cours d’exécution.

Valeur Description
0. La sécurité basée sur la virtualisation n’est pas activée.
1. La sécurité basée sur la virtualisation est activée, mais n’est pas en cours d’exécution.
2. La sécurité basée sur la virtualisation est activée et en cours d’exécution.

PSComputerName

Ce champ indique le nom de l’ordinateur. Toutes les valeurs de nom d’ordinateur valides.

Pour déterminer quelles fonctionnalités WindowsDefenderDeviceGuard sont disponibles et activées, vous pouvez aussi exécuter msinfo32.exe depuis une sessionPowerShell avec élévation de privilèges. Lorsque vous exécutez ce programme, les propriétés Windows Defender Device Guard sont affichées en bas de la section Résumé système.

Windows Defender Device Guard dans le résumé système.

Résolution des problèmes

A. Si un pilote de périphérique ne parvient pas à se charger ou se bloque lors de l’exécution, vous pouvez tenter de le mettre à jour à l’aide du Gestionnaire de périphériques.

B. Si vous découvrez un dysfonctionnement logiciel ou d’appareil après avoir utilisé la procédure ci-dessus pour activer HVCI, mais que vous pouvez vous connecter à Windows, vous pouvez désactiver HVCI en renommant ou en supprimant le fichier SIPolicy.p7b, puis redémarrer votre <OS Volume>\Windows\System32\CodeIntegrity\ appareil.

C. Si vous rencontrez une erreur critique lors du démarrage ou si votre système est instable après l’utilisation de la procédure d'activation du service HVCI ci-dessus, vous pouvez effectuer une récupération à l’aide de l’environnement de récupération Windows (Windows RE). Pour démarrer sur Windows RE, voir Informations techniques de référence sur Windows RE. Après vous être connecté à Windows RE, vous pouvez désactiver HVCI en renommant ou en supprimant le fichier SIPolicy.p7b, puis redémarrer <OS Volume>\Windows\System32\CodeIntegrity\ votre appareil.

Comment désactiver HVCI

  1. Exécutez la commande suivante à partir d’une invite avec élévation de niveaux pour définir la clé de Registre HVCI sur off :

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v "Enabled" /t REG_DWORD /d 0 /f
    
  2. Redémarrez l’appareil.

  3. Pour vérifier si HVCI a bien été désactivé, ouvrez Informations système et regardez Services en cours d'exécution pour la sécurité basée sur la virtualisation qui ne doit désormais afficher aucune valeur.

Déploiement HVCI sur des machines virtuelles

HVCI peut protéger un ordinateur virtuel Hyper-V, tout comme un ordinateur physique. Les étapes permettant d’activer WDAC sont les mêmes à partir de la machine virtuelle.

WDAC protège contre les programmes malveillants en cours d’exécution dans la machine virtuelle invité. Il ne fournit aucune protection supplémentaire à partir de l’administrateur de l’hôte. À partir de l’hôte, vous pouvez désactiver WDAC pour une machine virtuelle :

Set-VMSecurity -VMName <VMName> -VirtualizationBasedSecurityOptOut $true

Conditions requises pour l’exécution de HVCI sur des ordinateurs virtuels Hyper-V

  • L’hôte Hyper-V doit exécuter au minimum WindowsServer2016 ou Windows10 version1607.
  • L’ordinateur virtuel Hyper-V doit être de Génération2 et exécuter au minimum WindowsServer2016 ou Windows10.
  • HVCI et la virtualisation imbriquée peuvent être activés en même temps. Pour activer le rôle HyperV sur l’ordinateur virtuel, vous devez d’abord installer le rôle HyperV dans un environnement Windows virtualisation imbriée.
  • Fibre Channel virtuel adaptateurs ne sont pas compatibles avec HVCI. Avant d’attacher une carte Fibre Channel virtuelle à une machine virtuelle, vous devez d’abord refuser la sécurité basée sur la virtualisation à l’aide Set-VMSecurity de .
  • L’option AllowFullSCSICommandSet pour les disques pass-through n’est pas compatible avec HVCI. Avant de configurer un disque pass-through avec AllowFullSCSICommandSet, vous devez d’abord refuser la sécurité basée sur la virtualisation à l’aide Set-VMSecurity de .