一种多因素网络异常行为检测方法与流程

文档序号:33708614发布日期:2023-03-31 22:43阅读:67来源:国知局
一种多因素网络异常行为检测方法与流程

1.本发明涉及网络安全技术领域,具体涉及一种多因素网络异常行为检测方法。


背景技术:

2.训练深度神经网络通常需要大量标记数据,网络才能学习到视觉理解任务所需要的特征表示。但是许多实际场景中,只有有限数量的标记数据可用于训练网络,这极大地限制了深度神经网络的适用性。由于异常节点检测任务标注样本较少,使得有监督的方法不适用于属性网络异常节点检测,利用无监督或半监督的深度学习方法进行异常检测逐渐成为网络异常行为检测领域的研究热点。由于其无监督的性质,异常检测在网络安全中起着核心作用,特别是在未知攻击的检测方面。
3.无监督的图神经网络异常节点检测可利用原始无标注样本数据,学习属性网络的低维表达,并利用重建数据与原始数据误差,检测异常节点。自编码器是由多个编码函数和解码函数构成的可无监督学习的神经网络,并在自然语言处理、计算机视觉及语音识别等领域存在广泛应用gan的生成器通过学习真实数据的分布,将随机噪声转换为与真实数据相似的生成数据,具有对复杂高维数据分布的建模能力。利用gan进行异常检测的一般步骤是先使用正常样本数据训练gan,使生成器完全学习到正常数据的真实分布,此时gan已经具备重建正常数据样本的能力。当输入的数据是从未见过的异常样本时,gan重建的样本和原始输入样本将表现出明显差异,当这种差异超过一定范围时即判定输入数据存在异常。
4.以变分自编码器(vae,variational autoecoder)和生成对抗网络(gan,generative adversarial network)结构为代表的无监督或半监督深度生成异常检测方法,利用无标签的正常数据即可完成训练,突破了对数据标注和正负样本平衡性要求的限制。vae以分布参数的重构概率作为异常度量,能够对不同结构的输入数据进行检测,但由于vae训练时缺少限制指导,导致其稳健性较差且容易出现过拟合。gan通过学习正常样本数据的分布生成近似数据,当异常样本输入训练好的gan时,生成样本与输入样本之间存在较大差异,这种差异可以作为异常检测的依据,但由于gan缺少自编码器,导致其在训练初期较困难。传统的gan使用f散度作为目标函数进行训练,存在着因“梯度失稳”(“梯度消失”或”“梯度爆炸”)而无法完成训练和因“模式崩溃”生成样本单一的问题。


技术实现要素:

