第8卷第6期 智能系统学报 Vol.8 No.6 2013年12月 CAAI Transactions on Intelligent Systems Dec.2013 D0:10.3969/j.issn.1673-4785.201304040 网络出版地址:http://www.enki..net/kcms/detail/23.1538.TP.20130603.1601.005.html 变异粒子群优化的BP神经网络 在入侵检测中的应用 宋玲,常磊 (1.广西大学计算机与电子信息学院,广西南宁530004:2.河北化工医药职业技术学院信息工程系,河北石家庄050026) 摘要:针对人侵检测系统的自主学习性、实时性,提出带变异算子的粒子群优化方法,并用该方法优化BP神经网 络以加快其收敛速度,提出了MPSO_BP混合优化算法.为提高入侵检测系统的检测率、降低误报率,提出了一种新 的入侵检测模型(MPBIDS).采取is数据集对3个BP神经网络进行模拟实验,结果表明,优化后的BP神经网络具 有更好的收敛速度和精度.将改进的BP神经网络应用到入侵检测中,采取KDDCUP99为测试数据集,仿真结果表 明,基于改进BP神经网络的入侵检测模型能提高检测率、降低误报率 关键词:变异算子;入侵检测系统:粒子群优化算法:BP神经网络 中图分类号:TP393文献标志码:A文章编号:1673-4785(2013)06-0558-06 中文引用格式:宋龄,常磊.变异粒子群优化的BP神经网络在入侵检测中的应用[J].智能系统学报,2013,8(6):558-563. 英文引用格式:SONG Ling,CHANG Lei.Application of mutation particle swarm optimization based BP neural network in the in trusion detection system[J].CAAI Transactions on Intelligent Systems,2013,8(6):558-563. Application of mutation particle swarm optimization based BP neural network in the intrusion detection system SONG Ling',CHANG Lei2 (1.School of Computer,Electronics and Information,Guangxi University,Nanning 530004,China;2.Department of Information En- gineering,Hebei Chemical and Pharmaceutical College,Shijiazhuang 050026,China) Abstract:A aiming at the properties of real-time performance and self-learning of the intrusion detection system (IDS),an improved particle swarm optimization (PSO)based on the mutation operator was proposed,which was used to optimize BP neural network,so as to accelerate convergence speed of BP neural network,thus,the MPSO _BP hybrid optimization algorithm is presented.In order to increase detection rate and lower false alarm rate of the intrusion detection system,a new intrusion detection model(MPBIDS)was put forward.Iris data set was applied to the three BP neural networks for simulation.Experiment results show that the optimized BP neural network had bet- ter convergence speed and accuracy.Based on this finding,the improved BP network was applied to intrusion de- tection,taking KDDCUP99 as the test data set.The simulation result proves that the IDS with improved BP network can improve the detection rate and reduce the false alarm rate. Keywords:mutation operator;intrusion detection system;particle swarm optimization;BP neural network 随着网络技术的飞速发展,网络安全问题日益 步显现其缺点和不足[山. 重要,如何保护网络免受攻击越来越迫在眉睫.网络 近年来,反向传播(back-propagation,.BP)神经 入侵检测是网络安全技术的重要组成部分,也是当 网络被广泛应用于许多领域,并取得了良好的效果。 前研究的热点之一.但是,传统的入侵检测技术正逐 然而,在实际应用中,BP网络也暴露出一些固有的 缺陷,最明显的是收敛速度慢.与传统的BP算法相 收稿日期:2013-04-15.网络出版日期:2013-06-03 基金项目:国家自然科学基金资助项目(60963022). 比,可以用遗传算法、蚁群算法和PSO(particle 通信作者:宋玲.E-mail:aling7197_cn@sina.com swarm optimization)算法等来优化BP神经网络,如
第 8 卷第 6 期 智 能 系 统 学 报 Vol.8 №.6 2013 年 12 月 CAAI Transactions on Intelligent Systems Dec. 2013 DOI:10.3969 / j.issn.1673⁃4785.201304040 网络出版地址:http: / / www.cnki.net / kcms/ detail / 23.1538.TP.20130603.1601.005.html 变异粒子群优化的 BP 神经网络 在入侵检测中的应用 宋玲1 ,常磊2 (1. 广西大学 计算机与电子信息学院,广西 南宁 530004; 2. 河北化工医药职业技术学院 信息工程系,河北 石家庄 050026) 摘 要:针对入侵检测系统的自主学习性、实时性,提出带变异算子的粒子群优化方法,并用该方法优化 BP 神经网 络以加快其收敛速度,提出了 MPSO_BP 混合优化算法.为提高入侵检测系统的检测率、降低误报率,提出了一种新 的入侵检测模型(MPBIDS).采取 Iris 数据集对 3 个 BP 神经网络进行模拟实验,结果表明,优化后的 BP 神经网络具 有更好的收敛速度和精度.将改进的 BP 神经网络应用到入侵检测中,采取 KDDCUP99 为测试数据集,仿真结果表 明,基于改进 BP 神经网络的入侵检测模型能提高检测率、降低误报率. 关键词:变异算子;入侵检测系统;粒子群优化算法;BP 神经网络 中图分类号:TP393 文献标志码:A 文章编号:1673⁃4785(2013)06⁃0558⁃06 中文引用格式:宋龄,常磊. 变异粒子群优化的 BP 神经网络在入侵检测中的应用[J]. 智能系统学报, 2013, 8(6): 558⁃563. 英文引用格式:SONG Ling, CHANG Lei. Application of mutation particle swarm optimization based BP neural network in the in⁃ trusion detection system[J]. CAAI Transactions on Intelligent Systems, 2013, 8(6): 558⁃563. Application of mutation particle swarm optimization based BP neural network in the intrusion detection system SONG Ling 1 , CHANG Lei 2 (1. School of Computer, Electronics and Information, Guangxi University, Nanning 530004, China; 2. Department of Information En⁃ gineering, Hebei Chemical and Pharmaceutical College, Shijiazhuang 050026, China) Abstract:A aiming at the properties of real⁃time performance and self⁃learning of the intrusion detection system (IDS), an improved particle swarm optimization (PSO) based on the mutation operator was proposed, which was used to optimize BP neural network, so as to accelerate convergence speed of BP neural network, thus, the MPSO _BP hybrid optimization algorithm is presented. In order to increase detection rate and lower false alarm rate of the intrusion detection system, a new intrusion detection model (MPBIDS) was put forward. Iris data set was applied to the three BP neural networks for simulation. Experiment results show that the optimized BP neural network had bet⁃ ter convergence speed and accuracy. Based on this finding, the improved BP network was applied to intrusion de⁃ tection, taking KDDCUP99 as the test data set. The simulation result proves that the IDS with improved BP network can improve the detection rate and reduce the false alarm rate. Keywords:mutation operator; intrusion detection system; particle swarm optimization; BP neural network 收稿日期:2013⁃04⁃15. 网络出版日期:2013⁃06⁃03. 基金项目:国家自然科学基金资助项目(60963022). 通信作者:宋玲. E⁃mail:aling7197_cn@ sina.com. 随着网络技术的飞速发展,网络安全问题日益 重要,如何保护网络免受攻击越来越迫在眉睫.网络 入侵检测是网络安全技术的重要组成部分,也是当 前研究的热点之一.但是,传统的入侵检测技术正逐 步显现其缺点和不足[1] . 近年来,反向传播( back⁃propagation, BP) 神经 网络被广泛应用于许多领域,并取得了良好的效果. 然而,在实际应用中,BP 网络也暴露出一些固有的 缺陷,最明显的是收敛速度慢.与传统的 BP 算法相 比,可 以 用 遗 传 算 法、 蚁 群 算 法 和 PSO ( particle swarm optimization) 算法等来优化 BP 神经网络,如
第6期 宋玲,等,变异粒子群优化的BP神经网络在入侵检测中的应用 ·559· PSO算法的应用可以加快BP神经网络的训练速 保持固定的,因此,下一层神经元的状态只受其上一 度,然而,对于复杂的高维问题,PS0算法过早收敛 层神经元状态的影响. 的特性并不能保证收敛到最优值2) 2)反向传播误差信号:信号在网络中传播时, 其期望输出与实际输出的差值表示误差信号,从网 1 PSO算法和BP神经网络 络输出端起逐层依次向后传播误差信号,在反向传 1.1PS0算法 播误差信号的过程中,用误差反馈调节BP网络的 在对鸟群和鱼群群体运动行为研究的基础上, 权值 1995年美国社会心理学家J.Kennedy和电气工程 2改进的MPSO BP神经网络 师R.Eberhart共同提出PSO算法,该算法是一种基 于种群的智能优化方法,其基本思想源于群体中个 2.1基于变异算子的MPS0算法 体之间信息的社会共享和协同进化).用以下数学 基本粒子群优化算法的缺点是:容易陷入局部 过程表示PSO算法为: 最优和出现过早收敛,进而该算法的优化效果无法 假设搜索空间的维数是D维,种群 达到最佳[)本文提出带变异算子的PS0算法(MP X=[x1x2…x]T中有N个粒子,种群X的全局极值 SO,mutation particle swarm optimization),该算法可 为P。=[P,P…P]'其中,第i个粒子的速度y,= 以有效解决基本PS0算法容易陷入局部最优的问 题,并且可以提高基本P$0算法在求解高维复杂函 […n],位置x=[2…n],个体极值P= 数时的搜索精度。 [P,P,P,]'在确定全局极值和个体极值后,种群 通过分析基本PS0算法可知,线性调整粒子群 X用式(1)~(3)更新第i个粒子的位置和速度[): 的惯性权重后,PS0算法的局部和全局搜索性能将 =w吃+cand(p吃-或)+ 会有所下降.为了使粒子群优化算法的局部和全局 cgrand() (1) 搜索性能得到有效平衡,弥补通过线性递减策略调 k+】 (2) 整惯性权重的缺点,文中惯性权重的值通过变异 算子策略进行调整.用式(4)非线性求解惯性权重0 10(k)=0ax-k兰 ,(0ms-0mia) (3) 的值: 式中:d=1,2,…,D:i=1,2,…,N:k代表粒子迭代第k w(k)=0in+(wmx-0mn)exp(-25k/knx). 次;c1和c2分别调节粒子向最佳个体粒子与最佳全 (4) 局粒子方向飞行粒子的最大步长,称为加速系数: 2.2MPS0_BP神经网络 rand和rand是随机数,其取值在[O,1]内;x,和 BP神经网络隐含层的单元数生成后,把以下向 量整合到一个向量空间中:高斯函数的中心矢量、赋 代表第k次迭代中在第d维的第i个粒子的位置和 范向量和网络权值的初始值,然后作为本文MPSO 速度:P是群体在第d维的全局极值分量;P是第i 的位置向量进行寻优,在BP网络接近函数性能指 个粒子在第d维的个体极值分量:w的作用是保持 标最优值时,采用MPS0算法,计算得到粒子的个体 粒子的运动惯性,称为惯性权重:心的最大进化迭代 极值,通过粒子群迭代输出群体的全局最优极值, 数和初始惯性权值分别用k0表示,wm表示粒 MPSO算法的全局搜索结束:然后对BP网络进行局 子进化到最大迭代次数k的惯性权值.通过粒子群 部优化,将群体的全局最优解作为BP网络的初值, 的不断更新,直到某粒子到达解空间中最优解的位 按照对应方式,对全局最优解进行相应编码,在计算 置,结束整个搜索过程.输出全局最优解用p。表示2). 偏差偏离设定目标时,返回重新计算,用MPS0算法 1.2BP神经网络 进行群体全局最优搜索,重复以上搜索步骤,粒子群 BP神经网络是一种多层前馈神经网络,采用误 输出最优解。 差反向传播学习算法.网络模型有3个层次:输入 采用均方根误差的倒数作为目标函数,训练样 层、隐含层和输出层.在输入样本的刺激下,BP神经 本总数用N表示,目标函数的误差平方和用f表 网络通过持续更新连接权值,使输出不断接近网络 示,其实际值和期望值分别用y()和y(k)表示, 的期望输出[6.用以下学习过程表示BP神经网络 目标函数表示如式(5): 算法[: N 1)正向传播工作信号:经隐含层单元,输入信 (y(k)-y.(k))2 (5) 号从输入层传向输出层,在网络输出端形成输出信 用以下流程表示MPSO_BP混合优化算法, 号,BP神经网络的权值在信号的正向传播过程中是 1)用N组给定值和一个样本集分别作为BP神
PSO 算法的应用可以加快 BP 神经网络的训练速 度,然而,对于复杂的高维问题,PSO 算法过早收敛 的特性并不能保证收敛到最优值[2⁃5] . 1 PSO 算法和 BP 神经网络 1.1 PSO 算法 在对鸟群和鱼群群体运动行为研究的基础上, 1995 年美国社会心理学家 J. Kennedy 和电气工程 师 R. Eberhart 共同提出 PSO 算法,该算法是一种基 于种群的智能优化方法,其基本思想源于群体中个 体之间信息的社会共享和协同进化[2] .用以下数学 过程表示 PSO 算法为: 假 设 搜 索 空 间 的 维 数 是 D 维, 种 群 X=[x1 x2… xn ] T中有 N 个粒子,种群 X 的全局极值 为 Pg = [pg 1 pg 2 … pg D ] T .其中,第 i 个粒子的速度 vi = [vi 1 vi 2 … vi D ] T ,位置xi =[xi 1 xi 2 … xi D ] T ,个体极值 Pi = [pi 1 pi 2 … pi D ] T .在确定全局极值和个体极值后,种群 X 用式(1) ~ (3)更新第 i 个粒子的位置和速度[2] : v k+1 i d = wv k i d + c1 rand k 1(p k i d - x k i d ) + c2 rand k 2(p k g d - x k g d ), (1) x k+1 i d = x k i d + v k+1 i d , (2) w(k) = wmax - k (wmax - wmin ) Kmax . (3) 式中:d = 1,2,…,D;i = 1,2,…,N;k 代表粒子迭代第 k 次; c1 和 c2 分别调节粒子向最佳个体粒子与最佳全 局粒子方向飞行粒子的最大步长,称为加速系数; rand k 1 和 rand k 2 是随机数,其取值在[0,1]内;x k i d 和 v k i d 代表第 k 次迭代中在第 d 维的第 i 个粒子的位置和 速度;p k g d 是群体在第 d 维的全局极值分量;p k i d 是第 i 个粒子在第 d 维的个体极值分量; w 的作用是保持 粒子的运动惯性,称为惯性权重;w 的最大进化迭代 数和初始惯性权值分别用 kmax、wmax表示,wmin表示粒 子进化到最大迭代次数 kmax的惯性权值.通过粒子群 的不断更新,直到某粒子到达解空间中最优解的位 置,结束整个搜索过程.输出全局最优解用 pg 表示[2] . 1.2 BP 神经网络 BP 神经网络是一种多层前馈神经网络,采用误 差反向传播学习算法.网络模型有 3 个层次:输入 层、隐含层和输出层.在输入样本的刺激下,BP 神经 网络通过持续更新连接权值,使输出不断接近网络 的期望输出[6] .用以下学习过程表示 BP 神经网络 算法[4] : 1)正向传播工作信号:经隐含层单元,输入信 号从输入层传向输出层,在网络输出端形成输出信 号,BP 神经网络的权值在信号的正向传播过程中是 保持固定的,因此,下一层神经元的状态只受其上一 层神经元状态的影响. 2)反向传播误差信号:信号在网络中传播时, 其期望输出与实际输出的差值表示误差信号,从网 络输出端起逐层依次向后传播误差信号,在反向传 播误差信号的过程中,用误差反馈调节 BP 网络的 权值. 2 改进的 MPSO_BP 神经网络 2.1 基于变异算子的 MPSO 算法 基本粒子群优化算法的缺点是:容易陷入局部 最优和出现过早收敛,进而该算法的优化效果无法 达到最佳[7] .本文提出带变异算子的 PSO 算法(MP⁃ SO,mutation particle swarm optimization),该算法可 以有效解决基本 PSO 算法容易陷入局部最优的问 题,并且可以提高基本 PSO 算法在求解高维复杂函 数时的搜索精度. 通过分析基本 PSO 算法可知,线性调整粒子群 的惯性权重后,PSO 算法的局部和全局搜索性能将 会有所下降.为了使粒子群优化算法的局部和全局 搜索性能得到有效平衡,弥补通过线性递减策略调 整惯性权重的缺点,文中惯性权重 w 的值通过变异 算子策略进行调整.用式(4)非线性求解惯性权重 w 的值: w(k) = wmin + (wmax - wmin )exp( - 25k / kmax). (4) 2.2 MPSO_BP 神经网络 BP 神经网络隐含层的单元数生成后,把以下向 量整合到一个向量空间中:高斯函数的中心矢量、赋 范向量和网络权值的初始值,然后作为本文 MPSO 的位置向量进行寻优,在 BP 网络接近函数性能指 标最优值时,采用 MPSO 算法,计算得到粒子的个体 极值,通过粒子群迭代输出群体的全局最优极值, MPSO 算法的全局搜索结束;然后对 BP 网络进行局 部优化,将群体的全局最优解作为 BP 网络的初值, 按照对应方式,对全局最优解进行相应编码,在计算 偏差偏离设定目标时,返回重新计算,用 MPSO 算法 进行群体全局最优搜索,重复以上搜索步骤,粒子群 输出最优解. 采用均方根误差的倒数作为目标函数,训练样 本总数用 N 表示,目标函数的误差平方和用 f i 表 示,其实际值和期望值分别用 ym( k) 和 y( k)表示, 目标函数表示如式(5): f i = 1 2 ∑ N i = 1 (y(k) - ym(k)) 2 . (5) 用以下流程表示 MPSO_BP 混合优化算法. 1)用 N 组给定值和一个样本集分别作为 BP 神 第 6 期 宋玲,等:变异粒子群优化的 BP 神经网络在入侵检测中的应用 ·559·
·560· 智能系统学报 第8卷 经网络的输入和期望输出的样本集 1)数据收集单元:负责计算机网络中数据的收 2)在确定BP网络隐含层数目后,通过减聚类 集工作. 算法对N个样本集做聚类计算,根据得到的输出 2)预处理单元:分析、预处理计算机网络中收 值,对粒子群进行相应编码,同时根据计算结果对粒 集到的原始数据,将计算机网络的初始数据解析成 子群进行初始化 BP神经网络能够辨别的数据编码, 3)通过编码计算设定的N组输入样本在此BP 3)规则库单元:储存BP神经网络中的信息匹 神经网络下对应的N组输出,对每一个粒子个体串 配规则 按规则解码,计算得到每个粒子在此BP网络下的 4)MPSO_BP神经网络单元:本文中MPBIDS入 对应参数,通过BP网络逼近的性能指标函数,对每 侵检测模型的中心模块,数据处理在这个模块中进 个样本的期望输出值和其对应的网络输出值进行计 行,根据数据情况生成新的规则库,实现MPBIDS入 算,其输出值即为粒子的个体极值 侵检测模型的自学习功能 4)用适应度函数作为目标函数评价各粒子,计 5)数据报警单元:针对不符合入侵匹配规则库 算得出此BP网络下粒子群的全局极值 的事件,按照事先制定的报警方式,本模型选取对应 5)通过与全局极值设定的目标值或迭代数进 的形式进行相应的响应,其中有:告警声音提醒、屏 行比较,进而判断输出的全局极值是否符合MPSO 幕显示警告信息、email通知、重启计算机网络设备 算法的跳出要求.如果符合跳出条件,则结束PS0 以及断开网络连接等. 算法优化,表示全局最优值用P。表示,进入7)的 6)合法行为:符合入侵规则库的匹配条件,对 MPSO算法开始局部优化. 计算机系统没有产生影响的网络行为. 6)按照式(1)和式(2)对粒子的位置和速度进 本文MPSO_BP神经网络模块是MPBIDS模型 行更新,然后跳转到3). 最重要的部分,MPBIDS模型检测入侵行为的准确 7)在之前编码的基础上,BP神经网络的结构参数 性、可行性,取决于MPSO_BP神经网络模块是否合 用通过MPSO算法寻优得出的全局极值解码后的值表 理设计.该核心模块的训练过程流程图如图2所示. 示,然后局部优化此BP神经网络的各个权值. 8)在输出得到粒子群的全局极值后,采用编码 训练样本集 训练目标 方式处理局部优化后的参数,同时比较是否符合 MPS0的跳出条件,如果与设定的偏差值不符,返回 MPSO BP神经网络训练摸块 6),重复MPS0算法的全局寻优,直到个体极值和 全局极值都达到最优 MPSO_BP神经网络分类引擎 设置过滤规 MPSO BP神经网络在入侵检测中 攻 攻 攻 攻 的应用 击 击 击 3.1 MPBIDS模型 型 型 型 击类型 2 3 本文提出一个基于MPSO_BP神经网络的入侵 n 检测模型(MPBIDS),如图1所示. 图2 MPSO BP神经网络模块的训练过程 Fig.2 The trained process of MPSO_BP neutral net- 网络收集数据 work module 数据预处理 3.2仿真实验数据预处理 MPSO BP 规则库 3.2.1 KDD CUP99数据集 神经网络模型 仿真实验选取通用的KDD CUP99数据集中的 是否为 N正常事件 局部数据.该数据集数据是从一个模拟局域网中捕 人侵事件 更新 获到的,网络连接数据共有9周,该数据集中TCP/ Y 规则库 响应及报警 IP连接记录有500万个,其中记录具有的标号属性 能够划分异常正常点[8劉].而用来做测试的数据是 图1 MPBIDS入侵检测模型 KDD CUP99数据集中200万条无标号属性的记录. Fig.1 IDS model of MPBIDS 这200万条记录中每个数据对象有42个属性,其中 图1组成如下: 符号属性7位,数值属性34位,标号属性1位.每条
经网络的输入和期望输出的样本集. 2)在确定 BP 网络隐含层数目后,通过减聚类 算法对 N 个样本集做聚类计算,根据得到的输出 值,对粒子群进行相应编码,同时根据计算结果对粒 子群进行初始化. 3)通过编码计算设定的 N 组输入样本在此 BP 神经网络下对应的 N 组输出,对每一个粒子个体串 按规则解码,计算得到每个粒子在此 BP 网络下的 对应参数,通过 BP 网络逼近的性能指标函数,对每 个样本的期望输出值和其对应的网络输出值进行计 算,其输出值即为粒子的个体极值. 4)用适应度函数作为目标函数评价各粒子,计 算得出此 BP 网络下粒子群的全局极值. 5)通过与全局极值设定的目标值或迭代数进 行比较,进而判断输出的全局极值是否符合 MPSO 算法的跳出要求.如果符合跳出条件,则结束 MPSO 算法优化,表示全局最优值用 pg 表示,进入 7) 的 MPSO 算法开始局部优化. 6)按照式(1)和式(2)对粒子的位置和速度进 行更新,然后跳转到 3). 7)在之前编码的基础上,BP 神经网络的结构参数 用通过 MPSO 算法寻优得出的全局极值解码后的值表 示,然后局部优化此 BP 神经网络的各个权值. 8)在输出得到粒子群的全局极值后,采用编码 方式处理局部优化后的参数,同时比较是否符合 MPSO 的跳出条件,如果与设定的偏差值不符,返回 6),重复 MPSO 算法的全局寻优,直到个体极值和 全局极值都达到最优. 3 MPSO_BP 神经网络在入侵检测中 的应用 3.1 MPBIDS 模型 本文提出一个基于 MPSO_BP 神经网络的入侵 检测模型(MPBIDS),如图 1 所示. 图 1 MPBIDS 入侵检测模型 Fig.1 IDS model of MPBIDS 图 1 组成如下: 1)数据收集单元:负责计算机网络中数据的收 集工作. 2)预处理单元:分析、预处理计算机网络中收 集到的原始数据,将计算机网络的初始数据解析成 BP 神经网络能够辨别的数据编码. 3)规则库单元:储存 BP 神经网络中的信息匹 配规则. 4)MPSO_BP 神经网络单元:本文中 MPBIDS 入 侵检测模型的中心模块,数据处理在这个模块中进 行,根据数据情况生成新的规则库,实现 MPBIDS 入 侵检测模型的自学习功能. 5)数据报警单元:针对不符合入侵匹配规则库 的事件,按照事先制定的报警方式,本模型选取对应 的形式进行相应的响应,其中有:告警声音提醒、屏 幕显示警告信息、email 通知、重启计算机网络设备 以及断开网络连接等. 6)合法行为:符合入侵规则库的匹配条件,对 计算机系统没有产生影响的网络行为. 本文 MPSO_BP 神经网络模块是 MPBIDS 模型 最重要的部分,MPBIDS 模型检测入侵行为的准确 性、可行性,取决于 MPSO_BP 神经网络模块是否合 理设计.该核心模块的训练过程流程图如图 2 所示. 图 2 MPSO_BP 神经网络模块的训练过程 Fig. 2 The trained process of MPSO_BP neutral net⁃ work module 3.2 仿真实验数据预处理 3.2.1 KDD CUP99 数据集 仿真实验选取通用的 KDD CUP99 数据集中的 局部数据.该数据集数据是从一个模拟局域网中捕 获到的,网络连接数据共有 9 周,该数据集中 TCP / IP 连接记录有 500 万个,其中记录具有的标号属性 能够划分异常正常点[8] . 而用来做测试的数据是 KDD CUP99 数据集中 200 万条无标号属性的记录. 这 200 万条记录中每个数据对象有 42 个属性,其中 符号属性 7 位,数值属性 34 位,标号属性 1 位.每条 ·560· 智 能 系 统 学 报 第 8 卷
第6期 宋玲,等,变异粒子群优化的BP神经网络在入侵检测中的应用 ·561 记录的类型有5种:DOS攻击、R2L攻击、U2R攻 中的离散数据, 击、Probing攻击和正常事件. 1)提取数据特征:为提高网络训练速度,忽略 3.2.2仿真数据预处理 对实验结果影响不大的部分数据特征,同时将向量 通过3个环节对仿真数据进行预处理:提取仿 的维数压缩.仿真实验提取的15个数据特征如表1 真数据特征、归一化提取的数据特征、连续化数据集 所示 表1提取仿真数据特征 Table 1 Extraction the feature of simulation data 顺序 编号 数据特征 数据描述 数据类型 01 01 service continuance 服务持续时间 连续 02 02 continued_protocol 连续的协议 离散 03 03 type_service 服务类型 离散 04 04 connection_state 连接状态 离散 05 05 sre dst bytes 从数据源到目的地的数据比特数 连续 06 08 error_num_fragmentation 错误分片的数量 连续 07 11 num_failed_attempts 登陆的失败次数 连续 08 17 num_file_operations 创建文件的操作次数 连续 09 23 same_dstcount 当前与过去2;内有相同目的地址的连接数量 连续 10 24 same servic count 当前与过去2;内有相同服务类型的连接数量 连续 过去2s内,与当前连接具有相同目的地址连接中,错误 11 25 syn_error_proportion 连续 SYN连接的比例 过去2s内,与当前连接具有相同服务类型的连接中,错 12 26 srv_error_proportion 连续 误SRY连接所占的比例 13 过去2s内,与当前连接具有相同服务类型的连接中,目 31 dst_diff_host proportion 连续 的地址不同的连接所占的比例 在之前的100个连接中,与当前连接具有相同目的地址 14 34 service_host_same_srv_proportion 连续 且同一服务的连接所占的比例 15 regular or assault 正常事件或攻击行为 离散 2)连续化离散的数据:由于连续和离散2种数 表4连接状态的对应编码 据类型的特征值分别采取不一样的衡量参数,为不 Table 4 The corresponding code of connection state 影响仿真实验,本文先连续化离散的数据.如表2~5 State RSO REHJ RST SOR ST3 SHF STH Addition 所示。 编码 0 1 2345 6 7 表2不同协议类型的对应编码 Table 2 The different code corresponding of protocol type 表5正常事件和攻击行为的对应编码 网络协议类型ICMP TCP UDP Uncertain Table 5 The corresponding codes of normal events and at- tack behavior 对应编码 2 正常事件 正常事件 R2L DOS Prob U2R 攻击类型 表3不同类型的网络服务编码 对应编码0000 0001 0010 0011 0100 Table 3 The different coding of network service 3)归一化提取的数据特征 信息 信息 信息 为防止数据级较大的数据项影响数据级较小的 网络服务 网络服务 编码 编码 网络服务 编码 数据项,使其不会对仿真实验有效,归一化数据特征 Domain n 1 hostcalls 8 ftp_data 15 能够使得所有数据项取值在同一个区间内.具体变 mtp 2 uncp 9 systat 0 化为例 Eco i 3 login 10 telnet 17 finger 4 Eer i 11 time 18 ①平均绝对方差S= smtp netstat Imap4 0 式中:数据样本用X,表示,样本均值用m表示为 ftp 6 additional 13 other services 20
记录的类型有 5 种:DOS 攻击、R2L 攻击、U2R 攻 击、Probing 攻击和正常事件. 3.2.2 仿真数据预处理 通过 3 个环节对仿真数据进行预处理:提取仿 真数据特征、归一化提取的数据特征、连续化数据集 中的离散数据. 1)提取数据特征:为提高网络训练速度,忽略 对实验结果影响不大的部分数据特征,同时将向量 的维数压缩.仿真实验提取的 15 个数据特征如表 1 所示. 表 1 提取仿真数据特征 Table 1 Extraction the feature of simulation data 顺序 编号 数据特征 数据描述 数据类型 01 01 service_continuance 服务持续时间 连续 02 02 continued_ protocol 连续的协议 离散 03 03 type_service 服务类型 离散 04 04 connection_state 连接状态 离散 05 05 src_dst_bytes 从数据源到目的地的数据比特数 连续 06 08 error_num_fragmentation 错误分片的数量 连续 07 11 num_failed_attempts 登陆的失败次数 连续 08 17 num_file_operations 创建文件的操作次数 连续 09 23 same_dst_count 当前与过去 2 s 内有相同目的地址的连接数量 连续 10 24 same_servic_count 当前与过去 2 s 内有相同服务类型的连接数量 连续 11 25 syn_error_proportion 过去 2 s 内,与当前连接具有相同目的地址连接中,错误 SYN 连接的比例 连续 12 26 srv_error_proportion 过去 2 s 内,与当前连接具有相同服务类型的连接中,错 误 SRY 连接所占的比例 连续 13 31 dst_diff_host_ proportion 过去 2 s 内,与当前连接具有相同服务类型的连接中,目 的地址不同的连接所占的比例 连续 14 34 service_host_same_srv_proportion 在之前的 100 个连接中,与当前连接具有相同目的地址 且同一服务的连接所占的比例 连续 15 regular or assault 正常事件或攻击行为 离散 2)连续化离散的数据:由于连续和离散 2 种数 据类型的特征值分别采取不一样的衡量参数,为不 影响仿真实验,本文先连续化离散的数据.如表 2 ~ 5 所示. 表 2 不同协议类型的对应编码 Table 2 The different code corresponding of protocol type 网络协议类型 ICMP TCP UDP Uncertain 对应编码 0 1 2 3 表 3 不同类型的网络服务编码 Table 3 The different coding of network service 网络服务 信息 编码 网络服务 信息 编码 网络服务 信息 编码 Domain_n 1 hostcalls 8 ftp_data 15 mtp 2 uncp 9 systat 19 Eco_i 3 login 10 telnet 17 finger 4 Ecr_i 11 time 18 smtp 5 netstat 12 Imap4 19 ftp 6 additional 13 other_ services 20 表 4 连接状态的对应编码 Table 4 The corresponding code of connection state State RSO REHJ RST SOR ST3 SHF STH Addition 编码 0 1 2 3 4 5 6 7 表 5 正常事件和攻击行为的对应编码 Table 5 The corresponding codes of normal events and at⁃ tack behavior 正常事件 攻击类型 正常事件 R2L DOS Prob U2R 对应编码 0000 0001 0010 0011 0100 3)归一化提取的数据特征 为防止数据级较大的数据项影响数据级较小的 数据项,使其不会对仿真实验有效,归一化数据特征 能够使得所有数据项取值在同一个区间内.具体变 化为[9] ①平均绝对方差 S = 1 N∑ N i = 1 (Xi - m). 式中:数据样本用 Xi 表示,样本均值用 m 表示为 m = 1 n ∑ n i = 1 Xi . 第 6 期 宋玲,等:变异粒子群优化的 BP 神经网络在入侵检测中的应用 ·561·
.562. 智能系统学报 第8卷 Xi-m 1.0r ②标准化数据Y:= 0.8 0.6 -MPSO BP 此时,计算得到的标准数据不一定能够在 0.4 ·PSO_BP [0,1]内,本文再次采取线性标准化公式,能够归一 0 BP 化计算数据到指定的闭区间[0,1]中: 03101202本30方4ǒ10 (X-min)】 误报率 Y=7 (max -min) 图33种算法仿真实验结果 式中:仿真实验线性归一化前后计算的数据值分别 Fig.3 The simulation results of three algorithms 用X和Y表示,线性归一化样本数据的最大值和最 样本数据中4种具体攻击类型的平均误报率和 小值分别用max和min表示. 检测率如表8所示,仿真结果中对于DoS和Pob攻 3.3仿真实验结果分析 击类型的检测率是比较高的,分别是94.25%和91. 仿真实验中抽取4组样本数据进行入侵测试, 33%:同时由于R2L和U2L攻击类型中的数据量相 每组样本数据中包含2400条事件记录,都是由 对较少,比较容易形成错判,导致仿真实验对于2L 2000条正常事件记录和400条入侵行为记录组成. 和U2R攻击类型的检测率比较低,分别是27.43%和 在每个样本数据中的攻击类型数目不同,能够有效 42.47% 对比3种算法检测不同攻击类型的功能.详细样本 表84种攻击类型的具体仿真结果 数据如表6所示: Table 8 The specific simulation results of fourattack types% 表6包含2400条记录的样本数据 检测MPSO_BP算法 PSO_BP算法 BP算法 Table 6 The sample data of 2 400 records 算法检测率误报率 检测率误报率检测率误报率 样本数据正常事件DOSU2LR2LPob DOS 94.252.43 86.41 3.29 81.445.56 U2R 42.47 3.52 40.21 4.61 38.576.68 样本1 2000 120 80 100100 R2L27.432.35 26.52 4.32 25.587.87 样本2 2000 1505080120 Prob91.331.92 90.232.74 89.115.48 样本3 2000 16040 60140 样本4 2000 18020 40 160 4 结束语 仿真测试中,分别对文献[10-11]中的算法和本 本文结合BP神经网络和PSO算法的优点,提 文算法采用同样的样本数据进行测试.仿真实验结 出MPSO算法和MPSO_BP神经网络,用改进的 果如表7所示. MPS0算法优化BP神经网络,并将优化后的 表73种算法仿真实验结果 MPSO_BP神经网络应用到MPBIDS入侵检测模型 Table 7 The simulation results of three algorithms 中,使得该模型的检测性能得到明显提升.仿真实验 样本MPSO_BP算法 PSO_BP算法 BP算法 中,先归一化和标准化神经网络的训练数据样本,通 数据检测率误报率检测率误报率 检测率误报率 过优化的MPSO_BP神经网络的聚类功能生成作为 样本185.691.92 84.48 2.54 83.523.49 输入向量的最佳神经元,然后把包含最佳神经元的 样本289.451.41 87.38 2.43 86.342.64 样本数据按照规则进行相应编码,并把编码后的数 样本394.530.86 92.491.32 90.441.78 据集作为MPSO_BP网络的输入向量,对其进行训 样本496.770.36 94.320.79 93.281.35 练这样既可以利用编码规则来判断是否为新的攻 从表7中的实验数据分析得出,本文用带变异 击类型,提高网络的自学习能力,同时也降低了MP 算子的改进PSO算法优化BP神经网络的参数,提 SO_BP神经网络的样本训练量,加快了网络的学习 出MPS0_BP优化神经网络算法,与文献[10-11]中 速度.仿真实验数据证明基于优化MPSO_BP神经网 的算法相比,在同一条件下,本文提出的MPSO_BP 络的MPBIDS模型具有较高的检测率和较低的误报 算法性能得到有效改善:入侵检测率有明显提高,入 率,同时该模型能够有效地辨别攻击行为和正常行 侵误报率有明显降低.仿真实验数据说明,MPSO_ 为,体现出较好的应用效果和理论研究价值. BP算法能够有效提升MPBIDS模型的检测性能.用 图3表示表7中的实验数据,能够更直观地说明仿 参考文献: 真实验结果, [1]CLAUDINO E C,ABDELOUAHAB Z,TEIXEIRA MM
②标准化数据 Yi = Xi - m S . 此时, 计 算 得 到 的 标 准 数 据 不 一 定 能 够 在 [0,1]内,本文再次采取线性标准化公式,能够归一 化计算数据到指定的闭区间[0,1]中: Y = (X - min) (max - min) . 式中:仿真实验线性归一化前后计算的数据值分别 用 X 和 Y 表示,线性归一化样本数据的最大值和最 小值分别用 max 和 min 表示. 3.3 仿真实验结果分析 仿真实验中抽取 4 组样本数据进行入侵测试, 每组样本数据中包含 2 400 条事件记录, 都是由 2 000条正常事件记录和 400 条入侵行为记录组成. 在每个样本数据中的攻击类型数目不同,能够有效 对比 3 种算法检测不同攻击类型的功能.详细样本 数据如表 6 所示: 表 6 包含 2 400 条记录的样本数据 Table 6 The sample data of 2 400 records 样本数据 正常事件 DOS U2L R2L Prob 样本 1 2 000 120 80 100 100 样本 2 2 000 150 50 80 120 样本 3 2 000 160 40 60 140 样本 4 2 000 180 20 40 160 仿真测试中,分别对文献[10⁃11]中的算法和本 文算法采用同样的样本数据进行测试.仿真实验结 果如表 7 所示. 表 7 3 种算法仿真实验结果 Table 7 The simulation results of three algorithms % 样本 数据 MPSO_BP 算法 检测率 误报率 PSO_BP 算法 检测率 误报率 BP 算法 检测率 误报率 样本 1 85.69 1.92 84.48 2.54 83.52 3.49 样本 2 89.45 1.41 87.38 2.43 86.34 2.64 样本 3 94.53 0.86 92.49 1.32 90.44 1.78 样本 4 96.77 0.36 94.32 0.79 93.28 1.35 从表 7 中的实验数据分析得出,本文用带变异 算子的改进 PSO 算法优化 BP 神经网络的参数,提 出 MPSO_BP 优化神经网络算法,与文献[10⁃11]中 的算法相比,在同一条件下,本文提出的 MPSO_BP 算法性能得到有效改善:入侵检测率有明显提高,入 侵误报率有明显降低.仿真实验数据说明,MPSO_ BP 算法能够有效提升 MPBIDS 模型的检测性能.用 图 3 表示表 7 中的实验数据,能够更直观地说明仿 真实验结果. 图 3 3 种算法仿真实验结果 Fig. 3 The simulation results of three algorithms 样本数据中 4 种具体攻击类型的平均误报率和 检测率如表 8 所示,仿真结果中对于 DoS 和 Prob 攻 击类型的检测率是比较高的,分别是 94.25%和 91. 33%;同时由于 R2L 和 U2L 攻击类型中的数据量相 对较少,比较容易形成错判,导致仿真实验对于 R2L 和 U2R 攻击类型的检测率比较低,分别是27.43%和 42.47%. 表 8 4 种攻击类型的具体仿真结果 Table 8 The specific simulation results of fourattack types % 检测 算法 MPSO_BP 算法 检测率 误报率 PSO_BP 算法 检测率 误报率 BP 算法 检测率 误报率 DOS 94.25 2.43 86.41 3.29 81.44 5.56 U2R 42.47 3.52 40.21 4.61 38.57 6.68 R2L 27.43 2.35 26.52 4.32 25.58 7.87 Prob 91.33 1.92 90.23 2.74 89.11 5.48 4 结束语 本文结合 BP 神经网络和 PSO 算法的优点,提 出 MPSO 算法和 MPSO_BP 神经网络,用改进的 MPSO 算 法 优 化 BP 神 经 网 络, 并 将 优 化 后 的 MPSO_BP神经网络应用到 MPBIDS 入侵检测模型 中,使得该模型的检测性能得到明显提升.仿真实验 中,先归一化和标准化神经网络的训练数据样本,通 过优化的 MPSO_BP 神经网络的聚类功能生成作为 输入向量的最佳神经元,然后把包含最佳神经元的 样本数据按照规则进行相应编码,并把编码后的数 据集作为 MPSO_BP 网络的输入向量,对其进行训 练.这样既可以利用编码规则来判断是否为新的攻 击类型,提高网络的自学习能力,同时也降低了 MP⁃ SO_BP 神经网络的样本训练量,加快了网络的学习 速度.仿真实验数据证明基于优化 MPSO_BP 神经网 络的 MPBIDS 模型具有较高的检测率和较低的误报 率,同时该模型能够有效地辨别攻击行为和正常行 为,体现出较好的应用效果和理论研究价值. 参考文献: [1] CLAUDINO E C, ABDELOUAHAB Z, TEIXEIRA M M. ·562· 智 能 系 统 学 报 第 8 卷
第6期 宋玲,等:变异粒子群优化的BP神经网络在人侵检测中的应用 ·563· Management and integration of information in intrusion de- Elman hybrid neural network[D].Harbin:Harbin Institute tection system:data integration system for IDS based multi- of Technology.2008:23-50. agent systems[C]//IEEE/WIC/ACM International Confer- [9]肖立中,邵志清.网络入侵检测中的自动决定聚类数算 ences on Web Intelligence and Intelligent Agent Technolo- 法[J].软件学报,2008,19(8):428-432. gy-Workshops.Hong Kong,China,2006:49-52. QIAO Lizhong,SHAO Zhiqing.An algorithm for automatic [2]POLI R,KENNEDY,BLACKWELL T.Particle swarm opti- clustering number determination in networks intrusion detec- mization:an overview [J].Swarm Intelligence,2007,1 tion[J].Journal of Software,2008,19(8):428-432. (1):33-57. [10]刘俊芳,高岳林.带自适应变异的量子粒子群优化算法 [3]GARCIA-VILLORIA A,PASTOR R.Introducing dynamic [J].计算机工程与应用,2011,47(3):41-45. into a discrete particle swarm optimization[J].Computers LIU Junfang,GAO Yuelin.Quantum particle swarm opti- and Operations Research,2009.36(3):951-966. mization algorithm with adaptive mutation[J].Computer [4]PRADHAN B,LEE S.Regional landslide susceptibility a- Engineering and Applications,2011,47(3):41-45. nalysis using back-propagation neural network model at Ca- [11]吕杰.改进的BP神经网络在入侵检测中的研究及应用 meron Highland,Malaysia [J].Earth and Environmental [D].广州:广东工业大学,2008:32-60 Science,2010,7(1):13-30. LYU Jie.Research and applications of improved BP neural [5]陶新民,王妍,赵春晖,等.双尺度协同变异的离散粒 network in intrusion detection[D].Guangzhou:Guangdong 子群算法[J].哈尔滨工程大学报,2011,32(12): university of Technology,2008:32-60. 1617-1623 作者简介: TAO Xinmin,WANG Yan,ZHAO Chunhui,et al.Discrete 宋玲,女,1967年生,教授,主要研 particle swarm optimization based on double-scale coopera- 究方向为计算机网络性能优化.主持和 tion mutation[J].Journal of Harbin Engineering University, 承担了国家自然科学基金、广西自然科 2011,32(12):1617-1623. 学基金、广西科技攻关项目等各类课题 [6]刘延涛.基于混合神经网络技术的人侵检测模型[D]· 20余项:获得广西省科技进步三等奖1 长春:东北师范大学,2010:20-30. 项,广西省计算机应用成果推广三等奖 LIU Yantao.Intrusion detection model based on hybrid neu- 3项.发表学术论文90余篇,被EI、ISTP检索20余篇.编写教 ral network[D].Changchun:Northeast Normal University, 材3部,出版专著1部。 2010:20-30. [7]KAO Y T,ZZHARA E.A hybrid genetic algorithm and par- 常磊,男,1983年生,讲师,主要研 ticle swarm optimization for multimodal functions[J].Ap- 究方向为计算机网络性能优化,发表学 plied Soft Computing,2008,8(2):849. 术论文3篇。 [8]于海宁.基于MLP和Elman混合神经网络的入侵检测系 统[D].哈尔滨:哈尔滨工业大学,2008:23-50. YU Haining.Intrusion detection system based on MLP and
Management and integration of information in intrusion de⁃ tection system: data integration system for IDS based multi⁃ agent systems[C] / / IEEE/ WIC/ ACM International Confer⁃ ences on Web Intelligence and Intelligent Agent Technolo⁃ gy—Workshops. Hong Kong, China, 2006: 49⁃52. [2]POLI R, KENNEDY, BLACKWELL T. Particle swarm opti⁃ mization: an overview [ J]. Swarm Intelligence, 2007, 1 (1): 33⁃57. [3] GARCIA⁃VILLORIA A, PASTOR R. Introducing dynamic into a discrete particle swarm optimization [ J]. Computers and Operations Research, 2009, 36(3): 951⁃966. [4]PRADHAN B, LEE S. Regional landslide susceptibility a⁃ nalysis using back⁃propagation neural network model at Ca⁃ meron Highland, Malaysia [ J]. Earth and Environmental Science, 2010, 7(1): 13⁃30. [5]陶新民, 王妍, 赵春晖, 等. 双尺度协同变异的离散粒 子群算法 [ J]. 哈尔滨工程大学报, 2011, 32 ( 12): 1617⁃1623. TAO Xinmin, WANG Yan, ZHAO Chunhui, et al. Discrete particle swarm optimization based on double⁃scale coopera⁃ tion mutation[J]. Journal of Harbin Engineering University, 2011, 32 (12): 1617⁃1623. [6]刘延涛. 基于混合神经网络技术的入侵检测模型[D]. 长春: 东北师范大学, 2010: 20⁃30. LIU Yantao. Intrusion detection model based on hybrid neu⁃ ral network[D]. Changchun: Northeast Normal University, 2010: 20⁃30. [7]KAO Y T, ZZHARA E. A hybrid genetic algorithm and par⁃ ticle swarm optimization for multimodal functions [ J]. Ap⁃ plied Soft Computing, 2008, 8(2): 849. [8]于海宁. 基于 MLP 和 Elman 混合神经网络的入侵检测系 统[D]. 哈尔滨: 哈尔滨工业大学, 2008: 23⁃50. YU Haining. Intrusion detection system based on MLP and Elman hybrid neural network[D]. Harbin: Harbin Institute of Technology, 2008: 23⁃50. [9]肖立中, 邵志清. 网络入侵检测中的自动决定聚类数算 法[J]. 软件学报, 2008, 19(8): 428⁃432. QIAO Lizhong, SHAO Zhiqing. An algorithm for automatic clustering number determination in networks intrusion detec⁃ tion[J]. Journal of Software, 2008, 19(8): 428⁃432. [10]刘俊芳, 高岳林. 带自适应变异的量子粒子群优化算法 [J]. 计算机工程与应用, 2011, 47(3): 41⁃45. LIU Junfang, GAO Yuelin. Quantum particle swarm opti⁃ mization algorithm with adaptive mutation [ J]. Computer Engineering and Applications, 2011, 47(3): 41⁃45. [11]吕杰. 改进的 BP 神经网络在入侵检测中的研究及应用 [D]. 广州:广东工业大学, 2008: 32⁃60. LYU Jie. Research and applications of improved BP neural network in intrusion detection[D]. Guangzhou: Guangdong university of Technology, 2008: 32⁃60. 作者简介: 宋玲,女,1967 年生,教授,主要研 究方向为计算机网络性能优化.主持和 承担了国家自然科学基金、广西自然科 学基金、广西科技攻关项目等各类课题 20 余项;获得广西省科技进步三等奖 1 项,广西省计算机应用成果推广三等奖 3 项.发表学术论文 90 余篇,被 EI、ISTP 检索 20 余篇.编写教 材 3 部,出版专著 1 部. 常磊,男,1983 年生,讲师,主要研 究方向为计算机网络性能优化,发表学 术论文 3 篇. 第 6 期 宋玲,等:变异粒子群优化的 BP 神经网络在入侵检测中的应用 ·563·