一种基于遗传算法改进的BP神经网络安全态势评估算法的制作方法

文档序号:15169847发布日期:2018-08-14 17:51阅读:189来源:国知局

本发明属于网络安全技术领域,具体涉及一种基于遗传算法改进的bp神经网络安全态势评估算法。



背景技术:

随着计算机技术的迅猛发展和通信技术的不断革新,“互联网+”、新兴智能产业的快速发展,以及各种网络设备、网络应用的推陈出新,互联网的规模和应用领域也在不断扩大,已经广泛渗透到社会、经济、政治、军事、科技与教育等各个领域。与此同时,伴随着internet网络规模的迅速扩大,随之而来的安全问题也层出不穷且日益严峻。全球范围内,网络攻击的种类和数量也在持续增长,网民网络安全环境日趋复杂,网络基础设施和重要信息系统面临着严峻的安全挑战。面对复杂多样的网络威胁,必须采取有效的措施来保证网络安全运行,传统的网络安全防御手段主要有防火墙技术、防病毒系统、入侵检测系统等,但是这些技术和安全设备都仅限于关注某一方面的安全问题,不能实现对全局网络整体的安全状况进行准确及时的监控。比如防火墙主要针对外网的防护,但是有许多的安全问题却是在内网中发生的;入侵检测系统只是对攻击的某一部分进行检测,而对于复杂的攻击行为也会发生误报、漏报等情况。依靠某一单一的网络安全设备进行网络的防护已经不能满足当前网络安全的需求。

在传统网络安全防御手段无法满足对目前网络系统的安全防护的情况下,网络安全态势感知技术应运而生,并迅速成为了网络信息安全领域的一个新的研究热点。网络安全态势感知系统就是通过对各种网络安全设备检测到的数据进行提取、分析、融合,同时通过算法对数据进行评估、预测,从而做到对大规模网络的全面监控,实时地反映出当前网络的安全状态,并且获得网络未来的发展趋势。为网络管理员提供可靠的决策依据,帮助网络管理员实现对网络安全状况的及时感知、全局掌控、综合评估等,将由网络不安全因素带来的风险和损失降到最低。

bp神经网络是一种多层前馈神经网络,由一个输入层,一个或多个隐藏层和一个输出层组成,如图1所示,主要特点是全连接的神经网络,即每个单元都向下一层的每个单元提供输入,同时如果给定足够多的隐藏单元和足够的训练样本,多层前馈网络可以逼近任何函数。bp算法主要分为以下几个步骤:步骤1,初始一个很小的随机数(如-1.0到1.0)作为网络的初始化权值,同时为每个单元也初始化一个小的随机数作为偏倚;步骤2,应用激活函数进行向前传播输入,其中输入单元:输出oj=输入值ij,不发生变化,用其输入的线性组合计算隐含层或输出层每个单元的净输入,同时将激活函数作用于隐含层或输出层净输入,一般使用s函数,将一个较大的输入值域映射到一个较小的(0,1)区间;步骤3,向后传播,同时更新网络权重和偏倚,进行多次训练,直到达到步骤4的终止条件;步骤4,该步骤为结束条件,bp算法一般具有三个终止条件,满足其中一条即可终止算法,终止条件分别是:前一周期所有的δwij都小于某个指定的阈值、前一周期误分类的元组百分比小于某个阈值或者超过预先指定的周期数。通过对数据样本进行学习,同时调整连接权值,从而实现非线性数据的分类等问题。正是由于神经网络的这种优势,我们将bp神经网络应用于网络安全的态势评估之中,通过对当前网络上的有效信息预处理之后不断迭代学习,最终得到网络当前的状态。

但是目前存在的问题是bp神经网络网络结构选择性比较大、权值学习一般使用传统的学习算法,从而容易导致有时候训练效率不高,造成网络性能下降,直接影响网络的逼近能力。所以找到更好的方法与神经网络结合起来,首先通过优化神经网络的结构或者优化权值使得神经网络的计算能力增强,从而将神经网络应用于网络安全态势评估当中,使得更加高效而且准确地评估网络安全状态。



技术实现要素:

