基于LSTM预测模型的DDoS攻击检测方法及装置与流程

文档序号:16097498发布日期:2018-11-27 23:45阅读:382来源:国知局

本发明涉及网络通信技术技术领域,特别涉及一种基于LSTM预测模型的DDoS攻击检测方法及装置。



背景技术:

分布式拒绝服务(Distributed Denial of Service,简称DDoS)攻击是目前黑客经常采用并且难以防范的攻击手段。近年来随着电子加密虚拟货币的快速发展和物联网设备的持续增加,DDoS攻击方式更趋于多样化,对因特网的安全产生了巨大的威胁。

现有技术中,Zheng Y等人从数据包级和会话级进行分析,提出了一种基于PCC时间序列的检测算法,但此检测方法不能够很好地区分DDoS攻击和flash crowd事件,导致误报率较高。Nezhad S M T等人基于ARIMA时间序列模型和计算机网络中的混沌系统,提出了一种DoS和DDoS攻击检测的算法,但该方法只是使用了一定数量的数据包和源IP地址信息,使用报文信息较少且只能检测类型单一的DDoS攻击。Andrysiak T等人利用条件变分法来优化时间序列模型参数以检测DDoS攻击,该检测方法在一定程度上提高DDoS攻击的检测率,但其算法复杂度较高,使其检测结果存在一定的滞后性。

本发明的发明人在研究DDoS攻击检测方法时,提出了另一种DDoS攻击检测方法。



技术实现要素:

本申请的目的在于提供一种基于LSTM流量预测的DDoS攻击检测方法及装置,以监测网络流量变化趋势,并及时、精准的识别DDoS攻击。

为实现上述目的,本发明一方面提供一种基于LSTM预测模型的DDoS攻击检测方法,所述方法包括:对正常网络流量按照一定的取样周期进行n次取样,计算得到n个正常网络的IP数据包统计特征值,其中n∈N;根据n个所述正常网络的IP数据包统计特征值,对待训练的LSTM预测模型进行训练;使用网格搜索和超参数最优法确定选择性丢弃神经元的概率Dropout=0.2,来修正所述LSTM预测模型,缓解过拟合现象;根据修正后的所述LSTM预测模型,计算未来某个时段的IP数据包统计特征值的预测值;根据所述预测值,判断当前网络是否发生DDoS攻击。

进一步的,所述LSTM预测模型包括忘记门、输入门、输出门、状态单元及输出结果,分别通过以下公式计算获得:

it=σ(Wi[ht-1,Xt]+bi)

ft=σ(Wf[ht-1,Xt]+bf)

ot=σ(Wo[ht-1,Xt]+bo)

ht=ot*tanh(Ct)

其中,it表示输入门,ft表示忘记门,ot表示输出门,ct表示状态单元,Wi是输入门的权重矩阵,bi是输入门的偏置项,Wf表示忘记门的权重矩阵,bf是忘记门的偏置项,Wo是输出门的权重矩阵,bo是输出门的偏置项,门激活函数为sigmoid(σ),其值域是(0,1),输出的激活函数为tanh函数。

进一步的,根据修正后的LSTM预测模型,计算未来某个时段的IP数据包统计特征值的预测值的步骤包括:根据n个所述正常网络的IP数据包统计特征值,利用静态预测的方法,计算第n+1个所述IP数据包统计特征值的预测值;根据n个所述正常网络的IP数据包统计特征值及每个所述IP数据包统计特征值的预测值,计算下一个所述预测的IP数据包统计特征值。

进一步的,所述根据所述预测值,判断当前网络是否发生DDoS攻击的步骤包括:统计所述正常网络的IP数据包统计特征值的区间为[a,b],统计所述预测的IP数据包统计特征值的区间为[c,d];计算所述预测的IP数据包统计特征值与所述正常网络的IP数据包统计特征值的平均误差Ave,获取所述预测的IP数据包统计特征值区间[c,d]的最大值Max;根据所述平均误差Ave和所述最大值Max,计算所述误差阈值U=Max+Ave;计算当前网络的IP数据包统计特征值与对应的所述预测的IP数据包统计特征值的偏差;将所述偏差与所述阈值进行比较,来判断当前网络是否发生DDoS攻击:若所述偏差大于所述阈值,当前网络发生DDoS攻击;若所述偏差小于所述阈值,当前网络未发生DDoS攻击。

