SetProcessMitigationPolicy, fonction (processthreadsapi.h)

Définit une stratégie d’atténuation pour le processus d’appel. Les stratégies d’atténuation permettent à un processus de se renforcer contre différents types d’attaques.

Syntaxe

BOOL SetProcessMitigationPolicy(
  [in] PROCESS_MITIGATION_POLICY MitigationPolicy,
  [in] PVOID                     lpBuffer,
  [in] SIZE_T                    dwLength
);

Paramètres

[in] MitigationPolicy

Stratégie d’atténuation à appliquer. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
ProcessDEPPolicy Stratégie de prévention de l’exécution des données (DEP) du processus.
Le paramètre lpBuffer pointe vers une structure PROCESS_MITIGATION_DEP_POLICY qui spécifie les indicateurs de stratégie DEP.
ProcessASLRPolicy Stratégie de randomisation de la disposition de l’espace d’adressage (ASLR) du processus.
Le paramètre lpBuffer pointe vers une structure PROCESS_MITIGATION_ASLR_POLICY qui spécifie les indicateurs de stratégie ASLR.
ProcessDynamicCodePolicy Stratégie de code dynamique du processus. Lorsqu’il est activé, le processus ne peut pas générer de code dynamique ni modifier le code exécutable existant.
Le paramètre lpBuffer pointe vers une structure PROCESS_MITIGATION_DYNAMIC_CODE_POLICY qui spécifie les indicateurs de stratégie de code dynamique.
ProcessStrictHandleCheckPolicy Le processus reçoit une erreur irrécupérable s’il manipule un handle qui n’est pas valide.
Le paramètre lpBuffer pointe vers une structure PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY qui spécifie le handle case activée indicateurs de stratégie.
ProcessSystemCallDisablePolicy Désactive la possibilité d’utiliser les fonctions NTUser/GDI au niveau de la couche la plus basse.
Le paramètre lpBuffer pointe vers une structure PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY qui spécifie les indicateurs de stratégie de désactivation de l’appel système.
ProcessMitigationOptionsMask Retourne le masque des bits valides pour toutes les options d’atténuation sur le système. Une application peut définir de nombreuses options d’atténuation sans interroger le système d’exploitation pour les options d’atténuation en combinant le bit avec le masque pour exclure tous les bits non pris en charge à la fois.
Le paramètre lpBuffer pointe vers un vecteur de bits ULONG64 pour le masque, ou pour prendre en charge plus de 64 bits, un tableau à deux éléments de vecteurs ULONG64 bits.
ProcessExtensionPointDisablePolicy Le paramètre lpBuffer pointe vers une structure de PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY qui spécifie les indicateurs de stratégie de désactivation du point d’extension.
ProcessControlFlowGuardPolicy Stratégie CFG (Control Flow Guard) du processus.
Le paramètre lpBuffer pointe vers une structure PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY qui spécifie les indicateurs de stratégie CFG.
ProcessSignaturePolicy Stratégie d’un processus qui peut limiter le chargement d’images aux images signées par Microsoft, par le Windows Store ou par Microsoft, le Windows Store et les laboratoires de qualité matérielle Windows (WHQL).
le paramètre he lpBuffer pointe vers une structure PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY qui spécifie les indicateurs de stratégie de signature.
ProcessFontDisablePolicy Stratégie concernant le chargement des polices pour le processus. Lorsqu’il est activé, le processus ne peut pas charger les polices non système.
Le paramètre lpBuffer pointe vers une structure PROCESS_MITIGATION_FONT_DISABLE_POLICY qui spécifie les indicateurs de stratégie pour le chargement des polices.
ProcessImageLoadPolicy Stratégie concernant le chargement d’images pour le processus, qui détermine les types d’images exécutables autorisées à être mappées dans le processus. Lorsqu’elle est activée, les images ne peuvent pas être chargées à partir de certains emplacements, par exemple des appareils distants ou des fichiers dont l’étiquette est faible.
Le paramètre lpBuffer pointe vers une structure PROCESS_MITIGATION_IMAGE_LOAD_POLICY qui spécifie les indicateurs de stratégie pour le chargement d’images.
ProcessRedirectionTrustPolicy Stratégie RedirectionGuard d’un processus. Le paramètre lpBuffer pointe vers une structure PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY qui spécifie le mode d’atténuation.
ProcessSideChannelIsolationPolicy Windows 10, version 1809 et versions ultérieures : stratégie concernant l’isolation des canaux latéraux pour le processus spécifié.
Le paramètre lpBuffer pointe vers une structure de PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY qui spécifie les indicateurs de stratégie pour l’isolation du canal latéral.
ProcessUserShadowStackPolicy Windows 10, version 2004 et ultérieures : stratégie concernant la protection de la pile appliquée par le matériel en mode utilisateur pour le processus.
Le paramètre lpBuffer pointe vers une structure de PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY qui spécifie les indicateurs de stratégie pour la protection de la pile appliquée par le matériel en mode utilisateur.

