基于集成学习和寻峰算法的LDoS攻击检测与缓解方法转让专利

申请号 : CN202110130808.1

文献号 : CN112804250B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤澹张斯琦陈静文冯叶王曦茵李欣萌

申请人 : 湖南大学

摘要 :

本发明公开了基于集成学习和寻峰算法的LDoS攻击检测与缓解方法,属于计算机网络安全领域。其中所述方法包括:利用SDN控制器采集一段时间流经瓶颈链路的流量作为训练数据。使用滑动窗口将训练数据划分为多个检测窗口并标记。标记分为正常(无LDoS攻击)和异常(发生LDoS攻击)。计算检测窗口TCP流量的平均值,变异系数,平均绝对时间导数与波形累积长度作为特征。将标记和特征输入集成学习算法以训练分类器。使用分类器对实时采集的测试数据进行分类得到类标记。若为异常,则基于寻峰算法定位攻击者并丢弃攻击流。反之继续实时采样。本发明提出的LDoS攻击检测与缓解方法可以有效检测LDoS攻击并快速缓解攻击造成的影响。

权利要求 :

1.基于集成学习和寻峰算法的LDoS攻击检测与缓解方法,其特征在于,所述LDoS攻击检测与缓解方法包括以下几个步骤:

步骤1、数据采样:利用SDN的控制器采集一段时间内经过瓶颈链路的流量数据,包括TCP流量和UDP流量,作为训练数据,使用滑动窗口算法将训练数据以固定窗口大小划分为多个检测窗口并标记窗口;

步骤2、特征计算:计算每个检测窗口中TCP流量的平均值,变异系数,平均绝对时间导数与波形累积长度作为特征;

步骤3、攻击检测:根据检测窗口的特征,基于集成学习算法训练分类器,使用滑动窗口算法实时采集TCP流量得到TCP检测窗口,使用训练好的分类器对TCP检测窗口进行分类,得到分类结果;此处所使用的集成学习算法为基于直方图的梯度提升分段线性决策树算法,该算法通过构建梯度提升的分段线性决策树完成分类,并基于直方图优化计算;

步骤4、攻击缓解:若步骤3得到的分类结果为发生LDoS攻击,将基于寻峰算法根据单条流的峰值属性来定位攻击者并缓解攻击,具体步骤为,利用SDN的控制器基于滑动窗口算法,以IP为关键字实时采集来自不同IP的UDP流量,根据采集的UDP流量,计算每条流量中的局部最大值为峰,并计算峰的突出程度和宽度,若流量中存在突出程度大于预设阈值的峰,或者流量中所有峰宽度的标准差小于预设宽度阈值,则为LDoS攻击流量,记录LDoS攻击流量的IP即为攻击者,并利用SDN的控制器下发流规则丢弃来自攻击者的流量,若采集流量中没有LDoS攻击流量,则重复攻击检测步骤。

2.根据权利要求1中所述的LDoS攻击检测与缓解方法,其特征在于,步骤1中利用SDN的控制器每隔0.5秒轮询获取一段时间内通过瓶颈链路的TCP流量和UDP流量信息,作为训练数据,其中瓶颈链路为SDN中链路带宽最小的链路,流量应包括发生LDoS攻击时的数据和正常用户访问数据,然后使用滑动窗口算法将训练数据划分为一系列相等大小的检测窗口,并对检测窗口进行标记,无LDoS攻击发生的检测窗口标记为正常,发生LDoS攻击的检测窗口标记为异常。

3.根据权利要求1中所述的LDoS攻击检测与缓解方法,其特征在于,步骤2中根据步骤1获取的检测窗口,计算每一个检测窗口中TCP流量的平均值,变异系数,平均绝对时间导数与波形累积长度作为特征,为避免数量级差异影响结果,在计算平均绝对时间导数与波形累积长度前对检测窗口内的流量进行0‑1标准化。

4.根据权利要求1中所述的LDoS攻击检测与缓解方法,其特征在于,步骤3中的攻击检测过程,包括三个步骤:

步骤3.1、根据步骤2计算获得的检测窗口的特征和步骤1获得的检测窗口的标记,基于集成学习算法训练分类器并保存分类器;

步骤3.2、利用SDN的控制器,基于滑动窗口算法,实时采样流经瓶颈链路的TCP流量数据,得到TCP检测窗口;

