Keamanan berbasis virtualisasi (VBS)

Keamanan berbasis virtualisasi, atau VBS, menggunakan virtualisasi perangkat keras dan hypervisor Windows untuk membuat lingkungan virtual terisolasi yang menjadi akar kepercayaan OS yang mengasumsikan kernel dapat disusupi. Windows menggunakan lingkungan terisolasi ini untuk menghosting sejumlah solusi keamanan, memberi mereka perlindungan yang sangat meningkat dari kerentanan dalam sistem operasi, dan mencegah penggunaan eksploitasi berbahaya yang mencoba mengalahkan perlindungan. VBS memberlakukan pembatasan untuk melindungi sistem vital dan sumber daya sistem operasi, atau untuk melindungi aset keamanan seperti kredensial pengguna yang diautentikasi.

Salah satu contoh solusi keamanan tersebut adalah integritas memori, yang melindungi dan mengeraskan Windows dengan menjalankan integritas kode mode kernel dalam lingkungan virtual VBS yang terisolasi. Integritas kode mode kernel adalah proses Windows yang memeriksa semua driver dan biner mode kernel sebelum dimulai, dan mencegah driver atau file sistem yang tidak ditandatangani atau tidak tepercaya dimuat ke dalam memori sistem. 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. Dengan begitu, bahkan jika ada kerentanan seperti luapan buffer yang memungkinkan malware untuk mencoba memodifikasi memori, halaman kode yang dapat dieksekusi tidak dapat dimodifikasi, dan memori yang dimodifikasi tidak dapat dieksekusi.

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 dalam Kebijakan Grup atau registri Windows.

VBS mengharuskan komponen berikut hadir dan dikonfigurasi dengan benar.

Harap perhatikan bahwa TPM bukan persyaratan yang harus, tetapi kami sangat menyarankan untuk menerapkan TPM.

