一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于攻击共享损失和深度神经网络的网络入侵检测方法与流程

2021-10-30 02:18:00 来源:中国专利 TAG:神经网络 网络 入侵 监测 深度


1.本发明属于网络监测技术领域,具体涉及一种基于攻击共享损失和深度神经网络的网络入侵检测方法。


背景技术:

2.网络攻击对计算机系统安全构成了严重威胁,并使数字财富面临极大的风险。这就迫切需要一种有效的入侵检测系统,能够高精度地识别入侵攻击。由于攻击种类繁多,对入侵事件进行分类具有挑战性。此外,在正常的网络环境中,大多数连接都是由良性行为发起的,入侵检测中的类不平衡问题迫使分类器偏向多数或良性类,从而使许多攻击事件未被检测到。传统的基于签名的入侵检测技术严重依赖于安全专家构建的签名数据库,因此无法检测到新的攻击。各种各样的数据挖掘和机器学习模型,如决策树、支持向量机(svm)和图挖掘算法也被用于从网络监控数据中发现异常。但是,它们不适合表示具有许多复杂变化的入侵检测分类函数,除此之外,深度学习作为一种处理复杂输入输出映射的方法,与传统的机器学习模型相比,它避免了特征提取的需要,但深度学习只能抽取出数据中的固有或一般的特征,不具被利用其学习复杂分类功能的能力。


技术实现要素:

3.本发明的目的是为了解决网络连接实例遵循长尾类分布的网络攻击分类不均匀且不同类型的入侵攻击在实践中分布不均匀的问题,提出了一种基于攻击共享损失和深度神经网络的网络入侵检测方法。
4.本发明的技术方案是:一种基于攻击共享损失和深度神经网络的网络入侵检测方法包括以下步骤:
5.s1:采集若干网络攻击类型数据,并将其输入至搭建的深度神经网络中,输出每个网络攻击类型的预测值;
6.s2:每个网络攻击类型的预测值构建攻击共享损失函数,并利用攻击共享损失函数对网络攻击类型分类,并将其作入侵检测结果;
7.s3:根据网络攻击类型数据,利用梯度优化更新深度神经网络,进入下一次网络入侵检测。
8.进一步地,步骤s1中,深度神经网络包括依次连接的输入层、若干隐藏层和输出层;
9.步骤s1中,输出每个网络攻击类型的预测值的具体方法为:将若干网络攻击类型数据依次输入至输入层和隐藏层,并在隐藏层中加入权重和偏置向量作为隐藏层神经元,得到若干网络攻击类型数据的特征值;通过输出层的激活函数进入激活状态,在输出层计算每类网络攻击类型的预测值。
10.进一步地,深度神经网络的隐藏层中,第层隐藏层的第i个隐藏层神经元的输出的计算公式为:
[0011][0012]
其中,g(
·
)表示校正的线性单位激活函数,表示连接层第层隐藏层和第层隐藏层的权重矩阵中的第i行,表示第层隐藏层的偏置向量;g(x)=max{0,x};
[0013]
第层隐藏层的稀疏输出的计算公式为:
[0014][0015]
其中,r表示由于伯努利随机变量组成的掩码向量,表示第层隐藏层。
[0016]
进一步地,深度神经网络的输出层包括c个激活单元,其中,c表示类的数量;
[0017]
每类网络攻击类型数据属于第j类网络攻击类型的预测值的计算公式为:
[0018][0019]
其中,soft max(
·
)表示激活函数,exp(
·
)表示指数函数,z
j
表示第j层线性激活向量,z
k
表示第k层线性激活向量。
[0020]
进一步地,步骤s2中,攻击共享损失函数j
as
的表达式为:
[0021][0022]
其中,j
ce
表示交叉熵损失,n表示训练样本数,λ(
·
)表示控制参数函数,i(
·
)表示指标函数,表示第l类网络攻击类型的预测值,c表示类的数量,log(
·
)表示对数函数。
[0023]
进一步地,步骤s3包括以下子步骤:
[0024]
s31:计算深度神经网络中的随机梯度g
t
,其计算公式为:
[0025][0026]
其中,θ
t
‑1表示第t

