近日,微软开源了OneFuzz——一个微软内部使用的,由开发人员驱动的持续开发模糊测试平台。开源后,世界各地的开发人员都可以通过OneFuzz直接从其开发系统接收模糊测试结果。
模糊测试是一种自动化的软件测试技术,将随机、意外、畸形和/或无效数据输入计算机程序,试图发现可能影响程序安全性和性能的异常(例如崩溃、内存泄漏等)和意外行为。
Azure驱动的持续开发模糊测试
OneFuzz项目是Azure的可扩展、自托管的Fuzzing即服务平台,该平台聚集了多个现有的Fuzzer,并可(通过自动化)整合崩溃检测、覆盖范围跟踪和输入控制等功能。
Microsoft内部团队使用OneFuzz来加强Windows、Microsoft Edge和其他软件产品的安全性开发。
“传统上,模糊测试对于开发人员来说是一把双刃剑:在软件开发生命周期中发现可行的缺陷方面非常有效,但从中获取、执行和提取信息却非常复杂。”微软首席安全软件工程贾斯汀•坎贝尔(Justin Campbell)和特殊项目管理高级总监迈克•沃克( Mike Walker)指出。
“这种复杂性要求专门的安全工程团队来开发和运行模糊测试功能,这非常有用但成本很高。使开发人员能够执行模糊测试,可以将漏洞发现转移到开发生命周期的早期,同时释放安全工程团队的精力,从事更加重要的工作。”
OneFuzz的功能
OneFuzz将允许开发人员执行模糊测试任务(规模从几台虚拟机到数千个内核不一),只需将一条命令输入开发系统即可。
该工具的功能包括:
OneFuzz将在未来几天通过GitHub(https://github.com/microsoft/onefuzz)提供给全球。微软表示将继续通过公司各个团队的贡献来更新和扩展它,并欢迎来自更大范围的开源社区的贡献和建议。