一种基于改进BPNN的网络安全态势预测方法与流程

文档序号:12278649阅读:来源:国知局

技术特征:

1.一种基于改进反向传播神经网络BPNN的网络安全态势预测方法,其特征在于,包括以下步骤:

步骤1,对采集的漏洞、流量、入侵检测系统数据进行态势要素获取,并通过层次化网络安全态势评估量化方法对收集到的态势要素信息进行评估量化处理;

步骤2,运用极值化公式对量化后产生的非线性时间序列态势值进行预处理,再寻找最适合的嵌入维数与延迟时间进行相空间重构,并通过计算该非线性的时间序列的李雅普诺夫指数来确定是否有可预测性;

步骤3,将空间重构得到的态势值样本分为训练集与测试集;

步骤4,根据非线性时间序列的特点与经验BPNN的输出层与隐含层的节点数,设定输入层节点数为嵌入维数,从而确定神经网络的结构,并初始化BPNN的向量参数Θ;

步骤5,采用改进萤火虫算法IGSO对BPNN进行参数寻优,从而确定网络权值和偏置值,建立网络安全态势的预测模型;

步骤6,将测试集输入至有最优权值和阈值的BPNN中,得到预测值,最后再将其反极值化,得到最终的态势值。

2.根据权利要求1所述的基于改进BPNN的网络安全态势预测方法,其特征在于,所述步骤2进一步包括以下步骤:

步骤21,建模极值标准化公式:

<mrow> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mi>x</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>-</mo> <mi>x</mi> <msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> </mrow> <mrow> <mi>x</mi> <msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>-</mo> <mi>x</mi> <msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> </mrow> </mfrac> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>,</mo> <mi>n</mi> </mrow>

其中,x(i)与x'(i)分别为处理前后的网络安全态势值,x(i)min与x(i)max分别表示处理前所有网络安全态势值中的最小值与最大值,且通过处理后得到的网络安全态势数据x'(i),i=1,2,…n.是一组一维时间序列,其中n为一段时间内的网络安全态势样本数;

步骤22,采用最小互信息法计算最佳时间延时τ,并将τ和cao氏法相结合确定嵌入维数,从而得出BPNN的输入节点数m;

步骤23,根据cao氏法与互信息法得到的m与τ,引入最大Lyapunov指数来验证数据具有可预测性。

3.根据权利要求2所述的基于改进BPNN的网络安全态势预测方法,其特征在于,所述步骤22中的最佳时间延时τ的计算公式为:

