Page 88 - 《软件学报》2020年第11期
P. 88
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
Journal of Software,2020,31(11):3404−3420 [doi: 10.13328/j.cnki.jos.006061] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
∗
基于代码属性图及注意力双向 LSTM 的漏洞挖掘方法
1
1,3
1,2
1
段 旭 , 吴敬征 , 罗天悦 , 杨牧天 , 武延军 1,3
1
(智能软件研究中心(中国科学院 软件研究所),北京 100190)
2
(中国科学院大学,北京 100049)
3 (计算机科学国家重点实验室(中国科学院 软件研究所),北京 100190)
通讯作者: 吴敬征, E-mail: jingzheng08@iscas.ac.cn
摘 要: 随着信息安全愈发严峻的趋势,软件漏洞已成为计算机安全的主要威胁之一.如何准确地挖掘程序中存
在的漏洞,是信息安全领域的关键问题.然而,现有的静态漏洞挖掘方法在挖掘漏洞特征不明显的漏洞时准确率明显
下降.一方面,基于规则的方法通过在目标源程序中匹配专家预先定义的漏洞模式挖掘漏洞,其预定义的漏洞模式较
为刻板单一,无法覆盖到细节特征,导致其存在准确率低、误报率高等问题;另一方面,基于学习的方法无法充分地
对程序源代码的特征信息进行建模,并且无法有效地捕捉关键特征信息,导致其在面对漏洞特征不明显的漏洞时,无
法准确地进行挖掘.针对上述问题,提出了一种基于代码属性图及注意力双向 LSTM 的源码级漏洞挖掘方法.该方法
首先将程序源代码转换为包含语义特征信息的代码属性图,并对其进行切片以剔除与敏感操作无关的冗余信息;其
次,使用编码算法将代码属性图编码为特征张量;然后,利用大规模特征数据集训练基于双向 LSTM 和注意力机制的
神经网络;最后,使用训练完毕的神经网络实现对目标程序中的漏洞进行挖掘.实验结果显示,在 SARD 缓冲区错误
数据集、SARD 资源管理错误数据集及它们两个 C 语言程序构成的子集上,该方法的 F1 分数分别达到了 82.8%,
77.4%,82.5%和 78.0%,与基于规则的静态挖掘工具 Flawfinder 和 RATS 以及基于学习的程序分析模型 TBCNN 相比,
有显著的提高.
关键词: 漏洞挖掘;深度学习;静态分析;注意力机制;代码属性图
中图法分类号: TP311
中文引用格式: 段旭,吴敬征,罗天悦,杨牧天,武延军.基于代码属性图及注意力双向 LSTM 的漏洞挖掘方法.软件学报,2020,
31(11):3404−3420. http://www.jos.org.cn/1000-9825/6061.htm
英文引用格式: Duan X, Wu JZ, Luo TY, Yang MT, Wu YJ. Vulnerability mining method based on code property graph and
attention BiLSTM. Ruan Jian Xue Bao/Journal of Software, 2020,31(11):3404−3420 (in Chinese). http://www.jos.org.cn/1000-
9825/6061.htm
Vulnerability Mining Method Based on Code Property Graph and Attention BiLSTM
1,3
1
1,2
1
DUAN Xu , WU Jing-Zheng , LUO Tian-Yue , YANG Mu-Tian , WU Yan-Jun 1,3
1 (Intelligent Software Research Center (Institute of Software, Chinese Academy of Sciences), Beijing 100190, China)
2 (University of Chinese Academy of Sciences, Beijing 100049, China)
3 (State Key Laboratory of Computer Science (Institute of Software, Chinese Academy of Sciences), Beijing 100190, China)
∗ 基金项目: 国家重点研发计划(2018YFB0803600); 国家自然科学基金(61772507); 北京市科委产业技术创新战略联盟促进专
项(Z181100000518032)
Foundation item: National Key Research and Development Program of China (2018YFB0803600); National Natural Science
Foundation of China (61772507); Special Promotion of Industrial Technology Innovation Strategic Alliance of Beijing Municipal Science
and Technology Commission (Z181100000518032)
收稿时间: 2019-07-08; 修改时间: 2019-11-30, 2020-04-11; 采用时间: 2020-04-26