CN109120630B - 一种基于优化BP神经网络的SDN网络DDoS攻击检测方法 - Google Patents

一种基于优化BP神经网络的SDN网络DDoS攻击检测方法 Download PDF

Info

Publication number
CN109120630B
CN109120630B CN201811019356.4A CN201811019356A CN109120630B CN 109120630 B CN109120630 B CN 109120630B CN 201811019356 A CN201811019356 A CN 201811019356A CN 109120630 B CN109120630 B CN 109120630B
Authority
CN
China
Prior art keywords
neural network
flow
value
particle
layer
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
Application number
CN201811019356.4A
Other languages
English (en)
Other versions
CN109120630A (zh
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.)
Shanghai Maritime University
Original Assignee
Shanghai Maritime University
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 Shanghai Maritime University filed Critical Shanghai Maritime University
Priority to CN201811019356.4A priority Critical patent/CN109120630B/zh
Publication of CN109120630A publication Critical patent/CN109120630A/zh
Application granted granted Critical
Publication of CN109120630B publication Critical patent/CN109120630B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提出一种基于优化BP神经网络的SDN网络DDoS攻击检测方法,较为全面地提取SDN网络环境下流表中与DDoS相关的六个特征值,源IP地址增速GSIP,流生存时间的变化ADF,对流比PPF,端口增速GSP,流表项速率RFE,流匹配成功率RFM;通过设置触发阈值减少SDN网络的负载,用粒子群算法优化BP神经网络,利用粒子群算法全局寻优的特点,选择BP神经网络的均方误差作为粒子群算法的适应度函数,选择适应度值最好的值作为BP神经网络的阈值和权值,避免BP神经网络求解最优解时收敛速度慢,陷入局部最优解,而且提高检测精度。

Description

