一种基于知识图谱和增量学习的网络安全事件检测方法

文档序号:34589917发布日期:2023-06-28 16:48阅读:61来源:国知局
一种基于知识图谱和增量学习的网络安全事件检测方法

本发明属于基于网络安全知识图谱的网络安全事件检测领域。


背景技术:

1、随着网络技术的飞速发展,网络安全环境越来越复杂。为了保障企业的业务系统安全、稳定、持续运行,企业需要加强网络安全防护水平,以及网络安全事件应急指挥能力建设,做到关口前移,防患于未然。同时,网络安全对抗的不断升级,安全应急技术也在不断发展,从被动的事件响应防御为主,逐渐向主动防御进化。

2、网络安全事件检测阶段的目标之一,是判别事件已经攻击成功还是探测中未攻击成功,以及事件产生的原因。从而确定攻击事件性质和影响严重程度,进而分析采用什么样的处置思路。

3、目前基于深度学习模型的网络安全时间检测方法在业界得到了广泛的关注。但是此类方法具有以下几点弊端:(1)训练好的模型只能检测单一类别的网络安全事件(例如,只能针对钓鱼邮件);(2)网络攻击手段日益变化,呈现多样化、结构化,模型无法训练所有条件下的网络安全事件数据;(3)一旦模型部署完成,无法学习新的网络安全知识图谱,即使重新学习,也会出灾难性遗忘(即对于之前知识图谱中的网络安全事件检测准确率下降)。

4、网络安全知识图谱本质上是一个结构化语义知识库,它以三元组(即头实体,关系和尾实体)的形式对客观世界中的实体及其相互关系进行建模,这些三元组通过共有的实体或属性相互连接,构成网状的知识结构。图神经网络因其特殊的图结构在知识图谱的生成、推理领域取得了有益的效果。然而,据依赖性带来的可扩展性挑战,让图神经网络在业界的实际部署中并不流行,因为图神经网络推理依赖于邻居节点,而获取这些节点给延迟受限的应用带来了负担。


技术实现思路

1、本发明提出一种基于知识图谱和增量学习的网络安全事件检测方法。发明目的如下:

2、[1]为了减缓传统的图神经网络在网络安全事件检测领域效率较低的问题,本发明通过辅助图节点的特征提取进行网络安全事件检测模型的训练。

3、[2]提出一种新的增量学习方法使用任务注意力模块从网络安全知识图谱中捕捉特定的任务信息,能够使得模型针对不同类型的网络安全事件。

4、[3]提出一种记忆缓存区存储先前网络安全知识图谱中的先验知识,从而避免模型对先前学习到的知识出现灾难性遗忘。

5、技术手段

6、本发明将网络安全事件知识图谱作为训练集,训练一个网络安全事件检测模型。该模型能够高效地检测出各种类型的网络安全事件,并且可以通过增量学习的方法允许模型不断地学习新的知识,而且不需要重新训练整个模型。具体如下:

7、s1:将不同的网络安全事件知识图谱作为训练集,对知识图谱中的每个节点进行语义聚类;

8、s2:通过一个基于内核引导的transformer网络,先查找到每一层中的最相关的集群并生成辅助图,然后将这些辅助图的特征映射至一个公共表征空间;

9、s3:任务注意力模块根据知识图谱的类型捕捉包含特定的网络安全事件信息,选择对当前网络安全事件重要的特征,从而防止不同事件的干扰;

10、s4:将任务注意力模块的输出特征映射至全局工作空间,通过一个多分类器检测出当前的网络安全事件的危险等级;

11、s5:构建一个记忆缓存区用于存储先前学到的网络安全事件的特征分布,在后续训练时使用这些特征,从而实现了增量学习,避免模型对先前学习到的知识出现灾难性遗忘。

12、作为本发明的一种优选方式,所述s1还包括以下步骤:

13、s101:将网络安全事件知识图谱记为dn,其中n∈{1,2,…n},n表示有n种不同类型的知识图谱。将知识图谱第l层的节点集合记为其中p∈{1,2,…,p},表示当前知识图谱一共有p个节点;

