微软近日宣布将开源一款模糊测试工具,名为 OneFuzz,可用于大规模查找和修复错误,有效降低软件的安全风险。它本身也是一个自托管的模糊测试即服务(Fuzzing-As-A-Service)平台。
模糊测试(fuzzing 或称 fuzz testing)是一种软件测试技术。其核心思想是将自动或半自动生成的随机数据输入到一个程序中,并监视程序异常,如崩溃、断言(assertion)失败,以发现可能的程序错误,比如内存泄漏。
模糊测试常常用于检测软件或计算机系统的安全漏洞。执行模糊测试,可以将漏洞发现转移到软件开发周期的早期,这在一定程度上缓解了安全工程团队的压力。
微软首席安全软件工程主管 Justin Campbell 等人认为,模糊测试对开发者来说一直是一把双刃剑:它由软件开发生命周期强制执行,可以高效地发现可解决的缺陷;但利用、执行和提取信息非常复杂,这种复杂性要求专门的安全工程团队来构建和运行模糊测试,因此成本很高。
此次开源的 OneFuzz 一行命令即可启用,其核心目标是令开发者能够在发布之前轻松、连续地对其代码进行模糊测试。根据微软的介绍,OneFuzz 现在支持:
- 可组合的模糊测试工作流程:开源的方式允许用户使用自己的模糊测试工具,管理源的输入;
- 内置的整体模糊测试:各模糊测试 工具 默认作为一个整体来共享优势,可互相交换输入的程序;
- 程序分类以及重复数据删除:它提供了始终可复制的独特案例;
- 按需实时调试发现的崩溃:可以按需或从构建系统中调用实时调试会话;
- 可观察和可调试:每个阶段都很透明;
- 支持 Windows 和 Linux 操作系统;
- 崩溃报告通知回调:当前支持 Azure DevOps 工作项和 Microsoft Teams 消息。
目前,Microsoft Edge、Windows 和微软的各个团队都已经在使用这款测试框架。OneFuzz 仓库现已开放,但微软表示,源码要等到 9 月 18 日与 CppCon 2020 上的演讲同步放出。
猜你喜欢:暂无回复。