Funzione SetProcessMitigationPolicy (processthreadsapi.h)

Imposta un criterio di mitigazione per il processo di chiamata. I criteri di mitigazione consentono a un processo di protezione avanzata contro vari tipi di attacchi.

Sintassi

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

Parametri

[in] MitigationPolicy

Criteri di mitigazione da applicare. Questo parametro può avere uno dei valori seguenti.

Valore Significato
ProcessDEPPolicy Criterio di prevenzione dell'esecuzione dei dati (DEP) del processo.
Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_DEP_POLICY che specifica i flag dei criteri DEP.
ProcessASLRPolicy Criterio asLR (Address Space Layout Randomization) del processo.
Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_ASLR_POLICY che specifica i flag dei criteri ASLR.
ProcessDynamicCodePolicy Criteri di codice dinamico del processo. Quando attivato, il processo non può generare codice dinamico o modificare il codice eseguibile esistente.
Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_DYNAMIC_CODE_POLICY che specifica i flag di criteri di codice dinamici.
ProcessStrictHandleCheckPolicy Il processo riceverà un errore irreversibile se modifica un handle non valido.
Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY che specifica i flag dei criteri di controllo dell'handle.
ProcessSystemCallDisablePolicy Disabilita la possibilità di usare funzioni NTUser/GDI al livello più basso.
Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY che specifica i flag di criteri disabilitati dalla chiamata di sistema.
ProcessMitigationOptionsMask Restituisce la maschera di bit validi per tutte le opzioni di mitigazione nel sistema. Un'applicazione può impostare molte opzioni di mitigazione senza eseguire query sul sistema operativo per le opzioni di mitigazione combinando bit per bit con la maschera per escludere tutti i bit non supportati contemporaneamente.
Il parametro lpBuffer punta a un vettore di bit ULONG64 per la maschera o per ospitare più di 64 bit, una matrice a due elementi di vettori di bit ULONG64 .
ProcessExtensionPointDisablePolicy Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY che specifica i flag dei criteri disabilitati dal punto di estensione.
ProcessControlFlowGuardPolicy Criterio Control Flow Guard (CFG) del processo.
Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY che specifica i flag dei criteri CFG.
ProcessSignaturePolicy Criteri di un processo che può limitare il caricamento delle immagini a quelle immagini firmate da Microsoft, da Windows Store o da Microsoft, da Windows Store e da Windows Hardware Quality Labs (WHQL).
il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY che specifica i flag dei criteri di firma.
ProcessFontDisablePolicy Criterio relativo al caricamento dei tipi di carattere per il processo. Quando attivato, il processo non può caricare tipi di carattere non di sistema.
Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_FONT_DISABLE_POLICY che specifica i flag dei criteri per il caricamento del tipo di carattere.
ProcessImageLoadPolicy I criteri relativi al caricamento delle immagini per il processo, che determina i tipi di immagini eseguibili che possono essere mappate al processo. Quando è attivata, le immagini non possono essere caricate da alcune posizioni, ad esempio dispositivi o file remoti con l'etichetta obbligatoria bassa.
Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_IMAGE_LOAD_POLICY che specifica i flag dei criteri per il caricamento di immagini.
ProcessRedirectionTrustPolicy Criterio RedirectionGuard di un processo. Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY che specifica la modalità di mitigazione.
ProcessSideChannelIsolationPolicy Windows 10, versione 1809 e versioni successive: criterio relativo all'isolamento dei canali laterali per il processo specificato.
Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY che specifica i flag di criteri per l'isolamento del canale laterale.
ProcessUserShadowStackPolicy Windows 10, versione 2004 e versioni successive: i criteri relativi alla protezione dello stack in modalità utente per il processo.
Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY che specifica i flag di criteri per La protezione dello stack applicata dall'utente.

[in] lpBuffer

Se il parametro MitigationPolicy è ProcessDEPPolicy, questo parametro punta a una struttura PROCESS_MITIGATION_DEP_POLICY che specifica i flag dei criteri DEP.

Se il parametro MitigationPolicy è ProcessASLRPolicy, questo parametro punta a una struttura PROCESS_MITIGATION_ASLR_POLICY che specifica i flag dei criteri ASLR.

Se il parametro MitigationPolicy è ProcessImageLoadPolicy, questo parametro punta a una struttura PROCESS_MITIGATION_IMAGE_LOAD_POLICY che riceve i flag dei criteri per il caricamento dell'immagine.

Se il parametro MitigationPolicy è ProcessStrictHandleCheckPolicy, questo parametro punta a una struttura PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY che specifica i flag dei criteri di controllo dell'handle.

Se il parametro MitigationPolicy è ProcessSystemCallDisablePolicy, questo parametro punta a una struttura PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY che specifica i flag dei criteri di disabilitazione della chiamata di sistema.

Se il parametro MitigationPolicy è ProcessMitigationOptionsMask, questo parametro punta a un vettore di bit ULONG64 per la maschera o per ospitare più di 64 bit, una matrice a due elementi di vettori di bit ULONG64 .

Se il parametro MitigationPolicy è ProcessExtensionPointDisablePolicy, questo parametro punta a una struttura PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY che specifica i flag dei criteri di disabilitazione del punto di estensione.

Se il parametro MitigationPolicy è ProcessControlFlowGuardPolicy, questo parametro punta a una struttura PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY che specifica i flag dei criteri CFG.

Se il parametro MitigationPolicy è ProcessSignaturePolicy, questo parametro punta a una struttura PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY che specifica i flag dei criteri di firma.

Se il parametro MitigationPolicy è ProcessFontDisablePolicy, questo parametro punta a una struttura PROCESS_MITIGATION_FONT_DISABLE_POLICY che specifica i flag dei criteri per il caricamento del tipo di carattere.

Se il parametro MitigationPolicy è ProcessImageLoadPolicy, questo parametro punta a una struttura PROCESS_MITIGATION_IMAGE_LOAD_POLICY che specifica i flag dei criteri per il caricamento dell'immagine.

Se il parametro MitigationPolicy è ProcessRedirectionTrustPolicy, questo parametro punta a una struttura PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY che specifica la modalità di mitigazione.

Se il parametro MitigationPolicy è ProcessUserShadowStackPolicy, questo parametro punta a una struttura PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY che specifica i flag di criteri per La protezione dello stack applicata dall'utente.

[in] dwLength

Dimensioni di lpBuffer, in byte.

Valore restituito

Se la funzione ha esito positivo, restituisce TRUE. Se la funzione ha esito negativo, restituisce FALSE. Per recuperare i valori di errore definiti per questa funzione, chiamare GetLastError.

Commenti

L'impostazione dei criteri di mitigazione per un processo consente di impedire a un utente malintenzionato di sfruttare le vulnerabilità di sicurezza. Usare la funzione SetProcessMitigationPolicy per abilitare o disabilitare la mitigazione della sicurezza a livello di codice.

Per un'efficacia massima, i criteri di mitigazione devono essere applicati prima o durante l'inizializzazione del processo. Ad esempio, l'impostazione dei criteri ASLR che consente la rilocazione forzata delle immagini è efficace solo se viene applicata prima che tutte le immagini in un processo siano state caricate.

I criteri di mitigazione ASLR non possono essere resi meno restrittivi dopo che sono stati applicati.

Per compilare un'applicazione che usa questa funzione, impostare _WIN32_WINNT = 0x0602 >. Per altre informazioni, vedere Uso delle intestazioni di Windows.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione processthreadsapi.h
Libreria Kernel32.lib
DLL Kernel32.dll