基于AFSA-SVM的网络入侵检测模型

2013-07-20 02:33李玉霞刘丽沈桂兰
计算机工程与应用 2013年24期
关键词:鱼群特征选择子集

李玉霞,刘丽,沈桂兰

1.北京联合大学商务学院,北京 100025

2.北京联合大学生物化学工程学院,北京 100023

基于AFSA-SVM的网络入侵检测模型

李玉霞1,刘丽2,沈桂兰1

1.北京联合大学商务学院,北京 100025

2.北京联合大学生物化学工程学院,北京 100023

随着Internet规模不断壮大,网络攻击在数量和危害程度上均呈上升趋势,网络安全问题日益突出。传统防火墙、数据加密等被动防御措施无法满足现代网络安全性要求,入侵检测作为一种主动防御技术,成为现代网络安全研究中的热点问题[1]。

网络入侵检测是指从网络中收集数据,然后对数据特征进行分析,最后检测出入侵行为,并给出入侵警报[2]。网络入侵检测实质上是一种多分类问题,主要包括特征选择、分类器设计等步骤[3]。原始网络特征中包含大量冗余信息和对检测结果起“反作用”的噪声特征,如果不加选择直接使用,不仅大大削弱了分类器的分类性能,而且增加“维数灾难”出现概率,对入侵检测结果产生不利影响[4]。当前网络特征选择算法主要有:穷举算法、遗传算法、粒子群优化算法、免疫算法以及相关的改进算法[5-9]。穷举算法计算量大,搜索效率低,不能满足网络入侵检测的实时性;遗传算法、粒子群优化算法、免疫算法等存在收敛速度慢、极易陷入局部极值等缺陷,难以找到全局最优的网络状态特征[10]。当前入侵检测分类器主要基于机器学习算法进行设计,有神经网络、支持向量机(Support Vector Machine,SVM)等[11-12]。神经网络基于经验风险最小化原则和“大样本”理论,当不能满足“大样本”要求时,易出现过拟合、分类能力差等缺陷;SVM是一种专门针对小样本、高维、非线性问题的机器学习算法,较好地克服了神经网络过拟合、“维数灾”等缺陷,泛化能力优异,成为网络入侵检测的主要分类器,因此本研究选择SVM建立入侵检测分类器。

人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)是一种模拟鱼群的觅食和生存活动的智能仿生算法,具有对初值和参数选择不敏感、鲁棒性强、简单、易实现等优点,在组合优化领域取得了不错的应用效果[13]。网络入侵特征选择实质上是一个大规模空间搜索的组合优化问题,因此可借助于AFSA进行求解。为了提高网络入侵检测效果,针对当前网络入侵检测特征选择问题,提出一种AFSA和SVM相融合的网络入侵检测模型(AFSA-SVM),并采用KDD CUP 99数据集对AFSA-SVM进行仿真测试,验证其有效性。

1 网络入侵检测模型的工作原理

基于AFSA-SVM的网络入侵模型工作原理为:首先对训练集数据进行预处理,采用AFSA产生初始特征子集,利用SVM建立入侵检测分类器对特征子集的优劣进行评估,然后通过鱼群的觅食、聚群及追尾行为,快速找到最优特征子集,并根据选择的最优特征子集对训练集和测试集进行特征约简,最后将特征约简后的训练集送到SVM进行训练,建立网络入侵检测模型,并对特征约简后的测试集进行检测。AFSA-SVM的框架如图1所示。

图1 AFSA-SVM入侵检测框架

2 改进人工鱼群算法

2.1 基本人工鱼群算法

人工鱼群算法(AFSA)模仿鱼群的觅食和追尾行为,搜索能力强,且搜索速度快,鱼群的几种典型行为如下:

(1)觅食行为。设人工鱼当前状态为Xi,随机在其视野范围内选择一个状态Xj,如果食物密度Yi<Yj,则向此方向前进一步,否则,重新随机选择状态Xj,判断是否满足前进条件;反复试探nj次后,如果仍然不能满足前进条件,那么就随机移动一步。用数学表达式表示为:

式中,Rand()为(0,1)范围内的随机数;Step为移动步长。

(2)聚群行为。设人工鱼当前状态为Xi,其视野范围内的伙伴数目为nf、中心位置为Xc。若Yc/nf>δYi,δ为拥挤度因子,那么表明伙伴中心有较多的食物,并且不太拥挤,则朝伙伴中心移动一步,否则执行觅食行为。其数学表达式如下:

(3)追尾行为。设人工鱼当前状态为Xi,其视野范围内食物浓度最高Yj的人工鱼位置为Xmax。若Yj/nf>δYi,则表示伙伴Xmax具有较高的食物浓度并且其周围不太拥挤,则朝伙伴Xj前进一步,否则执行觅食行为。