[in] lpBuffer

Si le paramètre MitigationPolicy est ProcessDEPPolicy, ce paramètre pointe vers une structure PROCESS_MITIGATION_DEP_POLICY qui spécifie les indicateurs de stratégie DEP.

Si le paramètre MitigationPolicy est ProcessASLRPolicy, ce paramètre pointe vers une structure PROCESS_MITIGATION_ASLR_POLICY qui spécifie les indicateurs de stratégie ASLR.

Si le paramètre MitigationPolicy est ProcessImageLoadPolicy, ce paramètre pointe vers une structure PROCESS_MITIGATION_IMAGE_LOAD_POLICY qui reçoit les indicateurs de stratégie pour le chargement d’images.

Si le paramètre MitigationPolicy est ProcessStrictHandleCheckPolicy, ce paramètre pointe vers une structure de PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY qui spécifie le handle case activée indicateurs de stratégie.

Si le paramètre MitigationPolicy est ProcessSystemCallDisablePolicy, ce paramètre pointe vers une structure de PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY qui spécifie les indicateurs de stratégie de désactivation de l’appel système.

Si le paramètre MitigationPolicy est ProcessMitigationOptionsMask, ce paramètre pointe vers un vecteur de bits ULONG64 pour le masque, ou pour prendre en charge plus de 64 bits, un tableau à deux éléments de vecteurs ULONG64 bits.

Si le paramètre MitigationPolicy est ProcessExtensionPointDisablePolicy, ce paramètre pointe vers une structure PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY qui spécifie les indicateurs de stratégie de désactivation du point d’extension.

Si le paramètre MitigationPolicy est ProcessControlFlowGuardPolicy, ce paramètre pointe vers une structure PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY qui spécifie les indicateurs de stratégie CFG.

Si le paramètre MitigationPolicy est ProcessSignaturePolicy, ce paramètre pointe vers une structure PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY qui spécifie les indicateurs de stratégie de signature.

Si le paramètre MitigationPolicy est ProcessFontDisablePolicy, ce paramètre pointe vers une structure PROCESS_MITIGATION_FONT_DISABLE_POLICY qui spécifie les indicateurs de stratégie pour le chargement des polices.

Si le paramètre MitigationPolicy est ProcessImageLoadPolicy, ce paramètre pointe vers une structure PROCESS_MITIGATION_IMAGE_LOAD_POLICY qui spécifie les indicateurs de stratégie pour le chargement d’images.

Si le paramètre MitigationPolicy est ProcessRedirectionTrustPolicy, ce paramètre pointe vers une structure PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY qui spécifie le mode d’atténuation.

Si le paramètre MitigationPolicy est ProcessUserShadowStackPolicy, ce paramètre pointe vers une structure de PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY qui spécifie les indicateurs de stratégie pour la protection de la pile en mode utilisateur appliquée par le matériel.

[in] dwLength

Taille de lpBuffer, en octets.

Valeur retournée

Si la fonction réussit, elle retourne TRUE. Si la fonction échoue, elle retourne FALSE. Pour récupérer les valeurs d’erreur définies pour cette fonction, appelez GetLastError.

Remarques

La définition d’une stratégie d’atténuation pour un processus permet d’empêcher un attaquant d’exploiter les failles de sécurité. Utilisez la fonction SetProcessMitigationPolicy pour activer ou désactiver l’atténuation de la sécurité par programme.

Pour une efficacité maximale, les stratégies d’atténuation doivent être appliquées avant ou pendant l’initialisation du processus. Par exemple, la définition de la stratégie ASLR qui permet le déplacement forcé des images n’est efficace que si elle est appliquée avant que toutes les images d’un processus aient été chargées.

Les stratégies d’atténuation ASLR ne peuvent pas être rendues moins restrictives une fois qu’elles ont été appliquées.

Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT >= 0x0602. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête processthreadsapi.h
Bibliothèque Kernel32.lib
DLL Kernel32.dll