一种基于知识图谱的网络安全防御方案生成方法


1.本发明涉及网络安全、知识图谱技术领域,特别是一种基于知识图谱的网络安全防御方案生成方法。


背景技术:



2.语义网的概念于1998年首次提出,使得互联网不单单能够传输和交换数据,更成为了知识的集合。在此基础上如rdf,owl等多种知识标签被提出。2012年,知识图谱的概念,一种揭示实体之间关系的语义网络由谷歌首次提出。借助这一工具,客观世界的概念、实体、知识及其之间的关系能够被很好的描述和组织。
3.自知识图谱概念提出后,近些年来发展迅速,引起了国内外学者的广泛关注,近年来,将网络安全领域与知识图谱相结合更是引起了众多学者的研究。现有的网络安全知识图谱模式层如统一网络安全本体、统一网络安全本体基础上进行扩展的网络安全认知框架、cti(网络威胁情报)本体等,帮助网络安全分析人员能够及早发现网络入侵并提升调查威胁信息的能力。众多研究者在这些本体的基础上建立了如通用软件弱点知识图谱、漏洞知识图谱、sepses网络安全知识图谱。
4.但现有的关于网络安全知识图谱的研究,大多集中于知识图谱的构建技术如nlp(自然语言处理)领域,和整合多源异构数据集并用于构建网络安全中细分领域的知识图谱。很少有研究者从网络安全整体进行考虑,并将分散的多源异构数据整理成从通用平台到攻击战技术再到防御战技术的闭环。分散的网络安全知识,给网络安全从业人员在网络安全分析上带来了很多困难,网络安全从业人员在面对网络攻击时及时分析及推理出有效的防御手段是困难且有局限性的,很难在短时间内做出针对网络攻击的有效防御方案。


技术实现要素:



