[发明专利]面向源代码双极性软件安全漏洞图谱构建方法有效
申请号: | 201911212479.4 | 申请日: | 2019-12-02 |
公开(公告)号: | CN110909364B | 公开(公告)日: | 2023-02-10 |
发明(设计)人: | 郭军军;王乐 | 申请(专利权)人: | 西安工业大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F16/951;G06F16/2458 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 程晓霞 |
地址: | 710021 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 面向 源代码 极性 软件 安全漏洞 图谱 构建 方法 | ||
1.一种面向源代码双极性软件安全漏洞图谱的构建方法,其特征在于,包括有如下步骤:
(1)漏洞源代码获取:将国家安全漏洞库NVD中的漏洞源代码通过爬虫的方式下载并获取到漏洞源代码的数据,该数据包括漏洞代码和补丁代码,将获取到的漏洞源代码数据存储在本地漏洞源代码仓库;
(2)数据预处理:将漏洞源代码数据通过自然语言预处理NLP技术,剔除其中无用信息和干扰信息,得到预处理数据;
(3)数据分析提取与抽取:对预处理数据依次进行特征提取,实体抽取,关系抽取;经特征提取,得到漏洞源代码的根节点分类,根节点是以CWE-编号进行分类,在根节点分类中以CVE-编号为子节点;经实体抽取,得到了漏洞源代码的实体,其中包括漏洞实体和补丁实体,每个实体为一个节点;经过关系抽取,得到漏洞源代码中实体和实体之间的关系,其中包括控制依赖、数据流依赖、赋值传参、引用传参、声明依赖和函数调用依赖,任意两实体间关系为一条边;
(4)漏洞图谱构建:以漏洞源代码中的所有实体集合为节点集,实体和实体的关系的所有集合为边集,构建生成面向源代码双极性软件安全漏洞图谱;漏洞图谱中实线表示漏洞的节点和节点关系,虚线表示补丁的节点和节点的关系,漏洞图谱将漏洞的正向特征和反向特征表现出来;生成的漏洞图谱存储在Neo4j数据库中;所述漏洞图谱由许多个子图构成,子图是以漏洞补丁代码增减位置为出发点,以CVE-编号构成的漏洞图谱基本单元,通过CWE-编号将其中所有子图连接构成完整的漏洞图谱;漏洞图谱构建,包括如下步骤:
4.1)子图为漏洞图谱的基本单元
子图是以补丁代码增减位置为出发点,以CVE-编号为依据构成的单元,子图中包括超图,超图就是每一个边可以包含两个以上的点所构成的图;
在子图中节点之间的关系可以是一对多,也可以是多对多的关系,不同形状的箭头来表示节点和节点的关系;
子图和子图中通过CWE-编号构成完整的漏洞图谱,G=g1∪g2∪...∪gn表示N个子图所构成的漏洞图谱,其中gn为第n个子图,n为任意子图的序号,N为子图的总数,n取值范围为正整数,即n∈N+;
4.2)定义点集、边集和图
将实体抽取得到了所有点构成点集,用V表示,将关系抽取得到的所有边构成边集用E表示,漏洞图谱用G表示,漏洞图谱中的子图用g表示,漏洞图谱表示为G=(V,E);
4.3)循环遍历子图
以漏洞补丁增减位置为出发点,此时last=NULL;执行路径中的每一条语句记为s;循环遍历得到点的集合为:V(g)=V(g)∪{s},边的集合为:E(g)=E(g)∪{<last,s>},一直循环直到last=s,结束循环;
4.4)漏洞图谱可视化及存储
通过Python调用Graphviz库可视化生成漏洞图谱子图,漏洞图谱中用不同形状的箭头表示节点和节点的关系,实线代表漏洞节点和节点间的关系,虚线表示补丁节点和节点的关系,通过对比的方式将漏洞的正向特征和反向特征表现出来,体现特征项之间错综的复杂关系,生成的图谱存放在Nco4j数据库中;
(5)漏洞图谱优化:通过优化公式逐一计算判断每一子图的超图得分上限值,对子图剪枝进行漏洞图谱优化,按照同样的方法遍历漏洞图谱的所有子图,完成漏洞图谱整体优化;所述的优化公式,计算公式如下:
其中,GPass表示成功的测试超图用例图,Gfail表示失败的测试超图用例图,表示边在成功测试超图用例图GPass中出现的频率均值,表示边在失败测试超图用例图Gfail中出现的频率均值,表示边在成功测试超图用例图GPass中出现的频率方差,表示边在失败测试超图用例图Gfail中出现的频率方差;
对任何某一子图g,在子图的超图在GPass中出现的次数大于等于零,且小于等于子图g在GPass中出现的次数和在Gfail中出现的次数大于等于零,且小于等于子图g在Gfail中出现的次数的情况下,均属于子图的超图的得分具有一个上限值,需要对该上限值进行剪枝。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安工业大学,未经西安工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911212479.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:触控装置以及用于触控装置的操作方法
- 下一篇:一种多点触控装置及显示设备