Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Imposta un criterio di mitigazione per il processo chiamante. 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ò essere uno dei valori seguenti dell'enumerazione PROCESS_MITIGATION_POLICY .
| Value | Meaning |
|---|---|
| ProcessDEPPolicy | Criteri di prevenzione dell'esecuzione dei dati 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 | Criterio 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 dei criteri del codice dinamico. |
| 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 le 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 di disabilitazione della 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 contenere 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 di criteri di disabilitazione del punto di estensione. |
| ProcessControlFlowGuardPolicy | Criteri di 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 | I criteri di un processo che può limitare il caricamento delle immagini a quelle immagini firmate da Microsoft, da Windows Store o da Microsoft, Windows Store e 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 | Criteri relativi 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 dei tipi di carattere. |
| ProcessImageLoadPolicy | I criteri relativi al caricamento delle immagini per il processo, che determinano i tipi di immagini eseguibili di cui è possibile eseguire il mapping nel processo. Quando è attivata, le immagini non possono essere caricate da alcune posizioni, ad esempio i dispositivi remoti o i file con etichetta obbligatoria bassa. Il parametro lpBuffer punta a una struttura PROCESS_MITIGATION_IMAGE_LOAD_POLICY che specifica i flag dei criteri per il caricamento delle 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 successive: criteri relativi 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 dei criteri per l'isolamento del canale laterale. |
| ProcessUserShadowStackPolicy | Windows 10, versione 2004 e successive: i criteri relativi alla protezione dello stack applicata dall'utente 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 protezione stack applicata dall'hardware in modalità 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 delle immagini.
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 di 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 contenere 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 di 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 dei tipi 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 delle immagini.
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 dei criteri per La protezione dello stack applicata dall'hardware in modalità utente.
[in] dwLength
Dimensioni in byte di lpBuffer.
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.
Osservazioni:
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 garantire l'efficacia massima, i criteri di mitigazione devono essere applicati prima o durante l'inizializzazione del processo. Ad esempio, l'impostazione del criterio ASLR che consente la rilocazione forzata delle immagini è effettiva 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 l'applicazione.
Per compilare un'applicazione che usa questa funzione, impostare _WIN32_WINNT = 0x0602 >. Per altre informazioni, vedere Uso delle intestazioni di Windows.
Requisiti
| Requisito | Value |
|---|---|
| Client minimo supportato | Windows 8 [solo app desktop] |
| Server minimo supportato | Windows Server 2012 [solo app desktop] |
| Piattaforma di destinazione | Windows |
| Header | processthreadsapi.h |
| Library | Kernel32.lib |
| DLL | Kernel32.dll |