掌桥专利:专业的专利平台
掌桥专利
首页

一种基于径向基函数神经网络的LDoS攻击检测方法

文献发布时间:2023-06-19 18:29:06


一种基于径向基函数神经网络的LDoS攻击检测方法

技术领域

本发明属于计算机网络安全领域,具体涉及一种基于径向基函数神经网络的LDoS攻击检测方法。

背景技术

拒绝服务(DoS)攻击利用网络协议的缺陷来耗尽攻击目标的有限资源,以达到使受害网络或目标主机无法为合法用户提供正常服务的目的,DoS攻击一直严重威胁着网络的安全。低速率拒绝服务(LDoS)攻击是一种新型的DoS攻击,这种攻击方式通过周期性地发送脉冲时长较短的高速率的流量来抢占链路带宽以触发TCP的拥塞控制机制,从而达到攻击的目的,平均攻击速率更低,拥有与DoS攻击相似的攻击效果,且具有更强的隐蔽性。

LDoS攻击具有隐蔽性强的特点,这使其很难被传统的DoS攻击检测方法检测到,现有的LDoS攻击检测方法仍存在一些不足,需要进一步完善,比如检测准确率有待进一步提高,误报率有待进一步降低等。因此,研究和探索一种具有更高的准确率、更低的误报率的LDoS攻击检测方法是本发明的目标。

多变量差值的径向基函数的取值仅与所取中心点的距离有关。径向基函数可以实现低维到高维的变化,使得在低维不可解决的问题,在高维空间得以解决。此外,由于径向基函数不是随机地对参数进行初始化,而是采用一定的策略,故能够克服传统BP神经网络中的局部最小值问题。径向基函数神经网络有着自学习、自组织以及自适应的功能,能够根据具体的问题设计对应的网络拓扑结构,而且处理数据的速度很快。与传统的BP神经网络相比,生命力更强,在较多领域可以对BP神经网络进行替代。

发明内容

本发明针对当前LDoS攻击检测方法存在的准确率较低、误报率较高的缺点,提出了一种基于径向基函数神经网络的LDoS攻击检测方法,该检测方法使用LDoS攻击发生时网络流量的数据特征对径向基函数神经网络进行训练,并使用训练后的径向基函数神经网络检测LDoS攻击。该检测方法具有较高的准确度和较低的误报率,是一种有效的LDoS攻击检测方法。

本发明为实现上述目标所采用的技术方案为:该LDoS攻击检测方法的实施共有三个步骤:网络流量数据采集、径向基函数神经网络训练、攻击判定检测。

1.网络流量数据采集。以一定的时间间隔通过SDN控制器采集瓶颈链路交换机上的TCP流量特征值和UDP流量特征值。选取的特征值为TCP均值和UDP均值,其计算公式如下:

2.径向基函数神经网络训练。以整个LDoS攻击过程的网络流量的特征数据作为样本数据,对径向基函数神经网络进行训练,求出输入层和隐含层之间的权值以及隐含层和输出层之间的权值;

3.攻击判定检测。将采集的网络流量特征数据以及径向基函数神经网络的三个参数:径向基函数的函数中心、径向基函数高斯核宽度、隐含层到输出层之间的权重,导入到检测函数中,得到最终的预测值,根据判定方法判断是否遭受到了LDoS攻击。

该LDoS攻击检测方法对网络流量进行分析,使用整个LDoS攻击过程的网络流量样本数据对径向基函数神经网络进行训练,进而使之能够检测当前是否遭受了LDoS攻击,具有较好的检测性能。通过实验验证,该LDoS攻击检测方法具有较高的准确率和较低的误报率,准确率可达97.43%。

附图说明

图1为径向基函数神经网络的层次结构图。

图2为径向基函数神经网络和传统BP神经网络在逼近方式上的区别以及造成的影响示意图。

图3为径向基函数神经网络的训练流程图。

图4为迭代计算径向基函数神经网络参数的流程图。

图5为使用径向基函数神经网络对LDoS攻击进行检测的流程图。

图6为检测函数get_predict内部的调用流程图。该函数以待检数据和经过训练的径向基函数神经网络模型作为输入,得到最终的预测结果。

图7为使用径向基函数神经网络对LDoS攻击进行检测的完整步骤的流程图。

具体实施方式

下面结合附图对本发明进一步说明。

图1为径向基函数神经网络的层次结构图。径向基函数神经网络一般为三层,分别为输入层、隐含层和输出层。内部网络与外部环境的连接依靠输入层,输入层的作用仅仅是传递,不会对输入的相关信息进行任何的更改,隐含层的核函数通常选用高斯核函数,因此该层与其他网络不同,是局部响应的,而且由于所选的策略会导致一个不够快速的学习速度。当神经网络的输入层被激活时,输出层会提供响应。整个网络结构中,一层到二层之间的变换是非线性的,而二层到三层是线性变换。

图2为径向基函数神经网络和传统BP神经网络在逼近方式上的区别以及造成的影响。BP神经网络和径向基函数神经网络最大的区别之一就是逼近方式的不同;BP神经网络是一种全局逼近神经网络,也就是说神经网络的一个或多个可调参数(权值和阈值)对任何一个输出都有影响;而径向基函数神经网络是一种局部逼近神经网络,也就是说对网络输入空间的几个区域只有少数的连接权影响输出。两者在逼近方式上的差别导致了两者学习速度的快慢,BP神经网络的学习速度较慢,而径向基函数神经网络的学习速度较快,这使得后者有可能满足有实时性要求的应用需求。

