Função SetProcessMitigationPolicy (processthreadsapi.h)
Define uma política de mitigação para o processo de chamada. As políticas de mitigação permitem que um processo se proteja contra vários tipos de ataques.
Sintaxe
BOOL SetProcessMitigationPolicy(
[in] PROCESS_MITIGATION_POLICY MitigationPolicy,
[in] PVOID lpBuffer,
[in] SIZE_T dwLength
);
Parâmetros
[in] MitigationPolicy
A política de mitigação a ser aplicada. Esse parâmetro pode usar um dos valores a seguir.
Valor | Significado |
---|---|
ProcessDEPPolicy | A política de prevenção de execução de dados (DEP) do processo. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_DEP_POLICY que especifica os sinalizadores de política de DEP. |
ProcessASLRPolicy | A política aslrização de layout de espaço de endereço (ASLR) do processo. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_ASLR_POLICY que especifica os sinalizadores de política ASLR. |
ProcessDynamicCodePolicy | A política de código dinâmico do processo. Quando ativado, o processo não pode gerar código dinâmico ou modificar o código executável existente. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_DYNAMIC_CODE_POLICY que especifica os sinalizadores de política de código dinâmico. |
ProcessStrictHandleCheckPolicy | O processo receberá um erro fatal se manipular um identificador que não é válido. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY que especifica o identificador marcar sinalizadores de política. |
ProcessSystemCallDisablePolicy | Desabilita a capacidade de usar funções NTUser/GDI na camada mais baixa. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY que especifica a chamada do sistema desabilitar sinalizadores de política. |
ProcessMitigationOptionsMask | Retorna a máscara de bits válidos para todas as opções de mitigação no sistema. Um aplicativo pode definir muitas opções de mitigação sem consultar o sistema operacional para opções de mitigação combinando bit a bit com a máscara para excluir todos os bits sem suporte ao mesmo tempo. O parâmetro lpBuffer aponta para um vetor de ULONG64 bits para a máscara ou para acomodar mais de 64 bits, uma matriz de dois elementos de vetores de ULONG64 bits. |
ProcessExtensionPointDisablePolicy | O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY que especifica os sinalizadores de política de desabilitação do ponto de extensão. |
ProcessControlFlowGuardPolicy | A política do CFG (Control Flow Guard) do processo. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY que especifica os sinalizadores de política cfg. |
ProcessSignaturePolicy | A política de um processo que pode restringir o carregamento de imagens a essas imagens assinadas pela Microsoft, pela Windows Store ou pela Microsoft, pela Windows Store e pelo WHQL (Windows Hardware Quality Labs). o parâmetro he lpBuffer aponta para uma estrutura PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY que especifica os sinalizadores de política de assinatura. |
ProcessFontDisablePolicy | A política referente ao carregamento de fontes para o processo. Quando ativado, o processo não pode carregar fontes que não sejam do sistema. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_FONT_DISABLE_POLICY que especifica os sinalizadores de política para carregamento de fontes. |
ProcessImageLoadPolicy | A política relativa ao carregamento de imagens para o processo, que determina os tipos de imagens executáveis que têm permissão para serem mapeadas para o processo. Quando ativadas, as imagens não podem ser carregadas de alguns locais, como dispositivos remotos ou arquivos que têm o rótulo de baixa obrigatória. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_IMAGE_LOAD_POLICY que especifica os sinalizadores de política para carregamento de imagem. |
ProcessRedirectionTrustPolicy | A política RedirectionGuard de um processo. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY que especifica o modo de mitigação. |
ProcessSideChannelIsolationPolicy | Windows 10, versão 1809 e superiores: a política relativa ao isolamento de canais laterais para o processo especificado. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY que especifica os sinalizadores de política para isolamento de canal lateral. |
ProcessUserShadowStackPolicy | Windows 10, versão 2004 e superior: a política relativa ao modo de usuário Proteção contra Pilha imposta por hardware para o processo. O parâmetro lpBuffer aponta para uma estrutura de PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY que especifica os sinalizadores de política para o modo de usuário Proteção contra Pilha imposta por hardware. |
[in] lpBuffer
Se o parâmetro MitigationPolicy for ProcessDEPPolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_DEP_POLICY que especifica os sinalizadores de política de DEP.
Se o parâmetro MitigationPolicy for ProcessASLRPolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_ASLR_POLICY que especifica os sinalizadores de política ASLR.
Se o parâmetro MitigationPolicy for ProcessImageLoadPolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_IMAGE_LOAD_POLICY que recebe os sinalizadores de política para carregamento de imagem.
Se o parâmetro MitigationPolicy for ProcessStrictHandleCheckPolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY que especifica o identificador marcar sinalizadores de política.
Se o parâmetro MitigationPolicy for ProcessSystemCallDisablePolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY que especifica a chamada do sistema desabilitar sinalizadores de política.
Se o parâmetro MitigationPolicy for ProcessMitigationOptionsMask, esse parâmetro apontará para um vetor de bits ULONG64 para a máscara ou para acomodar mais de 64 bits, uma matriz de dois elementos de vetores de ULONG64 bits.
Se o parâmetro MitigationPolicy for ProcessExtensionPointDisablePolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY que especifica os sinalizadores de política de desabilitação do ponto de extensão.
Se o parâmetro MitigationPolicy for ProcessControlFlowGuardPolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY que especifica os sinalizadores de política cfg.
Se o parâmetro MitigationPolicy for ProcessSignaturePolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY que especifica os sinalizadores de política de assinatura.
Se o parâmetro MitigationPolicy for ProcessFontDisablePolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_FONT_DISABLE_POLICY que especifica os sinalizadores de política para carregamento de fontes.
Se o parâmetro MitigationPolicy for ProcessImageLoadPolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_IMAGE_LOAD_POLICY que especifica os sinalizadores de política para carregamento de imagem.
Se o parâmetro MitigationPolicy for ProcessRedirectionTrustPolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY que especifica o modo de mitigação.
Se o parâmetro MitigationPolicy for ProcessUserShadowStackPolicy, esse parâmetro apontará para uma estrutura PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY que especifica os sinalizadores de política para o modo de usuário Proteção contra Pilha imposta por hardware.
[in] dwLength
O tamanho do lpBuffer, em bytes.
Retornar valor
Se a função for bem-sucedida, ela retornará TRUE. Se a função falhar, ela retornará FALSE. Para recuperar valores de erro definidos para essa função, chame GetLastError.
Comentários
Definir a política de mitigação para um processo ajuda a impedir que um invasor explore vulnerabilidades de segurança. Use a função SetProcessMitigationPolicy para habilitar ou desabilitar a mitigação de segurança programaticamente.
Para a eficácia máxima, as políticas de mitigação devem ser aplicadas antes ou durante a inicialização do processo. Por exemplo, definir a política ASLR que permite a realocação forçada de imagens só será eficaz se ela for aplicada antes que todas as imagens em um processo tenham sido carregadas.
As políticas de mitigação do ASLR não podem ser menos restritivas depois de serem aplicadas.
Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT >= 0x0602. Para obter mais informações, consulte Usando os cabeçalhos do Windows.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | processthreadsapi.h |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |