SDN中基于FGD-FM的LDoS攻击检测与缓解方法转让专利

申请号 : CN202110129267.0

文献号 : CN112910889B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤澹王曦茵张斯琦施玮陈静文王小彩

申请人 : 湖南大学

摘要 :

本发明公开了SDN中基于FGD‑FM的LDoS攻击检测与缓解方法,属于计算机网络安全领域。该方法调用SDN控制平面的API获取交换机的流量序列,使用FGD方法检测LDoS攻击,并基于检测结果使用FM方法缓解LDoS攻击。FGD方法将序列比对算法与机器学习相结合,精确检测每一次攻击突发。FM方法分析端口流量序列,通过计算每个端口的可疑分数来定位受到攻击的端口,并在交换机上安装流规则,丢弃来自攻击者的攻击流量。本发明公开的方法能够实现细粒度的LDoS攻击检测,有着较高的准确度、较低的误报率和漏报率、较低的复杂度和较好的实时性,并能够有效地过滤掉攻击流量,保证良性流量的传输。

权利要求 :

1.SDN中基于FGD‑FM的LDoS攻击检测与缓解方法,其特征在于,FGD‑FM的全称是Fine Grained Detection‑Fast Mitigation,即细粒度检测和快速缓解,细粒度检测结合递归特征消除算法、Needleman‑Wunsch算法和高斯过程分类模型来实现每一个攻击突发的检测,快速缓解是基于可疑分数SS的值来定位受攻击端口并丢弃来自该端口的攻击流量,可疑分数表示端口为受攻击端口的可能性,可疑分数越大,端口是受攻击端口的可能性越大,其计算如下式所示:

SS=SSh+SSmid+SSz

其中,SSh、SSmid和SSz分别是峰值、中间值和零值的统计可疑分数,计算分别如下式所示:

SSmid=‑mid×(mid+1),mid>0其中,h是端口流量序列中峰值的数量,n是峰值的理论数量,mid是中间值的数量,z是零值的数量,m是零值的理论数量。

2.SDN中基于FGD‑FM的LDoS攻击检测与缓解方法,其特征在于,所述的LDoS攻击检测与缓解方法包括以下三个步骤:

步骤1、数据采集:固定采样时间和采样间隔,在采样时间内基于采样间隔,周期性地调用SDN控制平面的API,获取交换机的流量序列;

步骤2、攻击检测:基于步骤1采集到的流量序列,使用FGD方法检测LDoS攻击,得到检测结果,FGD方法流程为首先使用Needleman‑Wunsch算法估计出LDoS攻击的周期,再提取出LDoS攻击的八维特征,之后使用递归特征消除算法进行特征选择,最后使用高斯过程分类模型进行分类;

步骤3、攻击缓解:基于步骤2的检测结果和步骤1采集到的流量序列,使用FM方法缓解LDoS攻击,FM方法流程为首先计算每个端口的可疑分数来定位受攻击端口,之后在交换机上安装一条端口匹配字段为受攻击端口号、动作匹配字段为丢弃的流规则来丢弃来自攻击者的攻击流量。

3.根据权利要求2中所述的LDoS攻击检测与缓解方法,其特征在于,步骤2中基于步骤1采集到的流量序列,利用FGD方法进行攻击检测,包括以下四个步骤:步骤2.1、使用Needleman‑Wunsch算法,对采集到的UDP流量序列与基准比对矩阵进行序列比对,根据比对结果估计出LDoS攻击的周期;

步骤2.2、以步骤2.1得到的攻击周期为时间单位,将采集到的TCP流量序列和UDP流量序列分成若干个检测单元,基于LDoS攻击在攻击特征和攻击效果两个方面的特点,提取出检测单元的八维特征;

步骤2.3、使用递归特征消除算法对步骤2.2提取出来的八维特征进行特征选择;

步骤2.4、将步骤2.3得到的特征输入到高斯过程分类模型中,根据分类结果判别LDoS攻击是否存在。

4.根据权利要求3中所述的LDoS攻击检测与缓解方法,其特征在于,步骤2.1中基准比对矩阵是指根据LDoS攻击的攻击模型创建出来的矩阵,其中每个向量对应的攻击参数是不同的,使用Needleman‑Wunsch算法对采集到的UDP流量序列与基准比对矩阵进行序列比对,拥有最大相似度得分的向量所对应的周期即为LDoS攻击的周期。

