1.SDN网络中基于神经网络的DDoS检测方法,其特征在于,包括:收集、分析Openflow交换机发送给OpenFlow控制器的packet_in数据包;
对接收到的packet_in包进行数据包的解析,提取出数据包的所有字段及相应的值;
基于三支决策原理,利用朴素贝叶斯的概率模型获得异常警报的阈值,计算数据包所处类型的概率,并根据该概率进行异常报警,即引入一组阈值α和β,当P(T|object)≥α表示是正常的流量,P(T|object)≤β表示是异常流量,β≤P(T|object)≤α表示可疑的流量,其中数据包所处类型的概率表示为:
其中,object表示数据包;T表示数据包为正常;P(T|object)表示数据包为正常情况的概率;P(T)表示数据包为正常情况的先验概率;P(object|T)表示数据包为正常情况的后验概率;P(object)表示全概率;P(objecti|T)表示对于数据包object的每一个属性objecti相互独立的条件下,数据包为正常的概率;n是属性字段的数目;
在异常预警发出时,收集OpenFlow流表信息,并将采集的OpenFlow流表存储到数据库或文件中;
对收集到的流表信息进行处理,提取出原始的特征,结合DDoS攻击特征,构建出多维特征向量组;
对构建出多维特征向量组进行增量学习,通过主成分分析的方法进行空间映射,形成新的特征向量,将新的特征向量将作为深度神经网络的输入,训练得到深度神经网络;
将实时的数据包输入深度神经网络,即可对数据进行DDoS检测,得出攻击类型。
2.根据权利要求1所述的SDN网络中基于神经网络的DDoS检测方法,其特征在于,所述收集、分析Openflow交换机发送给OpenFlow控制器的packet_in数据包包括:对监听的OpenFlow协议的消息进行处理;
收集存储数据包packet‑in的类型;
统计UDP协议的packet‑in的数据包的数目。
3.根据权利要求1所述的SDN网络中基于神经网络的DDoS检测方法,其特征在于,从流表信息中提取出的原始的特征包括持续时间Duration、数据包数目n_packet、数据包字节n_byte、空闲时间idle_timeout、未命中时间Idle_age、协议protocol、源IP地址src_ip、目的IP地址dst_ip、源端口Src_port、目的端口dst‑port;DDoS攻击特征为利用Bagging算法选取出的DDoS攻击特征。
4.根据权利要求1所述的SDN网络中基于神经网络的DDoS检测方法,其特征在于,对构建出多维特征向量组进行增量学习包括:对多维特征向量进行数据标准化以及归一化预处理;
计算预处理之后的多维特征向量的协方差矩阵,表示为:对协方差矩阵进行奇异值分解SVD,最后进行空间映射,得到进行增量学习之后的一些特征;
i
其中,D表示预处理之后的多维特征向量;m表示样本数目;X为第i个样本的向量表示。
5.根据权利要求1所述的SDN网络中基于神经网络的DDoS检测方法,其特征在于,将新的特征向量将作为深度神经网络的输入,训练得到深度神经网络包括:神经网络是由输入层、隐藏层、输出层组成,深度神经网络的训练包括信号的前向传播,即从输入层经过隐藏层、最后到达输出层的传播过程以及误差的反向传播调节隐藏层到输出层的权重和偏置,即从输出层到隐藏层、最后到输入层调节输入层到隐藏层的权重和偏置;
前向传播过程包括神经元接收来自n个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将于神经元的阈值比较,然后通过激活函数处理以产生神经元的输出;
反向传播过程包括以误差平方和作为目标函数进行反向迭代;计算参数的方法则采用梯度下降法,即计算所有参数的梯度;当全局误差小于阈值,则结束训练,否则将继续迭代训练。
6.SDN网络中基于神经网络的DDoS检测系统,其特征在于,包括packet_in信息提取模块、异常预警模块、流表信息收集模块、信息处理模块以及检测模块,其中:packet_in信息提取模块用于提取packet_in包中的源IP地址、目的IP地址信息;
异常预警模块用于三支决策原理,利用朴素贝叶斯的概率模型获得异常警报的阈值,计算数据包所处类型的概率低于阈值,则发出异常预警;
流表信息收集模块用于收集DDoS检测所需要的OpenFlow流表数据;
信息处理模块用于对收集的OpenFlow流表数据进行标准化、归一化、降维的数据操作;
基于深度神经网络的检测模块用于在第一检测阶段发出异常报警之后,利用神经网络的方法进一步进行深入检测,并输出攻击类型。