首页 / 专利库 / 图形技术 / 可视化 / 知识可视化 / 思维导图 / 一种基于知识图谱的漏洞知识库构建方法

一种基于知识图谱的漏洞知识库构建方法

阅读:915发布:2020-05-16

专利汇可以提供一种基于知识图谱的漏洞知识库构建方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于知识图谱的漏洞 知识库 构建方法,涉及网络安全技术领域。本发明通过知识融合将多个数据源 抽取 的知识进行融合,使来自不同知识源的知识在同一 框架 规范下进行异构数据整合、消歧、加工、推理验证、更新,达到数据、信息、方法、经验以及攻防知识的融合,形成高 质量 的漏洞知识库。在构建好基于知识图谱的漏洞知识库后,可根据用户的漏洞发现工作的具体要求,通过提供实时 可视化 交互 接口 进行展示、知识筛选、推荐漏洞发现路径等操作,实现交互式的漏洞发现。通过该方法能够对 软件 系统、网络协议等进行高效的漏洞发现,具备与人之间的协同分析和 自学习 的能 力 ,辅助用户更快的查找可能得安全漏洞新,实现更快更准地发现漏洞。,下面是一种基于知识图谱的漏洞知识库构建方法专利的具体信息内容。

1.一种基于知识图谱的漏洞知识库构建方法,其特征在于,包括以下步骤:
步骤1:漏洞知识的收集;
步骤2:对收集的漏洞知识进行提取和清洗;
步骤3:对步骤2处理得到的漏洞数据实现知识图谱化。
2.如权利要求1所述的方法,其特征在于,步骤1具体为:从多个数据源获取计算机相关知识、网络安全相关知识、攻击规则、软件漏洞样本、网络威胁情报、攻击规则及漏洞数据;
其中,攻击规则包含已经存在的攻击的详细信息,包括攻击名称、攻击类型、协议、攻击特点、攻击描述、严重性;漏洞数据包含已发现漏洞的详细信息,包括漏洞名称、漏洞描述、漏洞优先级、破坏方法、同源性特征;还使用人工标注的方法对样本软件进行漏洞标注,将漏洞存在的执行路径标记为脆弱路径,随后使用遗传算法进行脆弱路径制导测试,得到包含软件脆弱路径及测试用例的漏洞发掘样本数据。
3.如权利要求1所述的方法,其特征在于,步骤2具体为:将通过步骤1得到的数据首先进行归并、去重、归一化这些清洗处理;将分散的知识结构化为计算机可理解的知识库;还对原始数据进行的预处理和数据聚合、压缩,排序,删除重复信息、纠正存在的错误,并提供数据一致性处理。
4.如权利要求1所述的方法,其特征在于,步骤3中,将知识图谱作为最终产生的结构化知识库表现形式,将漏洞知识库中的知识看作一个五元组模型,该模型包含:概念、实例、关系、属性和规则;知识图谱用于描述真实世界中存在的各种实体或概念,其中,每个实体或概念用一个全局唯一确定的ID来标识,称为标识符,每个属性-值对用于表征实体的内在特性,而关系用于连接两个实体,描述它们之间的关联。
5.如权利要求4所述的方法,其特征在于,步骤3中,在知识图谱的构建中包括两个不同的阶段,第一阶段是从数据源中抽取知识的过程,称为主体抽取与属性抽取;第二阶段是将知识聚合的过程,称为关系抽取;第一阶段使用基于规则与机器学习的知识抽取方法从收集到的海量数据中抽取可用作于知识的概念信息。
6.如权利要求5所述的方法,其特征在于,所述第一阶段具体分为以下五个步骤:
步骤3.1:对计算机漏洞领域的概念和概念之间的关系进行定义;并使用包含上下文计算符和布尔关系计算符的生成文法描述概念和概念之间的关系的规则;
步骤3.2:基于步骤3.1中生成的规则对海量数据进行知识抽取,抽取出匹配概念和概念之间关系的文本,包括CVE编号、github源代码、svn信息泄漏、敏感文件、数据库配置文件、网站源码、敏感文件目录和邮箱命名规则;
步骤3.3:基于步骤3.2中抽取出的匹配概念和概念之间关系的文本,对机器学习方法进行训练,从而得到更多的概念和概念之间的关系,并实时不断地抽取和生成的各种实体及实体间的关系,并提供实体下钻功能,所述实体下钻是指能够不断地以一个实体为中心,不断扩线分析出与之相关联的其他实体;
步骤3.4:基于步骤3.3中得到的更多的概念和概念之间的关系,进行知识抽取,对抽取的结果进行标注,并对知识抽取时的精确率、召回率进行评判,将精确率、召回率作为评价标准;
步骤3.5:重复步骤3.3和步骤3.4,直至所述评价标准达到预设的标准。
7.如权利要求5所述的方法,其特征在于,所述第二阶段的关系抽取的过程是进行实体之间关系的抽取,其中采用词序列复合核函数实现知识聚合,来最大化地利用多源信息,词序列复合核函数的思想是根据两个词序列中的公共子序列数量来衡量两者相似度子序列中可能包含间隔项,利用衰减因子为每个公共子序列设置不同的权重。
8.如权利要求1所述的方法,其特征在于,在步骤3之后还包括步骤4:提供漏洞知识库的查询支持。
9.如权利要求8所述的方法,其特征在于,步骤4具体为:对于在漏洞知识库查询的对象进行检索,并用关联图进行展示和分析,通过环形导航支持多维检索的无限不循环扩展,提供面向漏洞发现实战经验式和思维导图式的知识检索,即通过鼠标拖拽的方式,实现目标对象的知识浏览、关系分析、属性分析,结合直方图、时间轴、时间轮、数据流、网络分析,实现时间、空间、关系、网络的分析。
10.如权利要求2所述的方法,其特征在于,所述多个数据源包括各类百科网站的计算机相关词条、信息安全网站、开放Web应用安全项目、互联网自建网络安全响应中心、公开漏洞库、攻击规则库。