步骤3.3、计算步骤3.2中TCP检测窗口的平均值,变异系数,平均绝对时间导数与波形累积长度作为特征,根据步骤3.1保存的分类器和计算得到的特征值进行分类,返回分类结果。

5.根据权利要求4中所述的LDoS攻击检测与缓解方法,其特征在于,步骤3.3中的分类结果包括两种:正常,即无LDoS攻击发生,异常,即发生LDoS攻击。

6.根据权利要求1中所述的LDoS攻击检测与缓解方法,其特征在于,步骤4中的攻击缓解过程,包括三个步骤:

步骤4.1、根据步骤3中返回的分类结果,如果为正常,则不进行后续步骤,如果为异常,则基于寻峰算法定位攻击者的IP;

步骤4.2、根据步骤4.1得到的攻击者的IP,将攻击者的IP加入黑名单;

步骤4.3、根据步骤4.2中保存的黑名单,利用SDN的控制器在交换机上安装流规则,丢弃来自黑名单中的IP的流量。

说明书 :

基于集成学习和寻峰算法的LDoS攻击检测与缓解方法

技术领域

[0001] 本发明属于计算机网络安全领域,具体涉及基于集成学习和寻峰算法的LDoS攻击检测与缓解方法。

背景技术

[0002] LDoS(Low‑rate Denial of Service,低速率拒绝服务)攻击,作为拒绝服务攻击的变种,是一种针对网络协议中自适应机制的漏洞发起的攻击。它通过发送周期性的高速
攻击脉冲严重降低服务质量,导致正常用户无法有效地访问服务器。
[0003] 目前针对LDoS攻击的实时检测与缓解方法存在以下问题:其一是LDoS攻击发生时的网络流量与大量合法用户同时访问网络时的网络流量十分相似,具有极高的隐蔽性,难
以被传统的防火墙或者反拒绝服务攻击机制识别;其二是已有的LDoS攻击实时检测方法存
在一定的缺陷,如成本较高、可扩展性较差、检测精度不高、不适用大数据、实时性弱等;其
三是传统的网络架构下,部署缓解方法需要额外的设备或者更改现有的协议,成本较高,难
以实现。
[0004] SDN(Software Defined Network,软件定义网络),是一种新型网络架构,它解耦了控制平面与数据平面,实现了对数据路径元素的集中控制,具有可编程性。基于SDN架构,
用户可以在应用层编写软件,通过统一的编程接口调用控制器的功能,实现对底层设备和
流量的管理。
[0005] 本发明提出了基于集成学习和寻峰算法的LDoS攻击检测与缓解方法。该方法利用SDN的可编程性和集中控制,实现对LDoS攻击的实时检测与缓解。方法分为实时检测与攻击
缓解两步。实时检测基于集成学习算法实现,所采用的集成学习算法为基于直方图的梯度
提升分段线性决策树算法。攻击缓解基于寻峰算法实现。

发明内容

