arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2302.12879cs.CRcs.SE
收藏

autofz:自动模糊合成

autofz: Automated Fuzzer Composition at Runtime

Yu-Fu Fu, Jaehyuk Lee, Taesoo Kim

摘要:

由于开发了一组不同的模糊器,模糊技术在软件漏洞检测中得到了广泛的应用。由于各种模糊技术,大多数模糊器已经能够在其选定的目标上表现出很好的性能。然而,矛盾的是,模糊器的这种多样性也使得难以选择最适合复杂现实世界程序的模糊器,我们称之为选择负担。社区试图通过创建一组标准基准来解决这个问题,以比较和对比模糊器在广泛应用中的性能,但结果总是次优决策-平均性能最好的模糊器并不能保证用户感兴趣的目标的最佳结果。为了克服这个问题,我们提出了一个自动化的,但非侵入性的元模糊,称为autofz,最大限度地提高现有的国家的最先进的模糊通过动态组合的好处。对于最终用户来说,这意味着,人们可以简单地将所有可用的模糊器置于autofz,而不是花费时间选择采用哪个模糊器,并获得最佳的最佳结果。关键思想是监视模糊器的运行时进度,称为趋势(在概念上类似于梯度下降),并对资源分配进行细粒度调整。这与现有方法形成鲜明对比- autofz在运行时以细粒度的方式推导出活动工作负载的一组合适的模糊器。我们的评估表明,autofz在12个可用基准测试中的11个中优于任何表现最好的个体模糊器,在20个基准测试中的19个中击败了最好的协作模糊方法。此外,平均而言,autofz发现的bug比单个模糊器多152%,比协作模糊多415%。

英文摘要:

Fuzzing has gained in popularity for software vulnerability detection by virtue of the tremendous effort to develop a diverse set of fuzzers. Thanks to various fuzzing techniques, most of the fuzzers have been able to demonstrate great performance on their selected targets. However, paradoxically, this diversity in fuzzers also made it difficult to select fuzzers that are best suitable for complex real-world programs, which we call selection burden. Communities attempted to address this problem by creating a set of standard benchmarks to compare and contrast the performance of fuzzers for a wide range of applications, but the result was always a suboptimal decision - the best-performing fuzzer on average does not guarantee the best outcome for the target of a user's interest. To overcome this problem, we propose an automated, yet non-intrusive meta-fuzzer, called autofz, to maximize the benefits of existing state-of-the-art fuzzers via dynamic composition. To an end user, this means that, instead of spending time on selecting which fuzzer to adopt, one can simply put all of the available fuzzers to autofz, and achieve the best, optimal result. The key idea is to monitor the runtime progress of the fuzzers, called trends (similar in concept to gradient descent), and make a fine-grained adjustment of resource allocation. This is a stark contrast to existing approaches - autofz deduces a suitable set of fuzzers of the active workload in a fine-grained manner at runtime. Our evaluation shows that autofz outperforms any best-performing individual fuzzers in 11 out of 12 available benchmarks and beats the best, collaborative fuzzing approaches in 19 out of 20 benchmarks. Moreover, on average, autofz found 152% more bugs than individual fuzzers, and 415% more bugs than collaborative fuzzing.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