进一步的,所述IP数据包统计特征值的计算公式为:

其中,Packet为IP数据包的个数,△t为所述取样周期。

为实现上述目的,本申请另一方面还提供一种基于LSTM预测模型的DDoS攻击检测装置,所述装置包括:第一计算模块,用于对正常网络流量按照一定的取样周期进行n次取样,计算得到n个正常网络的IP数据包统计特征值;其中n∈N;第二计算模块,用于根据n个所述正常网络的IP数据包统计特征值,对待训练的LSTM预测模型进行训练;第三计算模块,使用网格搜索和超参数最优法确定选择性丢弃神经元的概率Dropout=0.2,来修正所述LSTM预测模型,缓解过拟合现象;第四计算模块,用于根据修正后的所述LSTM预测模型,计算未来某个时段的IP数据包统计特征值的预测值;攻击判断模块,用于根据所述预测值,判断当前网络是否发生DDoS攻击。

进一步的,所述LSTM预测模型包括忘记门、输入门、输出门、状态单元及输出结果,分别通过以下公式计算获得:

it=σ(Wi[ht-1,Xt]+bi)

ft=σ(Wf[ht-1,Xt]+bf)

ot=σ(Wo[ht-1,Xt]+bo)

ht=ot*tanh(Ct)

其中,it表示输入门,ft表示忘记门,ot表示输出门,ct表示状态单元,Wi是输入门的权重矩阵,bi是输入门的偏置项,Wf表示忘记门的权重矩阵,bf是忘记门的偏置项,Wo是输出门的权重矩阵,bo是输出门的偏置项,门激活函数为sigmoid(σ),其值域是(0,1),输出的激活函数为tanh函数。

进一步的,所述第四计算模块具体用于:根据n个所述正常网络的IP数据包统计特征值,利用静态预测的方法,计算第n+1个所述IP数据包统计特征值的预测值;根据n个所述正常网络的IP数据包统计特征值及每个所述IP数据包统计特征值的预测值,计算下一个所述预测的IP数据包统计特征值。

进一步的,所述攻击判断模块具体用于:统计所述正常网络的IP数据包统计特征值的区间为[a,b],统计所述预测的IP数据包统计特征值的区间为[c,d];计算所述预测的IP数据包统计特征值与所述正常网络的IP数据包统计特征值的平均误差Ave,获取所述预测的IP数据包统计特征值区间[c,d]的最大值Max;根据所述平均误差Ave和所述最大值Max,计算所述误差阈值U=Max+Ave;计算当前网络的IP数据包统计特征值与对应的所述预测的IP数据包统计特征值的偏差;将所述偏差与所述阈值进行比较,来判断当前网络是否发生DDoS攻击:若所述偏差大于所述阈值,当前网络发生DDoS攻击;若所述偏差小于所述阈值,当前网络未发生DDoS攻击。

进一步的,所述IP数据包统计特征值的计算公式为:

其中,Packet为IP数据包的个数,△t为所述取样周期。

为实现上述目的,本申请另一方面还提供一种基于LSTM流量预测的DDoS攻击检测装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的基于LSTM流量预测的DDoS攻击检测方法。

由上可见,本发明首先通过统计正常网络下IP数据包统计特征值,正常时的网络流特征。其次使用LSTM预测模型,预测未来网络流量的时间序列特征,并通过网格搜索和超参数最优法确定Dropout的值以缓解该模型的过拟合现象。最后,根据基于IPDCF时间序列的LSTM预测模型,来判断当前网络是否发生DDoS攻击。本发明能够准确地预测正常网络流量变化趋势,及时识别DDoS攻击。

另外,与现有技术提供的DDoS攻击检测方法相比,本发明复杂度低,计算开销小,时效性更高且可以有效提高DDoS攻击检测的鲁棒性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的LSTM单元模型示意图;

