深度学习漏洞检测模型的实证研究
软件工程
2023-02-14 v3 密码学与安全
机器学习
摘要
代码的深度学习(DL)模型近期在漏洞检测方面取得了重大进展。在某些情况下,基于 DL 的模型已超越静态分析工具。尽管已提出许多优秀模型,我们仍未能很好地理解这些模型。这限制了漏洞检测模型在鲁棒性、调试与部署方面的进一步推进。本文中,我们在两个广泛使用的漏洞检测数据集 Devign 与 MSR 上调研并复现了 9 个 SOTA 深度学习模型。我们研究了三个方面的 6 个研究问题,即模型能力、训练数据与模型解释。我们通过实验展示了模型不同运行间的变化性,以及不同模型输出间较低的一致性。我们考察了针对特定漏洞类型训练的模型与一次性训练所有漏洞的模型。我们探究了 DL 可能视为“难以处理”的程序类型。我们研究了训练数据规模、训练数据构成与模型性能的关系。最后,我们研究模型解释并分析了模型用于预测的重要特征。我们相信我们的发现有助于更好地理解模型结果、为准备训练数据提供指导并提升模型鲁棒性。我们的所有数据集、代码与结果均可在 https://doi.org/10.6084/m9.figshare.20791240 获取。
引用
@article{arxiv.2212.08109,
title = {An Empirical Study of Deep Learning Models for Vulnerability Detection},
author = {Benjamin Steenhoek and Md Mahbubur Rahman and Richard Jiles and Wei Le},
journal= {arXiv preprint arXiv:2212.08109},
year = {2023}
}
备注
12 pages, 14 figures. Accepted at ICSE 2023. Camera-ready version