arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1901.01142cs.CR
收藏

V-Fuzz:面向漏洞的进化模糊

V-Fuzz: Vulnerability-Oriented Evolutionary Fuzzing

Yuwei Li, Shouling Ji, Chenyang Lv, Yuan Chen, Jianhai Chen, Qinchen Gu, Chunming Wu

摘要:

Fuzzing是一种通过使用大量异常输入反复执行软件来发现错误的技术。现有的模糊化方法大多对软件的各个部分进行了平等的考虑,过多地关注如何提高代码覆盖率。这是低效的,因为易受攻击的代码只占整个代码的一小部分。在本文中,我们设计并实现了一个面向兼容性的进化模糊原型V-Fuzz,其目的是在有限的时间内有效地发现错误,快速。V-Fuzz由两个主要部分组成:一个基于神经网络的脆弱性预测模型和一个面向能力的进化模糊器。给定一个二进制程序到V-Fuzz,漏洞预测模型将给出一个关于软件的哪些部分更容易受到攻击的先验估计。然后,模糊器利用进化算法来生成倾向于到达脆弱位置的输入,由脆弱性预测结果引导。实验结果表明,V-Fuzz可以发现错误更有效地比国家的最先进的模糊。此外,V-Fuzz已经发现了10个CVE,其中3个是新发现的。我们报告了新的CVE,它们已得到确认和修复。

英文摘要:

Fuzzing is a technique of finding bugs by executing a software recurrently with a large number of abnormal inputs. Most of the existing fuzzers consider all parts of a software equally, and pay too much attention on how to improve the code coverage. It is inefficient as the vulnerable code only takes a tiny fraction of the entire code. In this paper, we design and implement a vulnerability-oriented evolutionary fuzzing prototype named V-Fuzz, which aims to find bugs efficiently and quickly in a limited time. V-Fuzz consists of two main components: a neural network-based vulnerability prediction model and a vulnerability-oriented evolutionary fuzzer. Given a binary program to V-Fuzz, the vulnerability prediction model will give a prior estimation on which parts of the software are more likely to be vulnerable. Then, the fuzzer leverages an evolutionary algorithm to generate inputs which tend to arrive at the vulnerable locations, guided by the vulnerability prediction result. Experimental results demonstrate that V-Fuzz can find bugs more efficiently than state-of-the-art fuzzers. Moreover, V-Fuzz has discovered 10 CVEs, and 3 of them are newly discovered. We reported the new CVEs, and they have been confirmed and fixed.

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

↑