一种基于BGRU与CNN融合模型的多类型漏洞检测方法技术

技术编号:34457527 阅读:53 留言:0更新日期:2022-08-06 17:06
本发明专利技术公开了一种基于BGRU与CNN融合模型的多类型漏洞检测方法(multiple Vulnerabilities Sniffer,mVulSniffer),该方法首先通过构建软件软代码的程序依赖图,对满足易引发漏洞语法规则的源代码语句进行切片得到初级漏洞代码块;其次,对初级漏洞依据漏洞语法特征进行进一步切片,得到粒度更细且易区分漏洞类型的扩展语法漏洞代码块;然后,对初级漏洞代码块及扩展语法漏洞代码块进行数据清洗及标准化并对得到的两类程序切片进行标注,且采用FastText技术将训练数据转化为可输入模型的向量表示;最后利用BGRU(Bidirectional Gated Recurrent Unit)和CNN(Convolutional Neural Network)训练深度学习融合模型,实现对多类型软件源代码漏洞的检测。测。测。

【技术实现步骤摘要】
一种基于BGRU与CNN融合模型的多类型漏洞检测方法


[0001]本专利技术涉及一种多类型源代码漏洞检测方法,具体为一种基于BGRU与CNN融合模型的多类型源代码漏洞检测方法。

技术介绍

[0002]随着互联网技术的便捷化和智能化发展,大量系统功能复杂的软件涌入市场,在为人类生活和社会服务提供便利的同时,也引发了很多安全问题,如隐私泄露,网络攻击等。根据CVE(Common Vulnerabilities and Exposures)漏洞报告,软件漏洞的数量和类型都在逐年增加,这使得攻击者有更多的机会利用软件漏洞发起网络攻击。软件漏洞是由于软件在开发过程中,软件设计缺陷等因素造成软件在部署和运行过程中存在的软件缺陷。攻击者往往基于这些软件缺陷非法访问目标主机并获取敏感数据,甚至谋求经济利益或扰乱社会秩序。比如在缓冲区溢出漏洞中,最危险的是操作系统中普遍存在的堆栈溢出,攻击者利用堆栈溢出,在函数返回时改变返回程序的地址,让其跳转到任意地址,导致程序系统崩溃;此外,攻击者往往借助地址跳转执行恶意代码,导致多种不同的网络攻击。因此,及时对设备、应用及本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于BGRU与CNN融合模型的多类型漏洞检测方法,其特征在于,主要包含以下步骤:步骤A:生成初级漏洞代码块:基于软件的源代码,利用Joern工具生成源代码对应的程序依赖图PDG,Program Dependence Graph,PDG包含代码间的控制依赖图和数据依赖图;初级漏洞代码块PrVC,Primary Vulnerability Code,是由多行代码组成的有序代码集合,是基于满足易引发漏洞的语法规则对源代码对应的PDG切片所得,因此,其主要包含了程序中代码之间的数据依赖关系和控制依赖关系信息;步骤B:生成扩展语法漏洞代码块:基于3种语法特征,将步骤A得到的初级漏洞代码块PrVC进一步切片得到的代码集合称为扩展语法漏洞代码块ExSyVC,Extended Syntax

based Vulnerability Code;步骤C:对初级漏洞代码块PrVC和扩展语法漏洞代码块ExSyVC进行数据清洗、标准化及标注;将步骤A得到的初级漏洞代码块PrVC和步骤B得到的扩展语法漏洞代码块ExSyVC进行数据清洗和标准化处理,数据清洗即对代码块中代码注释和非ASCII码字符删除,标准化即按照自定义命名规则对代码中用户自定义的函数名和变量名进行重新命名;最后,对处理后的初级漏洞代码块PrVC和扩展语法漏洞代码块ExSyVC进行标注;步骤D:生成初级漏洞代码块PrVC和扩展语法漏洞代码块ExSyVC的向量表示,使用FastText技术将步骤C中处理过的代码语句集合转化为对应的向量表示;步骤E:设计基于BGRU和CNN的多类型软件源代码检测模型,将步骤D中得到的向量表征集输入模型进行训练,得到多类型软件源代码检测模型。2.根据权利要求1所述的一种基于BGRU与CNN融合模型的多类型漏洞检测方法,其特征在于,步骤A进一步包括:A1:使用开源工具Joern构建源代码对应的程序依赖图PGD,在PGD中遍历搜索满足4种易引发漏洞语法特征的代码节点,该4种易引发漏洞的语法特征分别为:基于库/API函数调用,指针使用,算术表达式和数组使用;并将各节点对应的程序语句称为漏洞候选集;A2:以A1搜索到的漏洞候选集所在的代码语句作为切片基准,将所有与漏洞候选集语句存在前向和后向数据依赖和控制依赖关系的代码语句归纳为该程序对应的初级漏洞代码块PrVC。3.根据权利要求1所述的一种基于BGRU与CNN融合模型的多类型漏洞检测方法,其特征在于,步骤B进一步包括:B1:利用词法分析技术将步骤A中得到的初级漏洞代码块PrVC中的每一个程序语句进行分析,得到每一条语句的语法属性;B2:将B1得到的语法属性与预设的3种语法特征进行匹配,该3种语法特征分别为:某个代码...

【专利技术属性】
技术研发人员:张学军张奉鹤黄山盖继扬黄海燕周文杰加小红蔡特立
申请(专利权)人:兰州交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1