CN113923041A - 一种SDN网络下DDoS攻击流量识别检测方法 - Google Patents

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

Info

Publication number
CN113923041A
CN113923041A CN202111230036.5A CN202111230036A CN113923041A CN 113923041 A CN113923041 A CN 113923041A CN 202111230036 A CN202111230036 A CN 202111230036A CN 113923041 A CN113923041 A CN 113923041A
Authority
CN
China
Prior art keywords
feature
characteristic
flow
ddos attack
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111230036.5A
Other languages
English (en)
Inventor
凌捷
周红伟
罗玉
陈家辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202111230036.5A priority Critical patent/CN113923041A/zh
Publication of CN113923041A publication Critical patent/CN113923041A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种SDN网络下DDoS攻击流量识别检测方法,包括步骤如下:S1:对流表信息进行收集;S2:根据流表信息计算得出具有DDoS攻击特性的流量特征值,并将流量特征值转换为特征向量数据;S3:利用特征向量数据构建随机森林模型,采用构建好的随机森林模型对识别DDoS攻击作用不大的流量特征进行筛选,并得到最优特征子集;S4:将最优特征子集转化为特征向量Fnew,通过度量特征向量Fnew和特征模式图中各节点的马氏距离,若有与特征向量Fnew最近马氏距离的节点,该节点所对应的特征模式就是特征向量Fnew的类别,若为良性分类则为正常流量;否则为DDoS攻击流量。

Description

