Bagikan melalui


Aturan DoubleFetch (wdm)

Aturan DoubleFetch adalah aturan keamanan penting yang memeriksa bahwa driver mengakses buffer dengan aman yang diteruskan ke ruang pengguna melalui RUN. Cara yang tepat untuk mengirim data dengan aman antara driver dan komponen mode pengguna dijelaskan dalam Tidak Menggunakan I/O Buffered Maupun Langsung.

Driver harus mengakses buffer data mengikuti panduan dan praktik terbaik yang dijelaskan dalam Metode untuk Mengakses Buffer Data.

Aturan ini memeriksa pengambilan ganda dari penunjuk memori mode pengguna. Akses mode kernel ganda memori mode pengguna dapat menyebabkan masalah keamanan kondisi balapan. Saat mengakses data mode pengguna, kode mode kernel perlu membuat salinan data mode pengguna secara lokal dan menghindari mengakses data mode pengguna beberapa kali. Gagal melakukannya mengakibatkan jenis masalah yang dikenal sebagai "pengambilan ganda", di mana data dapat berubah setelah pertama kali diakses.

Aturan ini tersedia dimulai dengan Windows 10 WDK, build 20236. Aturan ini hanya tersedia untuk jenis WDM dan driver generik .

Model driver: WDM, Generik

Cara menguji

Pada waktu kompilasi:

  1. Jalankan Pemverifikasi Driver Statis dan tentukan aturan doublefetch .

  2. Gunakan langkah-langkah berikut (ditemukan di Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat di Driver Windows) untuk menjalankan analisis kode Anda:

Untuk informasi selengkapnya, lihat Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat pada Driver.