5.为解决上述问题,本发明提出一种多因素网络异常行为检测方法。该方法利用vae进行编码-解码的操作进行输入数据的重构;同时增加一个编码器使隐层向量学习到正常数据的表达,同时在输入网络增加变换矩阵,使vae学习到网路的变换;并利用wgan的判别结果进行对抗训练,使用wasserstein距离作为模型损失函数,期望在模型训练时更加稳健,避免出现“梯度失稳”和“模式崩溃”等问题。通过定义损失函数进行训练,达到最好效果,得出异常网络行为检测得分。
6.本发明的目的是这样实现的:
7.一种多因素网络异常行为检测方法,包括以下步骤:
8.步骤1,获取数据矩阵x、变换矩阵w、变换后的数据矩阵x’;
9.步骤2,将x、w、x’输入编码器ge1,得到编码后的矩阵g
e1
(x)、g
e1
(w)、g
e1
(x’);所述编码器ge1由两层神经网络组成,激活函数为线性整流函数relu,用于计算输入数据的低维均值和方差,从隐变量空间采样,得到中间层变量;g
e1
(x)、g
e1
(w)分别为x和w经过g
e1
的隐变量z、θ;
10.步骤3,g
e1
(x)经过解码器gd,生成x的重构矩阵此外,g
e1
(x)和g
e1
(x

)经过解码器,生成变换矩阵w’;解码器gd由两层神经网络实现,激活函数为线性整流函数relu,用于将数据由低维还原为高维,恢复出新的数据;
11.步骤4,将重构矩阵变换矩阵w’输入编码器g
e2
,得到变换矩阵隐变量z’、θ’;编码器g
e2
由两层神经网络组成,激活函数为线性整流函数relu,用于再次将数据降维,得到隐变量;
12.步骤5,将(x,g
e1
(x))和重构矩阵输入判别器dd进行训练;判别器dd扮演gan中的判别器的角色,由卷积神经网络实现,用于判定重构矩阵与原始输入数据数据的真假;
13.步骤6,根据步骤5中训练的损失函数,计算多因素异常检测得分score,得到检测结果。
14.进一步地,数据矩阵x包括多维度信息,表示为:
15.x=x1,x2,...,xi,...,xn
16.其中,i=1,2,...,n,n为维度总个数;
17.多维度信息包括以下信息中的部分或全部:
18.用户信息:用户id、用户凭证、用户属性、角色;
19.设备信息:设备id号、设备所处位置、设备类型、设备ip地址、设备mac地址、设备证书、设备指纹、设备id、日志类型;
20.设备状态:已安装的操作系统版本、应用软件版本、补丁修补情况、网络位置;
21.用户权限:设备ip、日志类型、账号、应用权限、操作方式、操作人;
22.账号登录:源ip、源设备、设备ip、日志类型、账号、登录方式、登录状态;
23.访问客体:待访问资源的属性、类别和级别、应用、数据、访问的ip地址、访问的mac地址;
24.行为属性:用户访问业务的行为、操作习惯、访问时间、地点、设备分析、来源ip地址、访问频度、使用模式偏差。
25.进一步地,步骤5中训练的损失函数为:
26.l
loss
=εlrec+∈lz+μlgan+πltrans
27.其中,ε、∈、μ、π为权值,其和为1;l
rec
为经过编码器g
e1
和解码器gd的损失函数,即原始数据与重建数据之间的重建误差:
[0028][0029]
其中,αi表示权值,||||1表示1-范数;
[0030]
lz为经过第二个编码器g
e2
的编码损失函数,其目标是使通过编码器g
e1
得到的中间变量z和重建变量经过编码器g
e2
之后的隐层表示相接近;lz表示为:
[0031][0032]
其中,βi表示权值,||||2表示2-范数;
[0033]
l
gan
为gan的损失函数,gan由vae的解码器gd和判别器dd组成,vae的解码器gd作为gan的生成器;l
gan
表示为:
[0034][0035]
其中,γi表示权值,dd(xi,g
e1
(xi))为输入(xi,g
e1
(xi))后的判别器的值,dd为判别器的原始值;
[0036]
l
trans
为变换矩阵的损失函数:
[0037][0038]
其中,δ、ρ为权值,其和为1。
[0039]
进一步地,多因素异常检测得分score由三个部分组成,分别为改进的vae-gan重构误差、改进的vae-gan判别误差,以及变换矩阵误差,score表示为:
[0040][0041]
其中,τ、ω为权值,其和为1。
[0042]
本发明的有益效果在于:
[0043]
1、本发明充分考虑了网络中用户的用户信息、设备信息、设备状态、用户权限、账号登录、访问客体、行为属性等多因素行为属性信息,进行网络异常探测。
[0044]
2、本发明可以对多因素网络信息进行异常鉴别,打破了需要标记数据才能进行训练的限制性,在多因素网络行为检测领域是一种具有创新性的方法。
[0045]
3、为了尽可能学习到正常的子特征,本发明设计了一种全新的损失函数,融合了变换网络的重构损失、变换网络隐变量差值、原始数据重构误差、输入数据隐变量差值、使用wasserstein距离的判别误差进行设计,多方位考虑,提高异常检测精度。
[0046]
4、本发明基于训练时的损失函数,提出异常检测打分方法,得分大于设定阈值的输入数据,则判定为异常。
附图说明
[0047]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面对实施例或现有技术描述中所需要使用的附图作简单地介绍。下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其它的附图。
[0048]
图1是本发明实施例中多因素网络异常行为检测方法的实现原理图。
[0049]
图2是本发明实施例中多因素网络异常行为检测方法的流程图。
具体实施方式
[0050]
为了使本发明的目的及优点更加清楚明白,下面结合附图和具体实施例对本发明做进一步的说明。应当理解,以下文字仅仅用以描述本发明的一种或几种具体实施方式,并不对本发明具体请求的保护范围进行严格限定。
[0051]
如图1和2所示,一种多因素网络异常行为检测方法,其基于多因素网络数据输入模块、多因素异常检测模块、异常得分计算模块和异常判定模块实现。
[0052]
该方法包括以下步骤:
[0053]
步骤1,获取数据矩阵x、变换矩阵w、变换后的数据矩阵x