图3是径向基函数神经网络的训练流程图,该训练过程是以LDoS攻击过程的网络流量特征数据作为样本数据,求径向基函数神经网络输入层和隐含层之间的权值以及隐含层和输出层之间的权值的过程。具体过程如下:

1、获取样本数据。用于对径向基函数神经网络进行训练的样本数据是由如下方式获得:攻击主机向靶机发起LDoS攻击,在靶机处采集网络流量特征值,将采集到的网络流量特征值分为两类,一类是处于LDoS攻击下的TCP和UDP均值,一类是正常网络流量下的TCP和UDP均值。当未发起LDoS攻击时,TCP均值稳定高于UDP均值,将这个时间段的数据标号为0。当发起LDoS时,TCP均值和UDP均值会发生交叉现象,将这个时间段的数据标号为1。然后对数据进行进一步处理,最后处理完后为3列,第一列为TCP均值,第二列为UDP均值,第三列为对应的标号。

2、径向基函数神经网络参数初始化。该步骤需要对径向基函数神经网络所需的三个参数进行初始化,它们分别是径向基函数神经网络中心、径向基函数高斯核宽度、隐含层到输出层之间的权重。

3、迭代计算径向基函数神经网络的参数。如图4所示,其具体过程如下:

将迭代参数初始化为0,用于记录迭代次数,当迭代次数小于设定的最大迭代次数时,在循环中依次进行如下操作:1)信号正向传播;2)误差的反向传播;3)修正权重和径向基函数的函数中心和扩展函数;4)在该循环中会计算径向基函数神经网络的损失函数的值,如果损失函数的值小于损失函数值的阈值,则直接停止循环,否则,迭代次数加1,返回步骤1)继续进行上述循环,直到迭代次数达到设定的最大迭代次数。

其中,信号的正向传播用于计算误差,径向基函数神经网络对于每个样本x

c

损失函数的计算如下式:

其中m为输入层的个数。

而误差的反向传播的主要目的是调整参数。在这一过程中利用梯度下降法进行迭代,求得{c

具体的求解计算式子如下:

图5为LDoS攻击判定检测的流程图。使用经过网络流量特征数据进行训练后的径向基函数神经网络对LDoS攻击进行检测,测试部分主要分为三个函数,分别是导入数据的函数load_data,导入径向基函数神经网络模型的函数load_model,以及得到最终预测结果的函数get_predict,其具体步骤如下:

1、调用load_data函数导入待检数据,待检数据为一段时间内的TCP和UDP流量均值;

2、调用load_model函数导入经过图3所示的训练流程迭代计算后的径向基函数神经网络模型的三个参数:径向基函数的函数中心、径向基函数高斯核宽度以及隐含层到输出层之间的权重;

3、调用get_predict函数通过训练后的径向基函数神经网络模型对待检数据进行检测得到最终的预测值;get_predict函数内部的调用逻辑如图6所示,该函数依次调用隐含层神经元输出函数hidden_out,输出层输入函数predict_in,输出层输出函数predict_out,其具体步骤及函数说明如下:

1)首先调用隐含层神经元输出函数hidden_out,该函数有三个参数,分别是数据特征、径向基函数中心、径向基函数高斯核宽度。隐含层每个神经元的中心向量与其在输入层对应的神经元中心分量有关,是输入层所有分量的集合,故每个中心的取值应该有所区别,对应的宽度可以被调节,这样隐含层的神经元才能最大地反映出不同的输入信息特征。隐含层的每个神经元宽度向量越大,隐含层对输入向量的影响范围越大,而且神经元之间也会有一个更好的平滑度。隐含层神经元的核函数是高斯核函数,该函数能够对输入信息进行空间映射的变换。

高斯核函数的定义如下式:

该公式中c

隐含层中心点的计算公式如下:

隐含层高斯核宽度计算公式如下:

σ

把每个高斯核的中心点当作一个参数来进行迭代,而不是随机选取或者聚类选取,这样经过迭代的中心点会更加适合整体的数据形式,得到隐含层的输出。

2)然后调用输入层输入函数predict_in,该函数用于计算输入层的输入,有两个参数,一个是上面利用hidden_out函数得到的隐含层输出,另一个是隐含层到输出层之间的权重,权重即连接权,也就是隐含层到输出层的权值。然后利用相应的参数计算输出层的输入。

计算公式如下:

输出层输入=隐含层输出×隐含层到输出层的权值ω

3)最后调用输出层输出函数predict_out,该函数用于计算输出层的输出,只有一个参数,为步骤2)得到的输出层输入predict_in,以该参数调用sigmoid函数。

sigmoid函数为输出层神经元的激活函数,其公式如下:

该函数只有一个参数作为输入,该参数可以为矩阵或是任意实数,该函数输出的值在0到1之间,即在二分类的任务中,输出的是事件概率,相当于在输出满足某一概率条件时将其划分正类,适用于大样本或大的特征数的情况。sigmoid函数有着非常好的对称性,而且本文算法对应的是二分类的输出层,故sigmoid函数适用于本算法,可以作为激活函数使用。

4、通过预测值判断是否发起了攻击,以0和1作为区别网络状态的标识符,预测值为0表示正常的网络流量,即未受到LDoS攻击,预测值为1代表攻击状态下的网络流量,即遭受了LDoS攻击。

相关技术
  • 一种基于径向基函数神经网络的可见光通信均衡方法
  • 基于高斯径向基函数分类器的网络化数控系统中间人攻击检测方法
  • 基于高斯径向基函数分类器的网络化数控系统中间人攻击检测方法
技术分类

06120115582275