说明书全文

一种基于知识图谱的漏洞知识库构建方法

技术领域

[0001] 本发明涉及网络安全技术领域,具体涉及一种基于知识图谱的漏洞知识库构建方法。

背景技术

[0002] 安全漏洞(具体是指网络系统的安全漏洞)发现是一个涉及软件工程、信息安全、网络攻防等诸多学科领域知识的复杂工程。安全漏洞涉及的知识种类繁多,包括涉及程序正向开发技术、设计模式、网络协议、程序调试以及攻防对抗领域等。在漏洞知识库的构建中,从海量数据中准确识别漏洞相关的知识是关键环节,该环节方法的高效与否直接决定和影响漏洞知识库的知识质量和使用便利性。
[0003] 知识图谱旨在描述真实世界中存在的各种实体或概念,以及它们之间的关联关系。其中,每个实体或概念用一个全局唯一确定的ID来标识,用属性来描述实体的内在特性,用关系来刻画实体之间的关联。
[0004] 知识图谱是人工智能的一个重要分支。早期人工智能研究的主流是知识工程和专家系统,特别是基于规则的专家系统是研究的重点。2012年,Google发布的知识图谱旨在实现更智能的搜索引擎,2013年以后开始在学术界和业界普及,并在智能问答、情报分析、反欺诈等应用中发挥重要作用。知识图谱以语义网络作为理论基础,并且结合了机器学习自然语言处理和知识表示和推理的最新成果,在大数据的推动下受到了业界和学术界的广泛关注。知识图谱本质上是语义网络的知识库,从实际应用的度出发可以简单地把知识图谱理解成多关系图,包含多种类型的节点和多种类型的边的图结构。知识图谱用节点和关系组成图谱,为真实世界的各个场景直观地建模。通过不同知识的关联性形成一个网状的知识结构,对机器来说就是图谱。知识图谱对于人工智能的重要价值在于,知识是人工智能的基石,构建知识图谱这个过程的本质,就是让机器形成认知能,去理解这个世界。
[0005] 漏洞知识库中包括目标对象实体描述、漏洞成因特征库、漏洞基本信息、攻防专家知识信息、各种软件的缺陷信息等等。比如漏洞成因特征库,主要描述每种漏洞成因特征描述方法的特点,抽象、整合不同漏洞特征的描述方式以及特征之间的相互关系,提供统一的漏洞成因特征的描述能力。漏洞知识库还包括了专家形成的漏洞发现领域的专家知识信息,各种类型的漏洞基本信息、各种软件的缺陷信息、调试技巧信息以及攻防知识。
[0006] 知识图谱的主要优势在于知识搜索、融合以及可视化展现上,为了让机器能够理解文本背后的含义,需要对可描述的事物(实体)进行建模,填充它的属性,拓展它和其他事物的联系,即构建机器的先验知识。知识图谱的可用性依托于大数据的庞大资源以及逐步优化的搜索算法,给用户提供所需要的资源;复杂的语义环境,必然引出复杂的实体关系,在众多实体中,知识图谱会提取实体标签,比对资源语义,对实体进行分类、融合,乃至抽象,以此降低实体关联的难度,减少由于语义处理带来的混淆;知识图谱展现实体关系,为用户清晰的展现所需实体的属性及关联关系,推理用户的隐性需求,辅助进一步搜索操作。

