测试手册新增内核级快照模糊测试章节
今天,我们宣布在Trail of Bits测试手册的模糊测试章节中新增重要内容:快照模糊测试。这项强大技术使安全工程师能够有效测试传统上难以分析的软件,例如内核、安全监视器和其他需要复杂设置的目标。无论您是审计驱动程序还是其他内核模式组件(包括防病毒软件),快照模糊测试都提供了发现关键漏洞的可靠方法。请参阅我们新的测试手册章节,了解如何在系统上执行快照模糊测试的详细指南。
为什么内核级测试很重要
内核模式软件带来独特的安全挑战。这些组件(特别是防病毒软件)在操作系统最高权限级别运行,可以无限制地监视和拦截全系统活动。这种高权限级别伴随着高风险——单个崩溃可能导致整个系统宕机,此级别的内存破坏漏洞在被利用时可能造成严重后果。这种风险意味着测试至关重要,但测试此类软件的传统方法存在显著局限性:
- 内核组件的全系统范围阻止了测试用例的隔离
- 基于虚拟机的调试器测试速度慢且繁琐
- libFuzzer和AFL等模糊测试工具只能测试提取的函数,因此会错过系统范围的交互
- 黑盒方法使许多传统测试技术难以实施
快照模糊测试登场
快照模糊测试没有传统测试方法的限制。该技术捕获特定执行点的内存和寄存器状态,允许模糊测试器从该精确状态重复恢复和测试。这提供了几个主要优势:
- 测试速度极快。因为只测试系统状态的快照,软件不必每次运行都启动。例如,您可以在文件加载点创建快照,并从该状态测试数千种数据处理的变体
- 相同输入产生相同结果,因为每个测试都从相同的系统状态开始。这消除了经常困扰内核测试的不可预测行为(如不可复现的崩溃)
- 通过Lighthouse覆盖率浏览器等工具可以实现精确的崩溃检测和可视化支持
- 支持全面跟踪代码覆盖率和脏内存
新测试手册内容
在我们测试手册中关于快照模糊测试的新章节中,我们将实际经验提炼成超越基础文档的实用指南。内容反映了我们在安全审计过程中遇到的实际挑战和解决方案。
新章节使用wtf(what the fuzz)开源模糊测试器演示快照模糊测试。该工具允许用户专注于编写特定目标的测试工具,而不是从头开始构建快照模糊测试器这一艰巨任务。
我们使用wtf进行快照模糊测试的逐步指南将帮助您通过以下步骤入门:
- 创建具有用户空间通信的示例Windows内核驱动程序
- 为Windows 11虚拟机捕获系统快照
- 开发挂钩特定条件的测试工具
- 运行模糊测试活动以识别内核恐慌
正在为内核级安全测试而苦恼?我们的专家可以帮助您为特定环境实施适当的模糊测试。联系我们了解更多信息。