基于程序过程间语义优化的深度学习漏洞检测方法

TP311; 近年来,软件漏洞引发的安全事件层出不穷,及早发现并修补漏洞能够有效降低损失.传统的基于规则的漏洞检测方法依赖于专家定义规则,存在较高的漏报率,基于深度学习的方法能够自动学习漏洞程序的潜在特征,然而随着软件复杂程度的提升,该类方法在面对真实软件时存在精度下降的问题.一方面,现有方法执行漏洞检测时大多在函数级工作,无法处理跨函数的漏洞样例;另一方面,BGRU和BLSTM等模型在输入序列过长时性能下降,不善于捕捉程序语句间的长期依赖关系.针对上述问题,优化了现有的程序切片方法,结合过程内和过程间切片对跨函数的漏洞进行全面的上下文分析以捕获漏洞触发的完整因果关系;应用了包含多头注意力机制...

Full description

Saved in:
Bibliographic Details
Published in网络与信息安全学报 Vol. 9; no. 6; pp. 86 - 101
Main Authors 李妍, 羌卫中, 李珍, 邹德清, 金海
Format Journal Article
LanguageChinese
Published 分布式系统安全湖北省重点实验室,湖北 武汉 430074 25.12.2023
华中科技大学计算机科学与技术学院,湖北 武汉 430074
华中科技大学网络空间安全学院,湖北 武汉 430074%大数据技术与系统国家地方联合工程研究中心服务计算技术与系统教育部重点实验室,湖北 武汉 430074
大数据技术与系统国家地方联合工程研究中心服务计算技术与系统教育部重点实验室,湖北 武汉 430074
Subjects
Online AccessGet full text
ISSN2096-109X
DOI10.11959/j.issn.2096-109x.2023085

Cover

Loading…
More Information
Summary:TP311; 近年来,软件漏洞引发的安全事件层出不穷,及早发现并修补漏洞能够有效降低损失.传统的基于规则的漏洞检测方法依赖于专家定义规则,存在较高的漏报率,基于深度学习的方法能够自动学习漏洞程序的潜在特征,然而随着软件复杂程度的提升,该类方法在面对真实软件时存在精度下降的问题.一方面,现有方法执行漏洞检测时大多在函数级工作,无法处理跨函数的漏洞样例;另一方面,BGRU和BLSTM等模型在输入序列过长时性能下降,不善于捕捉程序语句间的长期依赖关系.针对上述问题,优化了现有的程序切片方法,结合过程内和过程间切片对跨函数的漏洞进行全面的上下文分析以捕获漏洞触发的完整因果关系;应用了包含多头注意力机制的 Transformer 神经网络模型执行漏洞检测任务,共同关注来自不同表示子空间的信息来提取节点的深层特征,相较于循环神经网络解决了信息衰减的问题,能够更有效地学习源程序的语法和语义信息.实验结果表明,该方法在真实软件数据集上的 F1 分数达到了 73.4%,相较于对比方法提升了13.6%~40.8%,并成功检测出多个开源软件漏洞,证明了其有效性与实用性.
ISSN:2096-109X
DOI:10.11959/j.issn.2096-109x.2023085