一种基于优化BP神经网络的SDN网络DDoS攻击检测方法
技术领域
本发明涉及DDoS攻击检测技术,具体涉及一种基于优化BP神经网络的SDN网络DDoS攻击检测方法。
背景技术
分布式拒绝服务(Distributed Denial of Service,DDoS)攻击是当前互联网面临的主要威胁之一。DDoS攻击发起者首先利用互联网用户的漏洞,收集大量的傀儡机,然后协同调度这些傀儡机同时伪造数据,发送非法请求导致目标主机瘫痪。这造成大量用户的个人信息泄露,给多家企业带了经济损失。现有DDoS攻击检测主要针对传统网络的架构,而软件定义网络是一种当前出现的新型网络架构,实现了网络控制平面和数据平面的分离,在可编程性、硬件通用性和管理控制方面具有一定的优势。但是正因为控制平面和数据平面相解耦,所以当交换机和控制器发生连接失败时,网络就会失去控制,因此控制器安全是整个SDN网络安全保障之一,而DDoS攻击是控制器安全的威胁之一,如何检测准确DDoS攻击是SDN安全是至关重要的。
现有的方法中,虽然提出大量有效的DDoS攻击检测方法,但是仅仅使用了网络流的交互特征,判断的全面性不够,或者检测模型的收敛速度慢,训练时间长,所用算法并没有得到最优解,检测结果的准确率低。
发明内容
针对现有攻击检测方法的不足,本发明提出一种基于优化BP神经网络的SDN网络DDoS攻击检测方法,较为全面地提取SDN网络环境下流表中的特征值,通过设置触发阈值较少SDN网络的负载,用粒子群算法优化BP神经网络,避免BP神经网络求解最优解时收敛速度慢,陷入局部最优解,而且提高检测精度。
本发明的技术方案在于提供一种基于优化BP神经网络的SDN网络DDoS攻击检测方法,包括以下步骤:
步骤1、软件定义网络SDN(Software Defined Network)控制器内部的流表收集模块定期地向OpenFlow交换机发送流表请求,OpenFlow交换机将流表信息通过安全通道发送给SDN控制器内的特征提取模块,定期获取时间间隔为T;
其中,OpenFlow交换机在SDN网络中负责根据流表转发数据包,由流表、SDN控制器和OpenFlow交换机进行通信的安全通道、OpenFlow协议三部分组成;
步骤2、SDN控制器内的特征提取模块对获取到的流表信息进行数据分析处理,提取流表信息并转换为六项与DDoS攻击相关的一维特征信息,组成六元组样本特征序列S”,包括:源IP地址增速GSIP,流生存时间的变化ADF,对流比PPF,端口增速GSP,流表项速率RFE,流匹配成功率RFM;
步骤3、初始化BP神经网络算法的参数,将输入层和隐含层、隐含层和输出层之间的权值和阈值作为粒子群算法的优化目标;
步骤4、初始化粒子群算法的参数,计算适应度值,获取粒子个体最优位置和全局最优位置,满足粒子迭代次数k=kmax,输出全局最优位置;
步骤5、粒子群优化的BP神经网络接收训练样本并进行反复训练,得到最终用于DDoS攻击检测的最优模型;
步骤6、SDN控制器设置触发阈值,一旦实时收集到的数据流特征序列S”中任意一个特征值超过触发阈值时认为是疑似攻击点,激活通过粒子群优化的BP神经网络对实时对数据流数据包进行DDoS攻击检测;
步骤7、若检测结果为DDoS攻击,SDN控制器内的攻击检测模块则向SDN控制器发出攻击警告,SDN控制器向防火墙发送指令更改防火墙配置,同时命令OpenFlow交换机更改流表项相关配置,丢弃攻击数据包。
进一步的,所述步骤3的具体过程为:
3-1初始化输入层和隐含层、隐含层和输出层之间的权值和阈值;
3-2在BP神经网络中,输入训练样本向量X=(x1,x2,...,xn),输入层、隐含层、输出层神经元的个数分别为n,p,q,隐含层神经元的输出值由式(1)计算:
Figure BDA0001786939240000031
其中,wij是输入层第i神经元与隐含层第j个神经元的权值,θj为隐含层第j个神经元的阈值;
输出层神经元的输出值由公式(2)算:
Figure BDA0001786939240000032
其中,vjt是隐含层第j神经元与输出层第t个神经元的权值,rt为输出层第t个神经元的阈值;
其中,f(x)为神经元之间的激励函数,如下面公式(3)所示:
Figure BDA0001786939240000033
3-3对每个训练样本,计算实际实际输出值和期望输出值之间的均方误差,如公式(4)所示:
Figure BDA0001786939240000034
其中
Figure BDA0001786939240000035
为输出层的期望输出值,
Figure BDA0001786939240000036
为输出层实际输出值,k表示第k个训练样本;
3-4根据均方误差,按下面公式(5)和公式(6)调整输入层和隐含层、隐含层和输出层之间的权值和阈值。
Figure BDA0001786939240000041
Figure BDA0001786939240000042
其中,η是训练时给定的学习率;
3-5通过上一步计算输入层和隐含层、隐含层和输出层之间的新权值和新阈值;
3-6重复上述步骤,用BP神经网络算法训练直到输出结果的误差达到设定限定精度值。
进一步的,所述步骤4的具体过程为:
4-1初始化种群大小为M,每个粒子的维度为D,随机产生初始粒子的位置Xi=(xi1,xi2,...,xiD)T,(i=1,2,3...M)和速度Vi=(vi1,vi2,...,viD)T,在迭代过程中,要保证x∈[xmin,xmax]和v∈[vmin,vmax],设置最大迭代次数kmax和终止条件;
4-2根据适应度函数F(x),计算每个粒子的适应度值Fi(x),存储每个粒子的位置和适应度于个体最优位置,将所有中适应度最优的个体的位置和适应度存储于全局最优位置;
其中,第i个粒子的个体最优位置记为Pi=(Pi1,Pi2,Pi3,...,PiD)T,所有粒子的全局最优位置记为Pg=(Pg1,Pg2,Pg3,...,PgD)T
4-3判断是否满足终止条件,如果不满足,利用下面公式(7)和公式(8)更新粒子的速度和位置;
Figure BDA0001786939240000043
其中,k表示当前迭代第k次,w为惯性权重,c1为局部加速因子,c2为全局加速因子,r1,r2是[0,1]区间上的随机数,j=1,2,...D;
Figure BDA0001786939240000051
每次更新粒子的速度和位置时,利用下面公式(9)确定各个参数的取值:
wk=[(w0-w1)cos(πk/kmax)+(w0+w1)]/2
Figure BDA0001786939240000052
Figure BDA0001786939240000053
其中,w0、w1分别表示w的起始取值和终止取值;c10、c11分别表示c1的起始取值和终止取值;c20、c21分别表示c2的起始取值和终止取值,参数的计算保证了迭代过程中能够快速求取最优解,而不陷入局部搜索中;
4-4重新计算每个粒子的适应度值;
4-5根据适应度函数,利用下面公式(10)和公式(11)更新每个粒子的个体最优位置Pi=(Pi1,Pi2,Pi3,...,PiD)T和全局最优位置Pg=(Pg1,Pg2,Pg3,...,PgD)T
Figure BDA0001786939240000054
Figure BDA0001786939240000055
4-6重复上述步骤,直至满足粒子迭代次数k=kmax,输出全局最优位置pg
进一步的,所述步骤5的具体过程为:
5-1在SDN控制器内的数据训练模块中,粒子群优化的BP神经网络接收训练样本,确定BP神经网络输入层、隐含层、输出层神经元的个数;
5-2初始化BP神经网络网络结构,确定BP神经网络和粒子群算法的相关参数;
其中,BP神经网络采用三层神经网络结构,粒子群算法中粒子的维度D为公式(12)所示:
D=DinDh+DhDout+Dh+Dout (12)
其中,Din、Dh、Dout分别为输入层、隐含层、输出层的神经元个数;
5-3随机产生初始粒子的位置和速度;
5-4训练BP神经网络,将实际输出值和期望输出值之间的均方误差作为粒子群算法的适应度函数,如公式(13)所示,计算每个粒子的适应度值;
Figure BDA0001786939240000061
其中
Figure BDA0001786939240000062
为输出层的期望输出值,
Figure BDA0001786939240000063
为输出层实际输出值,Dout为输出层的神经元个数;
5-5得到每个粒子的个体最优位置Pi和所有粒子的全局最优位置Pg
5-6根据公式(7)和公式(8)更新每个粒子的速度和位置;
5-7判断是否符合粒子群算法终止条件,如果符合,停止迭代,保存结果,转到下一步,否则转到步骤4;
5-8将得到的全局最优值作为BP神经网络的权值和阈值;
5-9用BP神经网络算法训练直到输出结果的误差达到限定精度值。
进一步的,所述步骤6的具体过程为:
6-1SDN控制器的攻击检测模块设置:
TriStrgy(GSIP,ADF,PPF,GSP,PFE,RFM)为触发策略,触发阈值;
6-2SDN控制器设置alarm=0,当S”中任意一个特征值超过阈值时,认为是疑似攻击点,设置alarm=1,激活粒子群优化的BP神经网络检测方法;
6-3粒子群优化的BP神经网络实时对数据流进行DDoS攻击检测。
进一步的,所述步骤7的具体过程为:
7-1若检测结果为DDoS攻击,则SDN控制器的攻击检测模块设置alarm=2,向SDN控制器发出攻击警告;
7-2SDN控制器向防火墙发送指令更改防火墙配置,同时命令OpenFlow交换机更改流表项相关配置,丢弃攻击数据流数据包。
与现有技术相比,本发明具有以下优点:
本发明提出的一种基于优化BP神经网络的SDN网络DDoS攻击检测方法,较为全面地提取SDN网络环境下流表中与DDos相关的六个特征值,通过设置触发阈值减少SDN网络的负载,用粒子群算法优化BP神经网络,利用粒子群算法全局寻优的特点,选择BP神经网络的均方误差作为粒子群算法的适应度函数,选择适应度值最好的值作为BP神经网络的阈值和权值,避免BP神经网络求解最优解时收敛速度慢,陷入局部最优解,而且提高检测精度。
附图说明
图1为本发明的攻击检测方法的流程示意图;
图2为本发明的基于粒子群优化BP神经网络算法流程图;
图3为本发明的BP神经网络结构图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本方案的保护范围不局限于所述实施例。
以下结合实施例和附图对本发明做进一步说明。
如图1所示,一种基于优化BP神经网络的SDN网络DDoS攻击检测方法,包含以下步骤:
步骤1、软件定义网络SDN(SoftwareDefinedNetwork)控制器内部的流表收集模块定期地向OpenFlow交换机发送流表请求,定期获取时间间隔为T(示例的T为3秒);OpenFlow交换机将流表信息通过安全通道发送给SDN控制器内的特征提取模块。
其中,OpenFlow交换机在SDN网络中负责根据流表转发数据包,由流表,DN控制器和OpenFlow交换机进行通信的安全通道,OpenFlow协议三部分组成。
步骤2、SDN控制器内的特征提取模块对获取到的流表信息进行数据分析处理,可以分析出单位时间内网络流量分布特性的变化,提取流表信息并转换为六项与DDoS攻击相关的一维特征信息,组成六元组样本特征序列S”。
步骤3、初始化BP神经网络算法的参数,将输入层和隐含层、隐含层和输出层之间的权值和阈值作为粒子群算法的优化目标。
步骤4、初始化粒子群算法的参数,计算适应度值,获取粒子个体最优位置和全局最优位置,满足粒子迭代次数k=kmax,输出全局最优位置。
步骤5、粒子群优化的BP神经网络接收训练样本并进行反复训练,得到最终用于DDoS攻击检测的最优模型。
步骤6、SDN控制器设置触发阈值,一旦实时收集到的样本特征序列S”中任意一个特征值超过触发阈值时认为是疑似攻击点,激活通过粒子群优化的BP神经网络实时数据流进行DDoS攻击检测。
步骤7、若检测结果为DDoS攻击,SDN控制器内的攻击检测模块则向SDN控制器发出攻击警告,SDN控制器向防火墙发送指令更改防火墙配置,同时命令OpenFlow交换机更改流表项相关配置,丢弃攻击数据包。
其中,步骤2所述的六元组样本特征序列S”,包括:源IP地址增速GSIP,流生存时间的变化ADF,对流比PPF,端口增速GSP,流表项速率RFE,流匹配成功率RFM。
源IP地址增速GSIP,即为单位时间内源IP地址的增加数量:
Figure BDA0001786939240000081
其中,QIP为源IP数量,T为采样时间间隔,在DDoS攻击中,伪造源IP地址发送大量的数据包,源IP地址会快速增加。
流生存时间的变化ADF,即为单位时间内流规格的生存持续时间相对变化程度:
Figure BDA0001786939240000082
其中,Tdur为流生存时间,Tfow为流的总时间。流表项中,大量的异常流会导致流生存持续时间会减少。
对流比PPF,即流表对比流量占总流量的比例:
Figure BDA0001786939240000083
其中,Fpair为网络中交互流的数量,Fsum为流的总数,在DDoS攻击中,伪造的源IP地址无法提供正常的服务。
端口增速GSP,即单位时间内攻击源端口数量的增长速度:
Figure BDA0001786939240000091
其中,Sport为攻击源端口的增加数量。
流表项速率RFE,即单位时间流表项的增长速度:
Figure BDA0001786939240000092
其中,Sflow为流表项的总数,DDoS攻击发生时,SDN控制器会快速地产生大量的流表信息请求。
流匹配成功率RFM,即为流量中匹配成功的数据包流量占总数量的比例:
Figure BDA0001786939240000093
其中,Mpacket为匹配成功的数据包数量,Spacket为数据包总数。DDoS攻击发生时,数据包的匹配成功率会下降。
如图2所示,基于粒子群优化BP神经网络算法流程如下:
1.在SDN控制器内的数据训练模块中,粒子群优化的BP神经网络接收训练样本,确定BP神经网络输入层为6,隐含层个数可以更改设置,输出层神经元的个数为1个,输出时正常攻击还是异常攻击,
隐含层神经元的输出值由式(1)计算:
Figure BDA0001786939240000094
其中,wij是输入层第i神经元与隐含层第j个神经元的权值,θj为隐含层第j个神经元的阈值。
输出层神经元的输出值由公式(2)计算:
Figure BDA0001786939240000095
其中,vjt是隐含层第j神经元与输出层第t个神经元的权值,rt为输出层第t个神经元的阈值;
其中,f(x)为神经元之间的激励函数,如下面公式(3)所示:
Figure BDA0001786939240000096
2.初始化BP神经网络网络结构,确定BP神经网络和粒子群算法的相关参数;
其中,如图3所示采用三层神经网络结构,每个个体粒子都包括输入层与隐含层、隐含层与输出层的连接权值以及输出层和隐含层的阈值,粒子的维度D为公式(12)所示:
D=DinDh+DhDout+Dh+Dout (12)
其中,Din、Dh、Dout分别为输入层、隐含层、输出层的神经元个数。
3.随机产生初始粒子的位置Xi=(xi1,xi2,...,xiD)T,(i=1,2,3...n)和速度Vi=(vi1,vi2,...,viD)。
4.训练BP神经网络,将实际输出值和期望输出值之间的均方误差作为粒子群算法的适应度函数,如公式(13)所示,计算每个粒子的适应度值;
Figure BDA0001786939240000101
其中
Figure BDA0001786939240000102
为输出层的期望输出值,
Figure BDA0001786939240000103
为输出层实际输出值。
5.得到每个粒子的个体最优位置Pi和所有粒子的全局最优位置Pg
6.根据公式(7)和公式(8)更新每个粒子的速度和位置;
Figure BDA0001786939240000104
Figure BDA0001786939240000105
其中,k表示当前迭代第k次,设置最大迭代次数kmax为300,w为惯性权重设置为1,c1为局部加速因子设置为1.4,c2为全局加速因子设置为1.6,r1,r2是[0,1]区间上的随机数,j=1,2,...D;
其中,每次更新粒子的速度和位置时,用公式(9)确定各个参数的取值:
wk=[(w0-w1)cos(πk/kmax)+(w0+w1)]/2
Figure BDA0001786939240000106
Figure BDA0001786939240000107
其中,w0=1、w1=0.1;c10=2.5、c11=1.25;c20=0.5、c21=2.5,参数的计算保证了迭代过程中能够快速求取最优解,而不陷入局部搜索中。
7.判断是否符合粒子群算法终止条件,如果满足,转到下一步,否则转到步骤4并且根据公式(10)和公式(11)更新Pi=(Pi1,Pi2,Pi3,...,PiD)T和Pg=(Pg1,Pg2,Pg3,...,PgD)T的取值,重复迭代操作;
Figure BDA0001786939240000111
Figure BDA0001786939240000112
8.将得到的全局最优值作为BP神经网络的权值和阈值。
9.用BP神经网络算法训练直到输出结果的误差达到限定精度值。
步骤6的具体实施过程如下:
6-1.SDN控制器的攻击检测模块设置
TriStrgy(GSIP,ADF,PPF,GSP,PFE,RFM)为触发策略,触发阈值;
6-2.SDN控制器的攻击检测模块表示设置alarm=0,当S”中任意一个特征值超过阈值时,认为是疑似攻击点,设置alarm=1,激活粒子群优化的BP神经网络检测方法;
6-3.粒子群优化的BP神经网络实时对数据流进行DDoS攻击检测。
进一步的,所述触发阈值的选取依据是异常训练样本的特征值,具体过程为:对每个特征值进行统计,并对其进行归一化处理,统计其区间,从区间内选取PR曲线上最接近对角线的点作为触发阈值;
PR曲线刻画查准率和查全率之间的关系,查准率是在所有的预测结果为DDoS攻击的数据中,真正结果为DDoS攻击的数据所占比例,查全率是预测结果和真实结果都为DDoS攻击的数据占所有检测结果为DDoS攻击的数据的比例。
步骤7的具体实施过程如下:
7-1.若检测结果为DDoS攻击,则SDN控制器的攻击检测模块设置alarm=2,向SDN控制器发出攻击警告;
7-2.SDN控制器向防火墙发送指令更改防火墙配置,同时命令OpenFlow交换机更改流表项相关配置,丢弃攻击数据流数据包。
综上所述,本发明通过提取SDN网络流量的相关属性并设置触发阈值,减轻了网络负载;同时,采用粒子群优化的BP神经网络进行DDoS攻击检测,具有攻击检测准确率高的优点。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (6)

