防止 BDA Minidriver 威脅
可以透過下列方式防止可 引入 BDA 迷你驅動程式 的威脅:
訊號傳輸資料流程中的威脅
BDA 迷你驅動程式不應該解譯訊號承載的內容,因為這類內容可能是破壞性的。 BDA 迷你驅動程式應該只組合承載的緩衝區,並將其傳遞至下一個篩選準則。
如果 BDA 迷你驅動程式解譯承載,則應該仔細驗證從承載剖析這類內容時的內容。
來自特殊用途 IOCTLs 的威脅
BDA 迷你驅動程式不應該向允許這些應用程式直接控制匯流排、記憶體或任何其他硬體的應用程式公開介面。 因此,應該從 BDA 迷你驅動程式中移除所有特殊用途 IOCTL 的處理。 例如,這類 IOCTL 包括廠商建立的偵錯 IOCTLs。 為了處理這類 IOCTLs,BDA 迷你驅動程式會實作 IRP_MJ_DEVICE_CONTROL 分派常式。
來自直接 WDM 分派常式的威脅
BDA 迷你驅動程式不應該提供略過核心串流 (KS) 類別模型的 WDM 分派常式。 BDA 迷你驅動程式應該使用 KS 驅動程式的 AVStream 模組來提供 分派 和 自動化 常式,因為它也會提供安全性檢查。 為了提供直接 WDM 分派常式,BDA 迷你驅動程式會實作任何 IRP 主要函式程式碼。