一种SDN网络下DDoS攻击流量识别检测方法技术

技术编号:31834924 阅读:20 留言:0更新日期:2022-01-12 13:12
本发明专利技术公开了一种SDN网络下DDoS攻击流量识别检测方法,包括步骤如下:S1:对流表信息进行收集;S2:根据流表信息计算得出具有DDoS攻击特性的流量特征值,并将流量特征值转换为特征向量数据;S3:利用特征向量数据构建随机森林模型,采用构建好的随机森林模型对识别DDoS攻击作用不大的流量特征进行筛选,并得到最优特征子集;S4:将最优特征子集转化为特征向量F

【技术实现步骤摘要】
一种SDN网络下DDoS攻击流量识别检测方法


[0001]本专利技术涉及计算机网络安全
,更具体的,涉及一种SDN网络下DDoS攻击流量识别检测方法。

技术介绍

[0002]SDN网络作为一种未来网络架构,它实现了控制平面与转发平面的分离,使用者可以根据业务的需求通过控制器动态的调整自己的转发策略,灵活性很高。但是也正因为SDN网络架构的这一特点导致控制器成为了整个网络的中心,很容易受到各种各样的网络攻击。
[0003]DDoS攻击是控制器安全的主要威胁之一,当DDoS攻击发生时,攻击者控制网络中的僵尸主机,向网络中发送大量无效的网络数据包,那么当运行OpenFlow协议的交换机收到后发现流表当中没有匹配的流项目,就会将这些数据包发送给控制器进行进一步的处理,一旦数据量达到了一定的规模,就会使得控制器的资源被消耗殆尽,从而无法为网络提供正常的服务。
[0004]近年来,针对SDN网络的DDoS攻击流量识别的检测方法主要分为基于统计学习和基于机器学习两类。
[0005]其中,基于统计学习的异常流量识别方法利用信息熵体现数据流量的随机性,基于熵的方法具有相对较低的计算量和较少的限制。然而,当特征值连续时,可能会丢失有关特征分布的相关信息,这将导致基于熵的方法在某些情况下容易出错,而且基于统计方法的异常流量识别无法应对0day漏洞攻击和一些较新颖的攻击。
[0006]基于机器学习的异常流量识别方法,虽然得到了广泛的应用并取得了很大的成功,但是这类方法通常比较依赖于训练数据集和特征的选择,且存在训练时间长、特征提取不够全面、检测率不够高等问题。如中国专利公开号:CN112261021A,公开日:2021.01.22,公开了一种软件定义物联网下DDoS攻击检测方法,包括:通过软件定义物联网的控制器周期性的收集软件定义物联网交换机中的数据包头信息;根据五元组对数据包头信息进行数据预处理分成不同的网络流;利用CNN算法对预处理后的数据进行检测,根据检测结果识别网络中的DDoS攻击。
[0007]因此在面对SDN网络中复杂多变的网络流量时,如何更全面、更准确地提取出DDoS攻击流量的特征并利用这些特征更快速地识别出DDoS攻击流量具有挑战性。
[0008]综上所述,如何在面对动态的SDN网络流量时,设计出一种更加有效的识别出DDoS攻击流量的方法成为亟需解决的问题。

技术实现思路

[0009]本专利技术为了解决以上现有技术存在不足的问题,提供了一种SDN网络下DDoS攻击流量识别检测方法。
[0010]为实现上述本专利技术目的,采用的技术方案如下:
[0011]一种SDN网络下DDoS攻击流量识别检测方法,所述的方法包括步骤如下:
[0012]S1:对流表信息进行收集;
[0013]S2:根据流表信息计算得出具有DDoS攻击特性的流量特征值,并将流量特征值转换为特征向量数据;
[0014]S3:利用特征向量数据构建随机森林模型,采用构建好的随机森林模型对识别DDoS攻击作用不大的流量特征进行筛选,并得到最优特征子集;
[0015]S4:将最优特征子集转化为特征向量F
new
,通过度量特征向量F
new
和特征模式图中各节点的马氏距离,若有与特征向量F
new
最近马氏距离的节点,该节点所对应的特征模式就是特征向量F
new
的类别,若为良性分类则为正常流量;否则为DDoS攻击流量。
[0016]优选地,步骤S1,对流表信息的收集具体如下:通过OpenFlow协议来对流表信息进行收集;当发生异常警报后,若使用OpenFlow协议的交换机上送给控制器的数据包超过阈值,则控制器向OpenFlow交换机发送ofp

flow

stats

