一种基于BP神经网络的软件定义网络入侵检测方法技术

技术编号:14245362 阅读:201 留言:0更新日期:2016-12-22 01:17
一种基于BP神经网络的软件定义网络入侵检测方法,涉及无线通信网络领域中的SDN网络安全机制。本发明专利技术以实时高效的入侵检测为目标,结合BP神经网络的特点,设计并实现了支持实时检测、动态调整的面向软件定义网络的入侵检测方法。本发明专利技术的入侵检测机制作为SDN网络应用层的网络服务,松耦合于SDN网络的控制平面,并采用BP神经网络作为核心检测单元,在网络运行过程中可离线训练、动态部署,根据网络状态调整系统参数,从而实现动态可扩展的SDN网络入侵检测。本发明专利技术具有网络控制负载小、灵活性高、易于扩展等特点,适用于SDN网络中入侵检测过程。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其是一种基于BP神经网络的应用于软件定义网络(SDN)的入侵检测方法。
技术介绍
随着网络应用复杂度的日益提高,网络攻击方法层出不穷,入侵手段也不断更新,对网络安全机制提出了更高的要求。目前广泛采用的被动网络安全机制对网络攻击难以有效的应对,而入侵检测技术作为—种主动防御技术,弥补了传统安全技术的不足。入侵检测主要通过监控网络系统的状态、行为以及使用状况,来检测网络系统的异常行为及蓄意入侵者利用安全缺陷对系统进行的主动攻击,并采取相应的措施。入侵检测通过提取网络状态特性组成的输入数据序列,经由内部的映射机制,把输入映射到输出分类向量,来确定是否存在入侵,其核心是寻找到一个从输入到输出之间的最佳的映射函数。而人工神经网络本身具有非线性映射能力,能够通过对连续或离散的输入进行非线性映射进行信息处理.因此,人工神经网络非常适用于入侵检测问题的求解。当前发展迅速的软件定义网络为数据通信提供了一种全新的架构,其松耦合的网络平面架构方式及控制平面具备的全局网络视图为入侵检测技术的发展和实施带来了新的挑战,同时也提供了新的机遇。
技术实现思路
本专利技术目的在于提供一种基于BP神经网络技术的网络入侵检测方法,本方法动态构建用于网络入侵检测的BP神经网络,实现了入侵检测的动态部署和灵活调整,提高软件定义网络的安全性。为实现上述目的,本专利技术采用了以下技术方案,一种基于BP神经网络的软件定义网络入侵检测方法,包括如下步骤:(1)利用软件定义网络控制平面的全局网络视图和软件定义网络的工作状态、入侵检测需求及网络安全策略,确定BP神经网络的输入层神经元数量和输出层神经元数量;(2)根据BP神经网络的输入层神经元数量和输出层神经元数量,确定BP神经网络的隐含层神经元数量;(3)根据BP神经网络的初始化参数构建初始BP神经网络;所述的初始参数包括输入层神经元数量、输出层神经元数量和隐含层神经元数量;(4)对初始BP神经网络进行训练,得到用于入侵检测的BP神经网络;(5)在当前入侵检测周期,根据软件定义网络的工作状态和负载情况,在软件定义网络中选择全部或部分网络节点进行实时的入侵检测;(6)根据入侵检测结果完成对参与入侵检测的网络节点的数据流表配置,并通过软件定义网络的控制平面将数据流表下发到参与入侵检测的网络节点;(7)等待进入下一入侵检测周期,将下一入侵检测周期更新为当前入侵检测周期,重复执行步骤(5)和步骤(6)。其中,所述的步骤(4)具体包括以下步骤:(401)在初始BP神经网络中输入训练集,并设定初始BP神经网络的初始链接权值、初始阈值和学习率;所述的训练集的训练样本个数与输入层神经元数量相同,链接权值包括输入层与隐含层之间的链接权值和隐含层与输出层之间的链接权值,阈值包括隐含层神经元的阈值和输出层神经元的阈值;(402)根据训练集和学习率进行多次训练,输出BP神经网络各神经元之间的链接权值及阈值,得到用于入侵检测的BP神经网络。其中,步骤(401)中初始链接权值及初始阈值是在(0,1)范围内随机设定的;η为学习率,η∈(0,1)。其中,所述的步骤(402)具体包括步骤:(a)根据当前参数和输入的训练样本,计算针对该训练样本的输出向量、输出层神经元的梯度项和隐含层神经元的梯度项;所述的参数包括链接权值、阈值和学习率,参数的初始值为初始链接权值、初始阈值和学习率;(b)根据训练样本的输出向量、输出层神经元的梯度项和隐含层神经元的梯度项更新当前BP神经网络中输入层与隐含层之间的链接权值、隐含层与输出层之间的链接权值、隐含层神经元的阈值和输出层神经元的阈值;(c)判断步骤(b)得到的各链接权值和各阈值是否满足预定收敛条件,如果满足预定收敛条件,则结束本流程;否则,返回步骤(a),进行下一轮训练过程。其中,步骤(b)具体为:Δviq=ηeqxi,viq=viq+ΔviqΔwqj=ηgjbq,wqj=wqj+ΔwqjΔγq=-ηeq,γq=γq+ΔγqΔθj=-ηgj,θj=θj+Δθj式中,eq为隐含层第q个神经元的梯度项,gj为输出层第j个神经元的梯度项,bq为隐含层第q个神经元的输出,xi为输入层第i个神经元的输入,viq为输入层与隐含层之间的链接权值,wqj为隐含层与输出层之间的链接权值,γq为隐含层神经元的阈值,θj为输出层神经元的阈值,Δviq为输入层第i个神经元与隐含层第q个神经元之间链接权值的修正值,Δwqj为隐含层第q个神经元与输出层第j个神经元之间链接权值的修正值,Δγq为隐含层第q个神经元输出阈值的修正值,Δθj为输出层第j个神经元输出阈值的修正值。其中,步骤(c)中预定收敛条件为: | Σ k = 1 m E k | ≤ ϵ ]]> E k = 1 2 Σ j = 1 l ( y ^ j k - y j k ) 2 ]]>其中,ε∈(0,1),为预设收敛阈值;为第k个训练样本在本轮计算中的预期输出向量中的第j个分量,为第k个训练样本在本轮计算中得到的输出向量中的第j个分量,m为输入层神经元数量、l为得到的输出向量的长度;Ek为BP神经网络在训练样本上的均方差。其中,步骤(5)所述的入侵检测过程,具体包括以下步骤:(501)从流经参与入侵检测的网络节点的数据中提取网络特征值向量;(502)隐含层中的神经元接收网络特征值向量,并通过计算产生隐含层的输出结果特征值向量;(503)输出层中的神经元接收来自于隐含层的输出结果特征值向量,并通过计算产生最终的检测结果向量。其中,所述的步骤(502)具体为: y j k = Σ i = 1 m v i j x i k ]]> z j k = 1 - exp 本文档来自技高网...
一种基于BP神经网络的软件定义网络入侵检测方法

