论文标题
Defuzz:深度学习指导的指导
DeFuzz: Deep Learning Guided Directed Fuzzing
论文作者
论文摘要
模糊是识别潜在软件漏洞的最有效技术之一。大多数模糊器旨在改善代码覆盖范围,并且缺乏定向性(例如,软件中指定的路径的模糊)。在本文中,我们提出了一个深入学习(DL)指导的针对软件漏洞检测的模糊,名为Defuzz。 Defuzz包括两个主要方案:(1)我们采用预先训练的DL预测模型来识别潜在的脆弱功能和位置(即脆弱的地址)。确切地说,我们采用双向LSTM(BILSTM)来识别注意力词,并且漏洞与功能中的这些注意力单词相关联。 (2)然后,我们通过产生倾向于到达预测位置的输入来直接使用模糊来掩盖潜在漏洞。为了评估所提出的Defuzz技术的有效性和实用性,我们已经对现实世界数据集进行了实验。实验结果表明,我们的分类可以比AFL更快,更快地发现覆盖范围。此外,在现实世界应用程序上,Defuzz比AFL多43个错误。
Fuzzing is one of the most effective technique to identify potential software vulnerabilities. Most of the fuzzers aim to improve the code coverage, and there is lack of directedness (e.g., fuzz the specified path in a software). In this paper, we proposed a deep learning (DL) guided directed fuzzing for software vulnerability detection, named DeFuzz. DeFuzz includes two main schemes: (1) we employ a pre-trained DL prediction model to identify the potentially vulnerable functions and the locations (i.e., vulnerable addresses). Precisely, we employ Bidirectional-LSTM (BiLSTM) to identify attention words, and the vulnerabilities are associated with these attention words in functions. (2) then we employ directly fuzzing to fuzz the potential vulnerabilities by generating inputs that tend to arrive the predicted locations. To evaluate the effectiveness and practical of the proposed DeFuzz technique, we have conducted experiments on real-world data sets. Experimental results show that our DeFuzz can discover coverage more and faster than AFL. Moreover, DeFuzz exposes 43 more bugs than AFL on real-world applications.