为了克服上述现有神经网络算法自身存在的易限于局部最小值,收敛速度慢的缺陷,容易造成网络性能下降等问题,本发明的目的是提供一种基于遗传算法改进的bp神经网络安全态势评估算法。该算法利用遗传算法的全局优化搜索能力,能够有效避开局部极小点,并且在进化过程中也不需要提供所要解决问题的梯度信息等优点,通过对神经网络权值的学习,使得神经网络学习效率不断提高,同时将两者结合之后应用于网络的安全态势评估,将能够更迅速、更有效、更准确的进行网络当前状态的评估,从而更加有效地提高网络管理的效率。

为实现上述目标,本发明提出以下算法:使用遗传算法训练神经网络,首先将神经网络的拓扑结构进行固定,之后使用遗传算法进行网络权重的优化,其中使用遗传算法进化训练的方法主要分为两个步骤:首先确定网络本身连接权重的编码方案,其次使用遗传算法对其完成进化。

为了实现上述目的,本发明采用的技术方案是:

一种基于遗传算法改进的bp神经网络安全态势评估算法,结合遗传算法以及bp神经网络各自的优势,针对网络安全状态模型进行评估,比较准确的得到当前的网络状态,包括以下步骤:

步骤1,构建适用于bp神经网络进行评估的网络安全态势评估指标体系模型;

1)结合网络运行状态、网络威胁、网络攻击等网络要素特点,按照危险级别从低到高将网络状态分为4个等级:

2)为了便于神经网络进行安全状态评估利用数值对4级网络安全状态级别进行定量描述,其中等级1安全指数值为0.0-0.2,等级2安全指数值为0.2-0.5,等级3安全指数值为0.5-0.8,等级4安全指数值为0.8-1;

步骤2,使用遗传算法训练神经网络,首先将神经网络的拓扑结构进行固定,之后使用遗传算法进行网络权重的优化,使用遗传算法进化其连接权重的主要分为以下几个步骤:

1)给出神经网络权重的编码方案,同时生成初始群体;如果采用二进制编码会造成编码串过长,同时还需要解码为实数,从而影响神经网络的学习精度,所以直接采用实数编码,将神经网络的各个权值按照从输入到输出、从左到右的顺序级联成一个长串,串上的每个位置就对应网络的一个权值;

2)解码初始群体中的每个个体,并构造出其相对应的神经网络;将网络中的权值按照公式(1)进行随机确定,使得遗传算法能够搜索到所有可行解的范围;

pinitial=±exp(-|γ|),|γ|<4(1)

3)根据性能评价准则计算出网络适合度;

4)根据适合度大小决定每个个体繁衍后代的概率,同时完成选种操作;

5)选种之后的群体按照一定的概率使用交配、突变等操作得到新一代的群体;

6)计算神经网络的输出以及评估输出结果看是否满足要求;

7)评估结果满足要求则转到8),否则返回2);

8)计算神经网络输出,同时进行神经网络性能评估;

9)评估结果满足要求则转到11),否则转到10);

10)计算正向、反向误差,调节神经网络权值和阈值,并返回8);

11)经过遗传算法优化神经网络之后,使得神经网络的计算结果也满足要求,此时存储神经网络的权值,同时记录神经网络的输出,整个评估过程结束;

步骤3,将遗传神经网络应用于网络安全态势评估中,通过对网络设备收集的信息进行分析、评估,得到网络当前的安全状态,主要步骤如下:

1)对网络安全设备收集的数据进行预处理。使用ids、网络扫描工具等各种检测设备获取网络信息,同时对原始信息进行筛选处理,提取出能够反映网络安全态势的各个指标值,同时使用公式(2)进行归一化处理,将处理后的结果作为bp神经网络的输入向量;

使用遗传神经网络进行网络安全评估;采用三层bp神经网络进行网络安全态势的评估,同时使用公式(3)的s函数作为神经网络的映射函数,使用公式(4)进行学习速率的自适应调节,其中η指学习速率,e为误差。

3)得到网络当前安全状态,使用遗传神经网络输出得到(0-1)之间的安全指数值,不同的指数值对应不同的网络安全等级,从而就获取到当前网络安全状态。

所述的步骤一的1)中4个等级为:

等级1,安全级别:指整个网络没有受到或者受到轻微的网络安全威胁,整网运行一切正常;

等级2,轻度危险级别:病毒、攻击等网络威胁具有一定活跃性,网络出现故障可能性较高,整网运行受到影响;

等级3:中度危险,网络攻击、病毒等活动不断增强,甚至引起网络服务中断或者危及到网络关键基础设施,整网运行受到严重破坏;