【技术保护点】
一种基于BP神经网络的软件定义网络入侵检测方法,其特征在于,包括如下步骤:(1)利用软件定义网络控制平面的全局网络视图和软件定义网络的工作状态、入侵检测需求及网络安全策略,确定BP神经网络的输入层神经元数量和输出层神经元数量;(2)根据BP神经网络的输入层神经元数量和输出层神经元数量,确定BP神经网络的隐含层神经元数量;(3)根据BP神经网络的初始化参数构建初始BP神经网络;所述的初始参数包括输入层神经元数量、输出层神经元数量和隐含层神经元数量;(4)对初始BP神经网络进行训练,得到用于入侵检测的BP神经网络;(5)在当前入侵检测周期,根据软件定义网络的工作状态和负载情况,在软件定义网络中选择全部或部分网络节点进行实时的入侵检测;(6)根据入侵检测结果完成对参与入侵检测的网络节点的数据流表配置,并通过软件定义网络的控制平面将数据流表下发到参与入侵检测的网络节点;(7)等待进入下一入侵检测周期,将下一入侵检测周期更新为当前入侵检测周期,重复执行步骤(5)和步骤(6)。

【技术特征摘要】
1.一种基于BP神经网络的软件定义网络入侵检测方法,其特征在于,包括如下步骤:(1)利用软件定义网络控制平面的全局网络视图和软件定义网络的工作状态、入侵检测需求及网络安全策略,确定BP神经网络的输入层神经元数量和输出层神经元数量;(2)根据BP神经网络的输入层神经元数量和输出层神经元数量,确定BP神经网络的隐含层神经元数量;(3)根据BP神经网络的初始化参数构建初始BP神经网络;所述的初始参数包括输入层神经元数量、输出层神经元数量和隐含层神经元数量;(4)对初始BP神经网络进行训练,得到用于入侵检测的BP神经网络;(5)在当前入侵检测周期,根据软件定义网络的工作状态和负载情况,在软件定义网络中选择全部或部分网络节点进行实时的入侵检测;(6)根据入侵检测结果完成对参与入侵检测的网络节点的数据流表配置,并通过软件定义网络的控制平面将数据流表下发到参与入侵检测的网络节点;(7)等待进入下一入侵检测周期,将下一入侵检测周期更新为当前入侵检测周期,重复执行步骤(5)和步骤(6)。2.根据权利要求1所述的一种基于BP神经网络的软件定义网络入侵检测方法,其特征在于,所述的步骤(4)具体包括以下步骤:(401)在初始BP神经网络中输入训练集,并设定初始BP神经网络的初始链接权值、初始阈值和学习率;所述的训练集的训练样本个数与输入层神经元数量相同,链接权值包括输入层与隐含层之间的链接权值和隐含层与输出层之间的链接权值,阈值包括隐含层神经元的阈值和输出层神经元的阈值;(402)根据训练集和学习率进行多次训练,输出BP神经网络各神经元之间的链接权值及阈值,得到用于入侵检测的BP神经网络。3.根据权利要求2所述的一种基于BP神经网络的软件定义网络入侵检测方法,其特征在于,步骤(401)中初始链接权值及初始阈值是在(0,1)范围内随机设定的;η为学习率,η∈(0,1)。4.根据权利要求2或3所述的一种基于BP神经网络的软件定义网络入侵检测方法,其特征在于,所述的步骤(402)具体包括步骤:(a)根据当前参数和输入的训练样本,计算针对该训练样本的输出向量、输出层神经元的梯度项和隐含层神经元的梯度项;所述的参数包括链接权值、阈值和学习率,参数的初始值为初始链接权值、初始阈值和学习率;(b)根据训练样本的输出向量、输出层神经元的梯度项和隐含层神经元的梯度项更新当前BP神经网络中输入层与隐含层之间的链接权值、隐含层与输出层之间的链接权值、隐含层神经元的阈值和输出层神经元的阈值;(c)判断步骤(b)得到的各链接权值和各阈值是否满足预定收敛条件,如果满足预定收敛条件,则结束本流程;否则,返回步骤(a),进行下一轮训练过程。5.根据权利要求4所述的一种基于BP神经网络的软件定义网络入侵检测方法,其特征在于,步骤(b)具体为:Δviq=ηeqxi,viq=viq+ΔviqΔwqj=ηgjbq,wqj=wqj+ΔwqjΔγq=-ηeq,γq=γq+ΔγqΔθj=-ηgj,θj=θj+Δθj式中,eq为隐含层第q个神经元的梯度项,gj为输出层第j个神经元的梯度项,bq为隐含层第q个神经元的输出,xi为输入层第i个神经元的输入,viq为输入层与隐含层之间的链接权值,wqj为隐含层与输出层之间的链接权值,γq为隐含层神经元的阈值,θj为输出层神经元的阈值,Δviq为输入层第i个神经元与隐含层第q个神经元之间链接权值的修正值,Δwqj为隐含层第q个神经元与输出层第j个神经元之间链接权值的修正值,Δγq为隐含层第q个神经元输出阈值的修正值,Δθj为输出层第j个神经元输出阈值的修正值。6.根据权利要求4所述的一种基于BP神经网络的软件定义网络入侵检测方法,其特征在于,步骤(c)中预定收敛条件为: | Σ k = 1 m E k | ≤ ϵ ]]> E k = 1 2 Σ j = 1 l ( y ^ ...

【专利技术属性】
技术研发人员:郭建立李俊
申请(专利权)人:中国电子科技集团公司第五十四研究所
类型:发明
国别省市:河北;13

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

1