(4)随机行为。人工鱼在视野范围内随机选择一个状态,然后向该方向移动,属于觅食行为的缺省行为。

(5)公告板。公告牌是用于记录最优人工鱼的状态。

AFSA也是一种随机搜索算法,对于复杂问题,同样存在寻优后期搜索效率低、易陷入局部最优解等缺陷[14]。

2.2 人工鱼群算法的改进

混沌现象是非线性动力学系统中特有的一种现象,具有随机性、遍历性和确定性,因此在AFSA中引入混沌,能够有效地避免算法长时间位于局部极小附近,提高算法的全局收敛性和搜索效率。混沌变量的Tent映射为:

根据Tent映射,人工鱼i按照如下的步骤在可行域中产生混沌点列:

(1)将人工鱼状态Xi的每一维Xik,k=1,2,…,n,按式(5)映射到[0,1]区间上:

式中,ak,bk分别表示第k维变量Xik的最小值与最大值。(2)式(5)迭代M次后,产生混沌序列

(3)根据式(6)将混沌序列中状态值映射到原空间。

(4)由这些混沌序列可以得到Xi经过Tent映射后的混沌点序列为:

在AFSA优化后期,人工鱼随机行为降低了算法的优化精度和优化效率,为此引入反馈机制。反馈策略即为人工鱼定义一个反馈行为:人工鱼以一定的概率向公告牌记录的最优状态游动,因此让人工鱼以概率pf0执行随机行为,而以概率1-pf0执行反馈行为,以保证新算法的优化后期可以得到更好的优化精度和效率。并使pf0按式(8)减小:

式中,θ为反馈概率的衰减因子。

3 AFSA-SVM入侵检测模型

3.1 编码规则

对于给定含有m维特征的网络状态数据集D,特征选择的目的是选择出一个满足目标函数最优的特征子集R,本研究采用二进制编码规则,那么人工鱼位置状态x每一维的值用二进制表示,选中的特征取为1,否则为0。

3.2 食物密度

食物密度是人工鱼位置优劣的评价依据,即特征子集性能评价标准,入侵特征选择目标包括两个方面:(1)网络入侵检测率更高;(2)特征维数尽量最少,则目标函数(食物密度)由所选特征子集的大小和检测率两部分组成。食物密度计算公式如下:

式中,d为选取特征子集的维数;D为入侵检测原始特征维数;Perror表示5折交叉验证SVM训练模型的检测率;λ为检测正确率权重系数。

由于车体受到会车气动流场的直接作用,且支撑车体的空气弹簧对压力变化较为敏感,因此需要首先研究车体在会车过程中的动态响应。车体的侧滚角θ与横移量Y在会车过程中的响应曲线分别如图6和图7所示。观察图6可知,车体侧滚角的变化趋势与会车流场压力的变化趋势相反,即当车体右侧流场压力增加时,车体发生逆时针侧滚运动,同时导致了转向架左侧空气弹簧内压升高,而右侧空气弹簧内压下降。由图7可知,交会车速越高,车体横移量越大;车体在交会初始正压力波的推动下首先向左侧横移,此后压力波出现两个负峰值点,车体受吸引作用向右侧横移,最后在车尾通过观测点时正压力波的作用下,车体又逐渐回复至平衡位置。

3.3 视野范围

若视野范围(Fv)太小,易出现Fv内没有人工鱼伙伴,随机性觅食概率太大,导致算法搜索盲目性增强,但是若Fv太大,聚群行为和追尾行为概率增大,不利于探索新的可行解空间区域。本研究通过人工鱼状态差异位的个数来表示两个状态之间的相似程度。如果两个状态间的相似度越高,表示人工鱼位置间的差异就越小。人工鱼当前位置Xi的可见域Fv定义为:

式中,xik表示人工鱼当前位置Xi的第k维的值,

3.4 AFSA-SVM入侵检测步骤

(1)收集网络状态信息,提取网络状态特征。

(2)初始化人工鱼参数,主要有位置、移动步长Step、种群规模n、拥挤度因子δ、反馈概率Pfb、反馈概率的衰减因子θ、最大迭代次数max_iterate等。

(3)在可行域范围内随机生成n条人工鱼,并设置初始迭代次数passed_iterate=0。

(4)对初始鱼群的个体当前位置食物浓度值(FC)进行计算,然后对它们进行排序,选择FC值最大的人工鱼个体进入公告板。

(5)评价某条人工鱼的觅食、追尾和聚群行为所得的结果,若执行某个行为后,人工鱼的状态优于当前状态,则该人工鱼向此方向前进一步,接着转到(8)执行。

(6)产生一个随机数r,若r<Pfb,则人工鱼执行随机行为,否则执行反馈行为,向公告牌中最优方向移动一步。

(7)根据式(5)~(7)对所有最优人工鱼状态进行混沌搜索,得到当前解域范围内的最好的人工鱼状态。

