Fungsi SetProcessMitigationPolicy (processthreadsapi.h)
Menetapkan kebijakan mitigasi untuk proses panggilan. Kebijakan mitigasi memungkinkan proses untuk memperkuat dirinya terhadap berbagai jenis serangan.
Sintaks
BOOL SetProcessMitigationPolicy(
[in] PROCESS_MITIGATION_POLICY MitigationPolicy,
[in] PVOID lpBuffer,
[in] SIZE_T dwLength
);
Parameter
[in] MitigationPolicy
Kebijakan mitigasi yang akan diterapkan. Parameter ini bisa menjadi salah satu nilai berikut.
Nilai | Makna |
---|---|
ProcessDEPPolicy | Kebijakan pencegahan eksekusi data (DEP) proses. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_DEP_POLICY yang menentukan bendera kebijakan DEP. |
ProcessASLRPolicy | Kebijakan Pengacakan Tata Letak Ruang Alamat (ASLR) proses. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_ASLR_POLICY yang menentukan bendera kebijakan ASLR. |
ProcessDynamicCodePolicy | Kebijakan kode dinamis proses. Saat diaktifkan, proses tidak dapat menghasilkan kode dinamis atau memodifikasi kode yang dapat dieksekusi yang ada. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_DYNAMIC_CODE_POLICY yang menentukan bendera kebijakan kode dinamis. |
ProcessStrictHandleCheckPolicy | Proses ini akan menerima kesalahan fatal jika memanipulasi handel yang tidak valid. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY yang menentukan bendera kebijakan pemeriksaan handel. |
ProcessSystemCallDisablePolicy | Menonaktifkan kemampuan untuk menggunakan fungsi NTUser/GDI pada lapisan terendah. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY yang menentukan bendera kebijakan penonaktifan panggilan sistem. |
ProcessMitigationOptionsMask | Mengembalikan masker bit yang valid untuk semua opsi mitigasi pada sistem. Aplikasi dapat mengatur banyak opsi mitigasi tanpa mengkueri sistem operasi untuk opsi mitigasi dengan menggabungkan bitwise dengan masker untuk mengecualikan semua bit yang tidak didukung sekaligus. Parameter lpBuffer menunjuk ke vektor bit ULONG64 untuk masker, atau untuk mengakomodasi lebih dari 64 bit, array dua elemen vektor ULONG64 bit. |
ProcessExtensionPointDisablePolicy | Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY yang menentukan bendera kebijakan penonaktifan titik ekstensi. |
ProcessControlFlowGuardPolicy | Kebijakan Control Flow Guard (CFG) dari proses tersebut. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY yang menentukan bendera kebijakan CFG. |
ProcessSignaturePolicy | Kebijakan proses yang dapat membatasi pemuatan gambar ke gambar yang ditandatangani oleh Microsoft, oleh Windows Store, atau oleh Microsoft, Windows Store dan Windows Hardware Quality Labs (WHQL). parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY yang menentukan bendera kebijakan tanda tangan. |
ProcessFontDisablePolicy | Kebijakan mengenai pemuatan font untuk proses tersebut. Ketika diaktifkan, proses tidak dapat memuat font non-sistem. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_FONT_DISABLE_POLICY yang menentukan bendera kebijakan untuk pemuatan font. |
ProcessImageLoadPolicy | Kebijakan mengenai pemuatan gambar untuk proses, yang menentukan jenis gambar yang dapat dieksekusi yang diizinkan untuk dipetakan ke dalam proses. Saat diaktifkan, gambar tidak dapat dimuat dari beberapa lokasi, seperti perangkat jarak jauh atau file yang memiliki label wajib rendah. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_IMAGE_LOAD_POLICY yang menentukan bendera kebijakan untuk pemuatan gambar. |
ProcessRedirectionTrustPolicy | Kebijakan RedirectionGuard dari sebuah proses. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY yang menentukan mode mitigasi. |
ProcessSideChannelIsolationPolicy | Windows 10, versi 1809 ke atas: Kebijakan mengenai isolasi saluran samping untuk proses yang ditentukan. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY yang menentukan bendera kebijakan untuk isolasi saluran samping. |
ProcessUserShadowStackPolicy | Windows 10, versi 2004 ke atas: Kebijakan mengenai Perlindungan Tumpukan yang diberlakukan perangkat keras mode pengguna untuk proses tersebut. Parameter lpBuffer menunjuk ke struktur PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY yang menentukan bendera kebijakan untuk Perlindungan Tumpukan yang diberlakukan Perangkat Keras mode pengguna. |
[in] lpBuffer
Jika parameter MitigationPolicy adalah ProcessDEPPolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_DEP_POLICY yang menentukan bendera kebijakan DEP.
Jika parameter MitigationPolicy adalah ProcessASLRPolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_ASLR_POLICY yang menentukan bendera kebijakan ASLR.
Jika parameter MitigationPolicy adalah ProcessImageLoadPolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_IMAGE_LOAD_POLICY yang menerima bendera kebijakan untuk pemuatan gambar.
Jika parameter MitigationPolicy adalah ProcessStrictHandleCheckPolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY yang menentukan bendera kebijakan pemeriksaan handel.
Jika parameter MitigationPolicy adalah ProcessSystemCallDisablePolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY yang menentukan bendera kebijakan penonaktifan panggilan sistem.
Jika parameter MitigationPolicy adalah ProcessMitigationOptionsMask, parameter ini menunjuk ke vektor bit ULONG64 untuk masker, atau untuk mengakomodasi lebih dari 64 bit, array dua elemen dari vektor bit ULONG64 .
Jika parameter MitigationPolicy adalah ProcessExtensionPointDisablePolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY yang menentukan bendera kebijakan penonaktifan titik ekstensi.
Jika parameter MitigationPolicy adalah ProcessControlFlowGuardPolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY yang menentukan bendera kebijakan CFG.
Jika parameter MitigationPolicy adalah ProcessSignaturePolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY yang menentukan bendera kebijakan tanda tangan.
Jika parameter MitigationPolicy adalah ProcessFontDisablePolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_FONT_DISABLE_POLICY yang menentukan bendera kebijakan untuk pemuatan font.
Jika parameter MitigationPolicy adalah ProcessImageLoadPolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_IMAGE_LOAD_POLICY yang menentukan bendera kebijakan untuk pemuatan gambar.
Jika parameter MitigationPolicy adalah ProcessRedirectionTrustPolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY yang menentukan mode mitigasi.
Jika parameter MitigationPolicy adalah ProcessUserShadowStackPolicy, parameter ini menunjuk ke struktur PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY yang menentukan bendera kebijakan untuk Perlindungan Tumpukan yang diberlakukan Perangkat Keras mode pengguna.
[in] dwLength
Ukuran lpBuffer, dalam byte.
Mengembalikan nilai
Jika fungsi berhasil, fungsi akan mengembalikan TRUE. Jika fungsi gagal, fungsi akan mengembalikan FALSE. Untuk mengambil nilai kesalahan yang ditentukan untuk fungsi ini, panggil GetLastError.
Keterangan
Mengatur kebijakan mitigasi untuk proses membantu mencegah penyerang mengeksploitasi kerentanan keamanan. Gunakan fungsi SetProcessMitigationPolicy untuk mengaktifkan atau menonaktifkan mitigasi keamanan secara terprogram.
Untuk efektivitas maksimum, kebijakan mitigasi harus diterapkan sebelum atau selama inisialisasi proses. Misalnya, mengatur kebijakan ASLR yang memungkinkan relokasi paksa gambar hanya efektif jika diterapkan sebelum semua gambar dalam proses telah dimuat.
Kebijakan mitigasi ASLR tidak dapat dibuat kurang ketat setelah diterapkan.
Untuk mengkompilasi aplikasi yang menggunakan fungsi ini, atur _WIN32_WINNT >= 0x0602. Untuk informasi selengkapnya, lihat Menggunakan Header Windows.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 8 [khusus aplikasi desktop] |
Server minimum yang didukung | Windows Server 2012 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | processthreadsapi.h |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk