一种网络入侵检测方法、装置及设备

文档序号:26057042发布日期:2021-07-27 15:35阅读:82来源:国知局
一种网络入侵检测方法、装置及设备

本发明涉及网络入侵检测技术领域,更具体的涉及一种基于多智能体深度确定性策略梯度(multi-agentdeepdeterministicpolicygradient,maddpg)模型的网络入侵检测方法、装置及设备。



背景技术:

网络入侵检测是目前应用最广泛也最有效的以数据驱动的网络安全主动防御方法,基于实时网络流量数据建立相应的攻击评测机制,从而实现对攻击行为的检测和预防。传统的入侵检测方法通常是通过对比已构建的网络行为模式或规则来检测当前网络连接属于正常状态还是攻击风险状态。随着互联网环境的更新换代,网络流量数据呈现出海量,高维复杂且各类别呈现不均衡的特点,直接用来进行攻击行为模式发现十分困难。传统的网络入侵检测方法出现检测效率低下、准确率较低、误报率和漏报率较高的问题,已不能满足网络信息安全的需求。

传统的机器学习方法通常需要人工选取特征,且需要大量的领域专业知识,是较为浅层的学习方法。然而,随着网络中海量数据的增加,网络带宽的提升,数据的复杂性和特征的多样性也在不断提升,浅层学习难以达到分析和预测的目的。2006年hinton教授提出了深度学习理论,与传统机器学习不同,深度学习方法学习的是样本数据的内在规律和表示层次,构建多个隐藏层组建的非线性网络结构能够适应较高维度学习和预测的要求,效率更高,节省了大量特征提取的时间,可根据问题自动建立模型,不局限于某个固定的问题,在解决入侵检测问题中很有前景。但是由于其内部结构复杂,训练预测时间较长,无法部署在苛刻的网络环境当中。此外,虽然其能够应对复杂的高维流量数据,但是很难解决数据集不均衡造成的异常攻击流量识别准确率偏低的问题。



技术实现要素:

本发明实施例提供一种基于多智能体深度确定性策略梯度模型的网络入侵检测方法、装置及设备,用以解决上述背景技术中提出的问题。

本发明实施例提供的一种基于多智能体深度确定性策略梯度模型的网络入侵检测方法,包括:

获取待检测网络流量数据;

将待检测网络流量数据输入至基于多智能体深度确定性策略梯度的神经网络模型中,检测异常网络流量;其中,

所述基于多智能体深度确定性策略梯度的神经网络模型的确定,包括:

获取网络流量训练样本;

采用多智能体深度确定性策略梯度,通过网络流量训练样本,对actor网络和critic网络进行训练;

采用策略梯度,对actor当前网络的参数进行更新;

采用损失函数,对critic当前网络的参数进行更新。

进一步地,所述网络流量训练样本,包括:

当前流量特征集合s=(st,st+1,…st+n)、当前流量特征标签集合和下一阶段流量特征集合s‘=(st+n+1,st+n+2,…st+2n)。

进一步地,所述对actor网络和critic网络进行训练,具体包括:

将当前流量特征集合s=(st,st+1,…st+n)输入到actor当前网络中,通过策略函数提供在给定状态下的动作概率分布,确定当前最佳流量特征标签a=(at,at+1,…at+n);

将下一阶段流量特征集合s‘=(st+n+1,st+n+2,…st+2n)输入到actor目标网络中,通过策略函数提供在给定状态下的动作概率分布,确定下一阶段最佳流量特征标签a'=(a′t+n+1,a′t+n+2,…,a′t+2n);

将当前最佳流量特征标签a=(at,at+1,…at+n)和当前流量特征标签集合进行匹配,如果一致,奖励值为1;如果不一致,奖励值为0,奖励集合为r=(r1,r2,…,rn);

将当前流量特征集合s=(st,st+1,…st+n)和当前最佳流量特征标签a=(at,at+1,…at+n)输入到critic当前网络中,计算所有当前q函数值集合;

将下一阶段流量特征集合s‘=(st+n+1,st+n+2,…st+2n)和下一阶段最佳流量标签a'=(a′t+n+1,a′t+n+2,…,a′t+2n)输入到critic目标网络中,计算所有目标q函数值集合。

进一步地,所述策略梯度为:

其中,n个智能体且策略为θ={θ1,θ2,…θn}参数化的博弈,当前多智能体确定性策略为μ={μ1,μ2,…μn};是所有critic当前网络的值函数集合。

进一步地,所述损失函数为:

其中,γ为衰减因子;μ‘=(μ′1,μ'2,…,μ'n)是具有延迟参数θ′i的actor目标策略集合,是所有critic目标网络集的值函数集合。

进一步地,本发明实施例提供的基于多智能体深度确定性策略梯度模型的网络入侵检测方法,还包括:

采用软更新方式,通过下式,对actor目标网络和critic目标网络的参数进行更新;

θ′i←τθi+(1-τ)θ′i

其中,τ为软更新系数。

另外,本发明实施例还提供了一种基于多智能体深度确定性策略梯度模型的网络入侵检测装置,包括:

流量获取模块,用于获取待检测网络流量数据;

异常流量检测模块,用于将待检测网络流量数据输入至基于多智能体深度确定性策略梯度的神经网络模型中,获得异常网络流量;其中,

所述基于多智能体深度确定性策略梯度的神经网络模型,包括:

训练样本获取单元,用于获取网络流量训练样本;

网络训练单元,用于采用多智能体深度确定性策略梯度,通过网络流量训练样本,对actor网络和critic网络进行训练;

actor当前网络参数更新单元,用于采用策略梯度,对actor当前网络的参数进行更新;

critic当前网络参数更新单元,用于采用损失函数,对critic当前网络的参数进行更新。

另外,本发明实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器内存储有程序,所述处理器执行程序时实现上述方法的步骤。

本发明实施例提供一种基于多智能体深度确定性策略梯度模型的网络入侵检测方法、装置及设备,与现有技术相比,其有益效果如下:

本发明采用多智能体集中训练、分布式执行的方式,即每个智能体根据自身策略得到当前状态执行的动作,并存入到经验池当中,使用时每个智能体再从经验池当中随机抽取训练自身的网络。由于每个智能体训练一个需要全局的critic以及一个需要局部信息的actor,并且允许每个智能体有自己的奖励函数,因此可以用于对抗任务学习过程中,迫使智能体最大限度的学习数量较低且较难学习的流量样本,来解决流量不均衡的问题,以此提升异常攻击流量检测准确率。还有,本发明特别适用于不平衡的数据集条件下,可以更精确地检测异常流量。当今进行仿真模拟的数据集各类别间大小极其不均衡,异常攻击流量数量相对偏低。本发明在仿真模拟环境下,能够有效应对数据集各类别间相对不平衡问题,提升对少量异常攻击流量的检测准确率,以保护用户的信息和财产安全。

附图说明

图1为本发明实施例提供的深度确定性策略梯度模型;

图2为本发明实施例提供的多智能体深度确定策略梯度模型。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1~2,本发明实施例提供一种基于基于多智能体深度确定性策略梯度模型的网络入侵检测方法,该方法具体包括:

步骤1:获取网络流量数据集;将网络流量分为训练样本和测试样本;对数据集进行小批量采样,采样数据包括当前流量数据中的流量特征集合s=(st,st+1,…st+n),当前流量特征标签集合和下一阶段流量特征集合s‘=(st+n+1,st+n+2,…st+2n)。

步骤2:建立神经网络maddpg模型,将训练样本中采样的当前流量特征s=(st,st+1,…st+n)输入到actor当前网络中,通过策略函数提供在给定状态下的动作概率分布,并在该过程中首选最佳流量特征标签a=(at,at+1,…at+n)。

步骤3:将预测的流量标签集合a=(at,at+1,…at+n)与训练样本中的真实流量标签集合进行匹配,如果一致奖励,奖励值为1;如果不一致,奖励值为0,奖励集合为r=(r1,r2,…,rn)。最后将获得的当前流量特征集合、奖励集合、预测流量标签集合以及下一阶段流量特征集合存入到经验回放当中,待使用时从中随机取出。

步骤4:接收训练样本中下一阶段的流量特征集合s‘=(st+n+1,st+n+2,…st+2n)输入到actor目标网络当中,通过策略函数提供在给定状态下的动作概率分布,并在该过程中首选最佳流量特征标签a'=(a't+n+1,a′t+n+2,…,a′t+2n)

步骤5:将当前流量特征集合和actor当前网络中选择的最佳流量标签集合a=(at,at+1,…at+n)输入到critic当前网络中计算所有当前q函数值集合,采用策略梯度方法更新actor当前网络参数。

步骤6:将下一阶段流量特征s‘=(st+n+1,st+n+2,…st+2n)和actor目标网络中选择的最交流了标签集合a'=(a't+n+1,a′t+n+2,…,a′t+2n)输入到critic目标网络中计算所有目标q函数值集合。通过当前q函数值集合、目标q函数值集合奖励集合以及衰减因子来计算损失函数集合,并通过反向传播算法更新actor当前网络参数。

步骤7:采用软更新方式更新每一个智能体的目标网络参数。

步骤8:对于待检测的流量数据,将其输入到训练好的神经网络中进行异常流量检测。

对上述步骤1~8具体说明如下:

本发明在进行仿真模拟时首先对数据集进行小批量采样,采样包括当前流量特征st,真实流量标签a*t和下一阶段流量特征st+1。该发明是一种无环境模型,下一阶段流量特征st+1直接由数据集提供,不需要与环境交互产生。

本发明中的多智能体深度强化学习思想基于深度确定性策略梯度(deepdeterministicpolicygradient,ddpg),如图1所示,主要包括四个部分:1.actor当前网络;2.actor目标网络;3.critic当前网络;4.critic目标网络。需要说明的是,本申请的最终目标是通过这四个网络之间的训练,来使整体模型达到最优,最后采用critic当前网络进行预测。

1.actor当前网络。输入当前流量特征st,通过策略函数来估计真实流量标签a*t。策略函数提供给定状态下的标签概率分布π(a),在该采样过程中使用这种概率分布来选择最优标签a't。通过将最优标签a't和真实标签a*t进行对比,获得奖励rt。如果二者一致,奖励为1,如果不一致,奖励为0。

2.actor目标网络。输入下一阶段的流量特征st+1,通过策略函数提供给定状态下的标签概率分布π(a),在该采样过程中使用这种概率分布来选择最优标签a′t+1。

3.critic当前网络。通过输入当前流量特征st和策略函数选择的最优标签a't来计算当前q函数值q(st,a't)。采用策略梯度算法:并通过神经网络的梯度反向传播来更新actor当前网络的所有参数θ。actor目标网络中的参数θ’由actor当前网络定期复制,并使用软更新方法:θ‘←τθ+(1-τ)θ‘。

4.critic目标网络。通过输入当前流量特征st+1和策略函数选择的最优标签a′t+1来计算目标q函数值q'(st+1,a′t+1)。计算损失函数并通过神经网络的梯度反向传播来更新critic当前网络的所有参数ω。其中,y由奖励rt、衰减因子γ和critic目标q值函数q'(st+1,a′t+1)求得:y=rt+γq'(st+1,a′t+1)。critic目标网络中的参数ω‘由critic当前网络定期复制,并使用软更新方法:ω‘←τω+(1-τ)ω‘。

在上述步骤中得到的st、rt、a't、st+1存入经验回放当中,待使用时再从中随机取出。

