阻止 BDA 微型驱动程序威胁

可以通过以下方式防止可 引入 BDA 微型驱动程序 的威胁:

信号传输流中的威胁
BDA 微型驱动程序不应解释信号有效负载的内容,因为此类内容可能是破坏性的。 BDA 微型驱动程序应仅组合有效负载的缓冲区,并将其传递到下一个筛选器。

如果 BDA 微型驱动程序解释有效负载,则应在从有效负载分析此类内容时仔细验证内容。

来自特殊用途 IOCTL 的威胁
BDA 微型驱动程序不应向允许这些应用程序直接控制总线、内存或任何其他硬件的应用程序公开接口。 因此,应从 BDA 微型驱动程序中删除所有特殊用途 IOCTL 的处理。 例如,此类 IOCTL 包括供应商创建的调试 IOCTL。 为了处理此类 IOCTL,BDA 微型驱动程序将实现 IRP_MJ_DEVICE_CONTROL 调度例程。

来自直接 WDM 调度例程的威胁
BDA 微型驱动程序不应提供绕过内核流式处理 (KS) 类模型的 WDM 调度例程。 BDA 微型驱动程序应使用 KS 驱动程序的 AVStream 模块来提供 调度自动化 例程,因为它还提供安全检查。 为了提供直接的 WDM 调度例程,BDA 微型驱动程序将实现任何 IRP 主要函数代码