Google推出Fuzzer基准测试服务FuzzBench

Google推出了可用于评估模糊测试器(Fuzzer)的开源免费服务FuzzBench,FuzzBench提供用户方便但严格的模糊测试,并降低采用模糊测试的障碍。模糊测试是一种软件测试技术,通过自动或半自动产生输入另一个程序的乱数据,以探索程序可能出现的异常状况,Google提到,他们内部使用了libFuzzer和AFL等各式Fuzzer,发现了数以万计的bug。

虽然有许多论文改进模糊测试工具,或是部署新技术来提升Fuzzer发现bug的能力,但Google表示,很难知道这些新工具和技术,在实际程序中的使用状况,尽管研究通常包含了评估的部分,但是这些评估都使用短期试验或是缺乏统计测试,在没有应用大量且多样的真实世界基准的情况下,将难以证明评估的发现具有意义。

为了解决这个问题,开源软件专用的模糊测试项目OSS-Fuzz团队推出了FuzzBench,这是一个完全免费的开源服务,FuzzBench提供了可以重复评估Fuzzer的框架。用户只要集成Fuzzer和FuzzBench,便可以开始以真实世界的基准和各种试验,进行24小时的实验。

FuzzBench会根据实验的数据,深入分析Fuzzer并产生报告,将目标Fuzzer与其他Fuzzer性能进行比较,给出每个Fuzzer的强项与弱项。FuzzBench给出的报告,包括了统计测试,让用户了解Fuzzer之间的性能差异,或许是因为偶然因素造成,而且也会提供用户原始数据,使他们能够进行自己的分析。

Google表示,用户可以花更多的时间在改善技术上,而非将时间花在评估和处理现有的模糊测试技术,且集成Fuzzer与FuzzBench的过程很简单,大多数集成仅需要少于50行的程序代码,在集成完成之后,就可以使用250多个OSS-Fuzz项目进行模糊测试。