5.本发明的目的是针对现有技术的不足,提供一种基于知识图谱的网络安全防御方案生成方法,结合知识图谱,为网络安全防御阶段提供有效的缓解措施或防御方案。
6.具体步骤如下:
7.(10)依据网络安全领域相关术语及标准,自顶向下的,构建网络安全知识图谱的模式层。
8.(20)获取多源异构的网络安全领域公开数据集并进行数据组织。
9.(30)根据mongodb数据库中的三元组,利用rdf构造器将这些结构化数据按照(10)中构建的网络安全知识图谱模式层进行映射,构建网络安全知识图谱数据层。
10.(40)根据网络拓扑,根据攻击事件信息,结合网络安全知识图谱进行防御方案生成。
11.本发明的有益效果为:本发明复用统一网络安全本体的基础上,结合网络安全领域相关定义及概念,自顶向下的构建网络安全知识图谱模式层。涵盖资产、漏洞、攻击、防御等多组概念及关系。获取多源异构网络安全领域公开数据集,并进行数据处理,构建成三元
组形式,利用非关系型数据库mongodb存储,构建网络安全知识图谱数据层。结合知识图谱提供了全面的、结构化的网络安全领域知识库,根据网络拓扑及攻击事件信息,通过防御方案生成方法,高效的推理出可行的缓解措施或防御方案,为网络环境的安全提供更进一步的有效保障。
附图说明
12.图1为本发明一种基于知识图谱的网络安全防御方案生成方法的流程图;
13.图2为网络安全知识图谱模式层示意图;
14.图3为网络安全数据获取及组织框架图;
15.图4为防御方案生成方法流程图;
16.图5为防御方案生成结果;
17.图6为本发明的防御方案生成方法伪代码。
具体实施方式
18.为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图对本发明作进一步详细的说明。
19.本发明的一个实施例提供了,一种基于知识图谱的网络安全防御方案生成方法,如附图1,包括以下步骤:
20.(10)依据网络安全领域相关术语及标准,自顶向下的,构建网络安全知识图谱的模式层。步骤具体为:
21.(11)复用统一网络安全本体的基础上,收集网络安全领域相关定义及概念。
22.(12)对顶层模式层中的概念进行细分,包含概念的属性及概念间的关系。模式层概念包含资产、漏洞、弱点、攻击模式、攻击技术、攻击战术、缓解措施、攻击组织、恶意软件、数字工件、防御技术等概念。
23.模式层概念间关系包含资产与漏洞,漏洞与弱点,弱点与攻击模式,攻击模式与攻击技术,攻击技术与攻击战术、环节措施、攻击组织、恶意软件、数字工件,数字工件与防御技术间的关系。
24.(13)利用protege构建网络安全知识图谱模式层。实施例如图1。
25.(20)获取多源异构的网络安全领域公开数据集并进行数据组织。
26.网络安全领域公开数据集主要包含:cpe(通用平台枚举)、cve(通用漏洞枚举)、cwe(通用弱点枚举)、capec(通用攻击模式枚举及分类)、att&ck(对抗战术、技术和常识)、d3fend(网络安全对策知识库)。
27.cpe数据集用于描述已识别资产中的应用程序、操作系统和硬件,包含73万条数据。
28.cve数据集记录了从1988-2022年的已发现漏洞信息,包含17万条数据。
29.cwe数据集是软件和硬件弱点类型列表,是所有漏洞的原理进行基础性的总结分析,包含790条弱点信息。
30.capec数据集提供了攻击者为利用网络环境中的已知缺陷可以利用的攻击模式的关联关系,包含541条攻击模式信息。
31.att&ck数据集可分离出五个数据集,分别为攻击战术、攻击技术、攻击组织、恶意软件和缓解措施。包含28种网络攻击战术,656种网络攻击技术,122条攻击组织信息,585条恶意软件信息,55条缓解措施信息。
32.d3fend数据集是网络安全对策技术的知识库,包含5种防御战术及120种防御技术。
33.上述(20)步骤具体为:
34.(21)获取主要格式为csv、xml等结构化、半结构化文本的资产数据集、漏洞数据集、弱点数据集,攻击模式数据集。获取多为网页形式的网络攻击领域数据集,网络防御领域数据集。
35.(22)针对xml文件等半结构化数据,使用xml解析器进行解析;针对csv的结构化数据,使用csv解析器进行解析;针对网页形式的半结构化及非结构化的数据,采用xpath对网页信息进行标注,采用正则表达式等模板进行解析。并构建成三元组的形式。三元组的形式为(h,r,t)和(h,a,v),其中h表示三元组中的头实体,t表示三元组中的尾实体,r表示三元组中头尾实体间的关系,a表示属性名,v表示属性值。
36.(23)针对组织完成的三元组结构采用数据冗余校验,数据正确性校验等技术进行验证,去除重复冗余的数据,并通过非关系型数据库mongodb存储。实施例如附图2。
37.(30)利用(20)中组织好并存储在mongodb数据库中的三元组,利用rdf构造器将这些结构化数据按照(10)中构建的网络安全知识图谱模式层进行映射,构建网络安全知识图谱数据层。
38.如附图3(伪代码如附图5),(40)根据网络拓扑及攻击事件信息,结合网络安全知识图谱进行防御方案生成。步骤具体为:
39.(41)根据漏洞扫描结合手动构建,构建网络拓扑g={a,v,r},其中:
40.a=[主机-1,主机-2]。
[0041]
v=[cve-2016-1711,cve-2016-7097,cve-2015-5317,cve-2010-4182,cve-2015-7755,cve-2017-7269]。
[0042]
则:
[0043]
主机-1:具有漏洞cve-2016-1711、cve-2016-7097、cve-2015-5317。
[0044]
主机-2:具有漏洞cve-2010-4182、cve-2015-7755、cve-2017-7269。
[0045]
(42)模拟攻击时,通过数据采集器,采集网络日志文件,从日志文件中获取网络攻击事件信息集合s,长度为10。
[0046]
(43)去除攻击事件信息集合s中冗余重复的报警信息,得到关键网络攻击报警信息sk=[e1,e2,...,ek](1≤k≤10),k=4,sk中攻击事件信息为system information discovery、services file permissions weakness、scanning ip blocks、web session cookie。
[0047]
(44)根据攻击事件信息,这四个攻击事件确定被攻击资产节点均为主机-1,其存在漏洞列表为v
主机-1
=[cve-2016-1711,cve-2016-7097,cve-2015-5317]。
[0048]
(45)遍历攻击报警信息sk,遍历漏洞列表v
主机-1
,漏洞与攻击事件ek中攻击类型匹配,得到匹配度最高漏洞为cve-2016-7097,攻击事件为services file permissions weakness。将漏洞cve-2016-7097放入漏洞排序列表v
sort
中,此时v
sort
=[cve-2016-7097]
[0049]
(46)遍历主机-1剩余漏洞,根据impact(v)=2
×
av
×
ac
×
au,计算得出impact(cve-2016-1711)=2
×1×
0.61
×
0.704=0.86,impact(cve-2015-5317)=2
×1×
0.71
×
0.704=0.99,对威胁评分进行降序排序,放入漏洞排序列表v
sort
中,此时v
sort
=[cve-2016-7097,cve-2015-5317,cve-2016-1711]
[0050]
(47)根据规则推理,依次推理出漏洞排序列表v
sort
中针对漏洞的缓解措施或防御方案。
[0051]
例如,下面这条规则表明漏洞v由弱点w产生,被攻击模式c利用,c包含攻击技术t,使用到数字工件da,使用防御技术dt能够修复或缓解v。
[0052]
produced_y(v,w)∧used_by(w,c)∧taxonomy_mapping_to(c,t)∧use(t,da)∧countered-by(da,dt)

