arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2309.16618cs.SEcs.AIcs.CR
收藏

重新审视用于模糊测试的神经程序平滑

Revisiting Neural Program Smoothing for Fuzzing

Robert Bosch GmbH(罗伯特·博世有限公司);Saarland University(萨尔大学);CISPA Helmholtz Center for Information Security(CISPA亥姆霍兹信息安全中心)

Maria-Irina Nicolae, Max Eisele, Andreas Zeller

AI总结:

本文通过大规模实验重新评估NPS模糊器,发现其原有性能主张不成立,并实现Neuzz++、提出评测指南与可复现平台MLFuzz。

摘要:

使用随机生成输入进行测试(模糊测试)因其自动暴露程序漏洞的能力而获得了显著关注。模糊测试活动会生成大量数据,因此非常适合应用机器学习(ML)。神经程序平滑(NPS)是ML引导模糊器中的一个特定系列,旨在使用神经网络作为目标程序的平滑近似,以生成新的测试用例。在本文中,我们针对标准灰盒模糊器对NPS模糊器进行了迄今为止规模最大的评估(超过11个CPU年和超过5.5个GPU年),并作出以下贡献:(1)我们发现关于NPS模糊器原有性能的主张并不成立;我们将这一差距与先前工作在基础、实现和实验方面的局限性联系起来。(2)我们首次深入分析了机器学习和基于梯度的变异在NPS中的贡献。(3)我们实现了Neuzz++,结果表明解决NPS模糊器的实际局限性可以提升性能,但标准灰盒模糊器几乎总是优于基于NPS的模糊器。(4)因此,我们提出了针对基于机器学习的模糊测试进行基准评测的新指南,并展示了MLFuzz,这是一个具备GPU访问能力的平台,可用于轻松且可复现地评估基于ML的模糊器。Neuzz++、MLFuzz以及我们的所有数据均已公开。

英文摘要:

Testing with randomly generated inputs (fuzzing) has gained significant traction due to its capacity to expose program vulnerabilities automatically. Fuzz testing campaigns generate large amounts of data, making them ideal for the application of machine learning (ML). Neural program smoothing (NPS), a specific family of ML-guided fuzzers, aims to use a neural network as a smooth approximation of the program target for new test case generation. In this paper, we conduct the most extensive evaluation of NPS fuzzers against standard gray-box fuzzers (>11 CPU years and >5.5 GPU years), and make the following contributions: (1) We find that the original performance claims for NPS fuzzers do not hold; a gap we relate to fundamental, implementation, and experimental limitations of prior works. (2) We contribute the first in-depth analysis of the contribution of machine learning and gradient-based mutations in NPS. (3) We implement Neuzz++, which shows that addressing the practical limitations of NPS fuzzers improves performance, but that standard gray-box fuzzers almost always surpass NPS-based fuzzers. (4) As a consequence, we propose new guidelines targeted at benchmarking fuzzing based on machine learning, and present MLFuzz, a platform with GPU access for easy and reproducible evaluation of ML-based fuzzers. Neuzz++, MLFuzz, and all our data are public.

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

↑