<mrow> <mi>I</mi> <mrow> <mo>(</mo> <mi>&tau;</mi> <mo>)</mo> </mrow> <mo>=</mo> <munder> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </munder> <msub> <mi>P</mi> <mrow> <mi>a</mi> <mi>b</mi> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>(</mo> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>)</mo> <mo>,</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>(</mo> <mrow> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>+</mo> <mi>&tau;</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <msub> <mi>log</mi> <mn>2</mn> </msub> <mo>&lsqb;</mo> <mfrac> <mrow> <msub> <mi>P</mi> <mrow> <mi>a</mi> <mi>b</mi> </mrow> </msub> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>(</mo> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>)</mo> <mo>,</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>(</mo> <mrow> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>+</mo> <mi>&tau;</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> <mrow> <msub> <mi>P</mi> <mi>a</mi> </msub> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>(</mo> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>)</mo> <mo>)</mo> </mrow> <msub> <mi>P</mi> <mi>b</mi> </msub> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>(</mo> <mrow> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>+</mo> <mi>&tau;</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&rsqb;</mo> </mrow>

其中,定义事件a表示网络安全态势样本序列x'(ti),事件b表示进行时间延迟的网络安全态势样本序列x'(ti+τ),pa(x'(ti))与pb(x'(ti+τ))分别表示a、b两事件中x'(ti)与x'(ti+τ)会发生的概率,Pab(x'(ti),x'(ti+τ))为x'(ti)和x'(ti+τ)两事件联合分布概率;如果最佳时间延时I(τ)等于0,则代表x'(ti)与x'(ti+τ)无相关,即x'(ti+τ)是不可以预测的;若I(τ)取得极小值,表示x'(ti)与x'(ti+τ)具有最大可能的不相关,取I(τ)的第一个极小值为最佳时间延迟τ。

4.根据权利要求2所述的基于改进BPNN的网络安全态势预测方法,其特征在于,所述步骤22中将τ和cao氏法相结合确定嵌入维数,从而得出BPNN的输入节点数m包括:

<mrow> <mi>a</mi> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>m</mi> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mo>|</mo> <mo>|</mo> <msub> <mi>X</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mrow> <mi>m</mi> <mo>+</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>X</mi> <mrow> <mi>n</mi> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>m</mi> </mrow> <mo>)</mo> </mrow> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mi>m</mi> <mo>+</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> <mrow> <mo>|</mo> <mo>|</mo> <msub> <mi>X</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>X</mi> <mrow> <mi>n</mi> <mrow> <mo>(</mo> <mrow> <mi>i</mi> <mo>,</mo> <mi>m</mi> </mrow> <mo>)</mo> </mrow> </mrow> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> </mfrac> </mrow>

<mrow> <mi>E</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>N</mi> <mo>-</mo> <mi>m</mi> <mi>&tau;</mi> </mrow> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>N</mi> <mo>-</mo> <mi>m</mi> <mi>&tau;</mi> </mrow> </munderover> <mi>a</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow>

E1(m)=E(m+1)/E(m)

其中Xi(m)和Xi(m+1)分别表示嵌入维为m和m+1时重构相空间的第i个向量,Xn(i,m)(m)和Xn(i,m)(m+1)分别表示与Xi(m)和Xi(m+1)最近的向量,||·||为欧几里得距离,a(i,m)用于判断Xn(i,m)(m)是否为Xi(m)的真实临近点,若在m维相空间临近的两个点在m+1维相空间依然临近,则为“真实临近点”,否则为“虚假临近点”;E(m)和E(m+1)分别表示在m维和m+1维下非线性时间序列上点与其相邻点之间的平均统计距离,N表示态势值时间序列;如果网络安全态势的非线性时间序列当中包含确切的规律,那么能够找到一个合适m,当m大于某固定值m0时,E1(m)若停止较大变化,则可将m0+1当作最小嵌入维数,其中判断是否停止较大变化包括:设置一个在0到1范围内波动的E2(m),来对比E1(m)是否大幅增加还是已经停止较大变化,E2(m)设置准则如下:

E2(m)=E*(m+1)/E*(m)

<mrow> <msup> <mi>E</mi> <mo>*</mo> </msup> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>N</mi> <mo>-</mo> <mi>m</mi> <mi>&tau;</mi> </mrow> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>N</mi> <mo>-</mo> <mi>m</mi> <mi>&tau;</mi> </mrow> </munderover> <mo>|</mo> <mi>X</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>+</mo> <mi>m</mi> <mi>&tau;</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>X</mi> <mrow> <mi>n</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow> </msub> <mrow> <mo>(</mo> <mi>i</mi> <mo>+</mo> <mi>m</mi> <mi>&tau;</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow>

对于随机事件序列,数据内部无关联,因此是不可预测的,E2(m)将始终为1,而对于确定性时间序列,相邻点之间的关系会随着嵌入维数m的值变化,因此总有一些m使得E2(m)不等于1,因此,E2(m)的波动程度能够用来度量时间序列中的确定性元素。

5.根据权利要求1所述的基于改进BPNN的网络安全态势预测方法,其特征在于,所述步骤2所述相空间重构方法为:

<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>i</mi> </msub> <mo>(</mo> <mi>m</mi> <mo>)</mo> <mo>=</mo> <mo>{</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>(</mo> <mi>i</mi> <mo>)</mo> <mo>,</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>(</mo> <mi>i</mi> <mo>+</mo> <mi>&tau;</mi> <mo>)</mo> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msup> <mi>x</mi> <mo>&prime;</mo> </msup> <mo>(</mo> <mi>i</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>m</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mi>&tau;</mi> <mo>)</mo> <mo>}</mo> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mi>M</mi> </mtd> </mtr> <mtr> <mtd> <mi>M</mi> <mo>=</mo> <mi>N</mi> <mo>-</mo> <mo>(</mo> <mi>m</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> <mi>&tau;</mi> </mtd> </mtr> </mtable> </mfenced>

其中x'(i)为极值化后的一维时间序列,M表示重构相点的数量,m为嵌入维数,即输入层节点数,τ为延迟时间。

6.根据权利要求1所述的基于改进BPNN的网络安全态势预测方法,其特征在于,所述步骤5进一步包括以下步骤:

步骤51,将萤火虫群的个体位置映射为BPNN的向量参数Θ,并指定种群内萤火虫个体的数目,对所有的个体进行随机实数编码,使得萤火虫种群均匀分布在D维的搜索空间里;

步骤52,初始化IGSO算法的参数,其中包括:最大迭代次数tmax、最小移动步长smin、最大移动步长smax、萤火素更新参数ρ、适应度函数参数γ、萤火素初始值l0、萤火虫感知范围rs

步骤53,按照IGSO算法进行迭代寻优,得到萤火虫种群在搜索空间中的全局最优解,即得到BPNN对网络安全态势训练样本预测精度最高的一组向量参数Θ,并基于该组向量参数Θ来构建BP网络中各层之间的连接权值与各节点之间的阈值,进而得到网络安全态势值泛化能力最强的BPNN网络模型。

7.根据权利要求6所述的基于改进BPNN的网络安全态势预测方法,其特征在于,所述步骤53中IGSO算法进一步包括以下步骤:

步骤531,设定种群个体数目并在解空间中随机初始化个体位置,计算初始化种群每个个体的适应度函数值,同时生成公告板;

步骤532,对种群中的所有萤火虫个体按li(t)=(1-ρ)li(t-1)+γJ(xi(t))更新萤火素值,其中,li(t)表示第t次迭代中第i个萤火虫所携带的萤火素,ρ∈(0,1)为萤火素更新参数,γ为适应度函数参数,J(xi(t))为适应度函数,xi(t)为萤火虫i在第t次迭代的位置;

步骤533,进入迭代阶段,求解种群中个体的邻居萤火虫的集合,如果邻居集合存在则转到步骤535,否则转到步骤536;

步骤534,根据轮盘赌的方法计算萤火虫i在其决策域内的移动方向,同时为了摆脱陷入局部最优,引入变步长来代替固定步长进行移动步长的更新,并设定变步长公式为:s(t)=smaxec·t其中,tmax为最大迭代次数,smin为最小移动步长,smax为最大移动步长;

步骤535,根据534的步长s(t)进行位置更新,则萤火虫在t+1次迭代的位置xi(t+1)的更新公式为:

<mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>s</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>x</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mo>|</mo> <mo>|</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>x</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> </mfrac> <mo>)</mo> </mrow> </mrow>

其中xi(t)表示萤火虫i在第t次迭代的位置,xj(t)表示萤火虫i在第t次迭代时决策域内的第j只萤火虫的位置,同时更新萤火虫个体的决策域,设定第i只萤火虫在t+1次迭代时刻的动态决策范围为:

<mrow> <msubsup> <mi>r</mi> <mi>d</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>+</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>=</mo> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mo>{</mo> <msub> <mi>r</mi> <mi>s</mi> </msub> <mo>,</mo> <mi>m</mi> <mi>a</mi> <mi>x</mi> <mo>{</mo> <mn>0</mn> <mo>,</mo> <msubsup> <mi>r</mi> <mi>d</mi> <mi>i</mi> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&beta;</mi> <mo>(</mo> <mrow> <msub> <mi>n</mi> <mi>t</mi> </msub> <mo>-</mo> <mo>|</mo> <msub> <mi>N</mi> <mi>i</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>|</mo> </mrow> <mo>)</mo> <mo>}</mo> <mo>}</mo> </mrow>

其中表示第i只萤火虫在第t次迭代时,它的决策域内所包含的萤火虫的集合,li(t)表示第t次迭代中第i个萤火虫所携带的萤火素,lj(t)表示第t次迭代中第j个萤火虫所携带的萤火素,其中,j∈Ni(t),||x||表示x的范数;rs为萤火虫感知范围,为第i只萤火虫t次迭代时刻的动态决策范围,β为比例常数,nt为邻居阈值;

步骤536,计算当前种群所有个体对应的适应度函数值,取其中最好的适应度函数值与公告板中的值进行对比,若优于公告板信息,则选择更新公告板;

步骤537,根据条件判断,如果发生变异即当迭代次数大于2且公告板中连续3代的最优适应度函数值变化都小于u,则执行步骤538,若不发生变异执行步骤539;

步骤538,执行自适应t分布变异,具体为:在萤火虫算法中引入自适应t分布变异操作,利用目前为止所有迭代次数中最优适应度函数值所属萤火虫个体的状态替换当前种群中最差萤火虫个体的状态,然后对本次迭代种群中的最优个体进行高斯变异,对其他的个体按式进行t分布变异,其中,是变异后个体的位置,k是1到0之间递减的变量,t(tmax)是以tmax为参数自由度的学生分布,tmax为最大迭代次数,进而计算所有个体变异后的适应度函数值,若优于公告板信息,则更新公告板;

步骤539,完成一次迭代,判断迭代次数是否达到tmax,若满足则退出迭代,输出公告板上最优的适应度函数值;若不满足执行步骤533,进行下一次迭代。

8.根据权利要求7所述的基于改进BPNN的网络安全态势预测方法,其特征在于,所述步骤532中的适应度函数为:

<mrow> <mi>J</mi> <mrow> <mo>(</mo> <mi>&Theta;</mi> <mo>)</mo> </mrow> <mo>=</mo> <msqrt> <mrow> <mfrac> <mn>1</mn> <mi>N</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msup> <mrow> <mo>&lsqb;</mo> <mi>&epsiv;</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>,</mo> <mi>X</mi> <mo>)</mo> </mrow> <mo>&rsqb;</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> </mrow>

ε(t,X)=y(t)-yN(t,Θ)

其中y(t)为期望输出,yN(t,Θ)为实际输出,N为训练集的样本数。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1