图2是本发明实施例提供的LSTM预测模型结构示意图;

图3是本发明实施例提供的第一天取样数据的IPDCF时间序列图;

图4是本发明实施例提供的第二天取样数据的IPDCF时间序列图;

图5是本发明实施例提供的第三天取样数据的IPDCF时间序列图;

图6是本发明实施例提供的第四天取样数据的IPDCF时间序列图;

图7是本发明实施例提供的第五天取样数据的IPDCF时间序列图;

图8是本发明实施例提供的第一次异常网络流量的IPDCF时间序列图;

图9是本发明实施例提供的第二次异常网络流量的IPDCF时间序列图;

图10是本发明实施例提供的第三次异常网络流量的IPDCF时间序列图;

图11是本发明实施例提供的基于LSTM预测模型的DDoS攻击检测装置的功能模块示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明实施例提供了一种基于LSTM预测模型的DDoS攻击检测方法。该方法定义了IP数据包统计特征(IP-Data-counts Feature,IPDCF),基于IPDCF特征建立LSTM预测模型,且利用Dropout缓解了LSTM预测模型过拟合现象,预测未来某个时段内的网络流量,识别DDoS攻击引起的异常。

图1是本发明实施例提供的LSTM单元模型示意图。

如图1所示,Cell表示神经元单元状态的记忆,设定一个state的参数记录状态;输入门(Input Gate)和输出门(Output Gate)则分别用来接收参数、输出参数;忘记门(Forget Gate)判断进入LSTM单元的信息是否有用,符合算法认证的信息被留下,不符合的则选择忘记,是用来将上一神经元细胞的状态进行忘记的修正参数。在本实施例的LSTM单元模型中,每个存储单元中的三个权重值来源于输入训练,包括前一时间完整的隐藏状态。三个权重分别被带入输入门、忘记门、输出门。激活函数(S形函数)分别连接一个黑色节点,单元的内部状态即为最中央的节点。跨越时间步的权重设定为1,并进行自我反馈,而恒定误差传送带(CEC)即为内部状态的连接边。

图2是本发明实施例提供的LSTM预测模型结构示意图。

S201,对正常网络流量按照一定的取样周期进行n次取样,计算得到n个正常网络的IP数据包统计特征值;

在一个实施例中,取样周期为1min,n取值为1440,对正常网络流量数据按照取样周期为1min进行1440次采样,计算每次采样的IPDCF值,得到1440个正常网络的IPDCF值。即对一天24小时的正常网络流量数据进行统计,作为LSTM神经网络预测模型建模的原始序列,获得IPDCF时间序列样本M,M(N,Δt)={IPDCFi,i=1,2,...,n},n为序列长度,本实施例使用的序列长度为1440。

S202,根据n个所述正常网络的IP数据包统计特征值,对待训练的LSTM预测模型进行训练;

在一个实施例中,选取的实验数据集使用麻省理工实验室(MIT)1999年采集的三个星期的网络流量,每个星期5天,共计15天,每天24小时,共计360小时,21600分钟。其中取前14天即1-20160分钟为训练数据。本实施例以一天为周期,以分钟为取样周期,将数据按一分钟为时间间隔进行划分,统计每一分钟的数据包个数作为数据特征。

图3至图7依次示出了第一周五天的数据,其中横坐标为时间Time,单位为分钟minute,纵坐标为IP数据包个数number,从图3至图7中可以看出,每天中的固定时间,基本都呈现一个相对固定的趋势,从而进一步证明了本实施例利用LSTM训练得到的模型具有进行预测的可行性。

S203,使用网格搜索和超参数最优法确定选择性丢弃神经元的概率Dropout=0.2,来修正所述LSTM预测模型,缓解过拟合现象;

Dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时且随机的从网络中丢弃,相当于每一个mini-batch都在训练不同的网络。具体来说Dropout随机选择一部分神经元,然后将其输出置0,同时将其之前的取值保留,在下次训练过程中又会恢复之前的保留取值,之后再次随机选择并重复此过程。按照此方法,网络结构在每次训练过程中都会发生变化,从而避免出现某个特征在特定其它特征的支持下才有效的情况,从而减少了训练过程中出现过拟合的概率。本发明通过使用网格搜索和超参数最优法确定了使用选择性丢弃神经元的概率Dropout=0.2来缓解LSTM神经网络模型中的过拟合的现象。

在一个实施例中,构建LSTM预测模型时,以每分钟为时间间隔进行预测,搭建的预测模型选取了两个隐含层,其中第一个隐含层有512个神经元,第二个隐含层有256个神经元,输出层只有一个预测值Y。

S204,根据修正后的LSTM预测模型,计算未来某个时段的IP数据包统计特征值的预测值;

已获得的IPDCF时间序列样本M中,样本数据序列为IPDCF1、IPDCF2、……、IPDCFn。先利用静态预测的方法,即在预测下一个样本值时都直接利用之前的实际样本数据来进行预测;当预测第n+1个值后,从第n+2个值的预测开始需要用到n+1或之后更多的预测值来进行动态预测。例如,在预测第n+2个值时,需要用到的样本数据为IPDCF1、IPDCF2、……、IPDCFn、IPDCFn+1,其中IPDCFn+1为上一轮预测出来的预测值而非真实值;在预测第n+3个值时,需要用到的样本数据为IPDCF1、IPDCF2、……、IPDCFn、IPDCFn+1、IPDCFn+2,其中IPDCFn+1和IPDCFn+2为预测值而非真实值,以此类推进行预测,可以得到较好的拟合效果。本实施例中,计算得到未来一天24小时内的1440个IP数据包统计特征值的预测值。

S205,根据预测值,判断当前网络是否发生DDoS攻击。

首先,统计所述正常网络的IP数据包统计特征值的区间为[a,b],统计所述预测的IP数据包统计特征值的区间为[c,d];获取所述预测的IP数据包统计特征值区间[c,d]的最大值Max;

其次,计算所述预测的IP数据包统计特征值与所述正常网络的IP数据包统计特征值的平均误差Ave。具体而言,每个所述预测的IP数据包统计特征值,减去与其预测时间对应的IP数据包统计特征值的真实值,取绝对值得到误差值,根据得到的所有误差值计算所述平均误差Ave;

再次,根据所述平均误差Ave和所述最大值Max,计算所述误差阈值U=Max+Ave:

然后,计算所述当前网络的IP数据包统计特征值与对应的所述预测的IP数据包统计特征值的偏差;

最后,将所述偏差与所述阈值进行比较,来判断当前网络是否发生DDoS攻击;

若所述偏差大于所述阈值,当前网络发生DDoS攻击;

若所述偏差小于所述阈值,当前网络未发生DDoS攻击。

在一个实施例中,使用麻省理工实验室(MIT)2000年数据模拟三次DDoS攻击,计算当前网络的IP数据包统计特征值。将本实施例的预测结果以可视化图形的方式呈现,其中带×的线条为真实的当前网络的IP数据包统计特征值,光滑线条为IP数据包统计特征值的预测值。

图8至图10依次示出了模拟三次异常网络流量的IPDCF时间序列图,其中横坐标为时间Time,单位为分钟minute,纵坐标为IP数据包个数data number。predict value表示IP数据包统计特征值的预测值,actual value为当前网络的IP数据包统计特征值。

如图8所示,在第4分钟、第127分钟时,当前网络的IP数据包统计特征值与IP数据包统计特征值的预测值之间的偏差超过阈值U,则此时发生了DDoS攻击。

如图9所示,在第82分钟时,真实值与预测值之间的偏差超过阈值U,则判定此时发生了DDoS攻击。

如图10所示,增加了热点事件的模拟。热点事件即为某些重要或突发事件发生时,会出现暂时的流量突增,出现异常网络流量。在第183-184分钟、第206-208分钟、第297分钟、第326-327分钟,虽然真实值与预测值之间偏差较大,但是并没有超过阈值U。因此,不将第183-184分钟、第206-208分钟、第297分钟、第326-327分钟出现的异常网络流量判定为DDoS攻击,而是将其定义为热点事件,避免误报。在179-180分钟时、204-205分钟时,真实值与预测值之间的偏差超过阈值,则判定此时发生了DDoS攻击。

