如何使用 IoSpy 和 IoAttack 执行模糊测试

注意

Windows 10版本 1703 后,在 WDK 中不再提供 IoSpy 和 IoAttack。

作为这些工具的替代方法,请考虑使用 HLK 中提供的模糊测试。 下面是一些需要考虑的问题。

DF - 模糊随机 IOCTL 测试(可靠性)

DF - 模糊 sub-open 测试(可靠性)

DF - 模糊零长度缓冲区 FSCTL 测试(可靠性)

DF - 模糊随机 FSCTL 测试(可靠性)

DF - 模糊杂项 API 测试(可靠性)

还可以使用驱动程序验证程序附带的 内核同步延迟模糊

若要使用 IoSpyIoAttack 执行模糊测试,请执行以下操作:

  1. 安装 IoSpy

    若要在特定设备上安装 IoSpy 并启用模糊测试 () ,请运行 启用 I/O Spy 测试。 DQ 参数控制安装了 IoSpy 筛选器驱动程序的设备。

  2. 在指定的设备上运行 IOCTL 和 WMI 测试:

    重启测试系统后, IoSpy 已准备好筛选对已启用模糊测试的设备发出的 IOCTL 和 WMI 请求。 现在,必须使用任何适当的测试在驱动程序中为这些设备练习 IOCTL 和 WMI 代码路径。 这允许 IoSpy 根据这些 IOCTL 和 WMI 请求记录尽可能多的详细信息。 IoSpy 将这些详细信息保存在 IoSpy 数据文件中。

  3. 卸载 IoSpy:

    完全练习 IOCTL 和 WMI 代码路径后,必须先卸载 IoSpy,然后才能运行 IoAttack 来执行模糊测试。 若要卸载 IoSpy,请运行 禁用 I/O Spy 测试。

    此命令从启用模糊测试的所有设备中删除 IoSpy 筛选器驱动程序。 运行命令后,重新启动测试系统,以便从内存中卸载 IoSpy 筛选器驱动程序。

    注意 卸载 IoSpy 时,它不会删除 IoSpy 数据文件。 此文件的位置由 DFD 参数设置为 启用 I/O Spy 测试。 默认位置为 %SystemDrive%\DriverTest\IoSpy。 有关详细信息,请参阅 IoSpy 数据文件

  4. 运行 IoAttack

    测试系统现在已准备好通过运行 I/O 攻击测试来运行 模糊测试。 有关如何运行 IoAttack 的详细信息,请参阅 IoAttack

    注意 为了验证驱动程序的 IOCTL 和 WMI 接口的访问权限,应使用不同的特权(例如来宾帐户和管理员帐户)运行 IoAttack 帐户。