1.一种基于优化BP神经网络的SDN网络DDoS攻击检测方法,其特征在于,包括以下步骤:
步骤1、SDN控制器内部的流表收集模块定期地向OpenFlow交换机发送流表请求,OpenFlow交换机将流表信息通过安全通道发送给SDN控制器内的特征提取模块;
其中,OpenFlow交换机在SDN网络中根据流表转发数据包,由流表,SDN控制器和OpenFlow交换机进行通信的安全通道,OpenFlow协议三部分组成;
步骤2、SDN控制器内的特征提取模块对获取到的流表信息进行数据分析处理,提取流表信息并转换为六项与DDoS攻击相关的一维特征信息,组成六元组样本特征序列S”,包括:源IP地址增速GSIP,流生存时间的变化ADF,对流比PPF,端口增速GSP,流表项速率RFE,流匹配成功率RFM;
步骤3、初始化BP神经网络算法的参数,将输入层和隐含层、隐含层和输出层之间的权值和阈值作为粒子群算法的优化目标;
所述步骤3进一步包含以下过程:
3-1初始化输入层和隐含层、隐含层和输出层之间的权值和阈值;
3-2在BP神经网络中,输入训练样本向量X=(x1,x2,...,xn),输入层、隐含层、输出层神经元的个数分别为n,p,q,隐含层神经元的输出值由式(1)计算:
Figure FDF0000017143510000011
其中,wij是输入层第i神经元与隐含层第j个神经元的权值,θj为隐含层第j个神经元的阈值;
输出层神经元的输出值由公式(2)计算:
Figure FDF0000017143510000021
其中,vjt是隐含层第j神经元与输出层第t个神经元的权值,rt为输出层第t个神经元的阈值;
其中,f(x)为神经元之间的激励函数,如下面公式(3)所示:
Figure FDF0000017143510000022
3-3对每个训练样本,计算实际实际输出值和期望输出值之间的均方误差,如公式(4)所示:
Figure FDF0000017143510000023
其中
Figure FDF0000017143510000024
为输出层的期望输出值,
Figure FDF0000017143510000025
为输出层实际输出值,k表示第k个训练样本;
3-4根据均方误差,按下面公式(5)和公式(6)调整输入层和隐含层、隐含层和输出层之间的权值和阈值;
Figure FDF0000017143510000031
Figure FDF0000017143510000032
其中,η是训练时给定的学习率;
3-5通过上一步计算输入层和隐含层、隐含层和输出层之间的新权值和新阈值;
3-6重复上述步骤,用BP神经网络算法训练直到输出结果的误差达到限定精度值;
步骤4、初始化粒子群算法的参数,计算适应度值,获取粒子个体最优位置和全局最优位置,满足粒子迭代次数k=kmax,输出全局最优位置pg
所述步骤4进一步包含以下过程:
4-1初始化种群大小为M,每个粒子的维度为D,随机产生初始粒子的位置Xi=(xi1,xi2,...,xiD)T,(i=1,2,3...M)和速度Vi=(vi1,vi2,...,viD)T,在迭代过程中,要保证x∈[xmin,xmax]和v∈[vmin,vmax],设置最大迭代次数kmax和终止条件;
4-2根据适应度函数F(x),计算每个粒子的适应度值Fi(x),存储每个粒子的位置和适应度于个体最优位置Pi,将所有Pi中适应度最优的个体的位置和适应度存储于Pg全局最优位置;
其中,第i个粒子的个体最优位置记为Pi=(Pi1,Pi2,Pi3,...,PiD)T,所有粒子的全局最优位置记为Pg=(Pg1,Pg2,Pg3,...,PgD)T
4-3判断是否满足终止条件,如果不满足,利用下面公式(7)和公式(8)更新粒子的速度和位置;
Figure FDF0000017143510000041
其中,k表示当前迭代第k次,w为惯性权重,c1为局部加速因子,c2为全局加速因子,r1,r2是[0,1]区间上的随机数,j=1,2,...D;
Figure FDF0000017143510000042
每次更新粒子的速度和位置时,利用下面公式(9)确定各个参数的取值:
Figure FDF0000017143510000043
其中,w0、w1分别表示w的起始取值和终止取值;c10、c11分别表示c1的起始取值和终止取值;c20、c21分别表示c2的起始取值和终止取值,参数的计算保证了迭代过程中能够快速求取最优解,而不陷入局部搜索中;
4-4重新计算每个粒子的适应度值;
4-5根据适应度函数F(x),利用下面公式(10)和公式(11)更新每个粒子的个体最优位置Pi=(Pi1,Pi2,Pi3,...,PiD)T和全局最优位置Pg=(Pg1,Pg2,Pg3,...,PgD)T
Figure FDF0000017143510000044
Figure FDF0000017143510000045
4-6重复上述步骤,直至满足粒子迭代次数k=kmax,输出全局最优位置pg
步骤5、粒子群优化的BP神经网络接收训练样本并进行反复训练,得到最终用于DDoS攻击检测的最优模型;
所述步骤5进一步包含以下过程:
5-1在SDN控制器内的数据训练模块中,粒子群优化的BP神经网络接收训练样本,确定BP神经网络输入层、隐含层、输出层神经元的个数;
5-2初始化BP神经网络网络结构,确定BP神经网络和粒子群算法的相关参数;
其中,BP神经网络采用三层神经网络结构,粒子群算法中粒子的维度D为公式(12)所示:
D=DinDh+DhDout+Dh+Dout (12)
其中,Din、Dh、Dout分别为输入层、隐含层、输出层的神经元个数;
5-3随机产生初始粒子的位置和速度;
5-4训练BP神经网络,将实际输出值和期望输出值之间的均方误差作为粒子群算法的适应度函数,如公式(13)所示,计算每个粒子的适应度值:
Figure FDF0000017143510000051
其中
Figure FDF0000017143510000052
为输出层的期望输出值,
Figure FDF0000017143510000053
为输出层实际输出值,Dout为输出层的神经元个数;
5-5确定每个粒子的个体最优位置Pi和所有粒子的全局最优位置Pg
5-6根据公式(7)和公式(8)更新每个粒子的速度和位置;
5-7判断是否符合粒子群算法终止条件,如果满足,保存结果,转到下一步,否则转到步骤4并且根据公式(10)和公式(11)更新Pg和Pi的取值,重复迭代操作;
5-8将得到的全局最优值作为BP神经网络的权值和阈值;
5-9用BP神经网络算法训练直到输出结果的误差达到限定精度值;
步骤6、SDN控制器设置触发阈值,一旦实时收集到的数据流特征序列S”中任意一个特征值超过触发阈值时认为是疑似攻击点,激活通过粒子群优化的BP神经网络实时对数据流数据包进行DDoS攻击检测;
步骤7、若检测结果为DDoS攻击,则向SDN控制器发出攻击警告,SDN控制器向防火墙发送指令更改防火墙配置,同时命令OpenFlow交换机更改流表项相关配置,丢弃攻击数据包。
2.根据权利要求1所述的一种基于优化BP神经网络的SDN网络DDoS攻击检测方法,其特征在于:
所述步骤1中,SDN控制器内部的流表收集模块定期地向OpenFlow交换机发送流表请求,定期获取时间间隔T为3秒。
3.根据权利要求1所述的一种基于优化粒子群优化BP神经网络的SDN网络DDoS攻击检测方法,其特征在于:在步骤2的六元组样本特征序列中,
源IP地址增速GSIP,为单位时间内源IP地址的增加数量:
Figure FDF0000017143510000061
其中,QIP为源IP数量,T为采样时间间隔;
流生存时间的变化ADF,为单位时间内流规格的生存持续时间相对变化程度:
Figure FDF0000017143510000071
其中,Tdur为流生存时间,Tfow为流的总时间;
对流比PPF,为流表对比流量占总流量的比例:
Figure FDF0000017143510000072
其中,Fpair为网络中交互流的数量,Fsum为流的总数;
端口增速GSP,为单位时间内攻击源端口数量的增长速度:
Figure FDF0000017143510000073
其中,Sport为攻击源端口的增加数量;
流表项速率RFE,为单位时间流表项的增长速度:
Figure FDF0000017143510000074
其中,Sflow为流表项的总数;
流匹配成功率RFM,为流量中匹配成功的数据包流量占总数量的比例:
Figure FDF0000017143510000075
其中,Mpacket为匹配成功的数据包数量,Spacket为数据包总数。
4.根据权利要求1所述的SDN环境下基于粒子群优化BP神经网络的DDoS攻击检测方法,其特征在于:所述步骤6中进一步包含以下过程:
6-1、SDN控制器的攻击检测模块设置
TriStrgy(GSIP,ADF,PPF,GSP,PFE,RFM)为触发策略,触发阈值;
6-2、SDN控制器设置alarm=0,当S”中任意一个特征值超过阈值时,认为是疑似攻击点,设置alarm=1,激活粒子群优化的BP神经网络检测方法;
6-3、粒子群优化的BP神经网络实时对数据流进行DDoS攻击检测。
5.根据权利要求1所述的一种基于优化BP神经网络的SDN网络DDoS攻击检测方法,其特征在于:所述步骤7中进一步包含以下过程:
7-1、若检测结果为DDoS攻击,则SDN控制器的攻击检测模块设置alarm=2,向SDN控制器发出攻击警告;
7-2、SDN控制器向防火墙发送指令更改防火墙配置,同时命令OpenFlow交换机更改流表项相关配置,丢弃攻击数据流数据数据包。
6.根据权利要求1-5中任意一项所述的一种基于优化BP神经网络的SDN网络DDoS攻击检测方法,其特征在于:
所述触发阈值的选取依据是异常训练样本的特征值,选取的过程为:
对每个特征值进行统计,并对其进行归一化处理,统计其区间,从区间内选取PR曲线上最接近对角线的点作为触发阈值;
PR曲线刻画查准率和查全率之间的关系,查准率是在所有的预测结果为DDoS攻击的数据中,真正结果为DDoS攻击的数据所占比例,查全率是预测结果和真实结果都为DDoS攻击的数据占所有检测结果为DDoS攻击的数据的比例。
CN201811019356.4A 2018-09-03 2018-09-03 一种基于优化BP神经网络的SDN网络DDoS攻击检测方法 Active CN109120630B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811019356.4A CN109120630B (zh) 2018-09-03 2018-09-03 一种基于优化BP神经网络的SDN网络DDoS攻击检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811019356.4A CN109120630B (zh) 2018-09-03 2018-09-03 一种基于优化BP神经网络的SDN网络DDoS攻击检测方法

