Activation du remapping DMA pour les pilotes de périphérique

Pour garantir la compatibilité avec la protection DMA du noyau et la stratégie DMAGuard, les pilotes de périphériques PCIe peuvent opter pour le remapping Direct Memory Access (DMA).

Le remapping DMA pour les pilotes de périphérique protège contre la corruption de la mémoire et les attaques DMA malveillantes, et offre un niveau de compatibilité plus élevé pour les appareils. En outre, les appareils avec des pilotes compatibles avec le remapping DMA peuvent démarrer et exécuter DMA, quel que soit l’état de l’écran de verrouillage.

Sur les systèmes compatibles avec la protection DMA du noyau, la stratégie DMAGuard peut bloquer les appareils, avec des pilotes incompatibles avec DMA, connectés à des ports PCIe exposés externes/(par exemple, M.2, Ethernet™), en fonction de la valeur de stratégie définie par l’administrateur système.

Conditions requises pour l’activation et l’inscription dans le remapping DMA

Les pilotes effectuent DMA à l’aide des interfaces suivantes :

Pour ajuster la stratégie de remapping DMA pour votre pilote, ajoutez une directive INF telle que la section d’installation du service suivante :

  [MyServiceInstall_AddReg]
  HKR,Parameters,DmaRemappingCompatible,0x00010001,1    ; where 1 = opt-in

Les valeurs valides pour DmaRemappingCompatible sont les suivantes :

Valeur Signification
0 Se désengager. Cela indique au système que votre pilote n’est pas compatible avec le remapping DMA.
1 Optez. Cela indique au système que votre pilote est entièrement compatible avec le remapping DMA.
2 Optez, mais seulement quand une ou plusieurs des conditions suivantes sont remplies : A. Si l’appareil est un appareil externe (par exemple, Tonnerre) ; B. Si la vérification DMA est activée dans le vérificateur de pilotes.
Aucune clé de Registre Laissez le système déterminer la stratégie.

Lorsque vous testez votre pilote, activez le vérificateur de pilotes. À des fins de test sous Driver Verifier, la valeur de la directive INF pour l’opting dans des appareils externes est promue à 1.

Utilisez la dernière version de Windows 10 avec VT-d/AMD-Vi activée pour tester les fonctionnalités du pilote sur les systèmes Intel x64 et AMD64.

Avertissement

Le remapping DMA n’est pas pris en charge pour les pilotes de périphériques graphiques.

La prise en charge de la version 3 est disponible uniquement sur Windows 11. Sur Windows 10, si vous spécifiez 3 dans l’inf, le système revient à la valeur 2.

Validation de l’activation du remapping DMA pour une instance de pilote de périphérique spécifique

Pour vérifier si un pilote spécifique a choisi le remapping DMA, recherchez dans Gestionnaire de périphériques, sous l’onglet Détails de l’appareil, les valeurs correspondant à la propriété de stratégie de remapping DMA. Un pilote peut interroger la propriété DEVPKEY_Device_DmaRemappingPolicy pour déterminer la fonctionnalité de remapping DMA de l’appareil. Consultez les valeurs de retour potentielles sur cette page et notez que ces valeurs de retour ne sont pas identiques aux valeurs de DmaRemappingCompatible répertoriées dans la section précédente.

Gestionnaire de périphériques’onglet Détails.

Remarque

Pour Windows 10, versions 1803 et 1809, le champ de propriété dans Gestionnaire de périphériques utilise un GUID {83da6326-97a6-4088-9453-a1923f573b29}[18]