(8)更新公告牌,将(7)中得到的最好人工鱼状态记入公告牌。

(9)根据式(8)更新反馈概率。

(10)判断算法结束条件,如果达到最大迭代次数,则结束算法,并输出公告牌中的人工鱼状态,即为最优特征子集,否则passed_iterate=passed_iterate+1,转(6)执行。

(11)根据最优特征子集对训练集和测试集进行特征约简,得到约简后的训练集和测试集。

(12)将特征约简后的训练集送到SVM进行训练,建立网络入侵检测模型。

(13)将约简后的测试集输入到网络入侵检测模型进行测试,以验证模型的性能。

4 仿真实验

4.1 数据源

在P4双核2.8 GHz CPU、2 GB内存,Windows XP环境下,采用Matlab 2009实现仿真实验。数据来自网络入侵标准测试集KDD CUP 99数据集,其包括四种入侵类型:DoS、Probe、U2R和R2L,同时包括正常样本[15]。每一个样本共有41个特征,7个符号型字段和34个数值型字段。将样本分为“Normal”或是“Attack”,即将四种入侵都归类为“Attack”,这样可将多分类问题的网络入侵检测变为二值分类问题,从而能更好地关注特征选择的效果。从KDD CUP 99数据集中随机选取10 000个样本,正常样本和异常样本各5 000个,并选择8 000个作为训练集,2 000个作为测试集。

4.2 对比模型及评价标准

选择粒子群优化算法选择特征的SVM模型(PSO-SVM),遗传算法选择特征的SVM模型(GA-SVM)、原始特征的SVM模型(SVM)作为对比模型。模型性能评价标准为:检测率(TPR)、平均训练时间和检测时间。TPR定义如下:

4.3 各模型选择的特征子集

采用SVM、PSO-SVM、GA-SVM、AFSA-SVM进行特征子集选择,得到最优特征子集见表1。从表1可知,采用特征选择方法,有效消除了冗余或无用特征,可以降低特征维数,大大地压缩了特征空间,因此在训练集和测试集输入到分类器进行学习之前,对特征进行选择是必须的。

表1 各模型选择的特征数

4.4 特征归一化处理

由于网络入侵特征值采用不同度量单位,在SVM训练过程,如果某些特征占了主导地位,就会掩盖其他一些特征对检测结果的贡献,为了消除该现象的出现,对特征值进行归一化处理。数据归一化的Matlab代码为:

4.5 检测率对比

根据选择最优特征子集对训练集和测试集进行约简处理,然后将训练集输入到SVM进行学习和建模,最后采用建立的模型对测试集进行检测,得到的结果见表2。

表2 各模型的检测率对比

从表2可知,相对没有进行特征选择的SVM,特征选择模型(AFSA-SVM、GA-SVM、PSO-SVM)的检测率得到了显著提高,主要是因为特征选择可以剔除冗余和不重要的特征,获得一些对检测结果起至关重要的关键特征,提高了检测率。同时从表2可知,相对于GA-SVM、PSO-SVM,AFSA-SVM检测率更高,这归结于AFSA能够更加有助于特征选择,获得的特征子集可以更加准确描述网络状态变化趋势,对比结果表明,将AFSA-SVM用于网络入侵检测是可行的,可以获得更优的检测结果。

4.6 训练时间和检测时间比较

PSO-SVM、GA-SVM、AFSA-SVM、SVM的训练时间和测试时间见表3。从表3可知,AFSA-SVM的训练时间和检测时间均少于对比模型,检测效率最高,这说明AFSA有效地提高了寻找最优特征子集的能力,加快了算法收敛速度,AFSA-SVM可以更好地满足网络入侵检测的实时性要求。

表3 不同模型的训练时间和检测时间对比s

5 结束语

针对网络数据中存在大量的无关特征、冗余特征,导致网络入侵检测出现检测速度慢,检测率低等难问题,提出一种基于AFSA-SVM的网络入侵检测模型。仿真结果表明,相对于其他入侵检测模型,AFSA-SVM可以有效剔除网络数据中的无关特征和冗余特征,选择与检测结果关联程度较高的特征子集,降低了特征维数,进一步提高了入侵检测效率和检测率,可以满足特征变化复杂和攻击行为层出不穷的实时网络入侵检测。

[1]唐正军,李建华.入侵检测技术[M].北京:清华大学出版社,2004. [2]井小沛,汪厚祥,聂凯,等.面向入侵检测的基于IMGA和MKSVM的特征选择算法[J].计算机科学,2012,39(7):96-100.

[3]Yu L,Liu H.Efficient feature selection via analysis of relevance and redundancy[J].Journal of Machine Learning Research,2004,5:1205-1224.

[4]Denning D E.An intrusion detection model[J].IEEE Transactions on Software Engineering,2010,13(2):222-232.