5.根据权利要求3中所述的LDoS攻击检测与缓解方法,其特征在于,步骤2.2中根据LDoS攻击在攻击特征和攻击效果两个方面的特点,提取出UDP流量的平均值、方差和变异系数,TCP流量的方差、变异系数、与总流量的Pearson相关系数、小波包能量熵和端口流量差的绝对值这八维特征。

6.根据权利要求3中所述的LDoS攻击检测与缓解方法,其特征在于,步骤2.3中基于步骤2.2获得的八维特征,使用递归特征消除算法进行特征选择,选择出最重要的六维特征,分别为UDP流量的平均值、方差和变异系数,TCP流量的变异系数、与总流量的Pearson相关系数和端口流量差的绝对值。

7.根据权利要求3中所述的LDoS攻击检测与缓解方法,其特征在于,步骤2.4中将步骤

2.3得到的特征输入高斯过程分类模型中进行分类,若分类结果值更靠近无攻击时的标签值0,即分类结果值小于或等于0.5,则LDoS攻击不存在,若更靠近有攻击时的标签值1,即分类结果值大于0.5,则网络中存在LDoS攻击。

8.根据权利要求2中所述的LDoS攻击检测与缓解方法,其特征在于,若步骤2的检测结果为存在LDoS攻击,步骤3中基于步骤1采集到的流量序列,使用FM方法缓解LDoS攻击,包括以下两个步骤:

步骤3.1、分析端口流量序列,根据每个端口的可疑分数来定位受攻击的端口;

步骤3.2、基于步骤3.1中定位到的受攻击端口,在交换机上安装一条流规则,该流规则的端口匹配字段为受攻击端口号、动作匹配字段为丢弃,以此来丢弃来自攻击者的攻击流量。

9.根据权利要求8中所述的LDoS攻击检测与缓解方法,其特征在于,步骤3.1中统计每个端口流量序列中的峰值、零值和中间值,并根据设定的得分规则计算出每个端口的可疑分数,可疑分数越大,该端口受到攻击的可能性越大,因此,可疑分数最大的端口即为受攻击端口。

说明书 :

SDN中基于FGD‑FM的LDoS攻击检测与缓解方法

技术领域

[0001] 本发明属于计算机网络安全领域,具体涉及SDN中基于FGD‑FM的LDoS攻击检测与缓解方法。

背景技术

[0002] 随着互联网的快速发展,互联网面临的安全问题也变得越来越复杂和严重。DoS(Denial of Service,拒绝服务)攻击是最常见的安全威胁之一,它阻止目标服务器向合法
用户提供正常服务,对网络性能损害巨大。
[0003] LDoS(Low‑rate Denial of Service,低速率拒绝服务)攻击是Kuzmanovic和Knightly在2003年的SIGCOMM会议上提出的一种DoS攻击的变种。它利用TCP(Transmission 
Control Protocol,传输控制协议)的拥塞控制机制,周期性地发送短时高速突发,调整攻
击周期反复触发RTO(Retransmission Timeout,超时重传)机制,达到攻击效果。这种攻击
模式有效地限制了TCP流量的传输,同时以足够低的平均速率避免被检测。
[0004] 对于传统网络来说,实际部署在线方法来检测和缓解LDoS攻击是一项艰巨的任务。传统网络将网络设备上的逻辑控制和数据转发功能紧密耦合,降低了设备的灵活性和
可扩展性。具体来说,如果设备需要添加新功能,则必须重新设计新的协议或规则。因此,本
发明使用SDN(Software Defined Network,软件定义网络)来实现LDoS攻击实时检测和缓
解。SDN采用OpenFlow协议解耦逻辑控制功能和数据转发功能,提高了网络的开放性和可编
程性,实现了网络的可扩展性。开发者可以灵活地使用高级语言在上层平面设计应用和修
改网络策略,无需关注底层硬件。
[0005] 针对SDN中LDoS攻击的检测与缓解研究主要存在如下问题:利用SDN检测和缓解传统DoS攻击的研究很多,针对LDoS攻击的很少,而针对传统DoS攻击的方法无法有效地对
LDoS攻击进行检测及缓解。
[0006] 本发明根据SDN中LDoS攻击的检测与缓解研究中主要存在的问题,提出了SDN中基于FGD‑FM的LDoS攻击检测与缓解方法。该方法调用SDN控制平面的API(Application 
Programming Interface,应用程序接口)获取交换机的流量序列,使用FGD(Fine Grained 
Detection,细粒度检测)方法检测LDoS攻击,并基于检测结果使用FM(Fast Mitigation,快
速缓解)方法缓解LDoS攻击。FGD方法将序列比对算法与机器学习相结合,以细粒度的方式
精确检测每一次攻击突发。FM方法分析端口流量序列,通过计算每个端口的可疑分数来定
位受到攻击的端口,并在交换机上安装流规则,丢弃来自攻击者的攻击流量。