request报文进行采集流表信息。
[0017]优选地,步骤S2,所述的流量特征值包括流包数平均值、字节数均值、端口增速、源ip地址增速、流表生存时间变化、对流比。
[0018]进一步地,步骤S2,根据流表信息计算得出具有DDoS攻击特性的流量特征值,具体如下:
[0019]计算所述的流包数平均值如下:
[0020]定义采集周期T内的流包数平均值公式为:
[0021][0022]其中,P
j
是第j条表项所含的数据包数量,n是采用周期T内的流总数;
[0023]计算所述的端口增速如下:定义端口增速为:
[0024]P
T
=K
T
/T
[0025]其中,K
T
为采集周期T内端口号的数量,T为采集周期;
[0026]计算所述的源IP地址增速如下:定义源IP地址增速为:
[0027]S
T
=I
T
/T
[0028]其中,I
T
为采集周期T内的源IP地址数量,T为采集周期;
[0029]计算所述的流表生存时间变化如下:定义流表生存时间变化为:
[0030][0031]其中,T
dur
为采集周期T内每条流表项的生存时间,S
flow
为周期T内流表项总数;
[0032]计算所述的对流比如下:定义对流比为:
[0033]C=2m/n
[0034]其中,m为对流的数量,n是网络中的流总数;
[0035]计算所述的字节数均值:定义采集周期T内的字节数均值为:
[0036][0037]其中,M
j
是第j条流表项所含的数据包字节数,n是采集周期T内的流总数。
[0038]再进一步地,步骤S3,利用特征向量数据去训练决策树,不断重复多次训练决策树,实现构建随机森林模型,具体步骤包括如下:
[0039]S301:随机选取s个特征向量作为训练集训练决策树,每次选取特征向量完毕后均放回训练样本集;
[0040]S302:随机选择m个所提取的特征向量,利用信息增益策略选择信息增益最大的特征向量作为决策树节点的分割属性;
[0041]S303:分割决策树中的每个节点,直到决策树不能再被分割为止;
[0042]S304:根据步骤S301到步骤S303迭代n次完成构建ID3决策树;
[0043]S305:利用所构建的ID3决策树对特征向量测试集x
i
进行投票计数,获得最高选票的类别即为x
i
的分类标签;
[0044]S306:随机森林模型使用ID3决策树作为特征权重算法,结合随机森林模型对提取到的特征向量进行筛选,获取每个特征向量的权重,计算得到最优特征子集。
[0045]再进一步地,步骤S302中,所述的信息增益策略,具体如下:
[0046]信息增益:定义为信息熵与条件熵之间的差:
[0047]G(X,Y)=本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SDN网络下DDoS攻击流量识别检测方法,其特征在于:所述的方法包括步骤如下:S1:对流表信息进行收集;S2:根据流表信息计算得出具有DDoS攻击特性的流量特征值,并将流量特征值转换为特征向量数据;S3:利用特征向量数据构建随机森林模型,采用构建好的随机森林模型对识别DDoS攻击作用不大的流量特征进行筛选,并得到最优特征子集;S4:将最优特征子集转化为特征向量F
new
,通过度量学习特征向量F
new
和特征模式图中各节点的马氏距离,若有与特征向量F
new
最近马氏距离的节点,该节点所对应的特征模式就是特征向量F
new
的类别,若为良性分类则为正常流量;否则为DDoS攻击流量。2.根据权利要求1所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:步骤S1,对流表信息的收集具体如下:通过OpenFlow协议来对流表信息进行收集;当发生异常警报后,若使用OpenFlow协议的交换机上送给控制器的数据包超过阈值,则控制器向OpenFlow交换机发送ofp

flow

stats

request报文进行采集流表信息。3.根据权利要求1所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:步骤S2,所述的流量特征值包括流包数平均值、字节数均值、端口增速、源ip地址增速、流表生存时间变化、对流比。4.根据权利要求3所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:步骤S2,根据流表信息计算得出具有DDoS攻击特性的流量特征值,具体如下:计算所述的流包数平均值如下:定义采集周期T内的流包数平均值公式为:其中,P
j
是第j条表项所含的数据包数量,n是采用周期T内的流总数;计算所述的端口增速如下:定义端口增速为:P
T
=K
T
/T其中,K
T
为采集周期T内端口号的数量,T为采集周期;计算所述的源IP地址增速如下:定义源IP地址增速为:S
T
=I
T
/T其中,I
T
为采集周期T内的源IP地址数量,T为采集周期;计算所述的流表生存时间变化如下:定义流表生存时间变化为:其中,T
dur
为采集周期T内每条流表项的生存时间,S
flow
为周期T内流表项总数;计算所述的对流比如下:定义对流比为:C=2m/n
其中,m为对流的数量,n是网络中的流总数;计算所述的字节数均值:定义采集周期T内的字节数均值为:其中,M
j
是第j条流表项所含的数据包字节数,n是采集周期T内的流总数。5.根据权利要求4所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:步骤S3,利用特征向量数据去训练决策树,不断重复多次训练决策树,实现构建随机森林模型,具体步骤包括如下:S301:随机选取s个特征向量作为训练集训练决策树,每次选取特征向量完毕后均放回训练样本集;S302:随机选择m个所提取的特征向量,利用信息增益策略选择信息增益最大的特征向量作为决策树节点的分割属性;S303:分割决策树中的每个节点,直到决策树不能再被分割为止;S304:根据步骤S301到步骤S303迭代n次完成构建ID3决策树;S305:利用所构建的ID3决策树对特征向量测试集x
i
进行投票计数,获得最高选票的类别即为x
i
的分类标签;S306:随机森林模型使用ID3决策树作为特征权重算法,结合随机森林模型对提取到的特征向量进行筛选,获取每个特征向量的权重,计算得到最优特征子集。6.根据权利要求5所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:步骤S302中,所述的信息增益策略,具体如下:信息增益:定义为信息熵与条件熵之间的差:G(X,Y)=H(X)

H(X|Y
j
)式中,H(X)表示信息熵;H(X|Y
j
)表示条件熵;信息增益越大代表此特征越重要,重复n次计算得到每个特征的信息增益;其中信息熵的计算公式为式中,随机变量X代表所提取到的特征向量的样本集合,p(xi)代表X中任意数据流量x
i
的出现概率;假设所提取的所有特征向量中的某一项特征Y
j
对特征向量的样本集合X进行分类,则条件熵定义如下:式中,|X|表示样本容量,|X
t
|表示根据不同特征划分的第...

【专利技术属性】
技术研发人员:凌捷周红伟罗玉陈家辉
申请(专利权)人:广东工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1