由上可见,本发明首先通过统计正常网络下IP数据包统计特征值,正常时的网络流特征。其次使用LSTM预测模型,预测未来网络流量的时间序列特征,并通过网格搜索和超参数最优法确定Dropout的值以缓解该模型的过拟合现象。最后,根据基于IPDCF时间序列的LSTM预测模型,来判断当前网络是否发生DDoS攻击。本发明能够准确地预测正常网络流量变化趋势,及时识别DDoS攻击。

另外,与现有技术提供的DDoS攻击检测方法相比,本发明复杂度低,计算开销小,时效性更高且可以有效提高DDoS攻击检测的鲁棒性。

图11是本发明实施例提供的基于LSTM预测模型的DDoS攻击检测装置的功能模块示意图。

如图11所示,本实施例的基于LSTM预测模型的DDoS攻击检测装置包括:第一计算模块,用于对正常网络流量按照一定的取样周期进行n次取样,计算得到n个正常网络的IP数据包统计特征值,其中n∈N;第二计算模块,用于根据n个所述正常网络的IP数据包统计特征值,对待训练的LSTM预测模型进行训练;第三计算模块,使用网格搜索和超参数最优法确定选择性丢弃神经元的概率Dropout=0.2,来修正所述LSTM预测模型,缓解过拟合现象;第四计算模块,用于根据修正后的所述LSTM预测模型,计算未来某个时段的IP数据包统计特征值的预测值;攻击判断模块,用于根据所述预测值,判断当前网络是否发生DDoS攻击。

进一步的,所述LSTM预测模型包括忘记门、输入门、输出门、状态单元及输出结果,分别通过以下公式计算获得:

it=σ(Wi[ht-1,Xt]+bi)

ft=σ(Wf[ht-1,Xt]+bf)

ot=σ(Wo[ht-1,Xt]+bo)

ht=ot*tanh(Ct)

其中,it表示输入门,ft表示忘记门,ot表示输出门,ct表示状态单元,Wi是输入门的权重矩阵,bi是输入门的偏置项,Wf表示忘记门的权重矩阵,bf是忘记门的偏置项,Wo是输出门的权重矩阵,bo是输出门的偏置项,门激活函数为sigmoid(σ),其值域是(0,1),输出的激活函数为tanh函数。

进一步的,所述第四计算模块具体用于:根据n个所述正常网络的IP数据包统计特征值,利用静态预测的方法,计算第n+1个所述IP数据包统计特征值的预测值;根据n个所述正常网络的IP数据包统计特征值及每个所述IP数据包统计特征值的预测值,计算下一个所述预测的IP数据包统计特征值。

进一步的,所述攻击判断模块具体用于:统计所述正常网络的IP数据包统计特征值的区间为[a,b],统计所述预测的IP数据包统计特征值的区间为[c,d];计算所述预测的IP数据包统计特征值与所述正常网络的IP数据包统计特征值的平均误差Ave;获取所述预测的IP数据包统计特征值区间[c,d]的最大值Max;根据所述平均误差Ave和所述最大值Max,计算所述误差阈值U=Max+Ave;计算当前网络的IP数据包统计特征值与对应的所述预测的IP数据包统计特征值的偏差;将所述偏差与所述阈值进行比较,来判断当前网络是否发生DDoS攻击:若所述偏差大于所述阈值,当前网络发生DDoS攻击;若所述偏差小于所述阈值,当前网络未发生DDoS攻击。

进一步的,所述IP数据包统计特征值的计算公式为:

其中,Packet为IP数据包的个数,△t为所述取样周期。

本实施例的基于LSTM预测模型的DDoS攻击检测装置可以用于执行图2所示方法实施例的方法,其实现原理和所要达到的技术效果上文中已有论述,在此不再赘述。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括存储若干指令用以使得一台计算机设备执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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