CN109981691B - 一种面向SDN控制器的实时DDoS攻击检测系统与方法 - Google Patents
一种面向SDN控制器的实时DDoS攻击检测系统与方法 Download PDFInfo
- Publication number
- CN109981691B CN109981691B CN201910362982.1A CN201910362982A CN109981691B CN 109981691 B CN109981691 B CN 109981691B CN 201910362982 A CN201910362982 A CN 201910362982A CN 109981691 B CN109981691 B CN 109981691B
- Authority
- CN
- China
- Prior art keywords
- flow
- flow table
- attack
- information
- ddos attack
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提出了一种面向SDN控制器的实时DDoS攻击检测系统与方法,包括:解析SDN控制器收集的数据包,使用熵值判断检测流是否异常,若存在异常,进行异常警告;通过OpenFlow协议来对流表信息进行收集:控制器通过设置向OpenFlow交换机发送相应的报文来采集流表;每个流表由多个流表项组成,通过流表项信息分析单位时间内网络流量分布特性的变化,从而检测攻击,提取流表项相关信息并转换为有关DDoS攻击的一维特征信息;采用神经网络算法训练数据集生成CNN‑BiLSTM模型对实时流量进行分类,实现实时DDoS攻击的检测。可以高效地实现SDN环境中DDoS攻击流量检测并降低系统的误报率。
Description
技术领域
本公开涉及网络技术领域,特别是涉及一种面向SDN控制器的实时DDoS攻击检测系统与方法。
背景技术
传统的网络设备(交换机、路由器)的固件是由设备制造商锁定和控制,所以大家希望将网络控制与物理网络拓扑分离,从而摆脱硬件对网络架构的限制。这样企业便可以向升级、安装软件一样对网络架构进行修改,满足企业对整个网站架构进行调整、扩容或升级、而底层的交换机、路由器等硬件则无需替换,节省大量的成本的同时,网络架构迭代周期将大大缩短。为了满足这些需求,SDN便应运而生。
软件定义网络(Software Defined Network,SDN),是由美国斯坦福大学cleanslate研究组提出的一种新型网络创新架构,核心思想是:希望应用软件可以参与对网络的控制管理,满足上层业务需求,通过自动化业务部署简化网络运维。
SDN架构通常分为三层:应用层、转发层和控制层。应用层通过开放的北向接口获取网络信息,采用软件算法优化、网络资源调度,提高全网的使用率和网络质量,同时将虚拟网络配置的能力开放给用户;集中部署的控制层可完成拓扑管理、资源统计、路由计算、配置下发等功能,获得全网资源使用情况,隔离不同用户的虚拟网络;转发层实现分组交换功能。分层的架构满足用户按需调整网络的需求,实现网络服务虚拟化;提高了全网资源使用率;加速了网络创新。
发明人在研究中发现,随着SDN的广泛应用,SDN的安全问题引起了广泛的关注。SDN的集中控制特性极易引起单点失效,从而招致分布式拒绝服务(distributed denialof service,DDoS)攻击。SDN网络中可以利用数据包与流表不匹配,OpenFlow交换机向OpenFlow控制器发送Packet_in消息的特点,对控制器进行DDoS攻击,连续不断地上传Packet_in消息以至于超出控制器的处理能力,无法处理正常用户的数据包,造成网络拥塞。对于SDN控制器而言,DDoS攻击依然是最为简单行之有效的攻击方式。因此,需要针对SDN的架构特征,需要不断研究和设计新型的DDoS检测与防范技术。
发明内容
本说明书实施方式的目的是提供一种面向SDN控制器的实时DDoS攻击检测方法,实现实时DDoS攻击的检测,利用本方法可以高效地实现SDN环境中DDoS攻击流量检测并降低系统的误报率。
本说明书实施方式提供一种面向SDN控制器的实时DDoS攻击检测方法,通过以下技术方案实现:
包括:
解析SDN控制器收集的数据包,使用熵值判断检测流是否异常,若存在异常,进行异常警告;
通过OpenFlow协议来对流表信息进行收集:控制器通过设置向OpenFlow交换机发送相应的报文来采集流表;
每个流表由多个流表项组成,通过流表项信息分析单位时间内网络流量分布特性的变化,从而检测攻击,提取流表项相关信息并转换为有关DDoS攻击的一维特征信息;
采用深度学习算法训练数据集生成CNN-BiLSTM模型对实时流量进行分类,实现实时DDoS攻击的检测。
本说明书实施方式提供一种面向SDN控制器的实时DDoS攻击检测系统,通过以下技术方案实现:
包括:
异常检测模块,被配置为:解析SDN控制器收集的数据包,使用熵值判断检测流是否异常,若存在异常,进行异常警告;
流表收集模块,被配置为:通过OpenFlow协议来对流表信息进行收集:控制器通过设置向OpenFlow交换机发送相应的报文来采集流表;
特征提取模块,被配置为:每个流表由多个流表项组成,通过流表项信息分析单位时间内网络流量分布特性的变化,从而检测攻击,提取流表项相关信息并转换为有关DDoS攻击的一维特征信息;
CNN-BiLSTM攻击检测模块,被配置为:采用深度学习算法训练数据集生成CNN-BiLSTM模型对实时流量进行分类,实现实时DDoS攻击的检测。
与现有技术相比,本公开的有益效果是:
本公开首先使用熵值检测流是否异常,发出异常警告后,获取OpenFlow交换机的流表项,分析SDN环境下DDoS攻击特征,提取出与攻击相关重要特征;通过分析相关特征值的变化,采用CNN-BiLSTM神经网络算法训练数据集生成CNN-BiLSTM模型对实时流量进行分类,实现实时DDoS攻击的检测,利用本方法可以高效地实现SDN环境中DDoS攻击流量检测并降低系统的误报率。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1为本公开实施例子的一种面向SDN控制器的实时DDoS攻击检测系统的框图;
图2为本公开实施例子的CNN模型图;
图3为本公开实施例子的BiLSTM模型图;
图4为本公开实施例子的基于CNN-BiLSTM的DDoS攻击检测方法流程图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
软件定义网络(SDN,software defined network)作为一种新兴的网络架构,最主要特征就是数据转发和控制分离,在网络架构中增加一个控制器,由这个控制器来实现网络集中控制。对于SDN控制器而言,DDoS攻击依然是最为简单且行之有效的攻击方式。针对这个问题,提出了一种面向SDN控制器的实时DDoS检测攻击方法。该方法首先使用熵值检测流是否异常,发出异常警告后,获取OpenFlow交换机的流表项,分析SDN环境下DDoS攻击特征,提取出与攻击相关重要特征;通过分析相关特征值的变化,采用CNN-BiLSTM神经网络算法训练数据集生成CNN-BiLSTM模型对实时流量进行分类,实现实时DDoS攻击的检测,利用本方法可以高效地实现SDN环境中DDoS攻击流量检测并降低系统的误报率。
实施例子一
该实施例公开了一种面向SDN控制器的实时DDoS攻击检测系统,具体系统框图参见附图1所示,包括异常检测模块、流表收集模块、特征提取模块、CNN-BiLSTM攻击检测模块。
在该实施例子中,异常检测模块:通过解析控制器收集的Packet_in包,检测窗口内数据包的目的IP的熵。每个窗口50个数据包,设定一个阈值C,连续检测5个窗口,共检测250个数据包,如果连续5个窗口的熵值下降到该阈值以下,则认为网络流量存在异常,发出异常警报。
在该实施例子中,将熵用于DDoS检测的主要原因是它能够测量到达网络数据包的随机性,随机性越高熵值越高。一般正常网络情况下主机之间通信的机会大致均等,当发生DDoS攻击时,往往是多对一攻击,数台傀儡主机将攻击数据包发送到受攻击的目的主机,大量相同的目的地址的数据包降低了网络随机性。因此目的IP地址的熵将降到最低。
若在一个窗口T内IP地址xi出现次数为yi次,窗口内每一个目的IP地址出现的概率:pi=yi/n。
Renyi熵的计算公式如下:
其中,n表示一个窗口大小T内数据包的数量,q是可去任意非1正实数的一个参数。Renyi熵的特点是高概率事件会对熵值产生更大的影响,其程度和参数q的大小有关;当每个IP地址只出现一次时,熵值将取得其最大值;通常DDoS攻击的目的主机只有一个,则大量的数据包将被送到该目的主机,因此目的IP地址的熵降到最低。使用广义熵有利于更好地选择熵值,清晰高效地区分攻击和正常流量,增强检测能力。
在一实施例中,异常检测模块步骤:
1、统计到达的Packet_in数据包的个数,每个窗口50个数据包;
2、计算窗口中每一个目的IP地址出现的概率,若IP地址xi出现次数为yi次,则pi=yi/50;
3、计算窗口中50个数据包的目的IP地址熵值
4、如果连续5次计算出的熵值均低于阈值,则警告检测到DDoS攻击,开始调用流表采集模块。
在该实施例子中,关于流表采集模块:该模块主要通过OpenFlow协议来对流表信息进行收集,流表是数据流转发的依据,当发生异常警报后,控制器通过设置会向OpenFlow交换机发送ofp-flow-stats-request报文来采集流表,间隔太长会使网络在未发现攻击前就瘫痪,间隔太小会增加控制器的压力,设置采集的时间间隔为1s,当发生异常警报后流表采集模块将采集来的流表通过特征提取模块对流特征进行提取,之后通过攻击检测模块实施检测。
在该实施例子中,关于特征提取模块:根据OpenFlow协议,交换机的流表是数据包的转发依据,每个流表由多个流表项组成,流表项是数据转发的规则,因此可以通过流表项信息分析单位时间内网络流量分布特性的变化,从而检测攻击,提取流表项相关信息并转换为有关DDoS攻击的一维特征信息。包括以下12个特征:流量平均持续时间(ADF)、流量平均包数(APF)、流量平均比特数(ABF)、端口增速(GP)、源IP地址增速(GIP)、流表项增速(GFE)、单流增长速度(GSF)、流表匹配成功率(RFM)、对流百分比(PPF)、源IP地址熵(ESA)、目的IP地址熵(EDA)、协议熵(EPT)。
流量平均持续时间(average of duration per flow,ADF):DDoS攻击发生时,不同IP对应的持续时间较短,
其中,N表示每个周期T内采集流表的数量,Di表示i流的持续时间。
流量平均包数(average of packets per flow,APF):DDoS攻击通过源IP欺骗,产生大量的、伪装不同IP的数据分组,且不同IP对应的数据分组数量较小,即每个流大约有3个数据包。
流量平均比特数(average of bytes per flow,ABF):与定义流量平均包数相似,DDoS攻击的另一个特点是不同IP对应的数据分组的比特数较小。
端口增速(growth of port,GP):DDoS攻击时会随机生成端口号,所以攻击发生时端口的增速会明显增大。
其中,Sport表示每个周期T内采集到的流表中不同端口号的流表数量,T为采样的时间间隔。
源IP地址增速(growth of source IP,GIP):DDoS攻击发生时,会产生IP欺骗,随机伪造产生的大量的攻击流发送数据包,其源IP地址快速增加。
其中,SIP-src表示每个周期T内采集到的流表中不同源IP地址的流表数量。
流表项增速(growth of flow entries,GFE):DDoS攻击发生时控制器会快速产生大量的流表信息。
其中,Sflow为流表项的总数。
单流增长速度(growth of single flow,GSF):DDoS攻击常以IP欺骗的方式发起攻击,他们使用假IP地址发送数据分组,该特征增加了单流进入网络的数量。
其中,Fsingle表示在时间间隔T内采集的流表中单流的数量。
流表匹配成功率(the rate of flow table matching,RFM):发生攻击时,因为当有大量的新流产生存在,其匹配成功率将急剧下降。
其中,Mpacket为匹配成功的数据包数量,Spacket为数据包总数。
对比流比例(percentage of pair-flow,PPF):攻击发生时,网络中具有一定的交互性的对流比数量会减少。
其中,Fpair为网络中交互流的数量,Fsum为流的总数。
源IP地址熵(entropy of source IP addresses,ESA):DDoS攻击会产生大量的伪造的源IP地址,针对受攻击的主机为目的地址的攻击流,其源IP地址相对分散,随机性高,所以攻击流量的srcIP的熵值比正常的srcIP熵值大。
源IP地址熵的公式为:
其中,sIPi为每个源IP地址出现的概率。
目的IP地址熵(entropy of source IP addresses,EDA):DDoS攻击流量的dstIP较正常流量相比更加的集中,随机性低,所以攻击流量的dstIP的熵值比正常的dstIP熵值低。
目的IP地址熵的公式为:
其中,dIPi为每个目的IP地址出现的概率。
协议熵(entropy of protocol type,EPT):在DDoD攻击中的流量协议类型通常是相同的,攻击流量越多,流量协议的随机性就越小,所以攻击流量协议的熵比正常流量的熵小。
协议熵的公式为:
其中,pti为每种协议出现的概率。
在该实施例中,关于CNN-BiLSTM攻击检测模块:因为正常流量与攻击流量的特征是由区别的,所以攻击检测可以看作是一种分类问题,流表采集模块收集流表信息,特征提取模块从收集的流表信息提取的特征值作为训练样本对攻击检测模块进行训练,训练完成后可以进行DDoS攻击检测,区分流量正常与否。
在一实施例中,流表处理步骤为:
1、实时采集流表,设定采集流表的时间间隔为1s;
2、提取流表项相关信息并转换为有关DDoS攻击的一维特征信息,包括以下12个特征,流量平均持续时间(ADF)、流量平均包数(APF)、流量平均比特数(ABF)、端口增速(GP)、源IP地址增速(GIP)、流表项增速(GFE)、单流增长速度(GSF)、流表匹配成功率(RFM)、对流百分比(PPF)、源IP地址熵(ESA)、目的IP地址熵(EDA)、协议熵(EPT);
CNN-BiLSTM攻击检测模块使用的检测算法是基于CNN-BiLSTM神经网络。
实施例子二
该实施例公开了一种面向SDN控制器的实时DDoS攻击检测方法,为基于CNN-BiLSTM的DDoS攻击检测方法,流程如图4所示:
1、将从流表提取特征模块获取的流表特征分别作为卷积神经网络和BiLSTM神经网络的输入,卷积神经网络的卷积层用不同的滤波器对记录序列矩阵进行卷积操作,提取局部特征;利用BiLSTM模型提取流量的历史信息和未来信息,提取流量的全局特征。
2、卷积神经网络的池化层对卷积层提取的局部特征进行最大池化操作,提取关键特征,舍弃冗余特征,生成固定维度的特征向量,将池化操作输出的特征拼接起来,作为第一层全连接层输入特征的一部分。
3、使用tensorflow框架中的concat()方法对CNN和BiLSTM输出的特征进行融合,融合代码为:output=tf.concat([output_cnn,output_blstm],axis=1)。
4、将融合后的特征保存在output中,将其作为第一个全连接层的输入。
5、再连接第二个全连接层,在第二个全连接层之后引入dropout机制,每次迭代放弃部分训练好的参数,使权值更新不再依赖部分固有特征,防止过拟合。
若检测结果是攻击,控制器下发指令至防火墙,更改防火墙配置,减少攻击流量,同时下发流表更改指令至OpenFlow交换机,更改流表匹配项配置,并通过meter表控制流表速率,丢弃攻击数据包。
在一实施例中,CNN基本网络单元包括:
卷积层:卷积运算是两个向量之间的运算,对于一个输入向量x,用另一个向量f在向量x上滑动,每次滑动做一次点乘运算,所有步骤的输出作为一次卷积的输出c。
池化层:该层通常仅仅跟在卷积层后面,用于减少卷积层得出的特征,使用一个窗口在特征图上移动,取窗口中最大的值或者去平均值,这两种做法分别称为最大池化和平均池化。
全连接层:全连接层的每个神经元都与上一层的神经元连接,用来把前面提取到的特征综合起来,并把输出转化为一个一维向量用来分类,这一层可以学习更多的非线性依赖关系。
Softmax层:最后一层的输出传给Softmax层以计算每一分类的概率分类。
在一实施例子中,基于CNN的DDoS攻击检测方法,工作流程分为以下几步:
第一步:将特征流量向量输入到卷积神经网络的输入层,随之卷积层对其进行卷积操作,精确提取每条记录的特征信息,抽象出高维度特征。
第二步:Pooling层将小领域内的特征点进行整合处理,从而得到新的特征。池化操作主要用于加快网络训练速度。常用的池化方法有平均池化和最大池化。我们采用的是最大池化对邻域内特征点取最大值。
第三步:通过全连接层输入到softmax分类器中对流量进行分类。
在又一实施例中,基于BiLSTM的DDoS攻击检测方法,
循环神经网络(RNN)擅长处理序列数据,但该模型在训练过程中会出现梯度消失或梯度爆炸问题,以及长期依赖的问题。LSTM模型中的长短期记忆模块可以解决RNN引发的长期依赖问题,长短期记忆模块是在RNN模型中的隐层增加了三个门(遗忘门、输入门、输出门)和一个细胞状态更新。
遗忘门(Forget Gate)对上一层细胞状态进行筛选,将有用信息留下,遗忘无用信息。公式为:ft=σ(wf·[ht-1,xt]+bf)
其中,wf和bf分别是遗忘门的权重和偏置,ht-1为上层隐藏状,σ为sigmoid激活函数。
输入门(Input Gate)对信息进行重要性判断,将重要信息送入细胞状态更新处,完成对细胞状态的更新。该过程由两部分组成,一是利用sigmoid函数来确定需加入细胞状态的新信息。二是利用tanh函数生成一新的候选向量。公式如下:
其中,wi和bi为输入门的权重和偏置,wc和bc是细胞状态的权重和偏置。
经过以上处理,便将原细胞状态ct-1更新为当前细胞状态ct。公式如下:
输出门对该层细胞状态进行输出控制,决定哪些细胞状态输入到下一层细胞。
其中,wo和bo为输出门的权重和偏置。
BiLSTM模型结构:
虽然LSTM解决了RNN会发生梯度消失或者爆炸的问题,但是LSTM只能学习当前流量之前的信息,不能利用当前流量之后的信息,因为DDoS攻击会持续一段时间,不仅与之前的历史信息有关,跟之后的信息也有着密切的关系,所以利用BiLSTM代替LSTM,既能克服了梯度消失或者梯度爆炸的问题,又能充分考虑当前流量的前后信息。BiLSTM模型是由两个LSTM网络结构组成,一个正向LSTM,一个反向LSTM。其中正向LSTM网络结构的输入信息为正序输入,反向LSTM网络结构的输入为反序输入,最后将正向LSTM网络结构的输出向量与反向LSTM网络结构的输出的向量进行合并。合并之后的向量便含有来自上下文的信息。利用BiLSTM模型能够更好的考虑到序列数据中每个属性点的前后属性对其影响。
在又一实施例子中,基于CNN-BiLSTM的DDoS攻击检测方法。
为了优化DDoS攻击检测系统,提高DDoS攻击检测的准确性和降低系统误报率,利用CNN-BiLSTM模型进行特征提取;为了提取更全面的局部特征,利用CNN提取局部特征;然后为了解决各属性特征点的前、后特征对该属性特征点的影响,采用BiLSTM对长距离依赖进行全局特征提取;使用concat()方法对CNN和BiLSTM输出的特征进行融合,经过全连接层,通过softmax分类器获得分类结果,从而提高了准确率,降低了误报率。
CNN-BiLSTM神经网络:
CNN神经网络:卷积层用大小为m×k的滤波器对特征流量矩阵S执行卷积操作,根据公式产生局部特征ci:
特征流量矩阵的形式为:S={r1,r2,…,rn}
ci=f(F·r(i:i+m-1)+bd)
f(x)=max(0,x)
其中,F代表m×k的滤波器,f通过ReLU进行非线性操作的函数,r(i:i+m-1)代表S中从i到i+m-1共m行向量,bd为偏置。随着滤波器依靠步长为1从上往下进行滑动,走过整个S,最终得到局部特征向量集合为C:
C={c1,c2,…,cn-m+1}
池化层:对卷积操作得到的局部特征采用最大池化的方法提取值最大的特征代替整个局部特征,通过池化操作大大降低特征向量的大小:
di=max(C)
最后将所有池化后得到的特征在全连接层进行组合输出向量U:
U={d1,d2,…,dn}
CNN模型图如图2所示:
1、将n个一维12元流量特征向量映射为一个n*12的记录序列矩阵S={r1,r2,…,rn},其中,矩阵的行是一维流量特征的个数n(以n=5作为参考值,数值太大会使网络在未发现攻击前就瘫痪,数值太小会增加控制器的压力,),矩阵的列是通过流表项提取的12个流表特征值。
2、卷积层通过取j种不同规格的滤波器,规格分别为m1*12、m2*12、…、mj*12滤波器(选取3*12、4*12、5*12三个滤波器作为参考),不同规格的滤波器的数目均为a(a=3作为参考值)个,步长stride大小设置为1,padding为VALID,进行卷积运算,产生特征向量C;通过卷积操作来提取流量的局部特征。
3、池化层进行最大池化操作,提取关键特征,舍弃冗余特征,生成固定维度的特征向量。
4、将池化操作输出的特征拼接起来,作为第一层全连接层输入特征的一部分。
在具体例子中,BiLSTM神经网络:为了捕获长距离依赖特征,将S输入到BiLSTM模型中,该模型由两个方向上的LSTM模块连接而成,具有多个共享权值。在每个时间步上,BiLSTM模块的输出将由遗忘门(ft)、输入门(it)、输出门(ot)和一个细胞状态更新共同进行控制,每个门都由前一模块的输出ht-1和当前时刻的输入xt表示,三个门共同工作来完成对属性信息的选择、遗忘和细胞状态的更新。在时间步t上,用BiLSTM模块的正向部分对xt进行特征提取,公式如下:
在时间步上,用BiLSTM模块的反向部分对xt进行特征提取,公式如下:
其中,σ是sigmoid激活函数;tanh为双曲正切函数;*为元素乘运算,it为对输入信息进行选择操作,对信息的输入过程进行控制,ft是对前一模块需要被遗忘的信息进行遗忘操作,对信息遗忘过程进行控制。ct用来判断哪些信息应该存储到当前细胞状态,完成对信息的存储进行控制。ot则是输出门对输出信息进行选择,对输出的信息进行控制。
在时间步上,BiLSTM层最终输出的特征向量Pt为:
Pt=[正向LSTM,反向LSTM];BiLSTM模型图如图3所示。
但是在某些情况下,正常的网络操作也会导致熵值比正常值低,所以这种方法不能确定网络中是否有攻击流。所以当异常检测模块检测到异常时就发出警告,调用流表采集模块,为进一步的DDoS攻击检测做准备。
实施例子三
该实施例子公开了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现实施例子二的一种面向SDN控制器的实时DDoS攻击检测方法的步骤。
实施例子四
该实施例子公开了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现实施例子二的一种面向SDN控制器的实时DDoS攻击检测方法的步骤。
本公开实施例子技术方案的创新点在于:
1、流量特征的选取。选择流量平均持续时间(ADF)、流量平均包数(APF)、流量平均比特数(ABF)、端口增速(GP)、源IP地址增速(GIP)、流表项增速(GFE)、单流增长速度(GSF)、流表匹配成功率(RFM)、对流百分比(PPF)、源IP地址熵(ESA)、目的IP地址熵(EDA)、协议熵(EPT)12个流量特征经过预处理之后作为CNN-BiLSTM的输入,从而检测攻击流。
2、CNN-BiLSTM模型的构建。利用CNN提取局部平行特征,给出了在CNN神经网络中具体的工作流程;然后为了解决各属性特征点的前、后特征对该属性特征点的影响,采用BiLSTM对长距离依赖进行特征提取;使用concat()方法对从CNN和BiLSTM神经网络分别输出的特征进行融合,经过全连接层,通过softmax分类器获得分类结果。
3、DDoS攻击检测系统的设计。提出一种SDN控制器的实时DDoS攻击检测系统,该系统包括异常检测模块、流表收集模块、特征提取模块以及CNN-BiLSTM攻击检测模块。异常检测模块检测窗口内数据包的目的IP的熵,当发生异常警报后流表采集模块将采集来的流表通过特征提取模块对流特征进行提取,之后通过CNN-BiLSTM攻击检测模块实施DDoS攻击检测。
可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第N实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (6)
1.一种面向SDN控制器的实时DDoS攻击检测方法,其特征是,包括:
解析SDN控制器收集的数据包,使用熵值判断检测流是否异常,若存在异常,进行异常警告;
通过OpenFlow协议来对流表信息进行收集:控制器通过设置向OpenFlow交换机发送相应的报文来采集流表;
每个流表由多个流表项组成,通过流表项信息分析单位时间内网络流量分布特性的变化,从而检测攻击,提取流表项相关信息并转换为有关DDoS攻击的一维特征信息;
采用深度学习算法训练数据集生成CNN-BiLSTM模型对实时流量进行分类,实现实时DDoS攻击的检测,包括:
将从流表提取特征模块获取的流表特征分别作为卷积神经网络和BiLSTM神经网络的输入,卷积神经网络的卷积层用不同的滤波器对记录序列矩阵进行卷积操作,提取局部特征;利用BiLSTM模型提取流量的历史信息和未来信息,提取流量的全局特征;
卷积神经网络的池化层对卷积层提取的局部特征进行最大池化操作,提取关键特征,舍弃冗余特征,生成固定维度的特征向量,将池化操作输出的特征拼接起来,作为第一层全连接层输入特征的一部分;
使用tensorflow框架中的concat()方法对CNN和BiLSTM输出的特征进行融合,
将融合后的特征保存在output中,将其作为第一个全连接层的输入;
再连接第二个全连接层,在第二个全连接层之后引入dropout机制,每次迭代放弃部分训练好的参数,使权值更新不再依赖部分固有特征,防止过拟合;
最后输入到softmax分类器输出分类结果,softmax回归中将x分类为类别j的概率为:
若检测结果是攻击,控制器下发指令至防火墙,更改防火墙配置,减少攻击流量,同时下发流表更改指令至OpenFlow交换机,更改流表匹配项配置,并通过meter表控制流表速率,丢弃攻击数据包。
2.如权利要求1所述的一种面向SDN控制器的实时DDoS攻击检测方法,其特征是,提取流表项相关信息并转换为有关DDoS攻击的一维特征信息包括以下12个特征:流量平均持续时间ADF、流量平均包数APF、流量平均比特数ABF、端口增速GP、源IP地址增速GIP、流表项增速GFE、单流增长速度GSF、流表匹配成功率RFM、对流百分比PPF、源IP地址熵ESA、目的IP地址熵EDA及协议熵EPT。
3.如权利要求1所述的一种面向SDN控制器的实时DDoS攻击检测方法,其特征是,CNN-BiLSTM模型的构建:采用BiLSTM对长距离依赖进行特征提取。
4.一种面向SDN控制器的实时DDoS攻击检测系统,其特征是,包括:
异常检测模块,被配置为:解析SDN控制器收集的数据包,使用熵值判断检测流是否异常,若存在异常,进行异常警告;
流表收集模块,被配置为:通过OpenFlow协议来对流表信息进行收集:控制器通过设置向OpenFlow交换机发送相应的报文来采集流表;
特征提取模块,被配置为:每个流表由多个流表项组成,通过流表项信息分析单位时间内网络流量分布特性的变化,从而检测攻击,提取流表项相关信息并转换为有关DDoS攻击的一维特征信息;
CNN-BiLSTM攻击检测模块,被配置为:采用神经网络算法训练数据集生成CNN-BiLSTM模型对实时流量进行分类,实现实时DDoS攻击的检测,包括:
将从流表提取特征模块获取的流表特征分别作为卷积神经网络和BiLSTM神经网络的输入,卷积神经网络的卷积层用不同的滤波器对记录序列矩阵进行卷积操作,提取局部特征;利用BiLSTM模型提取流量的历史信息和未来信息,提取流量的全局特征;
卷积神经网络的池化层对卷积层提取的局部特征进行最大池化操作,提取关键特征,舍弃冗余特征,生成固定维度的特征向量,将池化操作输出的特征拼接起来,作为第一层全连接层输入特征的一部分;
使用tensorflow框架中的concat()方法对CNN和BiLSTM输出的特征进行融合,将融合后的特征保存在output中,将其作为第一个全连接层的输入;
再连接第二个全连接层,在第二个全连接层之后引入dropout机制,每次迭代放弃部分训练好的参数,使权值更新不再依赖部分固有特征,防止过拟合;
最后输入到softmax分类器输出分类结果,softmax回归中将x分类为类别j的概率为:
若检测结果是攻击,控制器下发指令至防火墙,更改防火墙配置,减少攻击流量,同时下发流表更改指令至OpenFlow交换机,更改流表匹配项配置,并通过meter表控制流表速率,丢弃攻击数据包。
5.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-3任一所述的一种面向SDN控制器的实时DDoS攻击检测方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-3任一所述的一种面向SDN控制器的实时DDoS攻击检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910362982.1A CN109981691B (zh) | 2019-04-30 | 2019-04-30 | 一种面向SDN控制器的实时DDoS攻击检测系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910362982.1A CN109981691B (zh) | 2019-04-30 | 2019-04-30 | 一种面向SDN控制器的实时DDoS攻击检测系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981691A CN109981691A (zh) | 2019-07-05 |
CN109981691B true CN109981691B (zh) | 2022-06-21 |
Family
ID=67087293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910362982.1A Active CN109981691B (zh) | 2019-04-30 | 2019-04-30 | 一种面向SDN控制器的实时DDoS攻击检测系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981691B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024013884A1 (ja) * | 2022-07-13 | 2024-01-18 | 日本電信電話株式会社 | DDoS検知装置および方法 |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110381052B (zh) * | 2019-07-16 | 2021-12-21 | 海南大学 | 基于CNN的DDoS攻击多元信息融合方法及装置 |
CN112242973A (zh) * | 2019-07-16 | 2021-01-19 | 中国移动通信集团浙江有限公司 | DDoS攻击检测方法、装置、计算设备及计算机存储介质 |
CN110474878B (zh) * | 2019-07-17 | 2021-09-24 | 海南大学 | 基于动态阈值的DDoS攻击态势预警方法和服务器 |
CN110300127A (zh) * | 2019-07-31 | 2019-10-01 | 广东电网有限责任公司 | 一种基于深度学习的网络入侵检测方法、装置以及设备 |
CN110572362B (zh) * | 2019-08-05 | 2020-09-15 | 北京邮电大学 | 针对多类不均衡异常流量的网络攻击检测方法及装置 |
CN110784481B (zh) * | 2019-11-04 | 2021-09-07 | 重庆邮电大学 | SDN网络中基于神经网络的DDoS检测方法及系统 |
CN111082992A (zh) * | 2019-12-23 | 2020-04-28 | 超讯通信股份有限公司 | 基于深度学习的sdn网络数据包的识别方法 |
CN111600859B (zh) * | 2020-05-08 | 2022-08-05 | 恒安嘉新(北京)科技股份公司 | 分布式拒绝服务攻击的检测方法、装置、设备及存储介质 |
CN111756719B (zh) * | 2020-06-17 | 2022-06-24 | 哈尔滨工业大学 | SDN网络架构下一种结合SVM和优化LSTM模型的DDoS攻击检测方法 |
CN112422493B (zh) * | 2020-07-27 | 2022-05-24 | 哈尔滨工业大学 | SDN网络架构下基于多层感知神经网络MLDNN的DDoS攻击检测方法 |
CN111901340B (zh) * | 2020-07-28 | 2021-06-22 | 四川大学 | 一种面向能源互联网的入侵检测系统及其方法 |
CN112261021B (zh) * | 2020-10-15 | 2021-08-24 | 北京交通大学 | 软件定义物联网下DDoS攻击检测方法 |
CN112367311B (zh) * | 2020-10-30 | 2023-04-07 | 中移(杭州)信息技术有限公司 | DDoS攻击检测方法、装置、设备及存储介质 |
CN112417446A (zh) * | 2020-12-12 | 2021-02-26 | 山东交通学院 | 一种软件定义网络异常检测架构 |
CN112653687B (zh) * | 2020-12-17 | 2022-04-01 | 贵州大学 | DDoS检测环境下差分进化的SDN网络特征提取方法 |
CN112910918A (zh) * | 2021-02-26 | 2021-06-04 | 南方电网科学研究院有限责任公司 | 基于随机森林的工控网络DDoS攻击流量检测方法及装置 |
CN113518063B (zh) * | 2021-03-01 | 2022-11-22 | 广东工业大学 | 基于数据增强和BiLSTM的网络入侵检测方法及系统 |
CN113093695A (zh) * | 2021-03-23 | 2021-07-09 | 武汉大学 | 一种数据驱动的sdn控制器故障诊断系统 |
CN113242211B (zh) * | 2021-04-12 | 2022-10-25 | 北京航空航天大学 | 一种软件定义网络DDoS攻击检测方法 |
CN113630385B (zh) * | 2021-07-13 | 2022-05-06 | 电子科技大学 | 一种sdn网络下dos攻击防控方法及装置 |
CN113411350B (zh) * | 2021-07-28 | 2023-02-24 | 广东省大湾区集成电路与系统应用研究院 | 防御ddos攻击的网络系统 |
CN113691503A (zh) * | 2021-08-03 | 2021-11-23 | 西北大学 | 一种基于机器学习的DDoS攻击检测方法 |
CN114064889A (zh) * | 2021-10-09 | 2022-02-18 | 北京邮电大学 | Web注入攻击检测方法、装置、电子设备及存储介质 |
CN116015700A (zh) * | 2021-11-04 | 2023-04-25 | 贵州电网有限责任公司 | 一种基于软件定义网络的内网ddos流量检测及防护方法 |
CN114363005A (zh) * | 2021-12-08 | 2022-04-15 | 北京六方云信息技术有限公司 | 基于机器学习的icmp检测方法、系统、设备及介质 |
CN115250193B (zh) * | 2021-12-22 | 2024-02-23 | 长沙理工大学 | 一种面向SDN网络的DoS攻击检测方法、装置及介质 |
CN114363065B (zh) * | 2022-01-04 | 2023-07-25 | 重庆邮电大学 | 一种基于GSODNN和SDN的DDoS检测方法 |
CN114422277B (zh) * | 2022-04-01 | 2022-07-01 | 中国人民解放军战略支援部队航天工程大学 | 防御网络攻击的方法、装置、电子设备和计算机可读介质 |
CN114944951B (zh) * | 2022-05-18 | 2024-02-06 | 北京天融信网络安全技术有限公司 | 一种请求的处理方法及装置、拟态设备、存储介质 |
CN115277103B (zh) * | 2022-06-29 | 2024-08-16 | 中国科学院计算技术研究所 | DDoS攻击检测方法、DDoS攻击流量过滤方法、装置 |
CN115580480B (zh) * | 2022-10-25 | 2024-04-02 | 湖南大学 | 基于卡尔曼滤波和随机森林的fto攻击检测缓解方法 |
CN115473748B (zh) * | 2022-11-14 | 2023-04-07 | 国际关系学院 | 基于BiLSTM-ELM的DDoS攻击分类检测方法、装置及设备 |
CN115712972A (zh) * | 2022-11-21 | 2023-02-24 | 四川省公安科研中心 | 一种基于深度学习的边缘计算环境下的DDos检测方法 |
CN115987643A (zh) * | 2022-12-25 | 2023-04-18 | 哈尔滨工程大学 | 一种基于lstm和sdn的工控网络入侵检测方法 |
CN118400198B (zh) * | 2024-06-27 | 2024-09-06 | 杭州海康威视数字技术股份有限公司 | 基于sdn驱动的集成学习访问控制方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657107A (zh) * | 2016-12-30 | 2017-05-10 | 南京邮电大学 | 一种SDN中基于信任值的自适应启动的ddos防御方法和系统 |
CN106911669A (zh) * | 2017-01-10 | 2017-06-30 | 浙江工商大学 | 一种基于深度学习的ddos检测方法 |
CN108123931A (zh) * | 2017-11-29 | 2018-06-05 | 浙江工商大学 | 一种软件定义网络中的DDoS攻击防御装置及方法 |
CN109302378A (zh) * | 2018-07-13 | 2019-02-01 | 哈尔滨工程大学 | 一种SDN网络DDoS攻击检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9641429B2 (en) * | 2014-06-18 | 2017-05-02 | Radware, Ltd. | Predictive traffic steering over software defined networks |
-
2019
- 2019-04-30 CN CN201910362982.1A patent/CN109981691B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657107A (zh) * | 2016-12-30 | 2017-05-10 | 南京邮电大学 | 一种SDN中基于信任值的自适应启动的ddos防御方法和系统 |
CN106911669A (zh) * | 2017-01-10 | 2017-06-30 | 浙江工商大学 | 一种基于深度学习的ddos检测方法 |
CN108123931A (zh) * | 2017-11-29 | 2018-06-05 | 浙江工商大学 | 一种软件定义网络中的DDoS攻击防御装置及方法 |
CN109302378A (zh) * | 2018-07-13 | 2019-02-01 | 哈尔滨工程大学 | 一种SDN网络DDoS攻击检测方法 |
Non-Patent Citations (3)
Title |
---|
An early detection of low rate DDoS attack to SDN based data center networks using information distance metrics;Kshira Sagar Sahoo等;《Future Generation Computer Systems》;20181231;全文 * |
SDN环境下的DDoS攻击检测技术与防护机制研究;万凡;《中国优秀硕士学位论文全文数据库(电子期刊)》;20180915;全文 * |
基于SDN的DDoS攻击检测技术研究;张强强等;《软件导刊》;20190326;全文 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024013884A1 (ja) * | 2022-07-13 | 2024-01-18 | 日本電信電話株式会社 | DDoS検知装置および方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109981691A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981691B (zh) | 一种面向SDN控制器的实时DDoS攻击检测系统与方法 | |
Mohammed et al. | Machine learning and deep learning based traffic classification and prediction in software defined networking | |
WO2021227322A1 (zh) | 一种SDN环境DDoS攻击检测防御方法 | |
Wang et al. | A framework for QoS-aware traffic classification using semi-supervised machine learning in SDNs | |
Alkasassbeh et al. | Detecting distributed denial of service attacks using data mining techniques | |
CN105871832A (zh) | 一种基于协议属性的网络应用加密流量识别方法及其装置 | |
Khedr et al. | FMDADM: A multi-layer DDoS attack detection and mitigation framework using machine learning for stateful SDN-based IoT networks | |
Soleymanpour et al. | CSCNN: cost-sensitive convolutional neural network for encrypted traffic classification | |
CN111224994A (zh) | 一种基于特征选择的僵尸网络检测方法 | |
CN114401516B (zh) | 一种基于虚拟网络流量分析的5g切片网络异常检测方法 | |
CN113660209B (zh) | 一种基于sketch与联邦学习的DDoS攻击检测系统及应用 | |
Ghalehgolabi et al. | Intrusion detection system using genetic algorithm and data mining techniques based on the reduction | |
CN113923041A (zh) | 一种SDN网络下DDoS攻击流量识别检测方法 | |
CN112039906A (zh) | 一种面向云计算的网络流量异常检测系统及方法 | |
CN114785548B (zh) | 流量智能监测平台 | |
CN116319437A (zh) | 一种网络连通性检测方法及装置 | |
Wang et al. | Abnormal traffic detection system in SDN based on deep learning hybrid models | |
CN117014182A (zh) | 一种基于lstm的恶意流量检测方法及装置 | |
CN106372171B (zh) | 监控平台实时数据处理方法 | |
US11848959B2 (en) | Method for detecting and defending DDoS attack in SDN environment | |
CN116614267A (zh) | 基于神经网络的DDos攻击云边协作防御方法与系统 | |
Oo et al. | Analysis of features dataset for DDoS detection by using ASVM method on software defined networking | |
CN115987643A (zh) | 一种基于lstm和sdn的工控网络入侵检测方法 | |
Kozlowski et al. | A New Method of Testing Machine Learning Models of Detection for Targeted DDoS Attacks. | |
CN115473688A (zh) | 面向软件定义网络的异常检测方法、装置及设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230725 Address after: 13F, Hongri Building, 200m north of the intersection of Beijing Road and Shuhe Road, Liuqing Street, Lanshan District, Linyi City, Shandong Province 276000 Patentee after: Government Energy Finance and Taxation (Shandong) Cloud Technology Co.,Ltd. Address before: 264005 191 Binhai Middle Road, Laishan District, Yantai, Shandong Patentee before: SHANDONG INSTITUTE OF BUSINESS AND TECHNOLOGY |
|
TR01 | Transfer of patent right |