Keamanan berbasis virtualisasi (VBS)

Keamanan berbasis virtualisasi, atau VBS, menggunakan fitur virtualisasi perangkat keras untuk membuat dan mengisolasi wilayah memori yang aman dari sistem operasi normal. Windows dapat menggunakan "mode aman virtual" 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.

Salah satu contoh solusi keamanan tersebut adalah Hypervisor-Enforced Code Integrity (HVCI), yang biasa disebut sebagai integritas Memori, yang menggunakan VBS untuk secara signifikan memperkuat penegakan kebijakan integritas kode. Integritas kode mode kernel memeriksa semua driver dan biner mode kernel sebelum dimulai, dan mencegah driver atau file sistem yang tidak ditandatangani dimuat ke dalam memori sistem.

VBS menggunakan hypervisor Windows untuk membuat mode aman virtual ini, dan untuk memberlakukan pembatasan yang melindungi sistem vital dan sumber daya sistem operasi, atau untuk melindungi aset keamanan seperti kredensial pengguna yang diautentikasi. Dengan peningkatan perlindungan yang ditawarkan oleh VBS, bahkan jika malware mendapatkan akses ke kernel OS, eksploitasi yang mungkin dapat sangat terbatas dan terkandung, karena hypervisor dapat mencegah malware mengeksekusi kode atau mengakses rahasia platform.

Demikian pula, kebijakan integritas kode yang dapat dikonfigurasi mode pengguna memeriksa aplikasi sebelum dimuat, dan hanya akan memulai executable yang ditandatangani oleh penanda tangan yang diketahui dan disetujui. HVCI memanfaatkan VBS untuk menjalankan layanan integritas kode di dalam lingkungan yang aman, memberikan perlindungan yang lebih kuat terhadap virus kernel dan malware. Hypervisor, tingkat perangkat lunak sistem dengan hak istimewa paling banyak, menetapkan dan menegakkan izin halaman di semua memori sistem. Halaman hanya dibuat dapat dieksekusi setelah pemeriksaan integritas kode di dalam wilayah aman telah berlalu, dan halaman yang dapat dieksekusi tidak dapat ditulis. Dengan begitu, bahkan jika ada kerentanan seperti luapan buffer yang memungkinkan malware untuk mencoba memodifikasi memori, halaman kode tidak dapat dimodifikasi, dan memori yang dimodifikasi tidak dapat dieksekusi.

VBS mengharuskan komponen berikut hadir dan dikonfigurasi dengan benar.

Harap perhatikan bahwa TPM bukan persyaratan yang harus diwajibkan, 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 keamanan berbasis virtualisasi (VBS) Windows. 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 dan pedoman alokasi memori berikut 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 untuk 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 diselaraskan 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 satu pun dari atribut yang ditetapkan, menunjukkan memori yang dapat dieksekusi dan dapat ditulis.
  • Revisi Secure Memory Overwrite Request (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 Hypervisor Code Integrity (HVCI) Pastikan semua driver sistem telah diuji dan diverifikasi agar kompatibel dengan HVCI. Kit Driver Windows dan Driver Verifier berisi pengujian untuk kompatibilitas HVCI driver. Ada empat langkah untuk memverifikasi kompatibilitas driver:
    1. Gunakan Driver Verifier dengan pemeriksaan kompatibilitas Integritas Kode baru yang diaktifkan.
    2. Jalankan Uji Kesiapan Integritas Kode Hypervisor di Windows HLK.
    3. Uji driver pada sistem dengan VBS dan HVCI diaktifkan. Langkah ini sangat penting untuk memvalidasi perilaku driver dengan HVCI, karena alat analisis kode statis tidak mampu mendeteksi semua pelanggaran HVCI yang mungkin terjadi saat runtime.
    4. Gunakan alat DGReadiness.

    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 Tidak 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 Hanya Ev4 - 1
    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 Pengantar Hyper-V di Windows 10. Untuk informasi selengkapnya tentang hypervisor, lihat Spesifikasi Hypervisor.