首页 > 范文大全 > 正文

AFSA―BPNN在网络安全中的应用研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇AFSA―BPNN在网络安全中的应用研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:为了有效地检测网络入侵行为,提出一种人工鱼群(afsa)算法优化BP神经网络(bpnn)入侵检测模型。首先将BP神经网络的权值和阈值编码为AFSA的人工鱼状态,然后通过人工鱼群觅食、聚群、追尾等行为,对BP神经网络的参数进行优化,寻找到BP神经网络的最优参数,最后利用建立的最优BP神经网络模型,对网络入侵行为进行检测。在Windows XP操作系统,Matlab 2012平台上,采用KDD CUP 99数据集仿真测试,相对于传统的BP神经网络模型,本文模型可以显著提高网络入侵检测正确率,有着更加广泛的应用前景。

关键词:网络入侵;神经网络;参数优化;人工鱼群算法

中图分类号:TP393 文献标识码:A 文章编号:2095-2163(2015)03-

Application of Back Propagation Neural Network Optimizing by Artificial Fish Swarm Algorithm in Network Intrusion Detection

LIU Chun

(Network Management Center , Sichuan College of Architectural Technology, Deyang Sichuan 618000, China)

Abstract: In order to detect the network intrusion effectively, an artificial fish swarm (AFSA) algorithm is proposed to optimize the BP neural network (BPNN) intrusion detection model. In this paper, firstly, weights and threshold coding state of BP neural network is artificial fish of the AFSA, followed by artificial fish swarm foraging, Poly Group, rear end, which is used to optimize the parameters of BP neural network, to find the optimal parameters of the BP neural network; After that, using the establishment of optimal BP neural network model, the behavior of the network intrusion are detected. In the Windows XP operating system, on the platform of MATLAB 2012 by the KDD cup 99 data set of simulation test, compared with the traditional BP neural network model, the proposed model can significantly improve the network intrusion detection accuracy and has a more extensive application prospects.

Keywords: Network Intrusion; Neural Network; Parameter Optimization; Artificial Fish Swarm Algorithm

0 引言

随着互联网规模越来越大,网络的用途越来越广泛,在网络给人们生活带来便利的同时,其受到入侵的可能性页随之增加,未经授权用户对计算机进行操作,可能窃取系统中的信息,给计算机系统造成一定的安全隐患,网络安全问题日渐受到学界关注,在网络安全防御研究领域,网络入侵检测已然成为迫切需要解决的一个重要课题[1-2]。

按照入侵检测方式的不同,可将其分为误用入侵检测和异常入侵检测[3]。其中,误用入侵检测方法主要是依据检测知识库,对网络入侵行为进行匹配,如果检测知识库不完备,则可能存在某些未知的入侵行为无法检测。而异常入侵检测是通过对可接受行为进行描述,如果某项行为与正常行为存在偏差,则认为该行为是入侵行为,异常入侵检测方法能够对未知网络攻击行为进行有效检测,从而成为当前网络入侵研究的热点研究内容[4]。

网络入侵检测是依据网络行为与正常行为进行比较,以判断是否存在网络入侵、攻击行为,因此,可以将网络入侵检测认为是一个数据分类问题。网络入侵检测处理的分类数据属于大样本数据,具有高维、复杂、非线性等特征;相应地,传统的数据分类检测方法在实际应用执行时,即表现了计算速度慢、复杂、正确率低的结果现象[5]。近年来,随着人工智能技术的快速发展,神经网络被越来越多地用于数据分类问题。神经网络有多种类型,其中,BP神经网络(Back Propagation Neural Network,BPNN)结构简单、学习能力强,切具有非线性逼近映射能力,相较于其它类型的神经网络,BP神经网络的用途更为广泛。但是,利用BP神经网络进行网络入侵检测,其检测的准确率与网络的初始权值、阈值等参数有关,为了获得较高的网络入侵检测正确率,就需要对BP神经网络进行参数优化。即在利用学习样本对BP神经网络进行训练过程中,不是随机产生BP神经网络的初始权值和阈值,而是利用智能算法,如粒子群、遗传、蚁群等算法等对BP神经网络初始权值和阈值进行优化,使BP神经网络避免陷入局部最优,并且找到全局最优参数,从而使BP神经网络分类精度更高,网络入侵检测性能也随之提升[6-8]。在这些智能算法中,人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)是近年来提出的一种新的智能仿生算法,该算法鲁棒性强,可并行操作,同时便于实现[9]。利用AFSA算法来对BP神经网络参数进行寻优,能够避免BP神经网络易陷入局部极小的缺陷,实现了BP神经网络参数的最优获取,因而可知这是一种非常适合BP神经网络参数寻优的理想方法。同时,仿真试验又对AFSA-BPNN(人工鱼群算法优化BP神经网络)模型的网络入侵检测性能进行了有效验证。

