Bagikan melalui


Memahami Tabel Mitigasi Keamanan SMM Windows (WSMT)

Windows SMM Security Mitigation Table (WSMT) adalah tabel ACPI yang ditentukan oleh Microsoft yang memungkinkan firmware sistem untuk mengonfirmasi ke sistem operasi bahwa praktik terbaik keamanan tertentu telah diterapkan dalam perangkat lunak Mode Manajemen Sistem (SMM). Definisi tabel WSMT dijelaskan dalam spesifikasi Windows SMM Security Mitigations Table (WMST).

Background

WSMT didefinisikan untuk mendukung fitur Keamanan berbasis Virtualisasi Windows dengan lebih baik. Silakan merujuk ke Keamanan berbasis Virtualisasi (VBS) untuk latar belakang lebih lanjut di VBS. Karena SMM beroperasi tanpa pengetahuan atau kontrol sistem operasi, SMM mewakili permukaan serangan signifikan yang dapat dimanfaatkan oleh kode berbahaya untuk membahayakan atau menghindari perlindungan OS yang diaktifkan melalui VBS. Memberikan platform VBS yang kuat dan aman memerlukan pengamatan yang cermat dan kemungkinan pembaruan kode SMM oleh OEM untuk menghilangkan kerentanan umum yang mungkin dieksploitasi. WSMT berisi bendera yang dapat diatur firmware untuk menunjukkan ke sistem operasi mana dari praktik terbaik keamanan khusus ini yang telah diterapkan.

Implikasi WSMT pada Dukungan Windows VBS

Bidang Bendera Perlindungan WSMT menunjukkan adanya mitigasi keamanan SMM khusus ini di firmware sistem. Versi sistem operasi Windows yang didukung membaca Bendera Perlindungan WSMT lebih awal selama inisialisasi, sebelum peluncuran hypervisor dan VBS, dan dapat memilih untuk mengaktifkan, menonaktifkan, atau membatalkan fitur keamanan tertentu berdasarkan keberadaan Bendera Perlindungan SMM ini.

Catatan Implementasi

Implementasi yang tepat dari mitigasi keamanan yang diwakili oleh Bendera Perlindungan WSMT FIXED_COMM_BUFFERS dan COMM_BUFFER_NESTED_PTR_PROTECTION akan mengharuskan vendor firmware mengevaluasi dengan hati-hati dan mungkin merancang ulang handler System Management Interrupt (SMI). Semua handler SMI harus dibatasi hanya untuk mengakses (baca atau tulis) ke wilayah memori yang diizinkan yang berisi memori MMIO dan EFI yang dialokasikan. Tidak cukup untuk memeriksa bahwa pointer di SMM tidak mereferensikan memori sepenuhnya di luar SMM. Sebaliknya, semua pointer SMM harus divalidasi agar berada dalam wilayah memori yang aman ini. Ini mencegah SMM dieksploitasi dalam serangan "deputi yang bingung", yang kemudian dapat dimanfaatkan untuk membahayakan fitur Windows VBS. Bendera Perlindungan yang disebutkan di atas hanya mengacu pada validasi input dan pemeriksaan pointer dan saat ini TIDAK memerlukan penegakan melalui perlindungan halaman SMM. Misalnya, SMM tidak boleh membaca atau menulis ke memori yang dijelaskan oleh firmware sebagai EfiConventionalMemory karena mungkin berisi rahasia atau menyebabkan perangkat lunak bereaksi tanpa diduga.

Memvalidasi Perlindungan WSMT

Karena SMM buram untuk sistem operasi, tidak mungkin untuk menghasilkan pengujian yang berjalan di Windows untuk memverifikasi bahwa perlindungan yang ditentukan dalam spesifikasi WSMT benar-benar diterapkan dalam SMM. Dari sistem operasi, satu-satunya pemeriksaan yang dimungkinkan adalah mencari keberadaan WSMT, dan memeriksa status semua Bendera Perlindungan yang ditentukan.

Oleh karena itu, OEM bertanggung jawab untuk meneliti kode SMM setiap sistem dengan cermat dan memastikan bahwa firmware mematuhi panduan yang diuraikan dalam spesifikasi WSMT dan artikel ini. Tidak ada Bendera Perlindungan yang harus diatur ke "true" sampai OEM telah mengonfirmasi bahwa mitigasi yang sesuai dengan setiap nilai Bendera Perlindungan telah diterapkan dengan benar. Gagal mematuhi ini sebagai praktik terbaik akan membuat platform rentan terhadap kompromi, dan meniadakan efektivitas beberapa perlindungan OS dan fitur keamanan Windows yang mengandalkan VBS untuk mempertahankan batas keamanan yang kuat.

Versi Windows yang didukung

Dukungan untuk WSMT disertakan dalam versi Windows berikut:

  • Pratinjau Teknis Windows Server 2016
  • Windows 10, version 1607
  • Windows 10, versi 1703
  • Windows 10, versi 1709