打开网易新闻 查看更多图片

作者 | 孙溥茜

头图 | CSDN 下载自东方 IC

出品 | CSDN(ID:CSDNnews)

北京时间2020年9月15日,微软官方博客宣布正式推出大规模查找修复 Bug 工具——Project OneFuzz。OneFuzz 是一款面向 Azure 的开源可拓展模糊测试框架。

模糊测试本质上是通过使用畸形数据攻击应用程序,进而观察应用成功程序是否出现异常,从而判断是否有安全漏洞存在。

一直以来,模糊测试都扮演着双刃剑的角色。在寻找安全漏洞方面上模糊测试非常可靠,但是执行过程非常复杂,这里不得不提到模糊测试过程中产生随机畸形数据的两种方式,一种是穷举方式;另一种是随机方式。这两种产生畸形数据的方式共同特点是检测费力,花费时间长且效率低,即使发现问题,也很难精确定位 Bug 所在。

本次开源的 Project OneFuzz 项目使用谷歌开源的 LLVM 编译器,OneFuzz 尝试通过此举让模糊测试的过程更容易更持久。以前附加到持续构建系统中的相关机制现在可以直接嵌入到系统中。例如,Crash Detection 可以通过 asan 工具内置,而 Coverage tracking 可以使用 SanitizerCoverage(sancov)工具内置。展望未来,这些变化使得单元测试二进制文件的开发能够在一个可执行文件中内置各种模糊技术。

该测试框架目前已经应用于其他微软服务和平台,包括 Microsoft Edge 和 Windows。 Project OneFuzz 遵守 MIT 开源协议,现在已在 GitHub 上开源:https://github.com/microsoft/onefuzz