您现在的位置是:数据库 >>正文
软件漏洞检测场景中的深度学习模型实证研究
数据库119人已围观
简介近年来,深度学习模型DLM)在软件漏洞检测领域的应用探索引起了行业广泛关注,在某些情况下,利用DLM模型能够获得超越传统静态分析工具的检测效果。然而,虽然研究人员对DLM模型的价值预测让人惊叹,但很多 ...
近年来 ,软件深度学习模型(DLM)在软件漏洞检测领域的漏洞应用探索引起了行业广泛关注,在某些情况下,检测利用DLM模型能够获得超越传统静态分析工具的场景检测效果。然而,深度实证虽然研究人员对DLM模型的学习价值预测让人惊叹,但很多人对这些模型本身的模型特性并不十分清楚。

为了从应用角度对DLM模型在漏洞检测场景下的研究能力与价值进行验证 ,Steenhoek等人发表了《An Empirical Study of Deep Learning Models for Vulnerability Detection》(《漏洞检测的软件深度学习模型实证研究》)论文 。该论文全面回顾了近年来公开发表的漏洞DLM在源代码漏洞检测方面的香港云服务器相关研究,并实际复现了多个SOTA深度学习模型(见表1)。检测通过将这些模型在两个广泛使用的场景漏洞检测数据集上进行充分实验 ,论文作者从模型能力 、深度实证训练数据和模型解释等方面进行了6个专项课题的学习研究分析。

为了验证模型的模型准确性,作者使用了与原始资料中相同的数据集和参数设置 ,对这些模型的运行结果进行了再次测试验证(见表 II)。其中A、P、R、免费模板F分别代表深度学习中常见的准确率(accuracy)、精确度(precision) 、召回率(recall)和F1分数。总体而言 ,复现的结果差异在合理范围内(上下2%) 。

表 II
需要说明的是,为了更精确地比较模型,作者优化了模型的实现,使它们可以同时支持Devign和MSR数据集。然而,在本论文所列举的高防服务器研究问题分析中,作者仅使用了上述模型中的9个而排除了VulDeeLocator和SeSyVR两种模型,原因是它们不容易针对Devign和MSR数据集进行优化。通过对深度学习漏洞检测模型进行实证研究 ,作者详细分析了六个研究问题,并在以下方面取得收获 :
对深度学习漏洞检测模型进行了全面研究。提供了一个包含11个SOTA深度学习模型和数据集的复现包 ,以便其他研究人员可以使用这些工具来进行漏洞检测研究。设计了6个RQs ,以评估深度学习模型在漏洞检测方面的性能、鲁棒性和可解释性 ,并通过实验回答了这些问题 。建站模板提供了有关如何解释深度学习漏洞检测模型决策的示例和数据,以帮助其他研究人员理解。RQ1:不同模型之间的漏洞检测结果是否具有一致性?单个模型的多次运行和多个模型间的差异点是什么 ?研究动机 :揭示深度学习模型漏洞检测结果的不确定性,帮助研究人员更好地理解这些模型的表现。
实验设计 :实验人员在Devign数据集上使用三个不同的随机种子对11种DLM模型进行训练,然后测量它们在漏洞检测方面的性能 ,亿华云并比较它们之间的一致性 。作者测量了在所有三个随机种子下具有相同二进制标签的输入所占的百分比,并将其称为“稳定输入”。然后,作者比较了这些稳定输入在不同模型之间的一致性。
研究发现:研究发现,不同模型在漏洞检测方面的表现存在一定的差异性