14、s102:计算每一层节点之间的语义相似度逐层对其进行语义聚类,将相似度较高的节点聚为一类,具体如下:

15、

16、其中q∈{1,2,…,q},表示共有q个类,t表示转置运算,θ表示特征提取。

17、作为本发明的一种优选方式,所示s2包括步骤:

18、s201:对于第l层的聚类结果,使用基于内核kernel[l]引导的transformer网络查找到最相关的集群并生成辅助图a[l],具体如下:

19、

20、其中k表示一个二维的高斯核函数,q表示每个类

21、

22、其中,是第l层的内核函数值,transformer网络是一种多头自注意力网络;

23、s202:通过瓶颈层fδ将辅助图的特征映射至一个公共表征空间comspace,具体如下:

24、

25、其中,表示第n个网络安全事件样本特征。

26、作为本发明的一种优选方式,所示s3包括步骤:

27、s301:对于公共表征空间中的特征,通过任务注意力模块tam捕捉与当前网络安全事件类型相关的信息。具体如下:

28、

29、tamn表示第n个任务注意力模块的输出。任务注意力模块由两个部分组成:一个是特征提取器fee,一个特征选择器fs。fe由一个线性层和一个relu激活函数组成,用于学习低纬度子空间特征。fs由一个全局平均池化层和sigmod激活函数组成,能够抑制任务注意力模块重建自己的输入,同时大大减少了模型所需的参数量;

30、s302:为了确保任务注意力模块能高效地识别出各种类型的网络安全时间,我们提出一种差异损失最大化函数losstam用来约束各个任务注意力模块之间的输出。具体如下:

31、

32、其中x是任务注意力模块的输出,是指x相较于公共表征空间comspace中特征的数学期望。softmax是归一化指数函数。stopgrad表示不更新梯度,这样能够确保先前的注意力值不会被覆盖。||||1指向量1范数运算。

33、作为本发明的一种优选方式,所示s4包括步骤:

34、s401:将任务注意力模块的输出与公共表征空间中的特征进行元素积,并输入至全局工作空间gobalspace,具体如下:

35、

36、其中,表示第公共表征空间中第n个特征,表示元素积运算;

37、s402:通过一个全局的多分类器gθ用于检测当前网络安全事件的级别,具体如下:

38、r=gθ(gobalspace)

39、其中r为检测出的网络安全事件的危险等级。

40、作为本发明的一种优选方式,所示s5包括步骤:

41、s501:使用蓄水池采样算法为先前学习到的网络安全事件样本特征分配相等的概率,并保存在记忆缓存区memory中,具体如下:

42、

43、其中i=randominteger(1,n),表示随机产生一个1至n之间的数,表示第i个网络安全事件样本特征;

44、s502:当后期训练新的网络安全事件知识图谱时,防止先前学习的知识出现遗忘。将记忆缓存区memory中之前网络安全事件样本特征与新的知识图谱一起训练。新的知识图谱训练执行[2]-[8]步骤。对于先前网络安全事件样本特征,我们计算其与每个任务注意力模块输出之间的均方差,选择最合适的任务注意力模块。具体如下:

45、

46、其中,num表示第num个任务注意力模块最合适,argmin函数用于找到最小值的下标,是均方差计算公式,j∈{1,2,…,n},表示依次遍历n个任务注意力模块;

47、s503:一旦选择了最合适的任务注意力模块,对于先前网络安全事件样本特征应用交叉熵损失具体如下:

48、

49、其中,i表示遍历先前网络安全事件样本特征,tamnum表示第num个任务注意力模块的输出,log表示对数运算。

50、区别于现有技术,上述方法所达到的有益效果有:

51、通过辅助图节点的特征提取进行网络安全事件检测模型的训练,解决了传统的图神经网络在网络安全事件检测领域效率较低的问题;提出一种新的增量学习方法使用任务注意力模块从网络安全知识图谱中捕捉特定的任务信息,能够使得模型针对不同类型的网络安全事件。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1