一种基于知识图谱的攻击意图识别方法及装置
未命名
07-22
阅读:95
评论:0

1.本发明涉及网络安全领域,尤其涉及一种基于知识图谱的攻击意图识别方法及装置。
背景技术:
2.近年来,网络安全事件频发,网络攻击手段日益呈现复杂多变的特征,新型攻击工具层出不穷,为网络空间安全保障工作带来了巨大挑战,单纯依靠入侵防御系统等被动防御手段已经无法有效地维护网络空间安全,对攻击意图进行预测,提前部署防范措施成为网络安全防护工作的重要任务。
3.网络攻击意图识别根据已有的历史数据、专家经验知识,来推理预测攻击的目标以及下一步的行为。互联网中存在很多网络安全知识库以及威胁情报、安全公告等网络安全数据,可以为网络攻击预测提供支撑。目前网络攻击意图识别的方法主要包括基于攻击图、基于博弈论和基于机器学习的网络意图识别方法,基于攻击图的网络攻击意图识别方法基于当前网络设备的配置、弱点、拓扑信息构建攻击图,通过计算每条攻击路径下实现攻击意图的发生概率来得到概率最大的攻击路径;基于博弈论的方法通过建立博弈论模型,根据攻击“动作”推理攻击意图;基于机器学习的网络攻击意图识别将攻击预测作为分类问题,通过训练机器学习模型,来预测攻击者的目的。基于攻击图的预测方法和基于博弈论的预测方法主要依赖于专家知识以及目标网络的信息,无法充分利用现有的威胁情报等数据,且存在移植性较差的问题,而基于机器学习的预测方法需要大量标注的数据且对训练数据的依赖性较强。将互联网中海量安全数据组织起来,充分挖掘利用已有数据的关联关系,将为实现高效自动化的攻击意图识别提供支撑。
技术实现要素:
4.本发明的目的是提出一种基于知识图谱的攻击意图识别方法及装置,基于知识图谱将网络空间中海量异构、碎片化的网络安全数据组织起来,然后使用基于实体描述的transe模型进行知识推理,同时提取知识图谱中节点的语义特征和结构特征,实现攻击意图预测,该方法可以充分利用并挖掘数据之间的关联,来进行攻击行为分析,解决了现有的攻击意图预测模型移植性差、对训练数据依赖性强的问题。
5.为实现上述目的,本发明的技术方案包括:
6.一种基于知识图谱的攻击意图识别方法,其步骤包括:
7.从多源异构的网络安全数据抽取实体、实体之间的关系及实体属性,以构建网络安全知识图谱,其中所述实体包括:攻击维,所述攻击维包括:攻击事件和攻击意图,所述关系包括:目的;
8.对实体与关系向量化,得到《实体向量,关系向量,实体向量》三元组;
9.将《实体向量,关系向量,实体向量》三元组作为训练数据,对transe模型进行知识表示学习,得到攻击意图推理模型;
10.将待预测攻击意图向量化后,输入攻击意图识别模型,通过计算待预测攻击意图的攻击事件节点与各个攻击意图之间存在目的关系的能量函数,得到攻击意图识别结果。
11.进一步地,网络安全数据包括漏洞信息、日志数据、网络空间资产和检测数据。
12.进一步地,网络安全数据的来源包括公开的漏洞库、资产库、攻击模式库、安全公告和设备告警日志。
13.进一步地,所述实体还包括:脆弱维和资产维。
14.进一步地,脆弱维包括:漏洞脆弱性和弱点脆弱性。
15.进一步地,资产维包括:网络、操作系统、硬件设备和应用软件。
16.进一步地,攻击维还包括:攻击者、攻击工具和攻击方法。
17.进一步地,所述关系还包括:攻击、利用、使用、导致、拥有、运行和属于。
18.进一步地,通过以下策略从网络安全数据抽取实体、关系及实体属性、关系属性,并注入网络安全知识图谱:
19.对于网络安全数据中的结构化数据,根据定义好的实体、关系及实体属性、关系属性,将网络安全数据中的字段映射到网络安全知识图谱中;
20.对于网络安全数据中的非结构化数据,通过以下步骤抽取实体、关系及实体属性、关系属性:
21.1)构建自定义词典;
22.2)对非结构化数据进行分词,并基于所述词典,命名实体标注;
23.3)采用远程监督算法抽取实体、关系及实体属性、关系属性。
24.进一步地,通过以下步骤得到得到《实体向量,关系向量,实体向量》三元组:
25.1)基于网络安全知识图谱,抽取《实体,关系,实体》三元组;
26.2)采用doc2vec模型将《实体,关系,实体》三元组中的头实体属性与尾实体属性,分别映射为向量headd与向量taild;
27.3)随机初始化《实体,关系,实体》三元组为《向量heads,向量r,向量tails》三元组;
28.4)将《(向量headd,向量heads),向量r,(向量taild,向量tails)》三元组,作为得到《实体向量,关系向量,实体向量》三元组。
29.进一步地,能量函数e=α
·
d(heads+r,tails)+(1-α)
·
d(headd+r,taild),其中α为超参数,d(x,y)表示向量x和y的距离。
30.进一步地,获取攻击意图识别结果的方法包括:将能量函数的最小值对应的攻击意图,作为攻击意图识别结果。
31.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以上所述方法。
32.一种电子装置,包括存储器和处理器,其中存储器存储执行以上所述方法的程序。
33.与现有技术相比,本发明具有以下优势:
34.在进行攻击意图预测的时候不仅仅依赖于目标网络的信息,还能够充分利用互联网中的威胁情报和其它网络安全数据,从而提升意图识别的置信度;应用知识图谱推理技术进行攻击行为预测,省去了标注大量数据集而耗费的代价,提升了意图识别的效率;知识图谱可以动态地进行添加或者移除数据,具有较强的适应性,使意图推理模型具有可移植性。
附图说明
35.图1为本发明的一种基于知识图谱的攻击意图识别方法的流程图。
具体实施方式
36.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的实施方式作进一步的详细描述。
37.步骤1:网络安全数据采集
38.本发明方法建立在采集的网络安全数据,数据来源包括公开的漏洞库(nvd、cnvd)、资产库(cpe)、弱点库(cwe)、攻击模式库(capec)、网络安全论坛、网络安全厂商发布的安全公告、设备产生的安全告警日志,包含结构化数据和非结构化数据。
39.步骤2:定义网络安全知识图谱要素
40.通过分析采集到的网络安全数据,根据数据特征,列举相关的网络安全术语,从脆弱性、资产和攻击三个维度定义网络知识图谱的实体,如下:
41.1)脆弱维:包括漏洞脆弱性、弱点脆弱性;
42.2)资产维:包括网络、操作系统、硬件设备、应用软件;
43.3)攻击维:包括攻击者、攻击事件、攻击工具、攻击意图、攻击方法,其中攻击方法为攻击者在进行病攻击时采用的方法,包括钓鱼邮件、弱口令攻击、漏洞利用、病毒传播等;攻击工具主要包括攻击时使用的恶意软件或扫描工具等。
44.然后明确各个实体的属性集合,如下:
45.(1)脆弱维:漏洞脆弱性(cve编号、严重等级、利用复杂度、影响程度)、弱点脆弱性(cwe编号、严重等级、描述);
46.(2)资产维:网络(ip范围、所属企业/组织)、操作系统(名称、版本、生产厂商)、硬件设备(名称、版本、生产厂商)、应用软件(名称、版本、生产厂商);
47.(3)攻击维:攻击者(名称、所属组织、地点、活跃程度、邮箱)、攻击事件(发生时间、地点、严重程度)攻击方法(名称、实施难度、所需权限、影响程度)、攻击工具(名称、版本、中毒特征、特征后缀、特征示例)、攻击意图(名称、严重等级)。
48.最后,确定实体之间的关系包括“攻击”、“利用”、“使用”、“导致”、“拥有”、“运行”、“属于”、“目的”。如攻击软件与漏洞脆弱性/弱点脆弱性之间的关系为“利用”,硬件设备/操作系统/应用软件与漏洞脆弱性/弱点脆弱性之间的关系为“拥有”、攻击者与攻击方法之间的关系为“使用”、攻击事件与攻击意图之间的关系为“目的”等。
49.步骤3:构建网络安全知识图谱
50.首先,步骤1中从漏洞知识库、资产知识库等数据具有结构化的知识表示,将相应知识库中字段映射到步骤2中定义的相应实体的属性或关系中;
51.其次,对于安全日志、公告、漏洞描述等非结构化数据,首先列举近期新兴的网络安全术语,构建自定义词典,如santacrypt等,采用stanfordnlp进行分词,然后命名实体标注;
52.然后,采用远程监督算法抽取实体间的关系;
53.最后,将抽取结果以rdf类型的《实体,关系,实体》三元组形式进行保存。
54.步骤4:训练实体描述的transe知识推理模型
55.首先,采用doc2vec模型将知识图谱中所有实体的描述信息映射为n维实数向量;然后,对于知识图谱中所有的三元组,将所有的实体和关系随机初始化为n维实数向量;
56.其次,遍历知识图谱中所有的三元组,头实体向量和尾实体向量为doc2vec映射结果headd,taild和随机初始化之后的向量heads,tails拼接,则三元组的向量表示为《(headd,heads),r,(taild,tails)》,训练transe模型,改进的transe模型中能量函数计算如下:
57.e=α
·
d(heads+r,tails)+(1-α)
·
d(headd+r,taild)
58.其中,α是超参数,是0到1之间的实数,d(x,y)表示向量x和y的距离。
59.最后,transe模型训练完成之后,得到知识图谱中所有实体和关系的知识表示,计算待预测攻击意图的攻击事件节点与各个攻击意图之间存在“目的”关系的能量函数,得到最小值对应的攻击意图即为该攻击行为的意图。
60.上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
技术特征:
1.一种基于知识图谱的攻击意图识别方法,其步骤包括:从多源异构的网络安全数据抽取实体、实体之间的关系及实体属性,以构建网络安全知识图谱,其中所述实体包括:攻击维,所述攻击维包括:攻击事件和攻击意图,所述关系包括:目的;对实体与关系向量化,得到<实体向量,关系向量,实体向量>三元组;将<实体向量,关系向量,实体向量>三元组作为训练数据,对transe模型进行知识表示学习,得到攻击意图推理模型;将待预测攻击意图向量化后,输入攻击意图识别模型,通过计算待预测攻击意图的攻击事件节点与各个攻击意图之间存在目的关系的能量函数,得到攻击意图识别结果。2.如权利要求1所述的方法,其特征在于,网络安全数据包括漏洞信息、日志数据、网络空间资产和检测数据;网络安全数据的来源包括公开的漏洞库、资产库、攻击模式库、安全公告和设备告警日志。3.如权利要求1所述的方法,其特征在于,所述实体还包括:脆弱维和资产维;脆弱维包括:漏洞脆弱性和弱点脆弱性;资产维包括:网络、操作系统、硬件设备和应用软件。4.如权利要求1所述的方法,其特征在于,攻击维还包括:攻击者、攻击工具和攻击方法;所述关系还包括:攻击、利用、使用、导致、拥有、运行和属于。5.如权利要求1所述的方法,其特征在于,通过以下策略从网络安全数据抽取实体、关系及实体属性,并注入网络安全知识图谱:对于网络安全数据中的结构化数据,根据定义好的实体、关系及实体属性,将网络安全数据中的字段映射到网络安全知识图谱中;对于网络安全数据中的非结构化数据,通过以下步骤抽取实体、关系及实体属性:1)构建自定义词典;2)对非结构化数据进行分词,并基于所述词典,命名实体标注;3)采用远程监督算法抽取实体、关系及实体属性、关系属性。6.如权利要求1所述的方法,其特征在于,通过以下步骤得到得到<实体向量,关系向量,实体向量>三元组:1)基于网络安全知识图谱,抽取<实体,关系,实体>三元组;2)采用doc2vec模型将<实体,关系,实体>三元组中的头实体属性与尾实体属性,分别映射为向量head
d
与向量tail
d
;3)随机初始化<实体,关系,实体>三元组为<向量head
s
,向量r,向量tail
s
>三元组;4)将<(向量head
d
,向量head
s
),向量r,(向量tail
d
,向量tail
s
)>三元组,作为得到<实体向量,关系向量,实体向量>三元组。7.如权利要求6所述的方法,其特征在于,能量函数e=α
·
d(head
s
+r,tail
s
)+(1-α)
·
d(head
d
+r,tail
d
),其中α为超参数,d(x,y)表示向量x和y的距离。8.如权利要求1所述的方法,其特征在于,获取攻击意图识别结果的方法包括:将能量函数的最小值对应的攻击意图,作为攻击意图识别结果。9.一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1-8中任一所述方法。10.一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理
器被设置为运行所述计算机程序以执行如权利要求1-8中任一所述方法。
技术总结
本发明公开一种基于知识图谱的攻击意图识别方法及装置,包括从多源异构的网络安全数据抽取实体、实体之间的关系及实体属性,以构建网络安全知识图谱;对实体与关系向量化,得到<实体向量,关系向量,实体向量>三元组;将<实体向量,关系向量,实体向量>三元组作为训练数据,对TransE模型进行知识表示学习,得到攻击意图推理模型;将待预测攻击意图向量化后,输入攻击意图识别模型,通过计算待预测攻击意图的攻击事件节点与各个攻击意图之间存在目的关系的能量函数,得到攻击意图识别结果。本发明充分利用并挖掘数据之间的关联,来进行攻击行为分析,解决了现有的攻击意图预测模型移植性差、对训练数据依赖性强的问题。对训练数据依赖性强的问题。对训练数据依赖性强的问题。
技术研发人员:李序 连一峰 张海霞 黄克振
受保护的技术使用者:中国科学院软件研究所
技术研发日:2022.01.06
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/