互联网环境下网络入侵检测算法研究与应用

时间:2022-05-09 09:07:36

互联网环境下网络入侵检测算法研究与应用

摘 要: 随着云计算的发展和应用范围的不断扩大,云环境下的安全和隐私问题日益突出。传统的入侵检测系统已经远远不能满足当今海量数据的要求,建立云环境下高效的入侵检测系统已经成为入侵检测领域的重要研究方向。基于云计算提供的超大规模的计算能力和海量存储能力,提出了一种基于云环境的入侵检测系统,系统能够对海量入侵检测数据学习,实时检测,在入侵检测的效率和精度上比传统的入侵检测系统有所提高。

关键词: 云计算; 入侵检测系统; MRGA?BP均值法; 入侵检测效率

中图分类号: TN915.08?34; TM417 文献标识码: A 文章编号: 1004?373X(2016)21?0107?05

Research and application of network intrusion detection

algorithm in Internet environment

WANG Haizhen

(School of Computer Science and Technology, Inner Mongolia University for Nationalities, Tongliao 028000, China)

Abstract: With the development of cloud computing, and continuos expansion of its application range, the security and privacy issues under cloud environment become increasingly prominent. However, the traditional intrusion detection system can′t satisfy the requirement of mass data nowadays, the establishment of high?efficiency intrusion detection system under cloud environment has become the important research direction of the intrusion detection field. On the basis of ultra?large?scale computing power and massive storage capacity provided by cloud computing, an intrusion detection system based on cloud environment is proposed. This system is able to learn and detect the massive intrusion detection data in real time, and its intrusion detection efficiency and accuracy are higher than those of the traditional intrusion detection system.

Keywords: cloud computing; intrusion detection system; MRGA?BP mean value method; intrusion detection efficiency

0 引 言

在信息爆炸的时代,海量数据的安全问题是云计算面临的最大问题,云平台的入侵检测和预防是大数据时代安全关注的核心。本文在大数据的背景下,面对海量数据的安全问题,从数据安全问题的处理速度和处理精度方面改进传统的入侵检测算法,通过分析现在云环境中网络数据的特点,建立了一个适用于云环境下的入侵检测算法――MRGA?BP均值法算法[1],最终通过实验证明,此算法可以保证在一定的入侵检测精度下,提升检测的效率,更适合当下大数据环境入侵检测[2]。

1 基于云计算平台的网络入侵检测算法建立

1.1 MRGA?BP算法的网络拓扑结构的确定

BP神经网络是由网络层数、节点个数、激活函数、初始权值系数、学习算法、系统误差确定的,确定这些需要一定的原则:

(1) 隐含层数的选择

根据先前的经验,优先考虑3层BP神经网络:输出层,输入层,隐含层。

(2) 每层节点数的确定

在精度确保的前提下,以隐含层节点数最少为目标。隐含层和很多因素有关,例如样本数据的特点和转换函数的型式、输入与输出节点数都有关系。

(3) 初始权值系数的确定

初始权值是在一定范畴的数随机生成的,一般情况下,初始权值分布在0~1之间。在本文中,利用random随机生成。

(4) 算法的确定:

[ω(t+1)=-η?Ε?ω+ω(t)] (1)

式中:[t]为学习次数;[η]取0.01~0.8。

(5) 结束条件

BP神经网络算法的结束条件就是全局误差降到可接受的范围或者学习次数达到最大[3]。本文中只是应用遗传算法进行BP神经网络权值的优化,所以在本文中只控制其进化的次数,当进化次数达到最大时终止。

1.2 并行化思想

首先将数据模块化,然后将这些数据模块分给各个机器进行并行处理,他们之间处理的过程没有关联,所以在处理效率上会有很大提高。

并行化有两种思路:一种是物理节点的并行化,即将网络节点分布在不同的机器节点上进行计算;第二种是数据的并行化,每个计算节点都有一个完整的网络,且网络的初始状态是一样的[4]。并行化体现在进行训练时,每个节点都是取一部分样本数据进行BP神经网络的训练,计算节点内达到某个收敛要求后再进行汇总,汇总之后决定是否进行下一场迭代。

1.3 MRGA?BP算法描述

提出的MRGA?BP均值法算法的主体思路是:GA算法的Map阶段,随机产生[N]个个体,上传到HDFS文件系统,读入每个个体的值,每一个个体代表的是每一个BP网络的权值,调用BP神经网络算法,每个个体的输入权值和每个样本的值,进行BP神经算法,求出每个个体对应所有样本的误差和,这个误差和称为全局误差值,全局误差值作为GA遗传算法Map阶段的输出值,Redcue阶段的输入值为Map的输出值,计算每个个体的适应度,接着遗传算法的选择,交叉,变异等。经过数次迭代后,筛选出最优个体,输出到HDFS文件,作为BP神经算法的初始权值。

1.4 MRGA?BP均值法算法原理

(1) MRGA?BP均值法描述

