论文标题

Meuzz:智能种子安排混合模糊

MEUZZ: Smart Seed Scheduling for Hybrid Fuzzing

论文作者

Chen, Yaohui, Ahmadi, Mansour, farkhani, Reza Mirzazade, Wang, Boyu, Lu, Long

论文摘要

种子调度是确定杂交模糊产量的重要因素。现有的混合模糊器基于固定的启发式方法安排种子,旨在预测输入公用事业。但是,由于没有适用于不同程序的一定规则,因此这种启发式方法并不是可以推广的。他们可能在得出的程序上可以很好地工作,但不能很好地工作。为了克服这个问题,我们设计了机器学习增强的混合模糊系统(MEUZZ),该系统采用了监督的机器学习来进行自适应和可推广的种子调度。 Meuzz确定希望哪些新种子会根据从相同或相似程序做出的过去种子调度决策中学到的知识来产生更好的模糊产量。 Meuzz的学习是基于通过代码可及性和动态分析提取的一系列功能,该功能会导致可忽略不计的运行时开销(以微秒为单位)。此外,Meuzz通过评估每个选定种子的模糊性能自动侵入数据标签。结果,Meuzz通常适用于各种程序,并且表现良好。我们的评估表明,Meuzz的表现明显优于最先进的灰色盒子和混合模糊器,比QSYM的代码覆盖范围高27.1%。学识渊博的模型是可重复使用的,可转移的模型,这使模糊性能平均提高了7.1%,并提高了56个跨编程模糊活动中的68%。 Meuzz发现了47个深层隐藏和以前未知的错误 - 并由开发人员确认和修复21,当时具有与先前工作中使用相同的配置的8个经过良好测试的程序。

Seed scheduling is a prominent factor in determining the yields of hybrid fuzzing. Existing hybrid fuzzers schedule seeds based on fixed heuristics that aim to predict input utilities. However, such heuristics are not generalizable as there exists no one-size-fits-all rule applicable to different programs. They may work well on the programs from which they were derived, but not others. To overcome this problem, we design a Machine learning-Enhanced hybrid fUZZing system (MEUZZ), which employs supervised machine learning for adaptive and generalizable seed scheduling. MEUZZ determines which new seeds are expected to produce better fuzzing yields based on the knowledge learned from past seed scheduling decisions made on the same or similar programs. MEUZZ's learning is based on a series of features extracted via code reachability and dynamic analysis, which incurs negligible runtime overhead (in microseconds). Moreover, MEUZZ automatically infers the data labels by evaluating the fuzzing performance of each selected seed. As a result, MEUZZ is generally applicable to, and performs well on, various kinds of programs. Our evaluation shows MEUZZ significantly outperforms the state-of-the-art grey-box and hybrid fuzzers, achieving 27.1% more code coverage than QSYM. The learned models are reusable and transferable, which boosts fuzzing performance by 7.1% on average and improves 68% of the 56 cross-program fuzzing campaigns. MEUZZ discovered 47 deeply hidden and previously unknown bugs--with 21 confirmed and fixed by the developers--when fuzzing 8 well-tested programs with the same configurations as used in previous work.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源