发明内容

[0007] (一)要解决的技术问题
[0008] 本发明要解决的技术问题是:如何实现一种面向漏洞挖掘人员的漏洞知识库构建方法。
[0009] (二)技术方案
[0010] 为了解决上述技术问题,本发明提供了一种基于知识图谱的漏洞知识库构建方法,包括以下步骤:
[0011] 步骤1:漏洞知识的收集;
[0012] 步骤2:对收集的漏洞知识进行提取和清洗;
[0013] 步骤3:对步骤2处理得到的漏洞数据实现知识图谱化。
[0014] 优选地,步骤1具体为:从多个数据源获取计算机相关知识、网络安全相关知识、攻击规则、软件漏洞样本、网络威胁情报、攻击规则及漏洞数据;其中,攻击规则包含已经存在的攻击的详细信息,包括攻击名称、攻击类型、协议、攻击特点、攻击描述、严重性;漏洞数据包含已发现漏洞的详细信息,包括漏洞名称、漏洞描述、漏洞优先级、破坏方法、同源性特征;还使用人工标注的方法对样本软件进行漏洞标注,将漏洞存在的执行路径标记为脆弱路径,随后使用遗传算法进行脆弱路径制导测试,得到包含软件脆弱路径及测试用例的漏洞发掘样本数据。
[0015] 优选地,步骤2具体为:将通过步骤1得到的数据首先进行归并、去重、归一化这些清洗处理;将分散的知识结构化为计算机可理解的知识库;还对原始数据进行的预处理和数据聚合、压缩,排序,删除重复信息、纠正存在的错误,并提供数据一致性处理。
[0016] 优选地,步骤3中,将知识图谱作为最终产生的结构化知识库表现形式,将漏洞知识库中的知识看作一个五元组模型,该模型包含:概念、实例、关系、属性和规则;知识图谱用于描述真实世界中存在的各种实体或概念,其中,每个实体或概念用一个全局唯一确定的ID来标识,称为标识符,每个属性-值对用于表征实体的内在特性,而关系用于连接两个实体,描述它们之间的关联。
[0017] 优选地,步骤3中,在知识图谱的构建中包括两个不同的阶段,第一阶段是从数据源中抽取知识的过程,称为主体抽取与属性抽取;第二阶段是将知识聚合的过程,称为关系抽取;第一阶段使用基于规则与机器学习的知识抽取方法从收集到的海量数据中抽取可用作于知识的概念信息。
[0018] 优选地,所述第一阶段具体分为以下五个步骤:
[0019] 步骤3.1:对计算机漏洞领域的概念和概念之间的关系进行定义;并使用包含上下文计算符和布尔关系计算符的生成文法描述概念和概念之间的关系的规则;
[0020] 步骤3.2:基于步骤3.1中生成的规则对海量数据进行知识抽取,抽取出匹配概念和概念之间关系的文本,包括CVE编号、github源代码、svn信息泄漏、敏感文件、数据库配置文件、网站源码、敏感文件目录和邮箱命名规则;
[0021] 步骤3.3:基于步骤3.2中抽取出的匹配概念和概念之间关系的文本,对机器学习方法进行训练,从而得到更多的概念和概念之间的关系,并实时不断地抽取和生成的各种实体及实体间的关系,并提供实体下钻功能,所述实体下钻是指能够不断地以一个实体为中心,不断扩线分析出与之相关联的其他实体;
[0022] 步骤3.4:基于步骤3.3中得到的更多的概念和概念之间的关系,进行知识抽取,对抽取的结果进行标注,并对知识抽取时的精确率、召回率进行评判,将精确率、召回率作为评价标准;
[0023] 步骤3.5:重复步骤3.3和步骤3.4,直至所述评价标准达到预设的标准。
[0024] 优选地,所述第二阶段的关系抽取的过程是进行实体之间关系的抽取,其中采用词序列复合核函数实现知识聚合,来最大化地利用多源信息,词序列复合核函数的思想是根据两个词序列中的公共子序列数量来衡量两者相似度子序列中可能包含间隔项,利用衰减因子为每个公共子序列设置不同的权重。
[0025] 优选地,在步骤3之后还包括步骤4:提供漏洞知识库的查询支持。
[0026] 优选地,步骤4具体为:对于在漏洞知识库查询的对象进行检索,并用关联图进行展示和分析,通过环形导航支持多维检索的无限不循环扩展,提供面向漏洞发现实战经验式和思维导图式的知识检索,即通过鼠标拖拽的方式,实现目标对象的知识浏览、关系分析、属性分析,结合直方图、时间轴、时间轮、数据流、网络分析,实现时间、空间、关系、网络的分析。
[0027] 优选地,所述多个数据源包括各类百科网站的计算机相关词条、信息安全网站、开放Web应用安全项目、互联网自建网络安全响应中心、公开漏洞库、攻击规则库。
[0028] (三)有益效果
[0029] 本发明通过知识融合将多个数据源抽取的知识进行融合,使来自不同知识源的知识在同一框架规范下进行异构数据整合、消歧、加工、推理验证、更新,达到数据、信息、方法、经验以及攻防知识的融合,形成高质量的漏洞知识库。在构建好基于知识图谱的漏洞知识库后,可根据用户的漏洞发现工作的具体要求,通过提供实时可视化交互接口进行展示、知识筛选、推荐漏洞发现路径等操作,实现交互式的漏洞发现。通过该方法能够对软件系统、网络协议等进行高效的漏洞发现,具备与人之间的协同分析和自学习的能力,辅助用户更快的查找可能得安全漏洞新,实现更快更准地发现漏洞。