发明内容

[0007] 根据SDN中LDoS攻击的检测与缓解研究中主要存在的问题,提出了SDN中基于FGD‑FM的LDoS攻击检测与缓解方法。该方法能够实现细粒度的LDoS攻击检测,有着较高的准确
度、较低的误报率和漏报率、较低的复杂度和较好的实时性。同时,该方法还可以准确地定
位受攻击端口,有效地过滤掉来自受攻击端口的攻击流量,保证良性流量的传输。因此,该
方法能够实时准确地识别并有效地缓解LDoS攻击。
[0008] SDN中基于FGD‑FM的LDoS攻击检测与缓解方法包括以下三个步骤:
[0009] 步骤1、数据采集:固定采样时间和采样间隔,在采样时间内基于采样间隔,周期性地调用SDN控制平面的API,获取交换机的流量序列;
[0010] 步骤2、攻击检测:基于步骤1采集到的流量序列,使用FGD方法检测LDoS攻击,得到检测结果,FGD方法流程为首先使用Needleman‑Wunsch算法估计出LDoS攻击的周期,再提取
出LDoS攻击的八维特征,之后使用递归特征消除算法进行特征选择,最后使用高斯过程分
类模型进行分类;
[0011] 步骤3、攻击缓解:基于步骤2的检测结果和步骤1采集到的流量序列,使用FM方法缓解LDoS攻击,FM方法流程为首先计算每个端口的可疑分数来定位受攻击端口,之后在交
换机上安装一条端口匹配字段为受攻击端口号、动作匹配字段为丢弃的流规则来丢弃来自
攻击者的攻击流量。
[0012] 步骤2包括以下四个步骤:
[0013] 步骤2.1、使用Needleman‑Wunsch算法,对采集到的UDP流量序列与基准比对矩阵进行序列比对,根据比对结果估计出LDoS攻击的周期;
[0014] 步骤2.2、以步骤2.1得到的攻击周期为时间单位,将采集到的TCP流量序列和UDP流量序列分成若干个检测单元,基于LDoS攻击在攻击特征和攻击效果两个方面的特点,提
取出检测单元的八维特征;
[0015] 步骤2.3、使用递归特征消除算法对步骤2.2提取出来的八维特征进行特征选择;
[0016] 步骤2.4、将步骤2.3得到的特征输入到高斯过程分类模型中,根据分类结果判别LDoS攻击是否存在。
[0017] 若步骤2的检测结果为存在LDoS攻击,步骤3中基于步骤1采集到的流量序列,使用FM方法缓解LDoS攻击,包括以下两个步骤:
[0018] 步骤3.1、分析端口流量序列,根据每个端口的可疑分数来定位受攻击的端口;
[0019] 步骤3.2、基于步骤3.1中定位到的受攻击端口,在交换机上安装一条流规则,该流规则的端口匹配字段为受攻击端口号、动作匹配字段为丢弃,以此来丢弃来自攻击者的攻
击流量。
[0020] 有益效果
[0021] 该方法能够实现细粒度的LDoS攻击检测,有着较高的准确度、较低的误报率和漏报率、较低的复杂度和较好的实时性。同时,该方法还可以准确地定位受攻击端口,有效地
过滤掉来自受攻击端口的攻击流量,保证良性流量的传输。因此,该方法能够实时准确地识
别并有效地缓解LDoS攻击。

附图说明