一种SDN网络下DDoS攻击流量识别检测方法
技术领域
本发明涉及计算机网络安全技术领域,更具体的,涉及一种SDN网络下DDoS攻击流量识别检测方法。
背景技术
SDN网络作为一种未来网络架构,它实现了控制平面与转发平面的分离,使用者可以根据业务的需求通过控制器动态的调整自己的转发策略,灵活性很高。但是也正因为SDN网络架构的这一特点导致控制器成为了整个网络的中心,很容易受到各种各样的网络攻击。
DDoS攻击是控制器安全的主要威胁之一,当DDoS攻击发生时,攻击者控制网络中的僵尸主机,向网络中发送大量无效的网络数据包,那么当运行OpenFlow协议的交换机收到后发现流表当中没有匹配的流项目,就会将这些数据包发送给控制器进行进一步的处理,一旦数据量达到了一定的规模,就会使得控制器的资源被消耗殆尽,从而无法为网络提供正常的服务。
近年来,针对SDN网络的DDoS攻击流量识别的检测方法主要分为基于统计学习和基于机器学习两类。
其中,基于统计学习的异常流量识别方法利用信息熵体现数据流量的随机性,基于熵的方法具有相对较低的计算量和较少的限制。然而,当特征值连续时,可能会丢失有关特征分布的相关信息,这将导致基于熵的方法在某些情况下容易出错,而且基于统计方法的异常流量识别无法应对0day漏洞攻击和一些较新颖的攻击。
基于机器学习的异常流量识别方法,虽然得到了广泛的应用并取得了很大的成功,但是这类方法通常比较依赖于训练数据集和特征的选择,且存在训练时间长、特征提取不够全面、检测率不够高等问题。如中国专利公开号:CN112261021A,公开日:2021.01.22,公开了一种软件定义物联网下DDoS攻击检测方法,包括:通过软件定义物联网的控制器周期性的收集软件定义物联网交换机中的数据包头信息;根据五元组对数据包头信息进行数据预处理分成不同的网络流;利用CNN算法对预处理后的数据进行检测,根据检测结果识别网络中的DDoS攻击。
因此在面对SDN网络中复杂多变的网络流量时,如何更全面、更准确地提取出DDoS攻击流量的特征并利用这些特征更快速地识别出DDoS攻击流量具有挑战性。
综上所述,如何在面对动态的SDN网络流量时,设计出一种更加有效的识别出DDoS攻击流量的方法成为亟需解决的问题。
发明内容
本发明为了解决以上现有技术存在不足的问题,提供了一种SDN网络下DDoS攻击流量识别检测方法。
为实现上述本发明目的,采用的技术方案如下:
一种SDN网络下DDoS攻击流量识别检测方法,所述的方法包括步骤如下:
S1:对流表信息进行收集;
S2:根据流表信息计算得出具有DDoS攻击特性的流量特征值,并将流量特征值转换为特征向量数据;
S3:利用特征向量数据构建随机森林模型,采用构建好的随机森林模型对识别DDoS攻击作用不大的流量特征进行筛选,并得到最优特征子集;
S4:将最优特征子集转化为特征向量Fnew,通过度量特征向量Fnew和特征模式图中各节点的马氏距离,若有与特征向量Fnew最近马氏距离的节点,该节点所对应的特征模式就是特征向量Fnew的类别,若为良性分类则为正常流量;否则为DDoS攻击流量。
优选地,步骤S1,对流表信息的收集具体如下:通过OpenFlow协议来对流表信息进行收集;当发生异常警报后,若使用OpenFlow协议的交换机上送给控制器的数据包超过阈值,则控制器向OpenFlow交换机发送ofp-flow-stats-request报文进行采集流表信息。
优选地,步骤S2,所述的流量特征值包括流包数平均值、字节数均值、端口增速、源ip地址增速、流表生存时间变化、对流比。
进一步地,步骤S2,根据流表信息计算得出具有DDoS攻击特性的流量特征值,具体如下:
计算所述的流包数平均值如下:
定义采集周期T内的流包数平均值公式为:
Figure BDA0003313459900000031
其中,Pj是第j条表项所含的数据包数量,n是采用周期T内的流总数;
计算所述的端口增速如下:定义端口增速为:
PT=KT/T
其中,KT为采集周期T内端口号的数量,T为采集周期;
计算所述的源IP地址增速如下:定义源IP地址增速为:
ST=IT/T
其中,IT为采集周期T内的源IP地址数量,T为采集周期;
计算所述的流表生存时间变化如下:定义流表生存时间变化为:
Figure BDA0003313459900000032
其中,Tdur为采集周期T内每条流表项的生存时间,Sflow为周期T内流表项总数;
计算所述的对流比如下:定义对流比为:
C=2m/n
其中,m为对流的数量,n是网络中的流总数;
计算所述的字节数均值:定义采集周期T内的字节数均值为:
Figure BDA0003313459900000033
其中,Mj是第j条流表项所含的数据包字节数,n是采集周期T内的流总数。
再进一步地,步骤S3,利用特征向量数据去训练决策树,不断重复多次训练决策树,实现构建随机森林模型,具体步骤包括如下:
S301:随机选取s个特征向量作为训练集训练决策树,每次选取特征向量完毕后均放回训练样本集;
S302:随机选择m个所提取的特征向量,利用信息增益策略选择信息增益最大的特征向量作为决策树节点的分割属性;
S303:分割决策树中的每个节点,直到决策树不能再被分割为止;
S304:根据步骤S301到步骤S303迭代n次完成构建ID3决策树;
S305:利用所构建的ID3决策树对特征向量测试集xi进行投票计数,获得最高选票的类别即为xi的分类标签;
S306:随机森林模型使用ID3决策树作为特征权重算法,结合随机森林模型对提取到的特征向量进行筛选,获取每个特征向量的权重,计算得到最优特征子集。
再进一步地,步骤S302中,所述的信息增益策略,具体如下:
信息增益:定义为信息熵与条件熵之间的差:
G(X,Y)=H(X)-H(X|Yj)
式中,H(X)表示信息熵;H(X|Yj)表示条件熵;
信息增益越大代表此特征越重要,重复n次计算得到每个特征的信息增益;
其中信息熵的计算公式为
Figure BDA0003313459900000041
式中,随机变量X代表所提取到的特征向量的样本集合,p(xi)代表X中任意数据流量xi的出现概率;
假设所提取的所有特征中的某一项特征Yj对特征向量的样本集合X进行分类,则条件熵定义如下:
Figure BDA0003313459900000042
式中,|X|表示样本容量,|Xi|表示根据不同特征划分的第i个子集样本个数,设有K个类Ck,k=1,2,...,K,记子集Xi中属于类Ck的样本的集合为Xik,|Xik|为Xik的样本个数;条件熵越小则表示用此特征分类的纯度越高。
再进一步地,步骤S306,结合随机森林模型对提取到的特征向量进行筛选,包括:
首先,通过随机森林模型计算得到所提取的n维特征向量的权重值
Figure BDA0003313459900000043
其中
Figure BDA0003313459900000044
代表第i个特征向量的权重值,通过多次重复计算给权重
Figure BDA0003313459900000045
设定一个阈值θ;
接着,筛选掉所有
Figure BDA0003313459900000046
的特征向量,并将
Figure BDA0003313459900000047
的特征向量按照权重的大小由高到低进行排序;取前6个特征向量组成最优特征子集;若筛选过后不足六个特征,则不进行筛选,按权重高低取前6个特征向量。
再进一步地,所述的特征模式图的具体定义:SDN中的DDoS特征模式图表示为FPG={V,E,F},其中V={V1,V2,...,Vn}是节点集,每个节点Vi代表一个特征模式,n是特征模式的总数;每个节点由特征向量指定,表示为F={F1,F2,...,Fn};Fi是维度为l×k的节点Vi的特征矩阵,i=1,2,...,n,l是模式为Vi的样本数,k是不同特征的个数;E为链路集合,其中Eij为节点Vi和Vj之间的链路权重。
再进一步地,在初次生成特征模式图时,使用DDoS攻击流量样本训练特征模式图,根据得到的6个特征向量组成的最优特征子集,将其转化为六维特征向量;并在特征模式图中生成第一个节点,并将六维特征向量插入到节点的特征矩阵中,从第二个节点开始以局部更新或者全局更新的方式插入到特征模式图中;
使用以下公式计算距离矩阵M,通过计算每对节点即每对六维特征向量之间的马氏距离,生成一个加权图:
Figure BDA0003313459900000051
其中,xi和xj是两个特征样本;M是对称半正定d×d矩阵,它是半正定的,分解为PTP;M称为度量矩阵,度量学习就是学习矩阵M来提高DDoS攻击邻居分类;
对于每个DDoS训练样本xi,其他样本成为xi的邻居的概率通过以下公式计算:
Figure BDA0003313459900000052
xi和xj之间的距离越长,xi成为xj邻居的概率就越低;xi被其他样本正确分类的概率:
Figure BDA0003313459900000053
其中,θi是与xi具有相同特征模式的所有样本的集合;
所有样本的准确度由以下公式计算:
Figure BDA0003313459900000054
为了获得矩阵M,将优化目标表示为:
Figure BDA0003313459900000061
然后使用随机梯度下降法获得矩阵M;
在学习度量矩阵M之后,通过
Figure BDA0003313459900000062
计算两个攻击模式的相似度;其中xi和xj分别是两个攻击模式Vi和Vj的k维特征向量,分别表示为F′i和F′j
攻击模式Vi的k维基于特征的向量可以表示为:
Figure BDA0003313459900000063
其中,第k个元素
Figure BDA0003313459900000064
是被分类为模式Vi的所有样本上的第k个特征的香农熵,即特征矩阵Fi的第k个列。
再进一步地,所述的特征模式图包括节点、加权链接和每个节点的特征矩阵;将新传入的l×k特征向量,记
Figure BDA0003313459900000065
首先,通过计算每个特征向量的熵,将特征模式图中各个节点对应的l×k特征矩阵转化为l×k向量Fi;然后通过计算Fnew与Fi之间的马氏距离,求出最短距离;若存在有与Fnew最短距离的Fi,则Fi所对应的特征模式就是Fnew的特征模式。
本发明的有益效果如下:
1.拓展性强,该发明可实现动态更新,并可扩展到其他攻击场景。
2.准确率高,提取数据流的特征后使用随机森林算法进行特征优化,得到最优特征子集再生成特征向量构建特征模式图,可以提高攻击检测的准确率。
3.实用性强,特征模式图可以正确地表示节点之间的关系,该方法既利用了基于流量头部的特征,又利用了网络模式的关系上下文,可扩展到不在预定义图中的未知攻击的更新,较符合真实的网络环境。
附图说明
图1是SDN网络拓扑图。
图2是本实施例所述的识别检测方法的整体架构图。
图3是随机森林算法流程图。
图4是特征模式图的示意图。
图5是利用特征模式图进行攻击检测的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做详细描述。
实施例1
下面介绍本发明的一个具体实施场景,SDN控制器选择Ryu控制器,控制器与交换机之间的南向协议是OpenFlow协议,交换机sw1连接的Net1网络包含25台主机,交换机sw2连接的Net2网络包含10台主机。Net1是报文发送网络,Net2是受攻击网络,Net1可以向Net2发送DDoS攻击流量或者是正常报文。使用DDoS攻击工具hping3从Net1网络向Net2网络某一特定主机发送TCP SYN Flood,UDP Flood,ICMP Flood攻击包。网络拓扑图见附图1。
本发明提供了一种SDN网络下DDoS攻击流量识别检测方法,所述的方法包括步骤如下:
S1:对流表信息进行收集;
通过OpenFlow协议来对流表信息进行收集,具体如下:运行OpenFlow协议的sw1和sw2交换机对那些无法匹配流表项的数据包将会通过安全通道传递给Ryu控制器,当使用OpenFlow协议的交换机上送给控制器的数据包超过阈值,并发生了异常警报后,Ryu控制器通过设置会向使用OpenFlow协议的交换机发送ofp-flow-stats-request报文来采集流表信息,然后上交给应用平面进行特征提取。
S2:应用平面收到以后,将流表信息交由特征提取模块处理;所述的特征提取模块根据流表信息计算得出具有DDoS攻击特性的流量特征值,并将流量特征值转换为特征向量数据;
根据DDoS的攻击流量特性,计算得出的流量特征值,包括但是不限于:流包数均值、字节数均值、端口增速、源ip地址增速、流表生存时间变化、对流比、源端口之间的差值、半连接个数等,这些特征有一部分可通过相关计算得出。其中流包数平均值、字节数均值、端口增速、源ip地址增速、流表生存时间变化、对流比这六个特征是特征提取模块所必须提取的六个特征,这六个特征可通过以下式子计算。
由于DDoS下,攻击主机短时间内会生成大量隐蔽真实地址的虚假源ip地址流包,导致攻击流的生成速度显著提高,每条流所含的平均数据包数量增加;因此计算所述的流包数平均值如下:
定义采集周期T内的流包数平均值公式为:
Figure BDA0003313459900000081
其中,Pj是第j条表项所含的数据包数量,n是采用周期T内的流总数;
计算所述的端口增速如下:网络正常状态下,端口变化量比较稳定,而在DDoS攻击情况下恶意主机会随机生成端口号隐蔽真实端口号,导致端口增速产生明显变化。因此定义端口增速为:
PT=KT/T
其中,KT为采集周期T内端口号的数量,T为采集周期;
计算所述的源IP地址增速如下:恶意主机通过生成大量虚假ip地址数据流对目标主机发起DDoS攻击,这会导致源ip地址增速明显提升。因此定义源IP地址增速为:
ST=IT/T
其中,IT为采集周期T内的源IP地址数量,T为采集周期;
计算所述的流表生存时间变化如下:DDoS攻击通过发送大量攻击数据包使交换机中相应的流表项不断被激活,导致流表生存时间变长。因此定义流表生存时间变化为:
Figure BDA0003313459900000082
其中,Tdur为采集周期T内每条流表项的生存时间,Sflow为周期T内流表项总数;
计算所述的对流比如下:DDoS攻击发生时,由于攻击方伪装源ip地址导致交互性的对流数减少。定义对流比为:
C=2m/n
其中,m为对流的数量,n是网络中的流总数;
计算所述的字节数均值:在DDoS攻击下发送大量的数据包代表其短时间内数据包字节数同样剧增,从而平均每条流表所含的数据包字节数增加,那么可以定义采集周期T内的字节数均值为:
Figure BDA0003313459900000083
其中,Mj是第j条流表项所含的数据包字节数,n是采集周期T内的流总数。
S3:利用特征向量数据构建随机森林模型,采用构建好的随机森林模型对识别DDoS攻击作用不大的流量特征进行筛选,并得到最优特征子集;
在一个具体的实施例中,步骤S3,利用特征向量数据去训练决策树,不断重复多次训练决策树,实现构建随机森林模型,如图3所示,具体步骤包括如下:
S301:随机选取s个特征向量作为训练集训练决策树,每次选取特征向量完毕后均放回训练样本集;
S302:随机选择m个所提取的特征向量,利用信息增益策略选择信息增益最大的特征向量作为决策树节点的分割属性;
S303:分割决策树中的每个节点,直到决策树不能再被分割为止;
S304:根据步骤S301到步骤S303迭代n次完成构建ID3决策树;
S305:利用所构建的ID3决策树对特征向量测试集xi进行投票计数,获得最高选票的类别即为xi的分类标签;
S306:随机森林模型使用ID3决策树作为特征权重算法,结合随机森林模型对提取到的特征向量进行筛选,获取每个特征向量的权重,计算得到最优特征子集。
在一个具体的实施例中,步骤S302中,所述的信息增益策略,具体如下:
信息增益:定义为信息熵与条件熵之间的差:
G(X,Y)=H(X)-H(X|Yj)
式中,H(X)表示信息熵;H(X|Yj)表示条件熵;
信息增益越大代表此特征越重要,重复n次计算得到每个特征的信息增益;
其中信息熵的计算公式为
Figure BDA0003313459900000091
式中,随机变量X代表所提取到的特征向量的样本集合,p(xi)代表X中任意数据流量xi的出现概率;
假设所提取的所有特征中的某一项特征Yj对特征向量的样本集合X进行分类,则条件熵定义如下:
Figure BDA0003313459900000092
式中,|X|表示样本容量,|Xi|表示根据不同特征划分的第i个子集样本个数,设有K个类Ck,k=1,2,...,K,记子集Xi中属于类Ck的样本的集合为Xik,|Xik|为Xik的样本个数;条件熵越小则表示用此特征分类的纯度越高。
在一个具体的实施例中,步骤S306,结合随机森林模型对提取到的特征向量进行筛选,包括:
首先,通过随机森林模型计算得到所提取的n维特征向量的权重值
Figure BDA0003313459900000101
其中
Figure BDA0003313459900000102
代表第i个特征向量的权重值,通过多次重复计算给权重
Figure BDA0003313459900000103
设定一个阈值θ;
接着,筛选掉所有
Figure BDA0003313459900000104
的特征向量,并术
Figure BDA0003313459900000105
的特征向量按照权重的大小由高到低进行排序;取前6个特征向量组成最优特征子集;若筛选过后不足六个特征,则不进行筛选,按权重高低取前6个特征向量。
本实施例通过筛选掉无用特征,通过样本空间量的减小实现检测性能的提升,提高攻击检测率。
S4:将最优特征子集转化为特征向量Fnew,通过度量特征向量Fnew和特征模式图中各节点的马氏距离,若有与特征向量Fnew最近马氏距离的节点,该节点所对应的特征模式就是特征向量Fnew的类别,若为良性分类则为正常流量;否则为DDoS攻击流量。
在一个具体的实施例中,所述的特征模式图的具体定义:SDN中的DDoS特征模式图表示为FPG={V,E,F},其中V={V1,V2,...,Vn}是节点集,每个节点Vi代表一个特征模式,n是特征模式的总数;每个节点由特征向量指定,表示为F={F1,F2,...,Fn};Fi是维度为l×k的节点Vi的特征矩阵,i=1,2,...,n,l是模式为Vi的样本数,k是不同特征的个数;E为链路集合,其中Eij为节点Vi和Vj之间的链路权重。特征模式图示意图见附图4。攻击检测的流程图见附图5。
在一个具体的实施例中,在初次生成特征模式图时,使用DDoS攻击流量样本训练特征模式图,根据得到的6个特征向量组成的最优特征子集,将其转化为六维特征向量;并在特征模式图中生成第一个节点,并将六维特征向量插入到节点的特征矩阵中,从第二个节点开始以局部更新或者全局更新的方式插入到特征模式图中;
使用以下公式计算距离矩阵M,通过计算每对节点即每对六维特征向量之间的马氏距离,生成一个加权图:
Figure BDA0003313459900000111
其中,xi和xj是两个特征样本;M是对称半正定d×d矩阵,它是半正定的,分解为PTP;M称为度量矩阵,度量学习就是学习矩阵M来提高DDoS攻击邻居分类;
对于每个DDoS训练样本xi,其他样本成为xi的邻居的概率通过以下公式计算:
Figure BDA0003313459900000112
xi和xj之间的距离越长,xi成为xj邻居的概率就越低;xi被其他样本正确分类的概率:
Figure BDA0003313459900000113
其中,θi是与xi具有相同特征模式的所有样本的集合;
所有样本的准确度由以下公式计算:
Figure BDA0003313459900000114
为了获得矩阵M,将优化目标表示为:
Figure BDA0003313459900000115
然后使用随机梯度下降法获得矩阵M;
在学习度量矩阵M之后,通过
Figure BDA0003313459900000116
计算两个攻击模式的相似度;其中xi和xj分别是两个攻击模式Vi和Vj的k维特征向量,分别表示为F′i和F′j;计算F′i和F′j的方法如下。以F′i为例,对于攻击模式Vi,特征矩阵F′i可以表示为
Figure BDA0003313459900000117
其中,每行表示一个样本,每列是一个特定特征,l是样本数,k是特征数,在这里k取值为6。
攻击模式Vi的k维基于特征的向量可以表示为:
Figure BDA0003313459900000121
其中,第k个元素
Figure BDA0003313459900000122
是被分类为模式Vi的所有样本上的第k个特征的香农熵,即特征矩阵Fi的第k个列。
在一个具体的实施例中,通过计算新到来的流表所具备的特征与每个节点之间的相似度,以找到最小马氏距离的节点,该节点所对应的特征模式就可以确定为新到来的流的特征模式。
攻击检测的方法需要两个输入:一个是前一部分构建的特征模式图,包括节点、加权链接和每个节点的特征矩阵;另一个输入是新传入的l×k特征向量,将其记
Figure BDA0003313459900000123
首先,通过计算每个特征向量的熵,将特征模式图中各个节点对应的l×k特征矩阵转化为l×k向量Fi;然后通过计算Fnew与Fi之间的马氏距离,可以求出最短距离;若存在有与Fnew最短距离的Fi,则Fi所对应的特征模式就是Fnew的特征模式。
如果出现有多个Fi计算出来最短马氏距离一样的情况,则计算Fnew与Fi的特征矩阵中的每个样本的特征向量之间的距离,由计算出来的最小距离的样本所属的Fi对应的特征模式确定为Fnew的特征模式。
本实施例还提供了特征模式图更新,具体如下:
当发现新节点Vnew时,局部更新是将新节点Vnew插入到现有图中。首先计算Vnew与其他已有节点的相似度,根据马氏距离计算公式找出距离Vnew最近的节点,记为γ。检查γ和Vnew之间是否有连接,如果没有的话就在Vnew和γ之间生成新的加权连接。全局更新是重新学习度量矩阵M并重新生成整个图。与局部更新相比,该方法可以消耗更多的时间和计算资源,但在后续的攻击检测中可以获得更好的性能。
为了检测未知的DDoS攻击模式,即新节点,使用了基于相似性和基于熵的方法。如果出现新的DDoS攻击模式,随机性会降低,流量具有较高的相似度和较低的熵值。当新的流量不能归入现有攻击模式时,新流量中基于马氏距离的相似度高于阈值,而新流量的熵低于阈值,则表明需要在特征模式图中添加一种新的DDoS模式,即添加新的节点。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种SDN网络下DDoS攻击流量识别检测方法,其特征在于:所述的方法包括步骤如下:
S1:对流表信息进行收集;
S2:根据流表信息计算得出具有DDoS攻击特性的流量特征值,并将流量特征值转换为特征向量数据;
S3:利用特征向量数据构建随机森林模型,采用构建好的随机森林模型对识别DDoS攻击作用不大的流量特征进行筛选,并得到最优特征子集;
S4:
将最优特征子集转化为特征向量Fnew,通过度量学习特征向量Fnew和特征模式图中各节点的马氏距离,若有与特征向量Fnew最近马氏距离的节点,该节点所对应的特征模式就是特征向量Fnew的类别,若为良性分类则为正常流量;否则为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内的流包数平均值公式为:
Figure FDA0003313459890000011
其中,Pj是第j条表项所含的数据包数量,n是采用周期T内的流总数;
计算所述的端口增速如下:定义端口增速为:
PT=KT/T
其中,KT为采集周期T内端口号的数量,T为采集周期;
计算所述的源IP地址增速如下:定义源IP地址增速为:
ST=IT/T
其中,IT为采集周期T内的源IP地址数量,T为采集周期;
计算所述的流表生存时间变化如下:定义流表生存时间变化为:
Figure FDA0003313459890000021
其中,Tdur为采集周期T内每条流表项的生存时间,Sflow为周期T内流表项总数;
计算所述的对流比如下:定义对流比为:
C=2m/n
其中,m为对流的数量,n是网络中的流总数;
计算所述的字节数均值:定义采集周期T内的字节数均值为:
Figure FDA0003313459890000022
其中,Mj是第j条流表项所含的数据包字节数,n是采集周期T内的流总数。
5.根据权利要求4所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:步骤S3,利用特征向量数据去训练决策树,不断重复多次训练决策树,实现构建随机森林模型,具体步骤包括如下:
S301:随机选取s个特征向量作为训练集训练决策树,每次选取特征向量完毕后均放回训练样本集;
S302:随机选择m个所提取的特征向量,利用信息增益策略选择信息增益最大的特征向量作为决策树节点的分割属性;
S303:分割决策树中的每个节点,直到决策树不能再被分割为止;
S304:根据步骤S301到步骤S303迭代n次完成构建ID3决策树;
S305:利用所构建的ID3决策树对特征向量测试集xi进行投票计数,获得最高选票的类别即为xi的分类标签;
S306:随机森林模型使用ID3决策树作为特征权重算法,结合随机森林模型对提取到的特征向量进行筛选,获取每个特征向量的权重,计算得到最优特征子集。
6.根据权利要求5所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:步骤S302中,所述的信息增益策略,具体如下:
信息增益:定义为信息熵与条件熵之间的差:
G(X,Y)=H(X)-H(X|Yj)
式中,H(X)表示信息熵;H(X|Yj)表示条件熵;
信息增益越大代表此特征越重要,重复n次计算得到每个特征的信息增益;
其中信息熵的计算公式为
Figure FDA0003313459890000031
式中,随机变量X代表所提取到的特征向量的样本集合,p(xi)代表X中任意数据流量xi的出现概率;
假设所提取的所有特征向量中的某一项特征Yj对特征向量的样本集合X进行分类,则条件熵定义如下:
Figure FDA0003313459890000032
式中,|X|表示样本容量,|Xt|表示根据不同特征划分的第t个子集样本个数,设有d个类Cd,d=1,2,...,d,记子集Xt中属于类Cd的样本的集合为Xtd,|Xtd|为Xtd的样本个数。
7.根据权利要求6所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:步骤S306,结合随机森林模型对提取到的特征向量进行筛选,包括:
首先,通过随机森林模型计算得到所提取的n维特征向量的权重值
Figure FDA0003313459890000033
其中
Figure FDA0003313459890000034
代表第i个特征向量的权重值,通过多次重复计算给权重
Figure FDA0003313459890000035
设定一个阈值
Figure FDA0003313459890000036
接着,筛选掉所有
Figure FDA0003313459890000037
的特征向量,并将
Figure FDA0003313459890000038
的特征向量按照权重的大小由高到低进行排序;取前6个特征向量组成最优特征子集;若筛选过后不足六个特征,则不进行筛选,按权重高低取前6个特征向量。
8.根据权利要求7所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:所述的特征模式图的具体定义:SDN中的DDoS特征模式图表示为FPG={V,E,F},其中V={V1,V2,...,Vn}是节点集,每个节点Vi代表一个特征模式,n是特征模式的总数;每个节点由特征向量指定,表示为F={F1,F2,...,Fn};Fi是维度为l×k的节点Vi的特征矩阵,i=1,2,…,n,l是模式为Vi的样本数,k是不同特征的个数;E为链路集合,其中Eij为节点Vi和Vj之间的链路权重。
9.根据权利要求8所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:在初次生成特征模式图时,使用DDoS攻击流量样本训练特征模式图,根据得到的6个特征向量组成的最优特征子集,将其转化为六维特征向量;并在特征模式图中生成第一个节点,并将六维特征向量插入到节点的特征矩阵中,从第二个节点开始以局部更新或者全局更新的方式插入到特征模式图中;
使用以下公式计算距离矩阵M,通过计算每对节点即每对六维特征向量之间的马氏距离,生成一个加权图:
Figure FDA0003313459890000041
其中,xi和xj是两个特征样本;M是对称半正定d×d矩阵,它是半正定的,分解为PTP;M称为度量矩阵,度量学习就是学习矩阵M来提高DDoS攻击邻居分类;
对于每个DDoS训练样本xi,其他样本成为xi的邻居的概率通过以下公式计算:
Figure FDA0003313459890000042
xi和xj之间的距离越长,xi成为xj邻居的概率就越低;xi被其他样本正确分类的概率:
Figure FDA0003313459890000043
其中,θi是与xi具有相同特征模式的所有样本的集合;
所有样本的准确度由以下公式计算:
Figure FDA0003313459890000044
为了获得矩阵M,将优化目标表示为:
Figure FDA0003313459890000051
然后使用随机梯度下降法获得矩阵M;
在学习度量矩阵M之后,通过
Figure FDA0003313459890000052
计算两个攻击模式的相似度;
其中xi和xj分别是两个攻击模式Vi和Vj的k维特征向量,分别表示为F′i和F′j
攻击模式Vi的k维基于特征的向量可以表示为:
Figure FDA0003313459890000053
其中,第k个元素
Figure FDA0003313459890000054
是被分类为模式Vi的所有样本上的第k个特征的香农熵,即特征矩阵Fi的第k个列。
10.根据权利要求9所述的SDN网络下DDoS攻击流量识别检测方法,其特征在于:所述的特征模式图包括节点、加权链接和每个节点的特征矩阵;将新传入的1×k特征向量,记
Figure FDA0003313459890000055
首先,通过计算每个特征向量的熵,将特征模式图中各个节点对应的l×k特征矩阵转化为1×k向量Fi;然后通过计算Fnew与Fi之间的马氏距离,求出最短距离;若存在有与Fnew最短距离的Fi,则Fi所对应的特征模式就是Fnew的特征模式。
CN202111230036.5A 2021-10-20 2021-10-20 一种SDN网络下DDoS攻击流量识别检测方法 Pending CN113923041A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111230036.5A CN113923041A (zh) 2021-10-20 2021-10-20 一种SDN网络下DDoS攻击流量识别检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111230036.5A CN113923041A (zh) 2021-10-20 2021-10-20 一种SDN网络下DDoS攻击流量识别检测方法

