Bagikan melalui


Pemeriksaan integritas kode

Integritas memori adalah fitur keamanan berbasis virtualisasi (VBS) yang tersedia di Windows 10, Windows 11, dan Windows Server 2016 dan yang lebih baru. Integritas memori dan VBS meningkatkan model ancaman Windows dan memberikan perlindungan yang lebih kuat terhadap malware yang mencoba mengeksploitasi kernel Windows. VBS menggunakan hypervisor Windows untuk membuat lingkungan virtual terisolasi yang menjadi akar kepercayaan OS yang mengasumsikan kernel dapat disusupi. Integritas memori adalah komponen penting yang melindungi dan mengeraskan Windows dengan menjalankan integritas kode mode kernel dalam lingkungan virtual VBS yang terisolasi. Integritas memori juga membatasi alokasi memori kernel yang dapat digunakan untuk membahayakan sistem, memastikan bahwa halaman memori kernel hanya dibuat dapat dieksekusi setelah melewati pemeriksaan integritas kode di dalam lingkungan runtime aman, dan halaman yang dapat dieksekusi sendiri tidak pernah dapat ditulis.

Catatan

Integritas memori terkadang disebut sebagai integritas kode yang dilindungi hypervisor (HVCI) atau integritas kode yang diberlakukan hypervisor, dan awalnya dirilis sebagai bagian dari Device Guard. Device Guard tidak lagi digunakan kecuali untuk menemukan integritas memori dan pengaturan VBS di Kebijakan Grup atau registri Windows.

Pemeriksaan integritas kode memastikan kompatibilitas dengan persyaratan penggunaan memori kernel integritas memori, dan mendeteksi pelanggaran berikut:

Kode kesalahan Masalah integritas kode
0x2000:
  • 2 - Alamat dalam kode driver tempat kesalahan terdeteksi.
  • 3 - Jenis Kumpulan.
  • 4 - Tag Kumpulan (jika disediakan).

Pemanggil menentukan jenis kumpulan yang dapat dieksekusi. (Diharapkan: NonPagedPoolNx)
0x2001:
  • 2 - Alamat dalam kode driver tempat kesalahan terdeteksi.
  • 3 - Perlindungan Halaman (WIN32_PROTECTION_MASK).
Pemanggil menentukan perlindungan halaman yang dapat dieksekusi. (Diharapkan: bit PAGE_EXECUTE* dihapus)
0x2002:
  • 2 - Alamat dalam kode driver tempat kesalahan terdeteksi.
  • 3 - Prioritas Halaman (MM_PAGE_PRIORITY secara logis OR'd dengan MdlMapping*).
Pemanggil menentukan pemetaan MDL yang dapat dieksekusi. (Diharapkan: MdlMappingNoExecute).
0x2003:
  • 2 - Nama file gambar (string Unicode).
  • 3 - Alamat header bagian.
  • 4 - Nama bagian (string yang dikodekan UTF-8).
Gambar berisi bagian yang dapat dieksekusi dan dapat ditulis.
0x2004:
  • 2 - Nama file gambar (string Unicode).
  • 3 - Alamat header bagian.
  • 4 - Nama bagian (string yang dikodekan UTF-8).
Gambar berisi bagian yang tidak diratakan halaman.
0x2005:
  • 2 - Nama file gambar (string Unicode).
  • 3 - Direktori IAT.
  • 4 - Nama bagian (string yang dikodekan UTF-8).
Gambar berisi IAT yang terletak di bagian yang dapat dieksekusi.

Mengaktifkan opsi ini:

Anda dapat mengaktifkan pemeriksaan integritas kode untuk satu atau beberapa driver dengan menggunakan Driver Verifier Manager atau baris perintah Verifier.exe. Untuk detailnya, lihat Memilih opsi pemverifikasi driver. Anda harus memulai ulang komputer untuk mengaktifkan atau menonaktifkan opsi pemeriksaan integritas kode.

  • Pada baris perintah

    Pada baris perintah, pemeriksaan integritas kode diwakili oleh 0x02000000 (Bit 25). Contohnya:

    verifier /flags 0x02000000 /driver MyDriver.sys

    Fitur ini akan aktif setelah boot berikutnya.

  • Menggunakan Driver Verifier Manager

  1. Mulai Driver Verifier Manager. Ketik Pemverifikasi di jendela Prompt Perintah.
  2. Pilih Buat pengaturan kustom (untuk pengembang kode) lalu klik Berikutnya.
  3. Pilih(periksa) pemeriksaan integritas kode.
  4. Mulai ulang komputer.

Menerapkan kode yang kompatibel dengan integritas memori