Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konu, Sürücü Doğrulayıcı içindeki isteğe bağlı özellikleri ve kural sınıflarını açıklar. Standart ayarları kullanırken dahil edilen seçeneklerin listesi için bkz. Standart ayarlar.
Uyarı
Bazı otomatik denetimler , hangi seçeneklerin belirlendiğinden bağımsız olarak doğrulanan bir sürücüde her zaman gerçekleştirilir. Sürücü hatalı bir IRQL'de bellek kullanıyorsa, spin kilitlerini veya bellek tahsislerini hatalı bir şekilde çağırıyor veya serbest bırakıyorsa, yığınları yanlış değiştiriyor ya da önce zamanlayıcıları kaldırmadan bellek havuzunu boşaltıyorsa, Sürücü Doğrulayıcı bu davranışı algılar. Sürücü kaldırıldığında, Sürücü Doğrulayıcı kaynaklarını düzgün bir şekilde yayınlanmış olup olmadığını denetler.
/ruleclasses ile kural sınıflarını etkinleştirme
Windows 10, sürüm 17627 ve sonraki sürümlerden başlayarak, kural sınıflarını aşağıdaki söz dizimiyle etkinleştirebilirsiniz:
/ruleclasses or /rc [<ruleclass_1> <ruleclass_2> ... <ruleclass_k>]
Birden çok sınıfı etkinleştirirken (aşağıdaki pozitif ondalık tamsayıyla gösterilir), her tamsayıyı bir boşluk karakteriyle ayırdığını unutmayın.
Bu kural sınıfları için açıklamalar aşağıda bulunabilir.
Standart kural sınıfları
| Kural sınıfı | Ondalık Kimlik |
|---|---|
| Özel havuz | 1 |
| IRQL denetimini zorlama | 2 |
| Havuz izleme | 4 |
| G/Ç doğrulaması | 5 |
| Kilitlenme algılama | 6 |
| DMA denetimi | 8 |
| Güvenlik denetimleri | 9 |
| Çeşitli denetimler | 12 |
| DDI uyumluluk denetimi | 18 |
| WDF Doğrulaması | 34 |
Ek kural sınıfları
Bu kural sınıfları belirli senaryo testlerine yöneliktir. Kural sınıfları, otomatik olarak etkinleştirilecek olan G/Ç Doğrulaması (5) gerektiren (*) ile işaretlenir. (**) ile işaretlenmiş bayraklar tek tek kuralların devre dışı bırakılması için destek sağlar.
| Kural sınıfı | Ondalık Kimlik |
|---|---|
| Rastgele düşük kaynak simülasyonu | 3 |
| Bekleyen G/Ç isteklerini zorla (*) | 10 |
| IRP günlüğü | 11 |
| Yığın (*) için sabit MDL denetimi | 14 |
| Sürücü için sabit MDL denetimi (*) | 15 |
| Power Framework gecikmesi | 16 |
| Bağlantı noktası/miniport arabirimi denetimi | 17 |
| Sistematik düşük kaynak benzetimi | 19 |
| DDI uyumluluk denetimi (ek) | 20 |
| Çekirdek eşitleme gecikmesi | yirmi dört |
| VM sanal anahtar doğrulama | Yirmi beş |
| Kod bütünlüğü denetimleri | 26 |
| Sürücü izolasyon denetimleri (gerektirir 36) | 33 |
| Ek IRQL denetimi | 35 |
| DIF'yi etkinleştirme | 36 |
İsteğe bağlı özellik ve kural sınıfı açıklamaları
Bu seçenek etkinleştirildiğinde, Sürücü Doğrulayıcı sürücünün bellek isteklerinin çoğunu özel bir havuzdan ayırır. Bu özel havuz, bellek taşmaları, bellek yetersizlikleri ve serbest bırakıldıktan sonra erişilmeye çalışılan bellek için izlenir.
Bu seçenek etkinleştirildiğinde, Sürücü Doğrulayıcı disk belleğine alınan kodu geçersiz kılarak sürücüye aşırı bellek baskısı uygular. Sürücü yanlış IRQL'de veya bir döndürme kilidi tutarken disk belleği belleğine erişmeye çalışırsa, Sürücü Doğrulayıcı bu davranışı algılar.
Düşük Kaynak Benzetimi (Windows 8.1'de rastgele düşük kaynak benzetimi olarak adlandırılır)
Bu seçenek etkinleştirildiğinde, Sürücü Doğrulayıcı havuz ayırma isteklerini ve diğer kaynak isteklerini rastgele başarısızlıkla sonuçlandırır. Sürücü Doğrulayıcı, bu ayırma hatalarını sisteme ekleyerek sürücünün düşük kaynak durumuyla başa çıkma yeteneğini test eder.
Bu seçenek etkinleştirildiğinde, Sürücü Doğrulayıcı, sürücü kaldırıldığında tüm bellek ayırımlarının serbest bırakılıp bırakılmadığını kontrol eder. Bu, bellek sızıntılarını ortaya çıkartır.
Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı sürücünün IP'lerini özel bir havuzdan ayırır ve sürücünün G/Ç işlemesini izler. Bu, G/Ç rutinlerinin yasadışı veya tutarsız kullanımını algılar.
Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı sürücünün spin kilitleri, mutex'ler ve hızlı mutex'ler kullanımını izler. Bu, sürücü kodunun bir noktada kilitlenmeye neden olma olasılığı olup olmadığını algılar.
Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı çeşitli G/Ç Yöneticisi yordamlarının çağrılarını izler ve PnP IP'leri, güç IRP'leri ve WMI IRP'leri için stres testi gerçekleştirir. Windows işletim sisteminin Windows 7 ve sonraki sürümlerinde, Gelişmiş G/Ç Doğrulaması'nın tüm özellikleri G/Ç Doğrulaması'nın bir parçası olarak bulunur ve artık Sürücü Doğrulayıcı Yöneticisi'nde veya komut satırında bu seçeneğin belirtilmesi gerekli değildir.
Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı sürücünün DMA yordamlarını kullanmasını izler. Bu, DMA arabelleklerinin, bağdaştırıcılarının ve eşleme yazmaçlarının yanlış kullanımını algılar.
(Windows Vista ve üzeri) Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı çekirdek modu yordamlarına göre kullanıcı modu adreslerine başvuru gibi güvenlik açıklarına neden olabilecek yaygın hataları arar.
(Windows Vista ve üzeri) Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı boş belleğin yanlış işlenmesi gibi sürücü kilitlenmelerinin yaygın nedenlerini arar.
Bekleyen G/Ç İsteklerini Zorla
(Windows Vista ve üzeri) Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı IoCallDriver'a rastgele çağrılar için STATUS_PENDING döndürerek sürücünün STATUS_PENDING dönüş değerlerine verdiği yanıtı test eder.
(Windows Server 2003 ve üzeri) Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı bir sürücünün IRP kullanımını izler ve IRP kullanımı günlüğü oluşturur.
(Windows Vista ve üzeri) Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı dışarı aktarılan Storport yordamlarının yanlış kullanımı, aşırı gecikmeler ve Storport isteklerinin yanlış işlenmesi için bir Storport miniport sürücüsünü izler.
(Windows 8'den başlayarak) Bu seçenek etkin olduğunda Sürücü Doğrulayıcı, güç yönetimi çerçevesini (PoFx) kullanan sürücülerdeki eşzamanlılık hatalarını temizlemeye yardımcı olmak için iş parçacığı zamanlamalarını rastgele oluşturur. Bu seçenek, güç yönetimi çerçevesini (PoFx) doğrudan kullanmayan sürücüler için önerilmez.
(Windows 8'den başlayarak) Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı bir sürücü ile işletim sisteminin çekirdek arabirimi arasındaki doğru etkileşimi denetleen bir dizi cihaz sürücüsü arabirimi (DDI) kuralı uygular.
(Windows 8'den başlayarak) Sabit MDL Yığını Denetimi seçeneği, sürücünün sürücü yığını genelinde sabit MDL arabelleklerini nasıl işlediğini izler. Sürücü Doğrulayıcı sabit MDL arabelleklerinde geçersiz değişiklik algılayabilir. Bu seçeneği kullanmak için G/Ç Doğrulaması en az bir sürücüde etkinleştirilmelidir.
Sürücü için Sabit MDL Denetimi
(Windows 8'den başlayarak) Sürücü için Sabit MDL Denetimi seçeneği, sürücünün sürücü başına sabit MDL arabelleklerini nasıl işlediğini izler. Bu seçenek sabit MDL arabelleklerinde geçersiz değişiklik olduğunu algılar. Bu seçeneği kullanmak için en az bir sürücüde G/Ç Doğrulamasını etkinleştirmeniz gerekir.
(Yalnızca Windows 8 ve WDK 8 ile kullanılabilir) Yığın Tabanlı Hata Ekleme seçeneği, çekirdek modu sürücülerine kaynak hataları ekler. Bu seçenek, sürücü hata işleme yollarına nüfuz etmek için Sürücü Doğrulayıcı ile birlikte KmAutoFail.sysözel bir sürücü kullanır.
Sistematik düşük kaynak simülasyonu
(Windows 8.1'den başlayarak) Sistematik düşük kaynak benzetimi seçeneği, çekirdek modu sürücülerine kaynak hataları ekler.
(Windows 8.1'den başlayarak) Bu seçenek etkin olduğunda, Sürücü Doğrulayıcı bir NDIS miniport sürücüsü ile işletim sistemi çekirdeği arasındaki doğru etkileşimi denetleen bir dizi NDIS ve kablosuz LAN (WIFI) kuralı uygular.
(Windows 8.1'den başlayarak) Bu seçenek, sürücülerdeki eşzamanlılık hatalarını algılamaya yardımcı olmak için iş parçacığı zamanlamalarını rastgele hale getirir.
(Windows 8.1'den başlayarak) Bu seçenek, Hyper-V Genişletilebilir Anahtar içinde çalışan filtre sürücülerini (genişletilebilir anahtar uzantıları) izler.
Bağlantı noktası/Miniport arabirimi denetimi
Bağlantı noktası/miniport arabirimi denetimi, Sürücü Doğrulayıcı'nın ks.sys ve AVStream miniport sürücüleriyle birlikte PortCls.sys ve ses miniport sürücüleri arasındaki DDI arabirimini incelemesine olanak tanır. Bkz. AVStream sürücüleri için kurallar ve ses sürücüleri için kurallar.
Kod Bütünlüğünü yalıtmak için sanallaştırma tabanlı güvenlik kullanılırken çekirdek belleğinin yürütülebilir hale gelmesinin tek yolu Kod Bütünlüğü doğrulamasıdır. Bu, çekirdek bellek sayfalarının hiçbir zaman Yazılabilir ve Yürütülebilir (W+X) olamayacağı ve yürütülebilir kodun doğrudan değiştirilemeyeceği anlamına gelir. Kod bütünlüğü denetimleri, bu kod bütünlüğü kurallarının uyumluluğunu sağlar ve ihlalleri algılar.
WDF Doğrulaması, çekirdek modu sürücüsünün Kernel-Mode Driver Framework (KMDF) gereksinimlerini düzgün bir şekilde karşılıyor olup olmadığını denetler.
Ek IRQL denetimi
Ek IRQL denetimi, PASSIVE_LEVEL için DDI Uyumluluk Denetimi IRQL kurallarını artırır. İki kuraldan oluşur:
- IrqlIoRtlZwPassive kuralı, sürücünün kuralda listelenen DDI'leri yalnızca IRQL = PASSIVE_LEVEL yürütülürken çağırdığını belirtir.
- IrqlNtifsApcPassive kuralı, sürücünün kuralda listelenen DDI'leri yalnızca IRQL = PASSIVE_LEVEL veya IRQL <= APC_LEVEL yürütürken çağırdığını belirtir.
Sürücü Yalıtımı denetimleri, Windows Sürücülerinin çalışma zamanı sürücü paketi yalıtım gereksinimlerini doğrulamak için kritik öneme sahiptir. Daha fazla bilgi için bkz. Windows sürücüleri geliştirmeye başlama. Denetimler, yalıtılmış sürücü paketleri için izin verilmeyen kayıt defteri okuma ve yazmalarını izler.
Standart ayarlar
| Standart ayarlara dahil edilen seçenekler |
|---|
Gelişmiş G/Ç Doğrulaması (Windows 7 ve sonraki sürümlerde G/Ç Doğrulama'yı seçtiğinizde bu seçenek otomatik olarak etkinleştirilir) |
Çeşitli Denetimler (Windows Vista ve üzeri) |
| DDI uyumluluk denetimi (Windows 8'den başlayarak) |
G/Ç Doğrulaması gerektiren Sürücü Doğrulayıcı seçenekleri
Önce G/Ç Doğrulamasını etkinleştirmenizi gerektiren dört seçenek vardır. G/Ç Doğrulaması etkin değilse, bu seçenekler etkinleştirilmez.