基于集成学习和寻峰算法的LDoS攻击检测与缓解方法转让专利
申请号 : CN202110130808.1
文献号 : CN112804250B
文献日 : 2022-05-13
发明人 : 汤澹 , 张斯琦 , 陈静文 , 冯叶 , 王曦茵 , 李欣萌
申请人 : 湖南大学
摘要 :
权利要求 :
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攻击检测与缓解方法
技术领域
背景技术
攻击脉冲严重降低服务质量,导致正常用户无法有效地访问服务器。
以被传统的防火墙或者反拒绝服务攻击机制识别;其二是已有的LDoS攻击实时检测方法存
在一定的缺陷,如成本较高、可扩展性较差、检测精度不高、不适用大数据、实时性弱等;其
三是传统的网络架构下,部署缓解方法需要额外的设备或者更改现有的协议,成本较高,难
以实现。
用户可以在应用层编写软件,通过统一的编程接口调用控制器的功能,实现对底层设备和
流量的管理。
缓解两步。实时检测基于集成学习算法实现,所采用的集成学习算法为基于直方图的梯度
提升分段线性决策树算法。攻击缓解基于寻峰算法实现。
发明内容
设备或修改网络协议,具有较高的准确率和较低的复杂度,同时具备处理大数据的能力。因
此该检测方法可普适于LDoS攻击的准确检测与快速缓解。
击的网络流量和正常(无LDoS攻击)网络流量。然后基于滑动窗口算法将训练数据划分为多
个检测窗口。滑动窗口算法中窗口的大小和移动步长由用户根据需要指定,是一个固定值。
每个检测窗口需要进行标记,未发生LDoS攻击的标记为正常,发生LDoS攻击的标记为异常。
1,2,…,n)为X中的数据,n为滑动窗口的大小。
平均绝对时间导数的计算公式如下:
长度的计算公式如下:
累积长度前,对检测窗口内的TCP流量进行0‑1标准化,令 表示标准化后的数据,0‑1标准
化公式可表示为:
据点xi的梯度值,即数据点损失预测的偏导数;
最小值,停止迭代,保存训练好的分类器。其中,最大迭代次数由用户指定,默认值为100,决
策树结点划分的损失函数基于信息增益计算。在信息理论和机器学习中,信息增益是从观
察另一个随机变量中获得的关于一个随机变量或信号的信息量,通常一个相互信息量大的
属性应该优先于其他属性。信息增益Gain的计算公式如下:
更快地做出分类预测。分类预测结果分为正常(无LDoS攻击发生)和异常(发生LDoS攻击)两
种。当分类预测结果为正常时,无需进行攻击缓解,继续进行实时采样。当分类预测结果为
异常时,进行攻击缓解步骤。
法定位攻击者的IP。寻峰算法包括三个步骤:
正常检测窗口和异常检测窗口的双阈值,即突出程度的阈值pth和宽度的阈值wth。pth为能
明显区分两类窗口的突出程度的数值。计算每个检测窗口中峰的宽度序列的标准差,wth为
能明显区分两类窗口的标准差的数值。
骤,反之,则进行下一步。
攻击者步骤。
此,该实时检测与缓解方法可普适于准确检测LDoS攻击,并有效缓解攻击发生时造成的不
良影响。
附图说明
具体实施方式
据采样和测试数据采样两部分,采样得到的训练数据基于滑动窗口算法划分为多个检测窗
口,并对检测窗口进行标记,标记分为正常和异常,测试数据基于滑动窗口算法实时采样得
到检测窗口。特征计算步骤根据公式计算检测窗口中流量的特征。攻击检测步骤根据训练
数据的检测窗口特征和标记训练集成学习分类器,然后对测试数据的检测窗口进行分类,
得到分类结果。若分类结果为异常,则进行攻击缓解,基于寻峰算法定位攻击者并丢弃来自
攻击者的流量。其中集成学习和寻峰算法为方法的核心。
UDP流量波动平缓,且TCP流量为网络通信中的主要流量,当发生LDoS攻击时,攻击者周期性
地发送高速UDP脉冲,造成TCP流量剧烈波动,平均流量急剧减少,影响网络服务质量。
TCP流量在正常状态和异常状态的变异系数,正常状态下TCP流量的变异系数远低于异常状
态下TCP流量的变异系数;(c)为TCP流量在正常状态和异常状态的平均绝对时间导数,正常
状态下TCP流量的平均绝对时间导数远低于异常状态下TCP流量的平均绝对时间导数;(d)
为TCP流量在正常状态和异常状态的波形累积长度,正常状态下TCP流量的波形累积长度远
低于异常状态下TCP流量的波形累积长度。因此,4种特征值能明显区分正常状态的网络和
异常状态的网络。
击流中的峰突出程度较高,且宽度十分接近,峰与峰之间具有相似性,通过两种流中的峰的
不同表现,可以定位攻击流。
对流量进行分析处理后输入攻击检测模块,在攻击检测模块中使用提前训练好的分类器进
行分类,根据分类结果选择是否激活缓解模块,攻击缓解模块定位攻击者的IP并将其加入
黑名单,最后通过控制器下发流规则丢弃来自黑名单中IP的流。