当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于深度学习的定向漏洞挖掘方法技术

技术编号:35638180 阅读:33 留言:0更新日期:2022-11-19 16:28
本发明专利技术公开了一种基于深度学习的定向漏洞挖掘方法,通过将训练集源代码做数据预处理,形成CWE二分类和CWE多分类两个模块,获取上述漏洞代码的敏感函数,并进行标签化处理;再利用joern生成CPG代码切片并进行向量化处理,对其分别使用离线深度学习和在线图启发式学习;利用验证集,按照上述数据处理方式生成二分类和多分类评估报告;再将待测源代码通过上述模型生成判定的漏洞类型并输出结果,用判定的漏洞程序进行关键点覆盖子图的生成,并用QEMU动态插桩模块,实现判定漏洞程序的动态分析结果,并形成最终的定向漏洞挖掘报告,具有良好的完整性、准确性和实用性。准确性和实用性。准确性和实用性。

【技术实现步骤摘要】
一种基于深度学习的定向漏洞挖掘方法


[0001]本专利技术属于计算机技术和网络安全
,主要涉及了一种基于深度学习的定向漏洞挖掘方法。

技术介绍

[0002]漏洞是指一个系统存在的缺陷和弱点,而基于漏洞源代码的研究,则是对漏洞的具体关键程序语句进行研究。现如今在电力系统乃至漏洞挖掘领域都缺乏足够的实际工程的源代码,因此数据采集和处理变得尤为重要。
[0003]在传统的漏洞挖掘领域,国内的电力系统的漏洞挖掘大多是基于常规模糊测试手段,挖掘效率较低,很大程度上仍依赖于安全人员的经验,而在智能漏洞挖掘、智能风险隐患排查方面存在技术短板。传统的比如基于人工定义漏洞模式的检测方式经常会导致较高的漏报率,学术界提出的学术方法仅仅只基于预测,对于预测的结果的分析和事实结果缺乏完整的方案和分析。并且,对于现有的漏洞挖掘方法大多单一和笼统,其落地的效果和可能性不佳,因此可能在海量电力场景下难以实施,综合来说,主要表现在:1)漏洞测试样本分布极其不均匀,大部分漏洞类型的测试样本种类偏少导致无法进行有效漏洞挖掘;2) 存在重复漏洞挖掘现象,对于挖掘出来的本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习的定向漏洞挖掘方法,其特征在于,包括如下步骤:S1,数据预处理:对获取的数据进行数据集划分,分为训练集、验证集和测试集,并对训练集的源代码数据进行数据预处理;S2,数据划分:将训练集的数据分类成CWE二分类模块和CWE多分类模块,所述CWE二分类模块中数据是只包含一种CWE漏洞类型和无漏洞代码的二分类数据,其中CWE漏洞类型为CWE119漏洞或CWE120漏洞或CWE469漏洞或CWE476漏洞或CWEother漏洞;所述CWE多分类模块中数据为多种CWE漏洞类型和无漏洞代码的多分类数据,只包括CWE120、CWE476、CWEother和无漏洞代码的混合源代码集;S3,均衡性处理:对步骤S2划分的CWE二分类模块和CWE多分类模块做样本均衡性处理;S4,敏感函数库生成:利用joern和checkmarx分别对只包含一种CWE类型的漏洞代码和包含多种类型的漏洞代码进行扫描,生成相应的敏感函数库,所述扫描的漏洞代码是未经编译的源代码程序;S5,CPG流的代码切片获得:基于敏感函数库,利用CPG流信息获取与敏感语句相关的该函数的其他语句,逆向得到逆向切片,顺向得到顺向切片,组合后形成CPG流的代码切片;S6,分流处理:针对不同的离线和在线学习算法,对步骤S5获得的CPG流的代码切片选择不同的处理方式:采用离线的深度学习算法学习,需要将CPG流切片经过分词并向量化处理,再经过深度学习离线模型,实现二分类和多分类;采用在线的图算法学习,需要在深度学习中的在线的图学习算法模块前将代码属性图CPG的节点特征集和边集转换成DGLGraph图数据结构,将CPG流切片生成CPG图,利用RGCN图算法学习CPG图的特征,最后通过全连接神经网络softmax层进行二分类;S7,评估报告获得:将验证集源程序分别送入步骤S6获得的深度离线学习的二分类深度离线学习模型、多分类深度离线学习模型和二分类的在线图学习模型中做评估,得到离线深度学习的二分类评估报告、离线深度学习的多分类评估报告和在线的图学习的二分类评估报告;S8,测试集结果输出:将测试集源代码放入二分类深度离线学习模型当中,形成二分类的结果,即是否为漏洞;将测试集源代码放入多分类深度离线学习模型当中,形成多分类结果;放入二分类的在线图学习模型当中,形成二分类的结果,即是否为漏洞;基于所预测的漏洞进行漏洞的确认,得到最终定向的漏洞挖掘报告。2.如权利要求1所述一种基于深度学习的定向漏洞挖掘方法,其特征在于:所述步骤S1中的数据预处理至少包括代码注释的去除、空行的去除、块状注释未闭合以及符号未闭合情况的处理。3.如权利要求1所述一种基于深度学习的定向漏洞挖掘方法,其特征在于:所述步骤S3中,对于CWE二分类模块的均衡性处理是将CWE二分类当中的CWE120、CWE476和CWEother与无漏洞代码做1:1比例混合,其中选取的公式分别是min(CWE120漏洞函数个数,无漏洞函数个数),min(CWE476漏洞函数个数,无漏洞函数个数),min(CWEother漏洞函数个数,无漏洞函数个数),无漏洞代码均是顺序选取;对于CWE多分类模块的均衡性处理是将CWE中的CW...

【专利技术属性】
技术研发人员:秦中元周稳曾国强张群芳陈玉清
申请(专利权)人:东南大学
类型:发明
国别省市:

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

1