Condividi tramite


Funzione SetProcessMitigationPolicy (processthreadsapi.h)

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