等级4:网络发生大规模病毒或攻击行为,恶意代码活跃程度达到最高,出现大量高级别的网络安全事件,网络运行收到更为严重破坏,整网瘫痪。

本发明的有益效果是:

1、使用遗传算法进行bp神经网络权值的优化,有效的解决了单纯神经网络评估所带来的弊端;

2、使用遗传神经网络进行网络安全态势评估,使得评估结果更加的高效,同时增大了评估结果的准确率。

附图说明

图1为bp神经网络结构图。

图2为基于遗传算法改进的bp神经网络安全态势评估算法流程图。

具体实施方式

以下结合附图对本发明进一步叙述。

一种基于遗传算法改进的bp神经网络安全态势评估算法,结合遗传算法以及bp神经网络各自的优势,针对网络安全状态模型进行评估,比较准确的得到当前的网络状态,包括以下步骤:

步骤1,构建适用于bp神经网络进行评估的网络安全态势评估指标体系模型;

1)结合网络运行状态、网络威胁、网络攻击等网络要素特点,按照危险级别从低到高将网络状态分为4个等级:

2)为了便于神经网络进行安全状态评估利用数值对4级网络安全状态级别进行定量描述,其中等级1安全指数值为0.0-0.2,等级2安全指数值为0.2-0.5,等级3安全指数值为0.5-0.8,等级4安全指数值为0.8-1;

步骤2,使用遗传算法训练神经网络,首先将神经网络的拓扑结构进行固定,之后使用遗传算法进行网络权重的优化,使用遗传算法进化其连接权重的主要分为以下几个步骤:

1)给出神经网络权重的编码方案,同时生成初始群体;如果采用二进制编码会造成编码串过长,同时还需要解码为实数,从而影响神经网络的学习精度,所以直接采用实数编码,将神经网络的各个权值按照从输入到输出、从左到右的顺序级联成一个长串,串上的每个位置就对应网络的一个权值;

2)解码初始群体中的每个个体,并构造出其相对应的神经网络;将网络中的权值按照公式(1)进行随机确定,使得遗传算法能够搜索到所有可行解的范围;

pinitial=±exp(-|γ|),|γ|<4(1)

3)根据性能评价准则计算出网络适合度;

4)根据适合度大小决定每个个体繁衍后代的概率,同时完成选种操作;

5)选种之后的群体按照一定的概率使用交配、突变等操作得到新一代的群体;

6)计算神经网络的输出以及评估输出结果看是否满足要求;

7)评估结果满足要求则转到8),否则返回2);

8)计算神经网络输出,同时进行神经网络性能评估;

9)评估结果满足要求则转到11),否则转到10);

10)计算正向、反向误差,调节神经网络权值和阈值,并返回8);

11)经过遗传算法优化神经网络之后,使得神经网络的计算结果也满足要求,此时存储神经网络的权值,同时记录神经网络的输出,整个评估过程结束;

步骤3,将遗传神经网络应用于网络安全态势评估中,通过对网络设备收集的信息进行分析、评估,得到网络当前的安全状态,主要步骤如下:

1)对网络安全设备收集的数据进行预处理。使用ids、网络扫描工具等各种检测设备获取网络信息,同时对原始信息进行筛选处理,提取出能够反映网络安全态势的各个指标值,同时使用公式(2)进行归一化处理,将处理后的结果作为bp神经网络的输入向量;

2)使用遗传神经网络进行网络安全评估;采用三层bp神经网络进行网络安全态势的评估,同时使用公式(3)的s函数作为神经网络的映射函数,使用公式(4)进行学习速率的自适应调节,其中η指学习速率,e为误差。

得到网络当前安全状态,使用遗传神经网络输出得到(0-1)之间的安全指数值,不同的指数值对应不同的网络安全等级,从而就获取到当前网络安全状态。

所述的步骤一的1)中4个等级为:

等级1,安全级别:指整个网络没有受到或者受到轻微的网络安全威胁,整网运行一切正常;

等级2,轻度危险级别:病毒、攻击等网络威胁具有一定活跃性,网络出现故障可能性较高,整网运行受到影响;

等级3:中度危险,网络攻击、病毒等活动不断增强,甚至引起网络服务中断或者危及到网络关键基础设施,整网运行受到严重破坏;

等级4:网络发生大规模病毒或攻击行为,恶意代码活跃程度达到最高,出现大量高级别的网络安全事件,网络运行收到更为严重破坏,整网瘫痪。

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