近日,微软开源了OneFuzz——一个微软内部使用的,由开发人员驱动的持续开发模糊测试平台。开源后,世界各地的开发人员都可以通过OneFuzz直接从其开发系统接收模糊测试结果。

模糊测试是一种自动化的软件测试技术,将随机、意外、畸形和/或无效数据输入计算机程序,试图发现可能影响程序安全性和性能的异常(例如崩溃、内存泄漏等)和意外行为。

Azure驱动的持续开发模糊测试

OneFuzz项目是Azure的可扩展、自托管的Fuzzing即服务平台,该平台聚集了多个现有的Fuzzer,并可(通过自动化)整合崩溃检测、覆盖范围跟踪和输入控制等功能。

Microsoft内部团队使用OneFuzz来加强Windows、Microsoft Edge和其他软件产品的安全性开发。

“传统上,模糊测试对于开发人员来说是一把双刃剑:在软件开发生命周期中发现可行的缺陷方面非常有效,但从中获取、执行和提取信息却非常复杂。”微软首席安全软件工程贾斯汀•坎贝尔(Justin Campbell)和特殊项目管理高级总监迈克•沃克( Mike Walker)指出。

“这种复杂性要求专门的安全工程团队来开发和运行模糊测试功能,这非常有用但成本很高。使开发人员能够执行模糊测试,可以将漏洞发现转移到开发生命周期的早期,同时释放安全工程团队的精力,从事更加重要的工作。”

OneFuzz的功能

OneFuzz将允许开发人员执行模糊测试任务(规模从几台虚拟机到数千个内核不一),只需将一条命令输入开发系统即可。

该工具的功能包括:

·可编排的模糊测试工作流程:开放源代码意味着用户将可以使用自己的模糊测试工具,替换工具和管理种子输入;

·内置的集成模糊测试:默认情况下,支持多个模糊测试器协同工作,在不同模糊测试技术之间交换分享输入信息;

·程序化分类和结果去重;

·按需实时调试发现的崩溃:用户可以按需或从其开发系统中实时调试会话;

·透明化设计允许溯源到任意阶段;

·信息丰富的遥测:轻松监视所有模糊测试;

·原生设计支持多平台:可以使用用户自己的OS开发,内核或嵌套的管理程序在Windows和varios Linux OS系统上执行模糊测试;

·崩溃报告通知回调:当前支持Azure DevOps工作项和Microsoft Teams消息;

·代码覆盖率KPI:用户可以使用代码覆盖率作为关键指标来监视进度并激发测试。

OneFuzz将在未来几天通过GitHub(https://github.com/microsoft/onefuzz)提供给全球。微软表示将继续通过公司各个团队的贡献来更新和扩展它,并欢迎来自更大范围的开源社区的贡献和建议。

声明:本文来自安全牛,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。