国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:胡雨涛,王溯远,吴月明,邹德清,李文科,金海
单位:胡雨涛,大数据技术与系统国家地方联合工程研究中心 (服务计算技术与系统教育部重点实验室 华中科技大学), 湖北 武汉 430074;分布式系统安全湖北省重点实验室, 湖北 武汉 430074;华中科技大学 网络空间安全学院, 湖北 武汉 43007411,王溯远,大数据技术与系统国家地方联合工程研究中心 (服务计算技术与系统教育部重点实验室 华中科技大学), 湖北 武汉 430074;分布式系统安全湖北省重点实验室, 湖北 武汉 430074;华中科技大学 网络空间安全学院, 湖北 武汉 43007402,吴月明,大数据技术与系统国家地方联合工程研究中心 (服务计算技术与系统教育部重点实验室 华中科技大学), 湖北 武汉 430074;分布式系统安全湖北省重点实验室, 湖北 武汉 430074;华中科技大学 网络空间安全学院, 湖北 武汉 43007403,邹德清,大数据技术与系统国家地方联合工程研究中心 (服务计算技术与系统教育部重点实验室 华中科技大学), 湖北 武汉 430074;分布式系统安全湖北省重点实验室, 湖北 武汉 430074;华中科技大学 网络空间安全学院, 湖北 武汉 43007404,李文科,分布式系统安全湖北省重点实验室, 湖北 武汉 430074;华中科技大学 网络空间安全学院, 湖北 武汉 43007405,金海,大数据技术与系统国家地方联合工程研究中心 (服务计算技术与系统教育部重点实验室 华中科技大学), 湖北 武汉 430074;华中科技大学 计算机科学与技术学院, 湖北 武汉 43007406
关键词:漏洞检测;深度学习;图神经网络;人工智能可解释性
基金:国家自然科学基金(62172168);湖北省重点研发计划(2021BAA032)
随着软件的复杂程度越来越高,对漏洞检测的研究需求也日益增大.软件漏洞的迅速发现和修补,可以将漏洞带来的损失降到最低.基于深度学习的漏洞检测方法作为目前新兴的检测手段,可以从漏洞代码中自动学习其隐含的漏洞模式,节省了大量人力投入.但基于深度学习的漏洞检测方法尚未完善,其中,函数级别的检测方法存在检测粒度较粗且检测准确率较低的问题,切片级别的检测方法虽然能够有效减少样本噪声,但仍存在以下两方面的问题:一方面,现有方法大多采用人工漏洞数据集进行实验,因此其在真实环境中的漏洞检测能力仍然存疑;另一方面,相关工作仅致力于检测出切片样本是否存在漏洞,而缺乏对检测结果可解释性的考虑.针对上述问题,提出基于图神经网络的切片级漏洞检测及解释方法.该方法首先对C/C++源代码进行规范化并提取切片,以减少样本冗余信息干扰;之后,采用图神经网络模型进行切片嵌入得到其向量表征,以保留源代码的结构信息和漏洞特征;然后,将切片的向量表征输入漏洞检测模型进行训练和预测;最后,将训练完成的漏洞检测模型和待解释的漏洞切片输入漏洞解释器,得到具体的漏洞代码行.实验结果显示:在漏洞检测方面,该方法对于真实漏洞数据的检测F1分数达到75.1%,相较于对比方法提升了41.2%-110.4%;在漏洞解释方面,该方法在限定前10%的关键节点时,准确率可达73.6%,相较于两种对比解释器分别提升了8.9%和24.9%,且时间开销分别缩短了42.5%和15.4%.最后,该方法正确检测并解释了4个开源软件中59个真实漏洞,证明了其在现实世界漏洞发掘方面的实用性.
来源:2023年第6期
《软件学报》期刊编辑部