[0006] 针对已有的LDoS攻击检测与缓解方法的不足,提出了基于集成学习和寻峰算法的LDoS攻击检测与缓解方法,该方法能实时检测并缓解网络中的LDoS攻击,无需借助额外的
设备或修改网络协议,具有较高的准确率和较低的复杂度,同时具备处理大数据的能力。因
此该检测方法可普适于LDoS攻击的准确检测与快速缓解。
[0007] 本发明为实现上述目标所采用的技术方法为:该LDoS攻击检测与缓解方法主要包括四个步骤:数据采样、特征计算、攻击检测以及攻击缓解。
[0008] 1.数据采样。方法利用SDN的控制器,轮询采样一段时间内经过瓶颈链路的TCP流量与UDP流量作为训练数据,轮询时间间隔为0.5秒。轮询采样的训练数据包括发生LDoS攻
击的网络流量和正常(无LDoS攻击)网络流量。然后基于滑动窗口算法将训练数据划分为多
个检测窗口。滑动窗口算法中窗口的大小和移动步长由用户根据需要指定,是一个固定值。
每个检测窗口需要进行标记,未发生LDoS攻击的标记为正常,发生LDoS攻击的标记为异常。
[0009] 2. 特征计算。根据公式计算每个检测窗口中TCP流量的平均值,变异系数,平均绝对时间导数与波形累积长度作为特征。其中,令X表示实时采样的TCP流量数据序列,xi(i=
1,2,…,n)为X中的数据,n为滑动窗口的大小。
[0010] 平均值mean反映了数据的中心趋向性,当网络中发生LDoS攻击时,网络流量的平均值会明显低于正常状态。平均值的计算公式如下:
[0011] 变异系数variation反映了数据的离散程度,当网络中发生LDoS攻击时,网络流量的变异系数会高于正常状态。变异系数的计算公式如下:
[0012] 平均绝对时间导数madiff反映了数据的平均波动情况,当网络中发生LDoS攻击时,网络流量波动较大,因此LDoS攻击下的网络流量的平均绝对时间导数会高于正常状态。
平均绝对时间导数的计算公式如下:
[0013] 波形累积长度wavelen反映了数据的总体波动情况,当网络中发生LDoS攻击时,网络流量波动较大,因此LDoS攻击下的网络流量的波形累积长度会高于正常状态。波形累积
长度的计算公式如下:
[0014] 由于不同时间段采集到的流量数据具有规模上的差异,会严重影响平均绝对时间导数和波形累积长度这两个特征值,因此在计算每个检测窗口的平均绝对时间导数和波形
累积长度前,对检测窗口内的TCP流量进行0‑1标准化,令 表示标准化后的数据,0‑1标准
化公式可表示为:
[0015]
[0016] 3. 攻击检测。根据计算获得训练数据的特征,基于集成学习算法训练分类器。所采用的集成学习算法为基于直方图的梯度提升分段线性决策树算法,训练过程包括三步:
[0017] 1)根据计算获得的训练数据的特征,基于百分位数将特征划分为多个箱,以此构建特征直方图;
[0018] 2)根据构建的特征直方图,计算每个箱的梯度值和Hessians值,并记录累计值和,其中bin表示箱,hi表示数据点xi的Hessians值,即数据点损失预测的二阶偏导数,gi表示数
据点xi的梯度值,即数据点损失预测的偏导数;
[0019] 3)根据构建的特征直方图和记录的累计值,迭代构建二阶梯度分段线性决策树,在迭代过程中不断更新梯度值和Hessians值,直到达到迭代次数的最大值或者损失函数的
最小值,停止迭代,保存训练好的分类器。其中,最大迭代次数由用户指定,默认值为100,决
策树结点划分的损失函数基于信息增益计算。在信息理论和机器学习中,信息增益是从观
察另一个随机变量中获得的关于一个随机变量或信号的信息量,通常一个相互信息量大的
属性应该优先于其他属性。信息增益Gain的计算公式如下:
[0020] 其中Ent表示信息熵,ai(i=1,2,…,m)表示X的特征,m表示特征维数,j表示决策树划分的结点。
[0021] 使用保存的分类器,对实时采样的TCP流量的检测窗口进行分类预测。实时采样过程基于滑动窗口算法实现,这种采样方式能有效地结合新到的流量和历史流量进行分析,
更快地做出分类预测。分类预测结果分为正常(无LDoS攻击发生)和异常(发生LDoS攻击)两
种。当分类预测结果为正常时,无需进行攻击缓解,继续进行实时采样。当分类预测结果为
异常时,进行攻击缓解步骤。
[0022] 4. 攻击缓解。以IP为关键字,方法利用SDN控制器实时采样每个IP的UDP流量。实时采样过程同样基于滑动窗口算法实现。根据采样得到的UDP流量的检测窗口,基于寻峰算
法定位攻击者的IP。寻峰算法包括三个步骤:
[0023] 1)根据训练数据中正常检测窗口和异常检测窗口的UDP流量,寻找每个检测窗口中UDP流量的局部最大值即为该条流的峰,计算流量中所有峰的突出程度和宽度,获得区分
正常检测窗口和异常检测窗口的双阈值,即突出程度的阈值pth和宽度的阈值wth。pth为能
明显区分两类窗口的突出程度的数值。计算每个检测窗口中峰的宽度序列的标准差,wth为
能明显区分两类窗口的标准差的数值。
[0024] 2)实时采样以IP为关键字的UDP流信息,记录每条UDP流中突出程度大于阈值pth的峰的个数,若个数大于1,则认为该条UDP流为攻击流,记录该流的IP,完成定位攻击者步
骤,反之,则进行下一步。
[0025] 3)根据实时采样的UDP流,记录每条流中每个峰的宽度,得到宽度值的序列,计算该序列的标准差,若标准差小于wth,则认为该条UDP流为攻击流,记录该流的IP,完成定位
攻击者步骤。
[0026] 当定位到攻击者的IP后,将其加入黑名单,并通知控制器下发流规则丢弃来自黑名单中IP的流,以缓解SDN中的LDoS攻击。
[0027] 有益效果
[0028] 基于集成学习和寻峰算法的LDoS攻击检测与缓解方法检测准确率较高,假阳性和假阴性较低,时间复杂度和空间复杂度较低,具有较好的实时性和处理大数据的能力,因
此,该实时检测与缓解方法可普适于准确检测LDoS攻击,并有效缓解攻击发生时造成的不
良影响。