Persyaratan perangkat keras Detail
CPU 64-bit Keamanan berbasis virtualisasi (VBS) memerlukan hypervisor Windows, yang hanya didukung pada prosesor IA 64-bit dengan ekstensi virtualisasi, termasuk Intel VT-X dan AMD-v.
Terjemahan Alamat Tingkat Kedua (SLAT) VBS juga mengharuskan dukungan virtualisasi prosesor mencakup Second Level Address Translation (SLAT), baik Intel VT-X2 dengan Extended Page Tables (EPT), atau AMD-v dengan Rapid Virtualization Indexing (RVI).
IOMMUs atau SMMUs (Intel VT-D, AMD-Vi, Arm64 SMMUs) Semua perangkat I/O yang mampu DMA harus berada di belakang IOMMU atau SMMU. IOMMU dapat digunakan untuk meningkatkan ketahanan sistem terhadap serangan memori.
Modul Platform Tepercaya (TPM) 2.0 TPM, baik diskrit atau firmware, sudah cukup. Untuk informasi selengkapnya, lihat Modul Platform Tepercaya (TPM) 2.0.
Dukungan firmware untuk perlindungan SMM Firmware sistem harus mematuhi rekomendasi untuk pengerasan kode SMM yang dijelaskan dalam spesifikasi Windows SMM Security Mitigations Table (WMST). Spesifikasi WSMT berisi detail tabel ACPI yang dibuat untuk digunakan dengan sistem operasi Windows yang mendukung fitur VBS. Firmware harus menerapkan perlindungan yang dijelaskan dalam spesifikasi WSMT, dan mengatur bendera perlindungan yang sesuai seperti yang dijelaskan dalam spesifikasi untuk melaporkan kepatuhan terhadap persyaratan ini ke sistem operasi.
Pelaporan Memori Unified Extensible Firmware Interface (UEFI) Firmware UEFI harus mematuhi format pelaporan peta memori berikut dan pedoman alokasi memori agar firmware dapat memastikan kompatibilitas dengan VBS.

  • Tabel Atribut Memori (MAT) UEFI v2.6 - Untuk memastikan kompatibilitas dengan VBS, firmware harus memisahkan rentang memori runtime EFI dengan bersih untuk kode dan data, dan melaporkannya ke sistem operasi. Pemisahan dan pelaporan rentang memori runtime EFI yang tepat memungkinkan VBS menerapkan perlindungan halaman yang diperlukan ke halaman kode layanan runtime EFI dalam wilayah aman VBS. Menyampaikan informasi ini ke OS dicapai menggunakan EFI_MEMORY_ATTRIBUTES_TABLE. Untuk menerapkan UEFI MAT, ikuti panduan berikut:
    1. Seluruh runtime EFI harus dijelaskan oleh tabel ini.
    2. Semua atribut yang sesuai untuk halaman EfiRuntimeServicesData dan EfiRuntimeServicesCode harus ditandai.
    3. Rentang ini harus diratakan pada batas halaman (4KB), dan tidak dapat tumpang tindih.
  • Perlindungan Halaman EFI -Semua entri harus menyertakan atribut EFI_MEMORY_RO, EFI_MEMORY_XP, atau keduanya. Semua memori UEFI yang ditandai dapat dieksekusi harus dibaca saja. Memori yang ditandai bisa-tulis tidak boleh dapat dieksekusi. Entri mungkin tidak dibiarkan dengan tidak ada atribut yang ditetapkan, menunjukkan memori yang dapat dieksekusi dan dapat ditulis.
  • Revisi Permintaan Timpa Memori Aman (MOR) 2 Secure MOR v2 ditingkatkan untuk melindungi pengaturan kunci MOR menggunakan variabel aman UEFI. Ini membantu melindungi dari serangan memori tingkat lanjut. Untuk detailnya, lihat Implementasi Secure MOR.
    Driver yang kompatibel dengan integritas memori Pastikan semua driver sistem telah diuji dan diverifikasi agar kompatibel dengan integritas memori. Windows Driver Kit dan Driver Verifier berisi pengujian untuk kompatibilitas driver dengan integritas memori. Ada tiga langkah untuk memverifikasi kompatibilitas driver:
    1. Gunakan Pemverifikasi Driver dengan pemeriksaan kompatibilitas Integritas Kode diaktifkan.
    2. Jalankan Uji Kesiapan Integritas Kode Hypervisor di Windows HLK.
    3. Uji driver pada sistem dengan VBS dan integritas memori diaktifkan. Langkah ini sangat penting untuk memvalidasi perilaku driver dengan integritas memori, karena alat analisis kode statis tidak mampu mendeteksi semua pelanggaran integritas memori yang mungkin terjadi pada runtime.

    VBS berfungsi pada VM yang memiliki dukungan virtualisasi berlapis. Ini termasuk semua VM Gen2, dan VM Gen1 yang mendukung virtualisasi berlapis. Daftar seri VM yang didukung dirinci dalam tabel di bawah ini.

    Nama Seri VM Virtualisasi Berlapis VM Gen
    Av2 Ya 1 (ukuran internal tertentu mendukung gen 2)
    B No 1 dan 2
    Dsv2/Dv2/Dv3/Ev3 Ya 1
    Dsv3/Ddsv3 Ya 1 dan 2
    Dsv4/Ddsv4 Ya 1 dan 2
    Esv3/Edsv3 Ya 1 dan 2
    Esv4/Edsv4 Ya 1 dan 2
    Ev4/Edv4 Ya Ev4 - 1 saja
    Edv4 -1&2
    Dv4/Ddv4 Ya 1 dan 2
    Dv5/Ddv5/Dsv5/Ddsv5 Ya 1 dan 2
    Ev5/Edv5/Esv5/Edsv5 Ya 1 dan 2
    Dasv5/Dadsv5/Easv5/ Eadsv5 Ya 1 dan 2
    Ebsv5/Edbsv5 Ya 1 dan 2
    Fsv2 Ya 1 dan 2
    Fx Ya 2
    Lsv2 Ya 1 dan 2

    Untuk informasi selengkapnya tentang Hyper-V, lihat Hyper-V di Windows Server 2016 atau Pengenalan Hyper-V di Windows 10. Untuk informasi selengkapnya tentang hypervisor, lihat Spesifikasi Hypervisor.