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 |