附图说明

[0029] 图1为SDN中发生LDoS攻击的网络流量图,包括TCP流量与UDP流量。
[0030] 图2为异常(发生LDoS攻击)网络和正常(未发生LDoS攻击)网络的特征比较图。
[0031] 图3为攻击流和正常流的峰的对比图。
[0032] 图4为基于集成学习和寻峰算法的LDoS攻击检测与缓解方法部署在SDN中的完整框架图。
[0033] 图5为基于集成学习和寻峰算法的LDoS攻击检测与缓解方法的算法流程图。

具体实施方式

[0034] 下面结合附图对本发明进一步说明。
[0035] 如图5所示,基于集成学习和寻峰算法的LDoS攻击检测与缓解方法的算法流程主要包括四个步骤:数据采样、特征计算、攻击检测以及攻击缓解。数据采样步骤包括训练数
据采样和测试数据采样两部分,采样得到的训练数据基于滑动窗口算法划分为多个检测窗
口,并对检测窗口进行标记,标记分为正常和异常,测试数据基于滑动窗口算法实时采样得
到检测窗口。特征计算步骤根据公式计算检测窗口中流量的特征。攻击检测步骤根据训练
数据的检测窗口特征和标记训练集成学习分类器,然后对测试数据的检测窗口进行分类,
得到分类结果。若分类结果为异常,则进行攻击缓解,基于寻峰算法定位攻击者并丢弃来自
攻击者的流量。其中集成学习和寻峰算法为方法的核心。
[0036] 图1为SDN中发生LDoS攻击的网络流量图,虚线前为正常状态的网络流量数据,虚线后为发生LDoS攻击时的网络流量数据。从图中可以看出,正常网络状态下的TCP流量与
UDP流量波动平缓,且TCP流量为网络通信中的主要流量,当发生LDoS攻击时,攻击者周期性
地发送高速UDP脉冲,造成TCP流量剧烈波动,平均流量急剧减少,影响网络服务质量。
[0037] 图2为异常网络和正常网络的特征比较图,其中(a)为TCP流量在正常状态和异常状态的平均值,正常状态下TCP流量的平均值远高于异常状态下TCP流量的平均值;(b)为
TCP流量在正常状态和异常状态的变异系数,正常状态下TCP流量的变异系数远低于异常状
态下TCP流量的变异系数;(c)为TCP流量在正常状态和异常状态的平均绝对时间导数,正常
状态下TCP流量的平均绝对时间导数远低于异常状态下TCP流量的平均绝对时间导数;(d)
为TCP流量在正常状态和异常状态的波形累积长度,正常状态下TCP流量的波形累积长度远
低于异常状态下TCP流量的波形累积长度。因此,4种特征值能明显区分正常状态的网络和
异常状态的网络。
[0038] 图3为攻击流和正常流中的峰及其各项属性对比图,其中(a)中为攻击流,(b)中为正常流。从图中可以看出,正常流中的峰突出程度较低,宽度差异较大,且具有随机性,而攻
击流中的峰突出程度较高,且宽度十分接近,峰与峰之间具有相似性,通过两种流中的峰的
不同表现,可以定位攻击流。
[0039] 图4展示了基于集成学习和寻峰算法的LDoS攻击检测与缓解方法的完整部署框架,方法被部署在SDN的控制层,利用控制器轮询获取基础设施层的流量信息和设备信息,
对流量进行分析处理后输入攻击检测模块,在攻击检测模块中使用提前训练好的分类器进
行分类,根据分类结果选择是否激活缓解模块,攻击缓解模块定位攻击者的IP并将其加入
黑名单,最后通过控制器下发流规则丢弃来自黑名单中IP的流。