1个参数向量,j(θ
t
‑1)表示关于参数向量θ
t
‑1的损失值;
[0027]
s32:根据随机梯度g
t
,更新用于存储随机梯度的一阶矩s
t
和用于存储平方梯度的指数衰减平均值的二阶矩r
t
,其更新公式为:
[0028]
s
t
=ρ1s
t
‑1 (1

ρ1)g
t
[0029][0030]
其中,ρ1表示一阶矩中的超参数,s
t
‑1表示第t

1个随机梯度的一阶矩阵,ρ2表示二阶矩中的超参数,r
t
‑1表示第t

1个掩码向量;
[0031]
s33:根据一阶矩s
t
和二阶矩r
t
,更新参数向量θ
t
,完成梯度更新,其更新公式为:
[0032][0033]
其中,ξ表示步长,δ表示稳定因子,θ
t
‑1表示第t

1个参数向量。
[0034]
本发明的有益效果是:本发明针对多类网络入侵检测,实现高检测精度。且定义了攻击共享损失函数解决不平衡分类问题,利用自适应更新学习速率的adam优化器加速模型学习过程。
附图说明
[0035]
图1为网络入侵检测方法的流程图;
[0036]
图2为深度神经网络的结构图;
[0037]
图3为训练方法的流程图。
具体实施方式
[0038]
下面结合附图对本发明的实施例作进一步的说明。
[0039]
如图1所示,本发明提供了一种基于攻击共享损失和深度神经网络的网络入侵检测方法,包括以下步骤:
[0040]
s1:采集若干网络攻击类型数据,并将其输入至搭建的深度神经网络中,输出每个网络攻击类型的预测值;
[0041]
s2:每个网络攻击类型的预测值构建攻击共享损失函数,并利用攻击共享损失函数对网络攻击类型分类,并将其作入侵检测结果;
[0042]
s3:根据网络攻击类型数据,利用梯度优化更新深度神经网络,进入下一次网络入侵检测。
[0043]
在本发明实施例中,如图2所示,步骤s1中,深度神经网络包括依次连接的输入层、若干隐藏层和输出层;
[0044]
步骤s1中,输出每个网络攻击类型的预测值的具体方法为:将若干网络攻击类型数据依次输入至输入层和隐藏层,并在隐藏层中加入权重和偏置向量作为隐藏层神经元,得到若干网络攻击类型数据的特征值;通过输出层的激活函数进入激活状态,在输出层计算每类网络攻击类型的预测值。
[0045]
深度神经网络的输入层由d个单位组成,每个单位代表一个输入元素。具体的,将每个输入数据点表示为(x,y),其中,x是特征集,y是标签。
[0046]
在本发明实施例中,深度神经网络的隐藏层中,第层隐藏层的第i个隐藏层神经元的输出的计算公式为:
[0047][0048]
其中,g(
·
)表示校正的线性单位激活函数,表示连接层第层隐藏层和第层隐藏层的权重矩阵中的第i行,表示第层隐藏层的偏置向量;g(x)=max{0,x};
[0049]
第层隐藏层的稀疏输出的计算公式为:
[0050][0051]
其中,r表示由于伯努利随机变量组成的掩码向量,表示第层隐藏层。
[0052]
在本发明实施例中,深度神经网络的输出层包括c个激活单元,其中,c表示类的数量;
[0053]
每类网络攻击类型数据属于第j类网络攻击类型的预测值的计算公式为:
[0054]
[0055]
其中,soft max(
·
)表示激活函数,exp(
·
)表示指数函数,z
j
表示第j层线性激活向量,z
k
表示第k层线性激活向量。
[0056]
在本发明实施例中,步骤s2中,攻击共享损失函数j
as
的表达式为:
[0057][0058]
其中,j
ce
表示交叉熵损失,n表示训练样本数,λ(
·
)表示控制参数函数,i(
·
)表示指标函数,表示第l类网络攻击类型的预测值,c表示类的数量,log(
·
)表示对数函数。
[0059]
对于任何实例(x
(i)
,y
(i)
),如果是良性事件,则y
(i)
=1,否则,y
(i)
∈{2,...,c}。
[0060]
大多数现代神经网络使用交叉熵损失j
ce
来描述基本事实标签和模型预测之间的差异。具体而言,j
ce
损失计算如下:
[0061][0062]
其中,θ由神经网络中连续层之间的权重矩阵组成,p数据是训练集中的经验数据分布,p(y
(i)
|x
(i)
;θ)是神经网络对输入x
(i)
进行正确分类的概率,n是训练样本数,c是类数,i(y
(i)
,j)为指标函数,
[0063]
网络中的参数θ被优化,以便最小化j
ce
(θ)并获得期望的分类精度。
[0064]
交叉熵损失函数的一个缺点是它没有考虑错误分类的类型,因此对所有类别的分类错误进行同等惩罚。入侵检测系统有两种错误分类:第一,入侵误分类:入侵攻击被误分类为良性事件;第二,攻击分类错误:a类入侵攻击(例如,拒绝服务攻击)被错误地归类为b类入侵攻击(例如探测攻击)。
[0065]
在实践中,入侵错误分类应该比攻击错误分类受到更多的惩罚,因为攻击错误分类仍然会触发对信息技术安全团队的警报,并使事件得到进一步检查,而入侵错误分类使攻击事件绕过安全检查并造成潜在的严重损害。因此,入侵误分类应该比攻击误分类有更高的惩罚。为了解决不同类型错误分类的差异惩罚问题。
[0066]
因此,第二步构建攻击共享损失函数,本发明改进了基本的交叉熵损失函数,对于任何实例(x
(i)
,y
(i)
),如果是良性事件,则y
(i)
=1,否则,y
(i)
∈{2,...,c}。同时本发明设计了攻击共享损失函数j
as
,它带有一个额外的正则化项来惩罚入侵错误分类,即良性标签和攻击标签之间的错误估计。
[0067]
攻击共享损失函数流程中,损失项增加额外正则化惩罚值,其中当控制参数λ较小时,j
as
类似于vanilla交叉熵损失函数;当λ控制参数较大时,j
as
倾向于作为解决二元分类问题的目标函数,即良性与攻击,从而实现良性标签减小惩罚值,错误标签增大惩罚值,解决不平衡分类问题。
[0068]
在本发明实施例中,步骤s3包括以下子步骤:
[0069]
s31:计算深度神经网络中的随机梯度g
t
,其计算公式为:
[0070][0071]
其中,θ
t
‑1表示第t