Publications (2)

Publication Number Publication Date
CN109120630A CN109120630A (zh) 2019-01-01
CN109120630B true CN109120630B (zh) 2022-08-02

Family

ID=64860502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811019356.4A Active CN109120630B (zh) 2018-09-03 2018-09-03 一种基于优化BP神经网络的SDN网络DDoS攻击检测方法

Country Status (1)

Country Link
CN (1) CN109120630B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011983B (zh) * 2019-03-19 2021-02-19 中国民航大学 一种基于流表特征的拒绝服务攻击检测方法
CN110082717A (zh) * 2019-04-30 2019-08-02 上海海事大学 一种水下无线传感器节点定位方法
CN110489972A (zh) * 2019-06-26 2019-11-22 中电万维信息技术有限责任公司 电子政务***的安全评估方法及相关设备
CN110460880B (zh) * 2019-08-09 2021-08-31 东北大学 基于粒子群和神经网络的工业无线流媒体自适应传输方法
CN110535723B (zh) * 2019-08-27 2021-01-19 西安交通大学 一种sdn中采用深度学习的消息异常检测方法
CN111294342A (zh) * 2020-01-17 2020-06-16 深圳供电局有限公司 一种软件定义网络中DDos攻击的检测方法及***
CN111740950A (zh) * 2020-05-13 2020-10-02 南京邮电大学 一种SDN环境DDoS攻击检测防御方法
CN111917781A (zh) * 2020-08-05 2020-11-10 湖南匡楚科技有限公司 一种智能内部恶意行为网络攻击识别方法及电子设备
CN112087339A (zh) * 2020-09-16 2020-12-15 江苏省未来网络创新研究院 一种基于sdn的新型网络预测算法
CN112653687B (zh) * 2020-12-17 2022-04-01 贵州大学 DDoS检测环境下差分进化的SDN网络特征提取方法
CN112738049B (zh) * 2020-12-23 2023-04-07 国网河北省电力有限公司电力科学研究院 一种扫描策略调整方法、装置、电子设备和存储介质
CN112651369A (zh) * 2020-12-31 2021-04-13 南京视察者智能科技有限公司 一种监控场景下行人识别的方法及装置
CN113192569B (zh) * 2021-05-11 2024-05-28 南京工程学院 基于改进粒子群和误差反馈神经网络的有害气体监测方法
CN114745174A (zh) * 2022-04-11 2022-07-12 中国南方电网有限责任公司 电网设备的接入验证***和方法
CN114978667B (zh) * 2022-05-17 2024-02-09 安捷光通科技成都有限公司 一种基于图神经网络的SDN网络DDoS攻击检测方法
CN115941322B (zh) * 2022-12-07 2024-05-24 中国平安财产保险股份有限公司 基于人工智能的攻击检测方法、装置、设备及存储介质
CN116827690A (zh) * 2023-08-29 2023-09-29 天津市亿人科技发展有限公司 基于分布式的抗DDoS攻击及云WAF防御方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821002A (zh) * 2011-06-09 2012-12-12 ***通信集团河南有限公司信阳分公司 网络流量异常检测方法和***
CN104050505A (zh) * 2013-03-11 2014-09-17 江南大学 一种基于带学习因子蜂群算法的多层感知器训练方法
CN106023195A (zh) * 2016-05-18 2016-10-12 河南师范大学 基于自适应遗传算法的bp神经网络图像分割方法及装置
CN106657107A (zh) * 2016-12-30 2017-05-10 南京邮电大学 一种SDN中基于信任值的自适应启动的ddos防御方法和***
CN108123931A (zh) * 2017-11-29 2018-06-05 浙江工商大学 一种软件定义网络中的DDoS攻击防御装置及方法
CN108259498A (zh) * 2018-01-24 2018-07-06 湖南科技学院 一种基于人工蜂群优化的bp算法的入侵检测方法及其***
CN108718297A (zh) * 2018-04-27 2018-10-30 广州西麦科技股份有限公司 基于BP神经网络的DDoS攻击检测方法、装置、控制器及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821002A (zh) * 2011-06-09 2012-12-12 ***通信集团河南有限公司信阳分公司 网络流量异常检测方法和***
CN104050505A (zh) * 2013-03-11 2014-09-17 江南大学 一种基于带学习因子蜂群算法的多层感知器训练方法
CN106023195A (zh) * 2016-05-18 2016-10-12 河南师范大学 基于自适应遗传算法的bp神经网络图像分割方法及装置
CN106657107A (zh) * 2016-12-30 2017-05-10 南京邮电大学 一种SDN中基于信任值的自适应启动的ddos防御方法和***
CN108123931A (zh) * 2017-11-29 2018-06-05 浙江工商大学 一种软件定义网络中的DDoS攻击防御装置及方法
CN108259498A (zh) * 2018-01-24 2018-07-06 湖南科技学院 一种基于人工蜂群优化的bp算法的入侵检测方法及其***
CN108718297A (zh) * 2018-04-27 2018-10-30 广州西麦科技股份有限公司 基于BP神经网络的DDoS攻击检测方法、装置、控制器及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SDN下基于深度学习混合模型的DDoS攻击检测与防御;李传煌等;《通信学报》;20180731;第39卷(第7期);正文第3节 *
SDN环境下基于BP神经网络的DDoS攻击检测方法;王晓瑞等;《计算机应用研究》;20180331;第35卷(第3期);正文第1-3节 *

Also Published As

Publication number Publication date
CN109120630A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
CN109120630B (zh) 一种基于优化BP神经网络的SDN网络DDoS攻击检测方法
CN109302378B (zh) 一种SDN网络DDoS攻击检测方法
CN111817982B (zh) 一种面向类别不平衡下的加密流量识别方法
CN109951444B (zh) 一种加密匿名网络流量识别方法
CN106657107B (zh) 一种SDN中基于信任值的自适应启动的ddos防御方法和***
CN107483512B (zh) 基于时间特征的SDN控制器DDoS检测与防御方法
CN107370752B (zh) 一种高效的远控木马检测方法
CN110011983B (zh) 一种基于流表特征的拒绝服务攻击检测方法
CN103023725B (zh) 一种基于网络流量分析的异常检测方法
CN108848095A (zh) SDN环境下基于双熵的服务器DDoS攻击检测与防御方法
US20090282478A1 (en) Method and apparatus for processing network attack
CN107040517A (zh) 一种面向云计算环境的认知入侵检测方法
CN111385145B (zh) 一种基于集成学习的加密流量识别方法
CN109040113B (zh) 基于多核学习的分布式拒绝服务攻击检测方法及装置
CN111600876B (zh) 一种基于mfopa算法的慢速拒绝服务攻击检测方法
CN114615093A (zh) 基于流量重构与继承学习的匿名网络流量识别方法及装置
CN113364787B (zh) 一种基于并联神经网络的僵尸网络流量检测方法
CN111294342A (zh) 一种软件定义网络中DDos攻击的检测方法及***
CN111600878A (zh) 一种基于maf-adm的低速率拒绝服务攻击检测方法
CN116684877A (zh) 一种基于gyac-lstm的5g网络流量异常检测方法及***
CN110351303B (zh) 一种DDoS特征提取方法及装置
CN111600877A (zh) 一种基于MF-Ada算法的LDoS攻击检测方法
CN113630420A (zh) 一种基于SDN的DDoS攻击检测方法
CN108141377B (zh) 网络流早期分类
CN113298125B (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