1 网络入侵检测数学模型

网络入侵是指未经授权的用户实施的任何试图以非法手段来获取计算机资源的行为。进行网络入侵检测,主要是通过收集网络或系统中的若干关键点的未经授权用户的访问、操作等信息,并对这些信息进行对比分析,以确定系统中是否存在被攻击的迹象[10]。

在计算机网络中,存在两种现象,一种为无入侵信号,一种为有入侵信号,用 表示无入侵信号, 表示有入侵信号,则网络数据信号数学表达式:

(1)

其中, 表示收集到的所有信号, 表示在抽样间隔中接收到的信号所有字节的长度; 表示网络数据中的噪声, 表示入侵信号。

在进行网络入侵检测时,存在噪声,并且,接收到的信息还存在非线性的关系,为了保护网络安全,有效地防范未经授权用户对网络安全形成的潜在隐患,有必要对这些网络访问行为进行识别、检测,由上可知,BP神经网络即可有效地进行网络入侵检测。

2 AFSA优化BPNN的网络入侵检测模型

2.1 人工鱼群算法

AFSA可以地对BP神经网络进行全面参数寻优,通过模拟鱼群的觅食、聚群、追尾等典型行为,不断地对BP神经网络参数进行优化[11]。算法中典型行为的实现机理如下:

(1) 觅食行为。设Xi表示人工鱼当前所处的位置,Xj表示一个随机选择的位置,对Xi和Xj的食物浓度进行比较,如果Xj处的食物浓度大于Xi处的食物浓度,则向Xj处前进,否则人工鱼留在原处不动,而后,重新随机选择位置Xj,再对Xi和Xj的食物浓度进行判断,反复试探nj次后,如果选取的位置处食物浓度仍然小于初始位置的食物浓度,则人工鱼随机前进一步。该行为的数学描述可如式(2)所示:

(2)

式中,Rand()表示一个(0,1)之间的随机数;Step表示人工鱼移动的步长。

(2) 聚群行为。设nf表示人工鱼视野范围内所有的伙伴数目,Xc表示所有鱼群的中心位置,若Yc/nf>δYi(δ为拥挤度因子),则表明当前人工鱼所处位置的食物浓度小于伙伴处的食物浓度,人工鱼便朝伙伴中心前进一步,否则,人工鱼继续执行觅食行为。这一行为的数学实现则如式(3)所示:

(3)

(3) 追尾行为。在人工鱼视野范围内,浓度最高Yj的人工鱼位置为Xmax,若Yj/nf> Yi,则人工鱼群向Xj处前进一步,否则人工鱼执行觅食行为。

(4)

(4) 随机行为。人工鱼没有执行明确的觅食或聚群行为,而是在视野范围内随机选择某个位置,随后向其移动,该行为属于人工鱼觅食行为的一种缺省行为。

(5) 公告板。公告用于记录食物浓度最高的人工鱼的状态。

2.2 BP神经网络模型

BP神经网络学习过程如下[12]:

(1)确定BP神经网络结构。设输入层、隐层和输出层的神经元数分别为N、L和M,网络输入向量为 ,隐含层输出向量为 ,网络实际输出向量为 ,网络输入层神经元节点 到隐含层神经元节点 的权重系数表示为 ,隐含层神经元节点 到输出层神经元节点 的权重系数表示为 ,训练集的目标输出向量为 。此外,分别用 和 来表示输出神经元和隐神经元的阈值,设:

(5)

于是,得到隐含层各神经元节点的输出为:

(6)

同理,输出层各神经元节点为:

(7)

(2)将输出神经元 与目标向量 进行比较,计算出输出误差项:

(8)

(9)

(3)依次计算出各权重的调整量:

(10)

(11)