由上述的单智能体演化到多智能体,通过采用分散执行、集中训练的框架来实现我们的目标,这种模型称为多智能体深度确定策略梯度,如图2所示。具体地说,考虑由n个智能体且策略为θ={θ1,θ2,…θn}参数化的博弈,当前多智能体确定性策略为μ={μ1,μ2,…μn},则更新actor当前网络计算策略梯度可以写作:其中a=(at,at+1,…at+n)是所有actor当前网络预测出的流量标签集合,s=(st,st+1,…st+n)所有智能体输入的流量特征,是所有critic当前网络集中的值函数。更新critic当前网络损失函数可以写作:其中μ‘=(μ′1,μ′2,…,μ′n)是具有延迟参数θi'的actor目标策略集合,a'=(a't+n+1,a′t+n+2,…,a′t+2n)是actor目标网络预测出的流量标签集合,s‘=(st+n+1,st+n+2,…st+2n)是所有智能体下一阶段流量特征,r=(r1,r2,…,rn)为获得的奖励集合,是所有critic目标网络集中的值函数。最后对每一个智能体的目标网络参数进行更新:θi'←τθi+(1-τ)θi'。

在上述过程中得到的s、r、a、s‘存入经验回放当中,待使用时再从中随机取出。

具体实验实例:

本发明仿真模拟实验数据集采用公开并著名的数据集nsl-kdd,因为nsl-kdd数据集中正常流量占比53.46%,最不频繁的攻击流量占比0.04%,正是由于这种数据集各类别间大小不均衡性,更能体现该入侵检测框架降低人工代价并提升检测准确率的性能。实验主要分为以下几个步骤:

1.数据集采样。通过对训练样本小批量采样,采样样本包含当前流量特征集合s=(st,st+1,…st+n)、当前流量真实标签集合下一阶段流量特征集合s‘=(st+n+1,st+n+2,…st+2n)。

2.多智能体actor当前网络接收当前流量特征集合。接收当前流量特征集合后使用确定性策略预测流量标签集合a=(at,at+1,…at+n)。

3.获得奖励集合r=(r1,r2,…,rn)。通过对比actor当前网络预测的流量标签与真实流量标签一一对比,如果一致获得奖励,奖励为1,如果不一致,奖励为0,最终获得奖励集合r=(r1,r2,…,rn)。最后将获得的当前流量特征集合、奖励集合、预测流量标签集合以及下一阶段流量特征集合存入到经验回放当中,待使用时从中随机取出。

4.多智能体actor目标网络接收下一阶段流量特征集合。接收下一阶段流量特征集合s‘=(st+n+1,st+n+2,…st+2n)后使用确定性策略预测流量标签集合a'=(a't+n+1,a′t+n+2,…,a′t+2n)。

5.多智能体critic当前网络计算当前q值函数。神经网络接收当前流量特征集合s=(st,st+1,…st+n)和预测流量标签集合a=(a′t,a′t+1,…,a′t+n)预测当前所有q值函数集合并通过策略梯度更新当前网络参数:

6.多智能体critic目标网络计算目标q值函数。神经网络接收下一阶段流量特征集合s‘=(st+n+1,st+n+2,…st+2n)和预测流量标签集合a'=(a't+n+1,a′t+n+2,…,a′t+2n)预测目标所有q值函数集合并通过均方差计算损失函数更新当前网络参数:其中

7.保存训练模型。模型训练至最大批次时,训练完成,并保存训练模型。

8.通过评价标准对该入侵检测框架进行评价。输入测试样本,加载本地训练模型,通过一系列评价标准来对模型进行评价。

本发明的优势分析:

海量高维数据。由于网络数据量的成倍增长,怎样对海量数据快速准确处理成了当前亟待解决的问题。传统的机器学习方法通常先使用聚类或者降维的方式对海量数据处理,再通过分类器对处理好的数据进行分类。由于传统机器学习的都是数据的浅层表示,在进行分类时效果较差。深度学习具有强大的表征学习能力,更容易对大型高维数据处理,但是深度学习内部结构复杂,训练需要花费较多的时间和计算机资源。本发明中的多智能体深度强化学习结合浅层的神经网络、不用区分的奖励函数以及确定性策略,使其不仅能处理高维流量数据,还能通过智能体间的策略集成交互提高智能体训练过程中的稳定性和训练后的鲁棒性。

数据集各类别间数量不均衡。由于恶意流量和攻击流量的数据量远小于正常流量,这就带来了数据集不平衡的问题。正是由于异常流量远小于正常流量,检测的过程中总是偏向于正常流量,因此会出现正常流量的识别准确率远高于异常流量。当前在解决数据集不均衡问题上的研究相对较少,通常采用欠采样和过采样的方法,但欠采样的方式缩小了整体的样本数量,过采样的方式又容易引发过拟合问题,这些在处理数据集不平衡的问题上均存在一定的缺陷。本发明采用多智能体集中训练、分步式执行的策略可以用于对抗任务学习当中,迫使智能体最大限度的学习数量较少的流量样本,以此来提高数量较少流量样本的检测准确率。

还有,本发明将多智能体深度确定性策略梯度应用到异常流量检测当中;多智能体深度确定性策略梯度集中训练、分步式执行的策略可以用于对抗任务学习当中,迫使智能体最大限度的学习数量较少的流量样本;相对于传统的机器学习,浅层的深度学习和深度强化学习,在检测准确率方面都有明显的提升。

以上公开的仅为本发明的几个具体实施例,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明的精神和范围,但是,本发明实施例并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围内。

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