[5]Hang C L,Wang C J.A GA-based feature selection and parameters optimization for support vector machines[J].Expert Systems with Applications,2009,31(2):231-240.

[6]何绍荣,梁金明,何志勇.基于互信息和关系积理论的特征选择方法[J].计算机工程,2010,36(13):257-259.

[7]陈友,程学旗,李洋,等.基于特征选择的轻量级入侵检测系统[J].软件学报,2007(7):1639-1651.

[8]郭文忠,陈国龙,陈庆良,等.基于粒子群优化算法和相关性分析的特征子集选择[J].计算机科学,2008,35(2):144-146.

[9]高海华,杨辉华,王行愚.基于BPSO-SVM的网络入侵特征选择和检测[J].计算机工程,2006,32(8):37-39.

[10]陈仕涛,陈国龙,郭文忠,等.基于粒子群优化和邻域约简的入侵检测日志数据特征选择[J].计算机研究与发展,2010,47(7):1261-1267.

[11]Hong J,Su M Y,Chen Y H,et a1.A novel intrusion detection system based on hierarchical clustering and support vector machines[J].Expert Systems with Applications,2011,38:306-313.

[12]Khan L,Awad M,Thuraisingham B.A new intrusion detection system using support vector machines and hierarchical clustering[J].The VLDB Journal,2007,16:507-521.

[13]Tan F,Fu X Z,Zhang Y Q,et a1.A genetic algorithm based method for feature subset selection[J].Soft Computing,2008,12(2):111-120.

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

[15]陈友,沈华伟,李洋.一种高效的面向入侵检测系统的特征选择算法[J].计算机学报,2007,30(8):1398-1408.

LI Yuxia1,LIU Li2,SHEN Guilan1

1.Business College,Beijing Union University,Beijing 100025,China
2.College of Biochemical Engineering,Beijing Union University,Beijing 100023,China

Feature selection is a core problem for network intrusion detection,in order to improve the detection rate of network intrusion,a network intrusion detection model(AFSA-SVM)is proposed based on Artificial Fish Swarm Algorithm and Support Vector Machine.The feature subset is coded as the position of adult fish,and the detection rate of 5 cross validation for SVM training model is taken as evaluation criteria of the feature subset,and then the fish feeding,clustering and rear-end behavior are imitated to find the optimal feature subset.The intrusion detection model is built based on the optimal feature subset.The simulation experiment is carried out on the KDD CUP 99 data.The results show that,compared with the Particle Swarm Optimization algorithm,Genetic Algorithm and all features,the proposed algorithm has improved detection efficiency and the detection rate of the network intrusion,so it is an efficient intrusion detection model.

feature selection;Artificial Fish Swarm Algorithm(AFSA);Support Vector Machine(SVM);intrusion detection

特征选择是网络入侵检测研究中的核心问题,为了提高网络入侵检测率,提出一种人工鱼群算法(AFSA)和支持向量机(SVM)相融合的网络入侵检测模型(AFSA-SVM)。将网络特征子集编码成人工鱼的位置,以5折交叉验证SVM训练模型检测率作为特征子集优劣的评价标准,通过模拟鱼群的觅食、聚群及追尾行为找到最优特征子集,SVM根据最优特征子集进行网络入侵检测,并采用KDD CUP 99数据集进行仿真测试。仿真结果表明,相对于粒子群优化算法、遗传算法和原始特征法,AFSA-SVM提高了入侵检测效率和检测率,是一种有效的网络入侵检测模型。

特征选择;人工鱼群算法;支持向量机;网络入侵检测

A

TP181

10.3778/j.issn.1002-8331.1303-0046

LI Yuxia,LIU Li,SHEN Guilan.Network intrusion detection model based on improved Artificial Fish Swarm Algorithm and Support Vector Machine.Computer Engineering and Applications,2013,49(24):74-77.

李玉霞(1970—),女,副教授,研究方向为算法设计、计算机应用技术;刘丽(1960—),女,副教授,研究方向为算法设计、计算机应用技术;沈桂兰(1979—),女,博士,副教授,研究方向为算法设计、电子商务、信息安全。

2013-03-06

2013-04-25

1002-8331(2013)24-0074-04

CNKI出版日期:2013-07-22http://www.cnki.net/kcms/detail/11.2127.TP.20130722.0920.001.html

猜你喜欢
鱼群特征选择子集
拓扑空间中紧致子集的性质研究
连通子集性质的推广与等价刻画
关于奇数阶二元子集的分离序列
鱼群漩涡
Kmeans 应用与特征选择
基于改进鱼群优化支持向量机的短期风电功率预测
基于人工鱼群算法的光伏阵列多峰MPPT控制策略
联合互信息水下目标特征选择算法
每一次爱情都只是爱情的子集
多子群并行人工鱼群算法的改进研究