counter_vulnerability(dt,v)
[0053]
如果没有推理出相应的防御技术dt,则通过下面这条规则进行推理,表明漏洞v由弱点w产生,被攻击模式c利用,c包含攻击技术t,使用缓解措施m能够修复或缓解v。
[0054]
produced_by(v,w)∧used_by(w,c)∧taxonomy_mapping_to(c,t)∧mitigated_by(t,m)

counter_vulnerability(m,v)
[0055]
经过上述步骤,完成针对攻击事件的防御方案生成,可以推理出针对cve-2016-7097采用service binary verification防御技术,针对cve-2015-5317可以采用remote terminal session detection防御技术,针对cve-2016-1711采用file hashing防御技术,并可给出关于防御技术的实施方法,如附图4。
[0056]
以上所述实施例针对主机-1的防御方案生成方法,同样适用于主机-2及其他主机,也同样适用于攻击事件中包含针对多台主机的攻击事件的防御方案生成,能够针对网络攻击事件做出快速响应,为网络环境的安全提供更进一步的有效保障。
[0057]
发明不局限于上述实施方式,任何人应得知在本发明的启示下做出的与本发明具有相同或相近的技术方案,均落入本发明的保护范围。

技术特征:


1.一种基于知识图谱的网络安全防御方案生成方法,其特征在于,包括以下步骤:(10)依据网络安全领域相关术语及标准,自顶向下的,构建网络安全知识图谱的模式层;(20)获取多源异构的网络安全领域公开数据集并进行数据组织;(30)根据组织好的数据构建网络安全知识图谱数据层;(40)根据网络拓扑及攻击事件信息,结合所述网络安全知识图谱进行防御方案生成。2.根据权利要求1所述的一种基于知识图谱的网络安全防御方案生成方法,其特征在于:(10)中通过自顶向下的方法,网络安全知识图谱模式层的构建过程:利用protege建模工具,在复用统一网络安全本体的基础上,结合对网络安全领域相关数据的理解,构建网络安全知识图谱模式层,自顶向下的,对顶层模式层中的概念进行细分,包含概念的属性及概念间的关系。3.根据权利要求2所述的一种基于知识图谱的网络安全防御方案生成方法,其特征在于:所述顶层模式层概念主要为资产、漏洞、弱点、攻击模式、攻击技术、攻击战术、缓解措施、攻击组织、恶意软件、数字工件、防御技术;所述概念间关系主要为资产与漏洞,漏洞与弱点,弱点与攻击模式,攻击模式与攻击技术,攻击技术与攻击战术、环节措施、攻击组织、恶意软件、数字工件,数字工件与防御技术等关系。4.根据权利要求3所述的一种基于知识图谱的网络安全防御方案生成方法,其特征在于:(20)中多源异构的网络安全领域公开数据集主要包括资产数据集、漏洞数据集、弱点数据集、攻击模式数据集、网络攻击领域数据集、网络防御领域数据集;所述网络攻击领域数据集包含攻击技术数据集、攻击战术数据集、缓解措施数据集、攻击组织数据集、恶意软件数据集;所述网络防御领域数据集包含数字工件数据集、防御技术数据集。5.根据权利要求4所述的一种基于知识图谱的网络安全防御方案生成方法,其特征在于:(20)中数据组织的主要过程:(21)获取主要格式为csv、xml等半结构化数据的资产数据集、漏洞数据集、弱点数据集,攻击模式数据集,获取多为网页形式的网络攻击领域数据集及网络防御领域数据集;(22)针对xml等半结构化数据,使用xml解析器进行解析;针对csv等半结构化数据,使用csv解析器进行解析;针对网页形式的半结构化及非结构化的数据,采用xpath对网页信息进行标注,采用正则表达式等模板进行解析,构建成三元组的形式;所述三元组的形式为(h,r,t)或(h,a,v),其中h表示三元组中的头实体,t表示三元组中的尾实体,r表示三元组中头尾实体间的关系,a表示属性名,v表示属性值;(23)针对组织完成的三元组结构采用数据冗余校验,数据正确性校验等技术进行验证,去除重复冗余的数据,并通过非关系型数据库mongodb存储。6.根据权利要求5所述的一种基于知识图谱的网络安全防御方案生成方法,其特征在于:(23)中数据正确性校验方法是针对三元组中的头尾实体关系及头尾实体概念与(10)中构建的模式层进行比较,丢弃不符合模式层中概念属性及概念间关系的数据。7.根据权利要求6所述的一种基于知识图谱的网络安全防御方案生成方法,其特征在于:(30)利用(20)中组织好并存储在mongodb数据库中的三元组,利用rdf构造器将这些结
构化数据按照(10)中构建的网络安全知识图谱模式层进行映射,构建网络安全知识图谱数据层。8.根据权利要求7所述的一种基于知识图谱的网络安全防御方案生成方法,其特征在于:(40)构建当前网络拓扑结构,根据攻击事件信息,结合网络安全知识图谱进行防御方案生成具体包括如下步骤:(41)根据当前网络拓扑g={a,v,r},其中a代表当前网络拓扑所有资产节点,v代表网络拓扑中所有资产节点中的漏洞,r表示网络拓扑中资产节点与资产节点及漏洞间的关系,(42)使用数据采集器,采集网络日志文件,从日志文件中获取网络攻击事件信息集合s;(43)针对采集到的网络攻击事件信息s,长度为l,去除冗余重复的报警信息,抽取出关键的网络攻击事件报警信息s
k
=[e1,e2,...,e
k
](1≤k≤l),每个事件e
k
中包含攻击名称、攻击类型、被攻击资产节点的ip地址等信息;(44)通过网络攻击事件e
k
,根据网络拓扑g确认被攻击的资产节点及其存在的漏洞信息列表v=[v1,v2,...,v
j
](j≥1);(45)针对该资产节点可能被利用的漏洞信息列表v,与事件e
k
的攻击类型进行匹配,匹配度最高的漏洞将其放置在漏洞排序列表v
sort
中;(46)依据通用cvss(漏洞评分系统)官方文档对资产节点中剩余的漏洞的威胁评分进行计算,计算公式如下:impact(v)=2
×
av
×
ac
×
au,其中av表示访问的网络要求,ac表示访问的复杂性,au表示访问需要的权限,按照计算出来的威胁评分impact(v)进行排序,并按序放入漏洞排序列表v
sort
中;(47)通过基于规则的知识推理,依次推理出漏洞排序列表v
sort
中针对漏洞的缓解措施或防御方案;其中所述基于规则的知识推理,具体通过编写swrl(语义网规则语言)推理规则,swrl推理采用逻辑门表示:r1(a,b)∧r2(b,c)

r3(a,c)。

技术总结


本发明涉及了网络安全、知识图谱技术领域,提供了一种基于知识图谱的网络安全防御方案生成方法,给出对于攻击事件的缓解措施或防御方案,包括以下步骤:(10)依据网络安全领域相关术语及标准,通过自顶向下的方法,构建网络安全知识图谱模式层;(20)获取多源异构的网络安全领域公开数据集并进行数据组织;(30)根据组织好的数据构建网络安全知识图谱数据层;(40)根据网络拓扑及攻击事件信息,结合所述网络安全知识图谱进行防御方案生成。结合知识图谱提供了全面的、结构化的网络安全领域知识库,并结合提出的防御方案生成方法,高效的推理出可行的缓解措施或防御方案,为网络环境的安全提供更进一步的有效保障。安全提供更进一步的有效保障。安全提供更进一步的有效保障。


技术研发人员:

孟泽儒 陈剑 尹乐

受保护的技术使用者:

南京邮电大学

技术研发日:

2022.04.01

技术公布日:

2022/12/22

本文发布于:2024-09-23 20:20:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/45720.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图谱   数据   网络安全   网络
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议