Hasty Briefsbeta

双语

WinPE as a stateless harness for Windows driver testing and fuzzing

a month ago
  • WinPE提供了一个轻量级、基于RAM的环境,由于资源开销极低且缺少不必要的图形组件,非常适合Windows驱动测试和模糊测试。
  • 关键的启动优化包括BCD设置,如'ignoreallfailures'和'recoveryenabled no',以实现快速、幂等的CI/CD流水线并避免恢复循环。
  • 对于未签名驱动测试,BCD设置如'testsigning yes'和'hypervisorlaunchtype off'可禁用VBS/HVCI等安全功能,从而允许内核操作。
  • QEMU配置应使用'pc'(i440FX)配置文件而非'q35',以实现稳定的PCI总线模拟,避免PCIe复杂性可能干扰驱动初始化的问题。
  • KDNET支持通过UDP独立于网络栈进行内核调试,这需要精确的PCI总线参数(例如'busparams 0.16.0')来完成硬件映射。
  • 对WinPE的确定性修改涉及通过DISM离线编辑WIM镜像,并定制启动过程(例如通过unattend.xml禁用网络初始化)。
  • 通过'winpeshl.ini'替换默认外壳可直接执行测试代理,进程终止时会触发虚拟机自动重启,实现连续的模糊测试循环。
  • 当网络连接中断时,SAC控制台通过串口模拟提供备用控制通道,支持通过TCP进行原始系统访问。
  • 在QEMU CPU配置中避免Hyper-V增强功能(例如'hv-*'标志)对于防止KDNET不稳定性和确保可靠的内核调试至关重要。

相关文章

加载中…