Publications (1)

Publication Number Publication Date
CN113923041A true CN113923041A (zh) 2022-01-11

Family

ID=79242340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111230036.5A Pending CN113923041A (zh) 2021-10-20 2021-10-20 一种SDN网络下DDoS攻击流量识别检测方法

Country Status (1)

Country Link
CN (1) CN113923041A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866347A (zh) * 2022-07-06 2022-08-05 浙江御安信息技术有限公司 一种基于人工智能进行DDoS攻击识别的网络安全预警方法
CN115225353A (zh) * 2022-07-04 2022-10-21 安徽大学 兼顾DoS/DDoS洪泛和慢速HTTP DoS的攻击检测方法
CN116527378A (zh) * 2023-05-22 2023-08-01 杭州龙境科技有限公司 一种云手机监控管理方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170318043A1 (en) * 2016-04-27 2017-11-02 Korea Advanced Institute Of Science And Technology Method for detecting network anomaly in distributed software defined networking environment, apparatus therefor, and computer program therefor
CN112416976A (zh) * 2020-11-18 2021-02-26 简和网络科技(南京)有限公司 基于分布式多级协同的分布式拒绝服务攻击监控系统及方法
CN112995202A (zh) * 2021-04-08 2021-06-18 昆明理工大学 一种基于SDN的DDoS攻击检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170318043A1 (en) * 2016-04-27 2017-11-02 Korea Advanced Institute Of Science And Technology Method for detecting network anomaly in distributed software defined networking environment, apparatus therefor, and computer program therefor
CN112416976A (zh) * 2020-11-18 2021-02-26 简和网络科技(南京)有限公司 基于分布式多级协同的分布式拒绝服务攻击监控系统及方法
CN112995202A (zh) * 2021-04-08 2021-06-18 昆明理工大学 一种基于SDN的DDoS攻击检测方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
""SDN环境下基于支持向量机的DDoS攻击检测研究"" *
YA XIAO等: ""基于特征-模式图的SDN下分布式拒绝服务攻击发现方法(英文)"" *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115225353A (zh) * 2022-07-04 2022-10-21 安徽大学 兼顾DoS/DDoS洪泛和慢速HTTP DoS的攻击检测方法
CN115225353B (zh) * 2022-07-04 2024-05-03 安徽大学 兼顾DoS/DDoS洪泛和慢速HTTP DoS的攻击检测方法
CN114866347A (zh) * 2022-07-06 2022-08-05 浙江御安信息技术有限公司 一种基于人工智能进行DDoS攻击识别的网络安全预警方法
CN116527378A (zh) * 2023-05-22 2023-08-01 杭州龙境科技有限公司 一种云手机监控管理方法和系统
CN116527378B (zh) * 2023-05-22 2023-12-26 杭州龙境科技有限公司 一种云手机监控管理方法和系统

