基于多源漏洞数据的完备知识图谱构建方法技术

技术编号:38854945 阅读:9 留言:0更新日期:2023-09-17 10:01
本发明专利技术公开了一种基于多源漏洞数据的完备知识图谱构建方法,主要解决当前漏洞数据来源复杂、漏洞库中关系缺失的问题。包括:1)进行多源漏洞数据收集,数据来源于CVE、CWE、CAPEC以及安全社区中记录的非结构化漏洞数据;2)对描述非结构化漏洞信息的句子进行规范化处理,进行句子边界检测和名词短语归一化;3)对处理后的句子进行语义角色标记,提取句子角色构造数据三元组,并生成漏洞知识图谱;4)使用node2vec将漏洞知识图谱中的节点和关系表示到低维稠密的向量空间中,对图嵌入结果进行相似度计算;6)通过链接预测补全缺失关系,得到完备知识图谱。本发明专利技术能够建立完备漏洞数据库,有效提高漏洞检索效率。有效提高漏洞检索效率。有效提高漏洞检索效率。

【技术实现步骤摘要】
基于多源漏洞数据的完备知识图谱构建方法


[0001]本专利技术属于网络安全
,进一步涉及一种基于多源漏洞数据的完备知识图谱构建方法,可用于漏洞数据管理与分析。

技术介绍

[0002]随着网络安全形式的日益复杂,利用网络安全漏洞进行攻击的事件频发,2021年,攻击者利用缓冲区溢出漏洞(CVE

2020

11292)控制调制解调器,从应用程序处理器中进行动态更新,利用该漏洞获取使用手机用户的短信、通话记录、监听对话甚至远程解锁SIM卡。针对现有的网络安全问题,收集漏洞信息并进行漏洞信息分析以预防下一次攻击十分关键。
[0003]网络安全漏洞是指在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。当前,在网络安全领域中,有许多广泛使用的漏洞数据集和收集平台,如NVD、CNNVD、WooYun等,其中国家漏洞数据库NVD是由美国政府支持管理的数据集,包括CVE、CWE和CVSS。CVE是信息安全漏洞给出的一个公共名称,使用统一命名格式CVE,可以帮助用户在各自独立的漏洞数据库中共享数据;CWE是社区开发的常见软件和硬件安全弱点列表,CWE针对开发社区和安全从业人员社区,是一个正式的清单或字典,列出了架构、设计、代码或实施中可能出现的常见软件和硬件弱点;CVSS即“通用漏洞评分系统”目的是帮助人们建立衡量漏洞严重程度的标准,使得人们可以比较漏洞的严重程度,从而确定处理它们的优先级。除了上述漏洞数据集,在安全社区和技术报告中还记录了非结构化漏洞的数据,面对上述多源的漏洞数据集,难以将漏洞数据进行有效的统一管理,采用自然语言处理技术对技术报告中的漏洞信息进行处理和分析,提取实体作为新知识添加进漏洞数据集中,构建统一的漏洞数据库整合数据以进行高效管理。
[0004]软件漏洞之间通常相互关联,例如整数溢出是软件输入验证不当的具体情况,它可能是由于开发人员错误理解编程语言的数值计算,导致数字类型之间不正确的转换造成的,该漏洞的发生可能进一步导致在内存缓冲区范围内对操作的不恰当限制。这种漏洞间潜在的连接关系在现有漏洞数据库中是缺失的,安全领域专家通过关系检索难以快速找到与当前指定漏洞相关联的其他漏洞。对于图谱推理技术,早期提出基于符号表示的推理,常见的有基于Datalog的符号推理、基于产生式规则的推理,基于符号表示的推理符合人的逻辑思维,但是,这类方法的泛化能力较差。
[0005]在2022年9月13申请公开的名称为“一种网络安全知识图谱构建方法及系统”的专利文献中,公开了一种网络安全知识图谱构建方法,包括:构建网络安全领域本体模型,从结构化数据、半结构化数据和非结构化文本数据进行知识抽取得到网络安全实体、属性及关系;贾焰在2018年《Engineering》公开了一种构建网络安全知识图谱的实用方法,在推理部分采用基于路径排序算法推理新的关系,但是对于多源漏洞数据集,采用路径排序算法进行推理效率低,不适用于大规模漏洞数据集。

技术实现思路

[0006]专利技术的目的在于克服上述现有技术存在的缺陷,提出了一种基于多源漏洞数据的完备知识图谱构建方法,主要解决现有多源漏洞数据难以有效整合、漏洞检索效率低以及构建的漏洞库内容不完备的问题,本专利技术能够利用知识图谱技术,建立完备漏洞数据库,有效提高漏洞检索效率。
[0007]实现本专利技术方法的思路是:首先获取结构化与非结构化的漏洞数据,非结构化漏洞数据采用标记化进行句子边界判断便于后续数据提取,对于提取后的数据,采用归一化和标准化进行预处理;然后,在现有数据中提取漏洞三元组,采用语义角色标记SRL和一组规则来提取信息流的因果关系并找到边的方向,从SRL的输出中构造三元组;最后,使用node2vec将漏洞知识图谱中的节点和关系表示到低维稠密的向量空间去,进行网络节点相似度计算,补全漏洞数据缺失关系,获得完备知识图谱。
[0008]为实现上述目的,本专利技术采取的技术方案为:
[0009](1)获取结构化漏洞数据:
[0010]从CVE漏洞数据集、CWE漏洞数据集和CAPEC漏洞数据集中获取数据,包括获取CVE

1999到CVE

2022的25万条漏洞数据、从CWE 4.9版本的Software development中获取CWE

699系列、通过CAPEC快速访问列表的攻击机制中获取CAPEC漏洞数据,由这三部分漏洞数据共同构成结构化漏洞数据;
[0011](2)获取非结构化漏洞数据,并进行预处理:
[0012](2a)从安全社区和技术报告中获取描述非结构化漏洞信息的句子,作为非结构化漏洞数据,并对其进行边界检测,即使用常规的标点符号以及项目符号、枚举编号、标题作为句子分隔符,确定边界,实现句子标记化处理;
[0013](2b)将标记化处理后句子中出现的不同名词短语以及动词的同义词映射到构建的字典中,并将映射结果相同的不同动词确定为表示同一动作,对其进行归一化处理;
[0014](2c)使用词性标注和依存句法分析,检测被动语态的句子并判断其中是否缺失主语,若缺失则为隐藏主语,反之为显示主语;对于显示主语的句子直接进行交换主语和宾语对象位置的句式转换,对于隐藏主语的句子则根据上下文分析缺失的主语,进行句子补全后再进行句式转换;得到预处理后非结构化漏洞数据;
[0015](3)提取漏洞数据三元组:
[0016]对结构化漏洞数据与预处理后非结构化漏洞数据进行三元组标准化处理,将其整理成头实体、关系、尾实体的形式,即三元组<head,relation,tail>;其中,使用语义角色标记SRL提取预处理后非结构化漏洞数据中每个标记化处理后句子的一个动词节点和两个名词节点,并使用因果性判断两个名词节点中的发出动作者与接受动作者,确定头实体和尾实体;
[0017](4)基于漏洞数据构建本体:
[0018]在预处理后非结构化漏洞数据中,选择与CVE、CWE和CAPEC漏洞数据集类型相同的漏洞数据,将其与步骤(1)中获取的结构化漏洞数据共同作为本体,再对本体的公共属性进行筛选,即选择ID、Name、Description、Related Weaknesses作为公共属性字段存入数据库,并删除其余字段;
[0019](5)构造完备知识图谱:
[0020](5a)将结构化漏洞数据和非结构化漏洞信息提取的三元组数据,存储到Neo4j图数据库中,构建尚未完备的知识图谱;
[0021](5b)使用node2vec模型将漏洞知识图谱中的节点和关系表示到低维稠密的向量空间,将图结构以向量形式进行表示;
[0022](5c)在向量表示后的图结构中,根据一对节点(u,v)的邻居定义启发式得分heuristic scores,根据共同邻居节点的链接情况为每个邻居节点设置权重,并使用其加权和作为节点对的相似度;
[0023](本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多源漏洞数据的完备知识图谱构建方法,其特征在于,包括:(1)获取结构化漏洞数据:从CVE漏洞数据集、CWE漏洞数据集和CAPEC漏洞数据集中获取数据,包括获取CVE

1999到CVE

2022的25万条漏洞数据、从CWE 4.9版本的Software development中获取CWE

699系列、通过CAPEC快速访问列表的攻击机制中获取CAPEC漏洞数据,由这三部分漏洞数据共同构成结构化漏洞数据;(2)获取非结构化漏洞数据,并进行预处理:(2a)从安全社区和技术报告中获取描述非结构化漏洞信息的句子,作为非结构化漏洞数据,并对其进行边界检测,即使用常规的标点符号以及项目符号、枚举编号、标题作为句子分隔符,确定边界,实现句子标记化处理;(2b)将标记化处理后句子中出现的不同名词短语以及动词的同义词映射到构建的字典中,并将映射结果相同的不同动词确定为表示同一动作,对其进行归一化处理;(2c)使用词性标注和依存句法分析,检测被动语态的句子并判断其中是否缺失主语,若缺失则为隐藏主语,反之为显示主语;对于显示主语的句子直接进行交换主语和宾语对象位置的句式转换,对于隐藏主语的句子则根据上下文分析缺失的主语,进行句子补全后再进行句式转换;得到预处理后非结构化漏洞数据;(3)提取漏洞数据三元组:对结构化漏洞数据与预处理后非结构化漏洞数据进行三元组标准化处理,将其整理成头实体、关系、尾实体的形式,即三元组<head,relation,tail>;其中,使用语义角色标记SRL提取预处理后非结构化漏洞数据中每个标记化处理后句子的一个动词节点和两个名词节点,并使用因果性判断两个名词节点中的发出动作者与接受动作者,确定头实体和尾实体;(4)基于漏洞数据构建本体:在预处理后非结构化漏洞数据中,选择与CVE、CWE和CAPEC漏洞数据集类型相同的漏洞数据,将其与步骤(1)中获取的结构化漏洞数据共同作为本体,再对本体的公共属性进行筛选,即选择ID、Name、Description、Related Weaknesses作为公共属性字段存入数据库,并删除其余字段;(5)构造完备知识图谱:(5a)将结构化漏洞数据和非结构化漏洞信息提取的三元组数据,存储到Neo4j图数据库中,构建尚未完备的知识图谱;(5b)使用node2vec模型将漏洞知识图谱中的节点和关系表示到低维稠密的向量空间,将图结构以向量形式进行表示;(5c)在向量表示后的图结构中,根据一对节点(x,y)的邻居...

【专利技术属性】
技术研发人员:李腾李思琦崔金玉唐智亮任梓豪马卓李德彪
申请(专利权)人:西安联飞智能装备研究院有限责任公司
类型:发明
国别省市:

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

1