式中, 表示网络的学习速率,其取值在0-1之间。

(4)调整网络权重,公式如下:

(12)

(13)

(5)判断是否达到最大迭代次数,如果没有,将网络输出值与期望值进行比较,如果大于误差允许的范围,返回步骤(1),继续迭代,在每次迭代过程中,都进行判断,误差是否达到预定目标,或者是否达到最大迭代次数,如果满足终止条件,则停止迭代。

2.3 SAFSA-BPNN网络入侵检测流程

(1) 收集BP神经网络状态信息,设置人工鱼状态;

(2) 随机生成n条人工鱼,每一条人鱼代表一组BP神经网络参数,用passed_iterate表示BP神经网络训练迭代的次数;

(3) 登记每条人工鱼所在位置的食物浓度,并对每条人工鱼处的食物浓度进行排序登记,将食物浓度值最高处的人工鱼个体的位置及食物浓度登记写入公告板;

(4) 随机选择一条人工鱼,对其觅食、追尾和聚群行为后所处位置的食物浓度进行判断,将其所处位置的食物浓度与公告板中的所登记的食物浓度进行比较,如果该人工鱼处的食物浓度高于公告板的食物浓度,则该人工鱼向此方向前进一步。

(5) 更新公告板内容,将步骤(4)中得到的最好人工鱼的位置及食物浓度记入公告板。

(6) 判断BP神经网络是否寻优得到最优参数,或训练是否达到最大迭代次数,如果没有满足上述情况,则人工继续执行觅食、追尾、聚群行为,passed_iterate=passed_iterate+1,并转步骤(4)继续迭代执行,如果达到最大迭代次数,则BP神经网络训练寻优结束,输出公告板中的人工鱼的位置及食物浓度;

(7) 根据寻优结束后BP神经网络模型,进行网络入侵检测。

利用AFSA-BP神经网络模型,进行网络入侵检测流程如图1所示。

图1 AFSA优化BPNN参数流程

Fig. 1 the flow chart of BPNN parameters optimized by AFSA

3 仿真测试

3.1 数据来源