1个参数向量,j(θ
t
‑1)表示关于参数向量θ
t
‑1的损失值;
[0072]
s32:根据随机梯度g
t
,更新用于存储随机梯度的一阶矩s
t
和用于存储平方梯度的
指数衰减平均值的二阶矩r
t
,其更新公式为:
[0073]
s
t
=ρ1s
t
‑1 (1

ρ1)g
t
[0074][0075]
其中,ρ1表示一阶矩中的超参数,s
t
‑1表示第t

1个随机梯度的一阶矩阵,ρ2表示二阶矩中的超参数,r
t
‑1表示第t

1个掩码向量;
[0076]
ρ1,ρ2∈(0,1)是决定衰变率的超参数;
[0077]
s,r初始化如下:
[0078]
s33:根据一阶矩s
t
和二阶矩r
t
,更新参数θ
t
,完成梯度更新,其更新公式为:
[0079][0080]
其中,ξ表示步长,δ表示稳定因子,θ
t
‑1表示第t

1个参数向量。
[0081]
通过上式,在参数空间的更平缓的倾斜方向上进行更大的演化,与sgd相比,由于adam优化器的另一个吸引人的特性是它对超参数的选择是鲁棒的,这样就有助于更快的收敛。
[0082]
在深度学习中,最广泛使用的优化算法是随机梯度下降(sgd)。在每一轮中,它使用一组小样本来估计梯度,并更新参数。虽然简单,但sgd的渐进收敛速度慢,尤其是当存在鞍点(即一个维度向上倾斜而另一个维度向下倾斜的点)和平缓区域(即梯度保持稳定高的区域)。由于入侵检测分类边界的复杂性,鞍点和平缓区域广泛存在。
[0083]
第三步进行梯度优化中,为了加快学习过程,采用自适应更新学习速率的adam优化器。首先使用s和r两个变量分别存储历史梯度和平方梯度的指数衰减平均值。最初,设置s=0,r=0,在前向和反向传播的第t轮中,从训练集中取出m个样本的小批量,并计算随机梯度。
[0084]
通过三步流程完成攻击共享深度网络训练流程,如图3,数据经过网络中的隐藏层提取特征,经softmax输出,与数据标签做攻击共享损失计算,最后adam优化器更新其梯度,即完成一批数据迭代训练过程。
[0085]
在本发明实施例中,测试使用了三个数据集,即kdd99、cicids17和cicids18数据集。kdd99数据集中,每个连接记录由41个要素和1个标签描述,这些特征包括三个方面的信息,即基本连接信息(例如,持续时间、协议类型(tcp、udp、icmp)、错误片段的数量、紧急数据包的数量等)、内容信息(例如,失败的登录尝试的次数、外壳提示的次数、对访问控制文件的操作次数等)和交通信息(例如,在过去两秒钟内连接到主机的连接数量,有同步错误的连接的比例等等)。数据集中的攻击分为4类,即拒绝服务、探测、u2r(普通用户非法获得系统的root访问权限)和r2l(远程攻击者利用某些漏洞获得对主机的本地访问权限);cicids17数据集总共有283万个网络连接实例,每个实例由81个功能描述,攻击类型包括拒绝服务、拒绝服务、渗透和暴力攻击;cicids18数据集包括630万个网络连接实例,每个实例有77个要素,攻击类型包括拒绝服务、渗透和僵尸网络。为了评估每个数据集中的类不平衡水平,我们还报告了训练集中的类不平衡度量ω
imb
,其定义为:其中n
表示数据集中的实例数,n
i
表示属于第i类的实例数,ω
imb
测量所有类别所需的数据样本的最小百分比计数,以便形成总体平衡或均匀分布,更大的ω
imb
值表示更高水平的等级不平衡。
[0086]
kdd99数据集,得出了本发明的分类精度和kdd99数据集的基线方法。测试结果中本专利产生最高的cba。这表明本发明在从不平衡数据集中检测入侵攻击事件方面是有效的。knn、dt和mlp ce只关注多数阶层,对少数阶层产生不尽人意的表现。例如,knn和dt未能捕捉到任何u2r和r2l攻击实例。相比之下,成本敏感分类器为u2r和r2l类关联了太多的成本,因为它们的代表性极低。这使得分类器过于倾向于这些类,并且在kdd99数据集上表现不佳。过采样和欠采样减轻了阶级不平衡问题的副作用,但这种改善与本发明不可同日而语。
[0087]
cicids17数据集,测试了所有分类器的准确性。除了暴力攻击,本专利在每个类上都产生了相似且令人满意的精度和召回率,且在所有分类器中产生最好的cba。暴力攻击实例只占数据集的0.5%左右,尽管攻击共享损失函数旨在将决策边界向攻击类靠拢,但它对这个类没有多大帮助。其次,knn和mlp ce的表现接近本专利。进一步调查了原因,发现大部分攻击实例都存在于训练集和测试集中。dt只是简单地将每个测试实例标记为良性连接。同样,cnn几乎把每一个连接都识别为dos攻击,成本敏感分类器只关注良性和dos类,自然这三个基线的cba都比较低。
[0088]
cicids18数据集,将本发明的准确性与cicids18数据集的基线进行了比较。本发明在解决阶级不平衡问题上表现第二好,表现出了类共享损失函数的有效性。没有基线方法产生高于30%的cba。同样,对成本敏感的基线将所有注意力集中到代表最少的阶层。
[0089]
本发明的工作原理及过程为:本发明利用深度学习提取特征,学习分类边界,同时设计了一个新的损失函数即攻击共享损失函数,它通过将决策边界移向攻击类来消除对多数或良性类的偏向。具体为:首先构建一个深度前馈网络,从训练数据中学习良性通信和恶意连接的复杂模式,为了加快对大数据的学习过程,采用一种新的优化算法来动态调整学习速率,该算法跟踪过去梯度的一阶和二阶矩的指数衰减平均值;其次,为了解决入侵检测中的类不平衡问题,为深度前馈网络设计了一个新的损失函数—攻击共享损失,攻击共享损失函数采用不同类型的误分类的差异惩罚,因此将入侵错误分类为良性比将攻击错误分类受到更多的惩罚。
[0090]
本发明的有益效果为:本发明针对多类网络入侵检测,实现高检测精度。且定义了攻击共享损失函数解决不平衡分类问题,利用自适应更新学习速率的adam优化器加速模型学习过程。
[0091]
本领域的普通技术人员将会意识到,这里所述的基于攻击共享损失和深度神经网络的网络入侵检测方法实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