具体实施方式

[0030] 为使本发明的目的、内容、和优点更加清楚,下面结合实施例,对本发明的具体实施方式作进一步详细描述。
[0031] 本发明中,知识图谱是以图的方式组织知识的知识库,要将漏洞知识处理成知识图谱,需要根据漏洞发现这一领域设计知识图谱的构成,具体包括设计主体类型、主体可能拥有的属性以及主体与主体之间的关系。构建知识图谱的数据包括非结构化数据、半结构化数据和结构化数据。这些数据经过知识抽取、知识融合、知识计算,最后统一概念,形成知识存储起来。自动化构建知识图谱的过程本质就是进行机器学习的过程,现阶段的机器学习技术已经支持自动化的知识图谱构建,但还是有很多场景需要人工参与,尤其是一些专业领域的知识图谱,需要领域专家参与构建。
[0032] 本发明提供了一种基于知识图谱的漏洞知识库构建方法,包括漏洞知识的收集、漏洞知识的提取和清洗、漏洞数据的知识图谱化(包括主体抽取与属性抽取、实体之间关系的抽取)和漏洞知识库的查询支持四个步骤。具体为:
[0033] 步骤1:漏洞知识的收集
[0034] 从各类百科网站的计算机相关词条、信息安全网站、开放Web应用安全项目、互联网自建网络安全响应中心、公开漏洞库、攻击规则库等数据源获取计算机相关知识、网络安全相关知识、攻击规则、软件漏洞样本、网络威胁情报、攻击规则及漏洞数据;其中,攻击规则包含已经存在的攻击的详细信息,包括攻击名称、攻击类型、协议、攻击特点、攻击描述、严重性;漏洞数据包含已发现漏洞的详细信息,包括漏洞名称、漏洞描述、漏洞优先级、破坏方法、同源性特征;还使用人工标注的方法对样本软件进行漏洞标注,将漏洞存在的执行路径标记为脆弱路径,随后使用遗传算法进行脆弱路径制导测试,得到包含软件脆弱路径及测试用例的漏洞发掘样本数据;
[0035] 步骤2:漏洞知识的提取和清洗
[0036] 将通过步骤1得到的数据首先进行归并、去重、归一化这些清洗处理;由于这些源数据多是非结构化的数据,还需要进一步处理以便从其中抽取知识并组成计算机可利用的结构化知识库,将分散的知识结构化为计算机可理解的知识库,本步骤中,为了保证漏洞知识的准确性、完整性、一致性、唯一性,对原始数据进行的预处理和数据聚合、压缩,排序,删除重复信息、纠正存在的错误,并提供数据一致性处理,将高质量漏洞知识写入存储中;
[0037] 步骤3:漏洞数据的知识图谱化
[0038] 将知识图谱作为最终产生的结构化知识库表现形式,将漏洞知识库中的知识看作一个五元组模型,该模型包含:概念、实例、关系、属性和规则;知识图谱用于描述真实世界中存在的各种实体或概念,其中,每个实体或概念用一个全局唯一确定的ID来标识,称为标识符,每个属性-值对用于表征实体的内在特性,而关系用于连接两个实体,描述它们之间的关联;知识图谱也可被看作是一张巨大的图,图中的节点表示实体或概念,而图中的边则由属性或关系构成;
[0039] 在知识图谱的构建中包括两个不同的阶段,第一阶段是从数据源中抽取知识的过程,称为主体抽取与属性抽取;第二阶段是将知识聚合的过程,称为关系抽取;本步骤重点介绍在第一阶段主体抽取的过程,该过程使用基于规则与机器学习的知识抽取方法从收集到的海量数据中抽取可用作于知识的概念信息,具体分为以下五个步骤:
[0040] 步骤3.1:由网络攻防专家、漏洞发现实战人员对计算机漏洞领域的概念和概念之间的关系进行定义;并使用包含上下文计算符和布尔关系计算符的生成文法描述概念和概念之间的关系的规则;
[0041] 步骤3.2:基于步骤3.1中生成的规则对海量数据进行知识抽取,抽取出匹配概念和概念之间关系的文本,包括CVE编号、github源代码、svn信息泄漏、敏感文件、数据库配置文件、网站源码、敏感文件目录和邮箱命名规则;
[0042] 步骤3.3:基于步骤3.2中抽取出的匹配概念和概念之间关系的文本,对机器学习方法进行训练,从而得到更多的概念和概念之间的关系,并实时不断地抽取和生成的各种实体及实体间的关系,并提供灵活实时性的实体下钻功能,所述实体下钻是指能够不断地以一个实体为中心,不断扩线分析出与之相关联的其他实体,这也符合漏洞发现实际工作中所需要层层挖掘、不断剥离的基本原理,比如通过github直接找到管理后台账号密码信息等;
[0043] 步骤3.4:基于步骤3.3中得到的更多的概念和概念之间的关系,进行知识抽取,对抽取的结果进行标注,并对知识抽取时的精确率、召回率进行评判,将精确率、召回率作为评价标准;
[0044] 步骤3.5:重复步骤3.3和步骤3.4,直至所述评价标准达到预设的标准;
[0045] 所述第二阶段的关系抽取的过程是进行实体之间关系的抽取,其中采用词序列复合核函数实现知识聚合,来最大化地利用多源信息,提高关系抽取的精度。具体地,词序列复合核函数的思想是根据两个词序列中的公共子序列数量来衡量两者相似度子序列中可能包含间隔项,利用衰减因子为每个公共子序列设置不同的权重。相比其它方法,复合核函数不仅具有良好的复合特性,而且考虑了特征之间的顺序和结构信息,更适合解决关系抽取的问题。
[0046] 步骤4:提供漏洞知识库的查询支持
[0047] 漏洞知识库是分析漏洞成因的描述方式特点,构建能够描述漏洞统一特征的漏洞特征属性,在漏洞成因分析的基础上,分析每种漏洞成因特征描述方法的特点,抽象、整合不同漏洞特征的描述方式以及特征之间的相互关系,构建漏洞模型,提供统一的漏洞成因特征的描述能力。这样保证领域问题和知识库形成的表示向量能够在同一语义空间进行检索和匹配。这些知识以(头实体、关系、尾实体)以及(实体、属性、属性值)两种三元组的形式存在,通过利用面向知识图谱的三种嵌入表示方法来对三元组进行嵌入表示,将知识图谱的三元映射到一个连续数据表示空间。对于在漏洞知识库查询的对象进行深度的检索,并用关联图进行展示和分析,通过环形导航支持多维检索的无限不循环扩展,提供面向漏洞发现实战经验式和思维导图式的知识检索。即通过鼠标拖拽的方式,实现目标对象的知识浏览、关系分析、属性分析,结合直方图、时间轴、时间轮、数据流、网络分析,实现时间、空间、关系、网络的分析,漏洞发现人员可以从各个角度来观察和分析研判,操作的执行过程会完整记录,并提供基于快照的回退和复现。
[0048] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