为了验证本文模型的网络入侵检测效果,利用KDD CUP 99的数据集进行仿真试验,并在Windows XP,Matlab 2012 软件平台上执行实现。由于BP神经网络不能直接对字符型数据进行处理,而在KDD CUP 99数据集中却包含有大量的字符型数据,因此,在进行实验仿真之前,需将KDD CUP 99数据集中的字符型数据转换成整型数据[13]。在利用BP神经网络进行网络入侵检测时,实质上就是一个分类问题,因此,可将KDD CUP 99数据集的分类字段处理成五个类标识:1(“normal"),2("Probe"),3("DOS"),4("U2R"),5("R2L")。同时,为了有效地提高网络入侵检测正确率,有必要在BP神经网络进行训练学习时,利用人工鱼群算法对BP神经网络参数进行优化,训练集来自于文件kddcup.data_10_percent.gz,从中随机选取800条记录,测试集数据则将随机从文件corrected.g中选取300条记录。

在KDD CUP 99数据集中,每一个数据集均包含了41个特征属性,而且每一个数据集还对应一种类型的网络入侵行为,为此BP神经网络输入层有41个神经元,输出层有一个神经元,经过反复试验,当隐含层有22个神经元时,网络收敛速度最快,误差最小,最终确定BP神经网络结构为41×22×1。利用训练集对BP神经网络进行训练,再用人工鱼群算法对BP神经网络参数进行优化,人工鱼群参数可如表1所示。

表1 人工鱼群算法参数设置

Tab. 1 parameter setting of artificial fish swarm algorithm

参数名 说明 值 参数名 说明 值

Visual 可视域 18 P 鱼群规模 30

δ 拥挤因子 0.58 Step_max 迭代步长 0.6

N 迭代次数 5000

3.2 对比模型

为了证明AFSA-BPNN模型进行网络入侵检测的有效性,在同等情况下,利用传统的BP神经网络(BPNN)模型进行对比实验。选择了检测率、误报率和运行速度作为模型网络入侵检测性能的指标评价。在此,仅分别给出检测率和误报率的定义如下:

(14)

(15)

3.3 数据处理

在KDD CUP 99数据集中,每个数据集有41个特征属性,对其中的字符型数据转换成整型数据,但由于这些数据集中的属性量纲不同,为了有效地检测出网络入侵行为,即需对数据集进行归一化处理,以减少量纲不同对网络入侵检测的影响。归一化处理公式如下:

(16)

式中, 表示某属性的最大值; 、 分别表示某属性的最小值和最大值; 表示经过归一化处理后的某属性。

3.4 结果与分析

3.4.1 检测结果对比

采用BPNN作为对比模型,以验证ASFA-BPNN模型进行网络入侵检测时的实际性能,首先编程利用同样的训练集对两种模型进行训练,过程中不同之处却是,在AFSA-BPNN模型训练的同时,利用人工鱼群算法对BPNN进行寻优;然后,分别利用测试集对训练后的模型进行验证,两种模型的检测性能对比如表2所示。

表2 两检测模型的检测性能对比

Tab2 performance comparison of two detection models

检测模型 评价指标 DOS U2L U2R Probe

BPNN rate(%) 80.65 70.83 81.21 79.65

error(%) 19.35 29.17 18.79 20.35

AFSA-BPNN rate(%) 82.63 76.89 88.78 91.43

error(%) 17.37 23.11 11.22 8.57

3.4.2 运行速度对比

为了验证两种模型的网络入侵检测速度,选取测试集对模型的网络入侵检测时间作为衡量指标,两种模型进行不同类型的入侵检测时间(秒/s)如表3所示。从表3可知,相对于BPNN模型,AFSA-BPNN模型的检测时间更少,说明了AFSA-BPNN模型进行网络入侵检测具有更高效率,因而实时性更强。

表3 两种模型的检测时间对比

Tab.3 detection time comparison of two models

模型 DOS U2L U2R Probe

BPNN 0.97 0.89 0.86 0.96

AFSA-BPNN 0.76 0.78 0.80 0.64

4 结束语

为了有效地对网络入侵进行检测,提出一种人工鱼群算法优化的BP神经网络的网络入侵检测模型,在BP神经网络训练时,利用人工鱼群算法对BP神经网络参数进行优化,获得了BP神经网络的最优参数,同时加快了BP神经网络的收敛速度。仿真结果表明,AFSA-BPNN模型比BPNN模型检测率更高,误检率更低,同时检测时间更少,这就说明了AFSA-BPNN模型堪称为一种有效的网络入侵检测模型,其应用前景也将更趋广泛与广阔。

参考文献

[1] 戴英侠.系统安全与入侵检测[M].北京:清华大学出版社, 2002.

[2] 何敏. 基于数据挖掘的网络实时入侵检测体系结构的研究[J]. 计算机与现代化, 2011, 193(9): 134-136.

[3] 姜春茂,张国印,李志聪. 基于遗传算法优化SVM的嵌入式网络系统异常入侵检测[J]. 计算机应用与软件,2011,28(2):287-289.

[4] 闫新娟,谭敏生,严亚周,等. 基于隐马尔科夫模型和神经网络的入侵检测研究[J]. 计算机应用与软件,2012,29(2):294C297.

[5] 牟琦,毕孝儒,库向阳. 基于GQPSO算法的网络入侵特征选择方法[J]. 计算机工程,2011,37(14):103-16.

[6] 周敏.GARBF在网络入侵检测中的应用研究[J].计算机仿真,2011.28(6):165-168.

[7] 赵俊忠. 入侵检测系统中检测技术的研究[J]. 计算机工程与应用,2005,(2):11-13.

[8] 栾庆林,卢辉斌.自适应遗传算法优化神经网络的入侵检测研究[J].计算机工程与设计,2008,29(12):3022-3024.

[9] 李晓磊.一种新型的智能优化方法一人工鱼群算法[D].杭州:浙江大学,2003.

[10] 孙宁青. 基于神经网络和CFS特征选择的网络入侵检测系统[J]. 计算机工程与科学,2010,32(6):37-39.

[11] 江铭炎,袁东风. 人工鱼群算法及其应用[M]. 北京:科学出版社,2012.

[12] 夏淑华. 基于BP神经网络的入侵检测系统设计 [J]. 计算机与现代化, 2011, 1(4): 47-49.

[13] 张新有,曾华觯贾磊. 入侵检测数据集KDD CUP99研究[J]. 计算机工程与设计, 2010,31(22): 4809-4816.