Similar Documents

Publication Publication Date Title
CN109981691B (zh) 一种面向SDN控制器的实时DDoS攻击检测系统与方法
CN111818052B (zh) 基于cnn-lstm的工控协议同源攻击检测方法
CN113923041A (zh) 一种SDN网络下DDoS攻击流量识别检测方法
CN109951444B (zh) 一种加密匿名网络流量识别方法
Liang et al. A long short-term memory enabled framework for DDoS detection
Cui et al. Towards DDoS detection mechanisms in software-defined networking
Gogoi et al. MLH-IDS: a multi-level hybrid intrusion detection method
CN112087447B (zh) 面向稀有攻击的网络入侵检测方法
CN111262849A (zh) 一种基于流表信息的网络异常流量行为识别阻断的方法
CN113821793A (zh) 一种基于图卷积神经网络的多阶段攻击场景构建方法及系统
CN111786951A (zh) 流量数据特征提取方法、恶意流量识别方法及网络系统
Xu et al. [Retracted] DDoS Detection Using a Cloud‐Edge Collaboration Method Based on Entropy‐Measuring SOM and KD‐Tree in SDN
Gnanaprasanambikai et al. Data pre-processing and classification for traffic anomaly intrusion detection using nslkdd dataset
Kaur A novel distributed machine learning framework for semi-supervised detection of botnet attacks
Perona et al. Service-independent payload analysis to improve intrusion detection in network traffic
Ateş et al. Clustering based DDoS attack detection using the relationship between packet headers
CN113630420A (zh) 一种基于SDN的DDoS攻击检测方法
Roempluk et al. A machine learning approach for detecting distributed denial of service attacks
Yu et al. Design of DDoS attack detection system based on intelligent bee colony algorithm
Jain et al. A study of feature reduction techniques and classification for network anomaly detection
CN117014182A (zh) 一种基于lstm的恶意流量检测方法及装置
Meamarian et al. A Robust, Lightweight Deep Learning Approach for Detection and Mitigation of DDoS Attacks in SDN
Puranik et al. A Two-level DDoS attack detection using entropy and machine learning in SDN
Lee et al. Monsieur poirot: Detecting botnets using re-identification algorithm and nontrivial feature selection technique
Feng et al. Research on DDoS Attack Detection Based on Machine Learning in SDN Environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination