推荐开源项目:TSFFS——针对SIMICS的软件目标模糊测试器
项目介绍
TSFFS(Target Software Fuzzer For SIMICS) 是一个基于全系统模拟器SIMICS的快照和覆盖率导向的模糊测试工具。设计用于挑战性的目标,如UEFI应用程序、引导加载程序、BIOS、内核模块以及设备固件,甚至可以在Linux和Windows环境下对用户空间应用进行模糊测试。无论你是软件开发者,还是安全研究人员,TSFFS都能帮助你检测代码中的潜在问题。
项目技术分析
TSFFS利用了先进的模糊测试技术和工具,包括:
- 边缘覆盖导向:确保测试输入能触及代码的各个执行路径。
- 快照功能:实现完全确定性,每次运行结果一致,方便复现和调试问题。
- 并行模糊测试:支持在多核心或多机器上并行运行,提高测试效率。
- 与SIMICS的无缝集成:轻松添加到现有的SIMICS项目中。
- 故障排查模式:能够快速重现和调试崩溃问题。
- 现代模糊测试策略:采用Redqueen/I2S污点传播变异、MOpt和Auto-token等高级突变策略。
此外,TSFFS基于LibAFL构建,具备灵活扩展和持续优化的可能性。
项目及技术应用场景
TSFFS尤其适用于以下场景:
- UEFI和BIOS代码:特别是基于EDKII的代码。
- 早期硬件固件和驱动程序:在硅片发布前进行预测试。
- 依赖硬件的内核和固件代码:对于硬件相关错误条件的测试非常有效。
- 内核与内核驱动:提升内核的稳定性和安全性。
- 用户空间和网络应用:发现潜在漏洞和性能问题。
项目特点
- 易用性:提供Dockerfile以简化快速启动,并配有详细文档指导设置和使用。
- 广泛兼容性:不仅限于特定类型的软件,可以应用于多种环境和平台。
- 高效性:利用并行处理能力和现代模糊测试策略提高测试速度和深度。
- 可定制性:根据需求轻松添加新的模糊测试策略和目标。
获取与参与
想要立即开始使用TSFFS?请参考项目中的Dockerfile,或者查看文档目录获取详细的设置和使用说明。遇到任何非安全问题,请直接在项目中创建问题,或在Awesome Fuzzing Discord服务器中寻求帮助。如有安全问题,请参阅安全政策。
TSFFS团队欢迎所有感兴趣的人参与开发,你可以从待解决的问题列表中选择一个任务开始贡献你的力量!
最后,感谢项目作者Rowan Hart、Brandon Marken Ph.D. 和 Robert Geunzel Ph.D. 的辛勤工作,他们的邮箱分别为rowan.hart@intel.com
、brandon.marken@intel.com
和robert.geunzel@intel.com
,你也可以直接联系他们获取技术支持。
现在就加入TSFFS,让软件更安全,让测试更智能!