[0022] 图1是良性流量和LDoS攻击下的各特征归一化值的变化。其中,图1(a)表示UDP流量的平均传输速率,图1(b)表示UDP流量的方差,图1(c)表示UDP流量的变异系数,图1(d)表
示TCP流量的变异系数,图1(e)表示TCP流量的与总流量的Pearson相关系数,图1(f)表示端
口流量差的绝对值。
[0023] 图2是良性端口和受攻击端口的可疑分数。其中,图2(a)表示可疑分数的分布,图2(b)表示可疑分数的分布统计。
[0024] 图3是LDoS攻击下的流量传输速率。其中,图3(a)表示网络中没有实现基于FGD‑FM方法的LDoS攻击检测与缓解方法,图3(b)表示网络中实现了基于FGD‑FM方法的LDoS攻击检
测与缓解方法。
[0025] 图4是SDN中基于FGD‑FM的LDoS攻击检测与缓解方法的流程图。

具体实施方式

[0026] SDN中基于FGD‑FM的LDoS攻击检测与缓解方法主要分为以下步骤:数据采集、攻击检测和攻击缓解。
[0027] 1.数据采集。固定采样时间TimeCW和采样间隔Δt,在采样时间内基于采样间隔周期性地调用控制平面的API,获取交换机的流量序列。
[0028] 2.攻击检测。使用FGD方法实现LDoS攻击细粒度检测,步骤如下:
[0029] 步骤2.1:使用Needleman‑Wunsch算法对采集到的UDP(User Datagram Protocol,用户数据报协议)流量序列A=a1,a2,…,an与基准比对矩阵中的每一个基准比对向量B=
b1,b2,…,bm进行序列比对,拥有最大相似度得分的向量所对应的周期即为LDoS攻击的周期
TimeDU。
[0030] (1)定义相似得分S(ai,bj)和惩罚分数wk。S(ai,bj)如下式所示,若两个位点处的值相匹配,则+2分,不匹配则‑2分。wk是连续出现k个空缺时的惩罚分数,它的值随着k值的增
长而线性增长。
[0031]
[0032] (2)构造并填充得分矩阵H。构造一个大小为(n+1)×(m+1)的得分矩阵,使用惩罚分数来初始化矩阵的第一列和第一行。利用如下式的得分规则来填充得分矩阵:
[0033]
[0034] 其中,位点得分Hi,j取三个相关位点得分计算后的值和0之间的最大值,Hi‑1,j‑1+S(ai,bj)是ai和bj匹配时的分数,Hi‑1,j‑wr是在ai‑r后加入r个空缺后的分数,Hi,j‑1‑wf指在bj‑l
后加入f个空缺后的分数,0表示ai和bj之前没有相匹配的子段。
[0035] (3)对基准比对矩阵中的每一个基准比对向量都重复上述步骤(1)和步骤(2),选择出具有最大相似度得分的向量,该向量对应的周期即为LDoS攻击的周期TimeDU。
[0036] 步骤2.2:以步骤2.1中得到的攻击周期TimeDU将采集到的TCP流量序列和UDP流量序列分成若干个检测单元,基于LDoS攻击在攻击特征和攻击效果两个方面的特点,提取出
检测单元的八维特征。
[0037] (1)攻击特征。在没有攻击的情况下,UDP的传输速率较低,当LDoS攻击开始,UDP传输速率就会周期性地达到峰值,波动和平均传输速率明显增加。因此,本发明选择UDP流量
的平均值、方差和变异系数作为攻击特征方面的特征值。
[0038] (2)攻击效果。在没有攻击的情况下,TCP的传输速率较高且波动平稳,端口流入流出流量相对平衡。当LDoS攻击开始,UDP传输速率就会周期性地达到峰值,导致合法的TCP流
量剧烈波动,传输速率显著下降,端口流入流出流量失衡。因此,本发明选择TCP流量的方
差、变异系数、与总流量的Pearson相关系数、小波包能量熵和端口流量差的绝对值作为攻
击效果方面的特征值。其中,TCP流量与总流量的Pearson相关系数P、小波包能量熵H和端口
流量差的绝对值ΔPacks分别如下式所示:
[0039]
[0040]
[0041] ΔPacks=|Packsin‑Packsout|
[0042] 其中,cov(Ttcp,Ttotal)是TCP流量Ttcp和总流量Ttotal的协方差,D是方差,E(i)是尺度K下的小波包能量,E是总能量,并且 Di(t)是小波包的系数,
Packsin表示流入交换机所有端口的总数据包个数,Packsout表示流出交换机所有端口的总
数据包个数。
[0043] 步骤2.3:基于步骤2.2获得的八维特征,使用进行RFE(Recursive Feature Elimination,递归特征消除)算法进行特征选择,选择出最重要的六维特征,分别为UDP流
量的平均值、方差和变异系数,TCP流量的变异系数、与总流量的Pearson相关系数和端口流
量差的绝对值。
[0044] 步骤2.4:将步骤2.3中得到的特征输入到GP(Gaussian Process,高斯过程)分类模型中进行分类,若分类结果值更靠近无攻击时的标签值0,即分类结果值小于或等于0.5,
则LDoS攻击不存在,若更靠近有攻击时的标签值1,即分类结果值大于0.5,则网络中存在
LDoS攻击。
[0045] 3.攻击缓解。使用FM方法实现LDoS攻击缓解,步骤如下:
[0046] 步骤3.1:分析端口流量序列,计算每个端口的可疑分数。可疑分数最大的端口即为受攻击端口。
[0047] (1)统计每个端口流量序列的峰值、零值和中间值的个数。根据LDoS攻击原理,攻击流量具有周期性的高速脉冲波形,在每个周期中只有一个突发,并在剩余时间内保持沉
默,而良性流量没有这些特征。因此,本发明可以根据该特征来区分受攻击端口和良性端
口,首先要统计端口流量序列的峰值、零值和中间值的数量。
[0048] (2)计算每个端口的可疑分数。如果该端口为受攻击端口,那么端口流量序列中的峰值数应为 即n个突发,而剩余的所有采样数据都应该为零值。根据这个属性,
本发明定义了一个变量可疑分数SS来定量描述该端口为受攻击端口的可能性,其计算如下
式所示:
[0049] SS=SSh+SSmid+SSz
[0050] 其中,SSh、SSmid和SSz分别是峰值、中间值和零值的统计可疑分数,计算如下式所示:
[0051]
[0052] SSmid=‑mid×(mid+1),mid>0
[0053]
[0054] SSh是线性分数的累积值,当峰值数h≤n时,SSh的值为2+4+...+2×h,每增加一个峰值,SSh的增加值就线性增加,这是因为当峰值数小于或等于理论突发数时,端口被攻击
的概率随着峰值数的增加而成倍增加。当峰值数h>n,SSh的值为n×(n+1)‑2‑4‑...‑2×
(h‑n),即当峰值数大于理论值时,端口是受攻击端口的概率随着峰值数的增加而成倍减
小。零值的可疑分数SSz的计算与SSh同理。根据LDoS攻击理论,不存在零值和峰值之间的中
间值,因此,SSmid的减少值随着中间值mid数量的增加线性增加,即SSmid=‑2‑4‑...‑2×
mid。
[0055] (3)定位受攻击端口。端口的可疑分数越大,该端口受到攻击的可能性越大。比较所有端口的可疑分数,可疑分数最大的端口即为受攻击端口。
[0056] 步骤3.2:在交换机上安装一条流规则,该流规则的端口匹配字段in_port的值设置为步骤3.1定位到的受攻击端口号,动作匹配字段action的值设置为drop,以此来丢弃来
自攻击者的攻击流量。
[0057] 下面结合附图对本发明进一步说明。
[0058] 图4是SDN中基于FGD‑FM的LDoS攻击检测与缓解方法的流程图,该图表示SDN中基于FGD‑FM方法的LDoS攻击检测与缓解方法主要包括以下步骤:数据采集、攻击检测和攻击
缓解。
[0059] 图1是良性流量和LDoS攻击流量的各特征归一化值的变化。良性流量与LDoS攻击流量的六维特征存在明显差异,表明所选特征能够有效区分攻击流量和良性流量。
[0060] 图2是良性端口和受攻击端口的可疑分数。良性端口的可疑分数在‑72~‑6之间,其中97.5%是‑72,而受攻击端口流量的可疑分数分布在较高的范围0~48,表明受攻击端
口的可疑分数大于良性端口的可疑分数。
[0061] 图3是LDoS攻击下的流量传输速率。其中,图3(a)表示网络中没有实现基于FGD‑FM方法的LDoS攻击检测与缓解方法的情况下,网络中良性TCP流量受到LDoS攻击流量的严重
影响,传输速率不断降低,在36秒后处于极低水平,同时,攻击流量由于不受限制,持续出现
峰值。图3(b)表示网络中实现了基于FGD‑FM方法的LDoS攻击检测与缓解方法的情况下,
LDoS攻击持续4秒左右时,就会被检测到并且过滤掉,良性TCP流量很快恢复到正常水平。