[0054]
步骤2,将x、w、x

输入编码器ge1,得到编码后的矩阵g
e1
(x)、g
e1
(w)、g
e1
(x

);所述编码器ge1由两层神经网络组成,激活函数为线性整流函数relu,用于计算输入数据的低维均值和方差,从隐变量空间采样,得到中间层变量;g
e1
(x)、g
e1
(w)分别为x和w经过g
e1
的隐变量z、θ;
[0055]
步骤3,g
e1
(x)经过解码器gd,生成x的重构矩阵此外,g
e1
(x)和g
e1
(x’)经过解码器,生成变换矩阵w’;解码器gd由两层神经网络实现,激活函数为线性整流函数relu,用于将数据由低维还原为高维,恢复出新的数据;
[0056]
步骤4,将重构矩阵变换矩阵w’输入编码器g
e2
,得到变换矩阵隐变量z’、θ’;编码器g
e2
由两层神经网络组成,激活函数为线性整流函数relu,用于再次将数据降维,得到隐变量;
[0057]
步骤5,将(x,g
e1
(x))和重构矩阵输入判别器dd进行训练;判别器dd扮演gan中的判别器的角色,由卷积神经网络实现,用于判定重构矩阵与原始输入数据数据的真假;
[0058]
步骤6,根据步骤5中训练的损失函数,计算多因素异常检测得分score,得到检测结果。
[0059]
其中,数据矩阵x包括多维度信息,表示为:
[0060]
x=x1,x2,...,x5[0061]
多维度信息包括以下信息中的部分或全部:
[0062]
用户信息:用户id、用户凭证、用户属性、角色;
[0063]
设备信息:设备id号、设备所处位置、设备类型、设备ip地址、设备mac地址、设备证书、设备指纹、设备id、日志类型;
[0064]
设备状态:已安装的操作系统版本、应用软件版本、补丁修补情况、网络位置;
[0065]
用户权限:设备ip、日志类型、账号、应用权限、操作方式、操作人;
[0066]
账号登录:源ip、源设备、设备ip、日志类型、账号、登录方式、登录状态;
[0067]
访问客体:待访问资源的属性、类别和级别、应用、数据、访问的ip地址、访问的mac地址;
[0068]
行为属性:用户访问业务的行为、操作习惯、访问时间、地点、设备分析、来源ip地址、访问频度、使用模式偏差。
[0069]
步骤5中,损失函数具体如下:
[0070]
经过编码器g
e1
和解码器gd,计算原始数据与重建数据之间的重建误差作为损失函数:
[0071]
其中αi=0.2
[0072]
经过第二个编码器g
e2
,编码损失函数lz的目标是使通过编码器g
e1
得到的中间变量z和重建变量经过编码器g
e2
之后的隐层表示尽量接近;lz定义如下:
[0073]
其中βi=0.2
[0074]
vae的解码器gd和判别器dd组成gan,其中vae的解码器gd作为gan的生成器。损失函数为:
[0075]
其中γi=0.2
[0076]
变换网络损失:
[0077]
其中δ=ρ=0.5
[0078]
因此,总损失函数为:
[0079]
l
loss
=0.3lrec+0.2lz+0.3lgan+0.2ltrans
[0080]
多因素异常检测得分score由三个部分组成,分别为改进的vae-gan重构误差、改进的vae-gan判别误差,以及变换网络误差组成。score定义为:
[0081][0082]
总之,本发明结合变分自动编码器和生成对抗网络,融合了用户信息、设备信息、设备状态、用户权限、账号登录、访问客体、行为属性的多因素网络动态、静态信息,能够有效地对网络内正常行为进行重构,对网络内异常行为进行检测。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1