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

浅还是深?基于深度学习的漏洞检测实证研究

Shallow or Deep? An Empirical Study on Detecting Vulnerabilities using Deep Learning

Alejandro Mazuera-Rozo, Anamaria Mojica-Hanke, Mario Linares-Vásquez, Gabriele Bavota

摘要:

深度学习(DL)技术在软件工程研究界正在兴起。越来越多的方法已经在DL模型之上被开发出来,这也是由于可用于训练这些模型的软件相关数据的空前数量。深度学习在软件工程领域的一个最新应用是自动检测软件漏洞。虽然已经开发了几种DL模型来解决这个问题,但关于它们的实际有效性仍然存在有限的经验证据,特别是当与浅层机器学习技术相比时。在本文中,我们通过使用三个漏洞数据集和五个不同的源代码表示(即,将代码提供给分类器以评估其是否易受攻击的格式)来比较两个广泛使用的基于DL的模型和一个浅机器学习模型在(i)将代码函数分类为易受攻击或非易受攻击(即,二进制分类),以及(ii)基于代码函数所包含的特定类型的脆弱性(或者“干净”,如果不存在脆弱性)来对代码函数进行分类。作为基线,我们在研究中使用了Google Cloud Platform提供的AutoML实用程序。我们的研究结果表明,实验模型仍然远远不能确保可靠的漏洞检测,并且浅学习分类器代表了最新的基于DL的模型的竞争基准。

英文摘要:

Deep learning (DL) techniques are on the rise in the software engineering research community. More and more approaches have been developed on top of DL models, also due to the unprecedented amount of software-related data that can be used to train these models. One of the recent applications of DL in the software engineering domain concerns the automatic detection of software vulnerabilities. While several DL models have been developed to approach this problem, there is still limited empirical evidence concerning their actual effectiveness especially when compared with shallow machine learning techniques. In this paper, we partially fill this gap by presenting a large-scale empirical study using three vulnerability datasets and five different source code representations (i.e., the format in which the code is provided to the classifiers to assess whether it is vulnerable or not) to compare the effectiveness of two widely used DL-based models and of one shallow machine learning model in (i) classifying code functions as vulnerable or non-vulnerable (i.e., binary classification), and (ii) classifying code functions based on the specific type of vulnerability they contain (or "clean", if no vulnerability is there). As a baseline we include in our study the AutoML utility provided by the Google Cloud Platform. Our results show that the experimented models are still far from ensuring reliable vulnerability detection, and that a shallow learning classifier represents a competitive baseline for the newest DL-based models.

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

↑