提出的MRGA?BP均值法,在BP神经网络阶段用map输出的是每个样本的所有权值变化量,然后将每个样本所有权值的变化量输出,在reduce阶段,将所有样本相对应的权值相加求出算数平均值,并且更新权值一次上传到HDFS,之后再使用新的权值HDFS文件进行第二次迭代,将产生的权值上传到HDFS[5]。迭代Hadoop作业,迭代结束的标志是迭代次数达到最大或者误差在范围内。

(2) BP神经网络算法的MapReduce化

对BP神经算法的MapReduce过程,算法可以拆成三个过程:

第一个过程,训练神经网络。Map类调用map函数,接收数据样本和权值样本,开始训练BP神经网络,这个过程相当于三个大型矩阵在相乘,可以先让两个矩阵相乘,再和第三个矩阵相乘,Reduce最终生成一个实际计算出来的结果,作为输出矩阵。

第二个过程,主要是为了将实际输出结果和输入的样本进行合并,为第三个阶段进行调整权值准备。

第三个过程,读入第二阶段生成的Text,计算每一个样本所有权值的变化量。最终求出新的权值。

(3) GA遗传算法的MapReduce化

应用GA遗传算法优化神经网络的权值。采用实数编码,将BP神经网络中的权值标记为“染色体”,适应度为误差的倒数,接着选择,交叉,变异,选出最优权值。GA算法MapReduce的流程图如图1所示。

Map阶段读取HDFS上的群体信息,计算每一个个体经过一次BP神经网络迭代学习时所有样本的学习全局误差,作为Map的输出[6]。Reduce阶段的输入是每个权值个体所对应的误差,因为误差计算比较复杂,所以将误差值设定为全局变量,按照误差,求出每个个体的适应度,适应度为误差的倒数,适应度最高的个体不进行下边的步骤。而剩下的个体,使用赌盘算法选择、交叉、变异,选出一个最优个体。

1.5 基于云计算的入侵检测流程

为了更好地在云环境下检测入侵行为,提出了基于云平台下的海量数据的入侵检测系统,流程图如图2所示,具体的检测过程如下:

(1) 将入侵检测数据源以分布式的形式存储到HDFS上;

(2) 将随机产生的权值以分布式的形式存储到HDFS上;

(3) 运用MapReduce GA开始BP神经网络初始权值的优化,优化出较小的解空间,提高收敛率;

(4) 使用MapReduce GA优化数据源权值,用BP神经网络计算出每一个权值对应的所有样本的误差和,作为GA遗传算法的适应度函数的基础;

(5) 将MapReduce GA遗传算法优化完的权值作为训练BP神经网络的初始权值,开始MapReduce BP神经网络训练,训练一定的次数,使样本的误差和达到人们所能接受的范围之内,或者预设定的迭代次数[7];

(6) 训练完成后,使用检测样本统计比较检测结果[8]。

2 网络入侵检测系统设计与实现

2.1 系统的整体结构

提出的解决方案主要是针对当下海量数据,传统的入侵检测系统因为数据量大,不能快速、即时地进行检测,而且由于数据量大,致使权值调整过程是一个巨大的程序运行过程,最终要使检测率很低,通过使用本文提出的MRGA?BP均值法算法解决上述传统入侵检测的缺点。

基于云平台的入侵检测系统的检测流程一般为:首先使用一些工具收集数据,再对收集到的数据源进行预处理,然后再使用基于Hadoop云平台下的MRGA?BP均值法进行分析,根据已经训练好的神经网络预测改数据或者流量是否为正常行为,做出相应的预警,其流程见图3。

2.2 数据源采集

在数据源获取阶段,常用的获取数据源的部件是收发器、、适配器,获取的数据源主要来自于主机、网络、日志等。

2.3 数据源的预处理

由于数据预处理需要为后续进行入侵检测分析提供数据源,因此它对整个过程影响极为关键。在本次研究中,后续的处理是在Hadoop平台下BP神经网络中完成的,在进行训练时,需要特定的数据格式,因此在数据预处理阶段要对数据进一步处理,转换成BP神经网络能够处理的格式。在本阶段,预处理的数据源直接保存到Hadoop的分布式文件系统中。

因此,对数据源的预处理过程为:首先将源数据去除多余的字段以及多余的格式;将处理好的数据源保存到HDFS中。

2.4 数据存储

对于来自不同环境的数据源,可以将数据源先进行分类,在分类后的基础上进行存储,可以加快机器的运行速度。使用一个HBase分布式实时数据库,HBase是面向列的多维排序key?value表,可以对其进行实时操作。使用HDFS分布式数据存储,HDFS将数据放入集群中的每一个机器上,并且可以同时备份。

2.5 入侵检测Hadoop平台下MRGA?BP均值法

2.5.1 MRGA?BP均值法整体思路

上一篇:针刺放血治疗急性痛风性关节炎50例疗效观察 下一篇:一种基于区域的交互式MRF图像分割算法设计与实...