蚁群算法选择神经网络参数的网络入侵检测
鲍梦
摘 要: 入侵检测是保证网络安全的关键技术,为了解决神经网络在入侵检测应用中的参数优化难题,提出蚁群算法选择神经网络参数的网络入侵检测模型。首先描述蚁群算法与神经网络参数之间的联系,并建立神经网络参数选择的目标函数,然后采用蚁群算法对目标函数的最优解进行搜索,确定神经网络的最佳参数,最后通过神经网络自组织学习实现入侵检测分类器的构建,选择入侵检测标准数据在Matlab 2014平台上实现仿真实验。结果表明,该模型解决了神经网络在入侵检测中的参数优化难题,建立了综合性能良好的入侵检测分类器,分类结果和分类速度均比典型模型有较显著的优势。
关键词: 网络安全; 神经网络; 参数优化; 蚁群算法; 入侵检测分类器
中图分类号: TN915.08?34; TP391 文献标识码: A 文章编号: 1004?373X(2017)17?0091?03
Network intrusion detection based on ant colony algorithm
selecting neural network parameter
BAO Meng
(Jiangxi University of Technology, Nanchang 330098, China)
Abstract: The intrusion detection is a key technology to ensure the network security. In order to solve the problem of parameter optimization of neural network in the application of intrusion detection, a network intrusion detection model based on ant colony algorithm selecting neural network parameter is proposed. The relation between the ant colony algorithm and neural network parameter is described. The objective function chosen by neural network parameters was established. The ant colony algorithm is used to search the optimal solution of objective function, and determine the optimal parameters of the neural network. The neural network self?organization learning is adopted to construct the classifier of intrusion detection. The simulation experiment for selected intrusion detection standard data was carried out on Matlab 2014 platform. The results show that the model can solve the problem of parameter optimization of neural network in the application of intrusion detection. The intrusion detection classifier with perfect comprehensive performance was est ablished, and its classification result and classification rate are superior to the typical model.
Keywords: network security; neural network; parameter optimization; ant colony algorithm; intrusion detection classifier
0 引 言
入侵是危害网络安全的一种恶意行为,它可以盗取网络系统中的机密信息,非法修改一些重要信息,有时可以导致网络瘫痪,使得网络不能正常工作[1?2]。入侵检测指通过一定技术对网络中的各种行为进行分析和判断,根据判断结果采取相应的防范措施,提高网络的安全性[3?4]。
入侵检测问题分为误用检测和异常检测,其中基于误用的入侵检测使用先验知识实现网络入侵行为的检测,它的缺点是无法识别新的入侵行为,导致入侵检测的误检率以及漏检率相当高[5];基于异常的入侵检测不需要先验知识,而是从正常行为中区分入侵、攻击行为,可以有效检测到新的入侵行为,因此本文针对基于异常的入侵检测问题进行研究。网络入侵检测本质上是一种多分类问题,因此它具有多分类的一些基本特征,如要构建分类器等[6],当前构建网络入侵的多分类器很多,如K近邻、决策树、支持向量、神经网络等[7?9],在所有算法中,神经网络的建模速度最快、分类性能更优,因此在网络入侵检测中得到了广泛的应用。神经网络的检测性能与其参数值有重要联系,像BP神经网络、RBF神经网络、极限学习机网络等,它们的参数如果确定不合理,那么就无法保证获得较高精度的网络入侵检测结果,入侵检测的误报率高[10]。将神经网络应用于入侵检测中时,首先要解决参数确定问题。当前参数确定主要通过一些生物模拟算法实现,如遗传算法等,而遗传算法的自身参数首先要确定,否则就易得到局部极优的神经网络参数,因此神经网络参数确定问题还有待进一步解决[11]。
相对于遗传算法,蚁群算法的搜索和问题求解的性能更优,在模式识别等领域得到了广泛的应用[12]。为了解决神经网络在入侵检测应用中的参数优化难题,提出蚁群算法选择神经网络参数的网络入侵检测模型。结果表明,该模型建立了综合性能良好的入侵检测分类器,分类结果和分类速度均比典型模型有较显著的优势。
1 背景理论
1.1 蚁群算法
为了解决多目标优化问题,有学者提出一种新的智能算法——蚁群算法。针对一个待优化问题:所有蚂蚁均置于节点上,信息素描述蚂蚁经过路径的优劣,其可以吸引其他蚂蚁向该路径的转移,根据待解决问题,确定蚂蚁的初始信息素为:
(1)
蚂蚁的初始位置为表示蚂蚁的数目,如果满足条件那么就可知(0,1],适应度的计算公式变为:
(2)
式中:avg为的均值;和分别为原始和变换后的值。
当蚂蚁完成一次寻优后,就要重新确定下一次寻优的规则,随机选择个蚂蚁,为选择比率,选择蚂蚁中信息素浓度最大者作为寻优目标。
(3)
式中为上次搜索过程中的最优解。
信息素浓度越大,吸引同伴的程度越大,蚂蚁向目标蚂蚁移动的方式为:
(4)
在当前最优解蚂蚁的周围进行进一步寻优,找到更优的解,搜索方式具体为:
(5)
(6)
式中:“”描述探测模式,其判断方式为:
(7)
若满足条件:,就为“+”;否则为“-”,表示搜索步长,即:
(8)
式中:和表示的最大值和最小值;和表示当前和最大迭代次数。
当完成全部寻优后,对信息素更新,具体为:
(9)
式中为挥发系数。
1.2 神经网络
BP神经网络是一个强有力的机器学习算法,可以对输入与输出进行高度非线性拟合,采用网络入侵检测的特征作为神经网络的输入,网络状态作为期望输出,对神经网络进行訓练,建立网络入侵检测模型。BP神经网络的工作步骤如下:
Step1:个训练样本组成网络入侵的训练样本,并输入到BP神经网络进行学习。
Step2:计算BP神经网络的期望输出层和隐含层单元的状态,即:
(10)
Step3:计算BP神经网络输入层的估计误差为:
(11)
Step4:在时刻,修正BP神经网络的权值和阈值,具体为:
(12)
(13)
Step5:计算全部训练样本集的误差,并判断是否满足预先设置精度(ε)要求,即:
(14)
式中为样本的误差。
Step6:输出入侵检测的结果。
2 蚁群算法选择神经网络参数的入侵检测模型
2.1 神经网络参数选择目标函数
在神经网络的网络入侵检测建模过程中,权值和阈值的初值对网络入侵检测效果影响十分明显,不同初始权值和阈值的BP神经网络入侵检测精度如表1所示。
BP神经网络的初始权值和阈值的选择目标就是提高网络入侵的检测效果,因此神经网络参数选择的目标函数可以描述为:
(15)
式中:表示网络的检测正确率;表示可能的最优解个数。
2.2 蚁群算法选择神经网络参数的入侵检测模型的工作步骤
Step1:采用专用设备对一台网络服务器一段时间的状态信息进行检测,得到相应数据。
Step2:从网络信息数据中提取网络状态特征。
Step3:设置BP神经网络初始权值和阈值的取值范围。
Step4:随机初始蚁群,并将全部蚂蚁个体分布于同一个起点。
Step5:通过模拟蚁群觅食行为,对起点与终点之间的路径进行搜索,并采用目标函数值即网络入侵检测率对路径好坏进行动态评价。
Step6:不断更新路径上的信息素深度。
Step7:达到最大迭代次数时,把最优路径上的节点连接起来,得到BP神经网络初始权值和阈值的最优值。
Step8:采用最优的BP神经网络初始权值和阈值设计网络入侵检测的分类器,并通过分类器对待检测网络状态进行检测,并输出检测结果。
3 网络入侵检测效果测试实验
为了分析蚁群算法选择神经网络参数的入侵检测模型(ACO?BP)的效果,选择标准网络安全数据库进行仿真实验,在Matlab 2014平台实现。为了使结果更具说服力,使本文模型的实验结果具有可比性,设计了两种对比模型,具体为:凭经验确定BP神经网络的初始权值和阈值的入侵检测模型(BP)、遗传算法选择BP神经网络初始权值和阈值的入侵检测模型(GA?BP),BP神经网络初始权值和阈值如表2所示。
统计GA?BP,ACO?BP以及BP的网络入侵检测精度和平均检测时间(单位:s),结果如图1和图2所示。
分析图1,图2可知:
(1) 与BP网络入侵检测相比,GA?BP和ACO?BP的平均入侵检测精度分别提高了很多,同时平均检测时间分别下降,这表明GA?BP和ACO?BP的网络入侵检测综合性能更优,验证了经验随机确定BP神经网络初始权值和阈值的不合理性,难以获得理想的网络入侵检测结果,导致BP神经网络的执行时间明显变长。
(2) 与GA?BP相比,ACO?BP的平均入侵检测精度分别提高了一定的幅度,同时平均检测时间分别下降了许多,这表明蚁群算法比遗传算法的寻优效果更佳,确定最合理的BP神经网络初始权值和阈值,加快了网络入侵检测速度,验证了本文模型的优越性。
4 结 语
优异的入侵检测结果是网络能够安全、正常工作的基础,在神经网络应用于入侵检测过程中,其参数设置对入侵检测结果产生重要的影响,同时对入侵检测速度也会产生一定的作用。为了更好地保证网络安全,针对神经网络参数优化问题,引入蚁群算法解决参数优化难题,设计了一种基于蚁群算法选择神经网络参数的入侵检测模型,利用KDD Cup 99数据进行性能测试。测试结果表明,该模型解决了神经网络参数难以确定的问题,得到了性能更好的神经网络,同时能够更加准确地识别各种网络入侵行为,可以过滤掉对网络安全产生不利影响的入侵行为,使网络系统可以在安全环境中运行。
参考文献
[1] 卿斯汉,蒋建春,马恒太,等.入侵检测技术研究综述[J].通信学报,2004,25(7):19?29.
[2] SUNG A H. Identifying important features for intrusion detection using support vector machines and neural networks [C]// Proceedings of 2003 IEEE Symposium on Application and the Internet. Orlando: IEEE, 2003: 209?217.
[3] QIAN Y, ZHANG H, SANG Y, et al. Multigranulation decision?theoretic rough sets [J]. International journal of approximate reasoning, 2014, 55(1): 225?237.
[4] DENNING D E. An intrusion detection model [J]. IEEE transactions on software engineering, 2010, 13(2): 222?232.
[5] 樊爱宛,时合生.基于特征选择和SVM参数同步优化的网络入侵检测[J].北京交通大学学报,2013,37(5):58?61.
[6] 杨雅辉,黄海珍,沈晴霓,等.基于增量式GHSOM神经网络模型的入侵检测研究[J].计算机学报,2014,27(5):1204?1211.
[7] 赵军.基于CEGA?SVM的网络入侵检测算法[J].计算机工程,2009,35(23):166?167.
[8] 赵夫群.基于混合核函数的LSSVM网络入侵检测方法[J].现代电子技术,2015,38(21):96?99.
[9] 马海峰,岳新,孙名松.基于神经网络的分布式入侵检测研究[J].计算机应用,2006,26(12):63?65.
[10] 史长琼,陈旭,唐贤瑛.基于融合免疫算法和RBF网络的入侵检测系统[J].计算机工程,2007,33(9):160?162.
[11] KIM D S, NGUYEN H N, OHN S Y, et al. Fusions of GA and SVM for anomaly detection in intrusion detection system [C]// Proceedings of 2005 International Symposium on Advances in Neural Networks. Berlin: Springer Verlag, 2005: 415?420.
[12] 夏栋梁,刘玉坤,鲁书喜.基于蚁群算法和改进SSO的混合网络入侵检测方法[J].重庆邮电大学学报(自然科学版),2016,28(3):406?413.
摘 要: 入侵检测是保证网络安全的关键技术,为了解决神经网络在入侵检测应用中的参数优化难题,提出蚁群算法选择神经网络参数的网络入侵检测模型。首先描述蚁群算法与神经网络参数之间的联系,并建立神经网络参数选择的目标函数,然后采用蚁群算法对目标函数的最优解进行搜索,确定神经网络的最佳参数,最后通过神经网络自组织学习实现入侵检测分类器的构建,选择入侵检测标准数据在Matlab 2014平台上实现仿真实验。结果表明,该模型解决了神经网络在入侵检测中的参数优化难题,建立了综合性能良好的入侵检测分类器,分类结果和分类速度均比典型模型有较显著的优势。
关键词: 网络安全; 神经网络; 参数优化; 蚁群算法; 入侵检测分类器
中图分类号: TN915.08?34; TP391 文献标识码: A 文章编号: 1004?373X(2017)17?0091?03
Network intrusion detection based on ant colony algorithm
selecting neural network parameter
BAO Meng
(Jiangxi University of Technology, Nanchang 330098, China)
Abstract: The intrusion detection is a key technology to ensure the network security. In order to solve the problem of parameter optimization of neural network in the application of intrusion detection, a network intrusion detection model based on ant colony algorithm selecting neural network parameter is proposed. The relation between the ant colony algorithm and neural network parameter is described. The objective function chosen by neural network parameters was established. The ant colony algorithm is used to search the optimal solution of objective function, and determine the optimal parameters of the neural network. The neural network self?organization learning is adopted to construct the classifier of intrusion detection. The simulation experiment for selected intrusion detection standard data was carried out on Matlab 2014 platform. The results show that the model can solve the problem of parameter optimization of neural network in the application of intrusion detection. The intrusion detection classifier with perfect comprehensive performance was est ablished, and its classification result and classification rate are superior to the typical model.
Keywords: network security; neural network; parameter optimization; ant colony algorithm; intrusion detection classifier
0 引 言
入侵是危害网络安全的一种恶意行为,它可以盗取网络系统中的机密信息,非法修改一些重要信息,有时可以导致网络瘫痪,使得网络不能正常工作[1?2]。入侵检测指通过一定技术对网络中的各种行为进行分析和判断,根据判断结果采取相应的防范措施,提高网络的安全性[3?4]。
入侵检测问题分为误用检测和异常检测,其中基于误用的入侵检测使用先验知识实现网络入侵行为的检测,它的缺点是无法识别新的入侵行为,导致入侵检测的误检率以及漏检率相当高[5];基于异常的入侵检测不需要先验知识,而是从正常行为中区分入侵、攻击行为,可以有效检测到新的入侵行为,因此本文针对基于异常的入侵检测问题进行研究。网络入侵检测本质上是一种多分类问题,因此它具有多分类的一些基本特征,如要构建分类器等[6],当前构建网络入侵的多分类器很多,如K近邻、决策树、支持向量、神经网络等[7?9],在所有算法中,神经网络的建模速度最快、分类性能更优,因此在网络入侵检测中得到了广泛的应用。神经网络的检测性能与其参数值有重要联系,像BP神经网络、RBF神经网络、极限学习机网络等,它们的参数如果确定不合理,那么就无法保证获得较高精度的网络入侵检测结果,入侵检测的误报率高[10]。将神经网络应用于入侵检测中时,首先要解决参数确定问题。当前参数确定主要通过一些生物模拟算法实现,如遗传算法等,而遗传算法的自身参数首先要确定,否则就易得到局部极优的神经网络参数,因此神经网络参数确定问题还有待进一步解决[11]。
相对于遗传算法,蚁群算法的搜索和问题求解的性能更优,在模式识别等领域得到了广泛的应用[12]。为了解决神经网络在入侵检测应用中的参数优化难题,提出蚁群算法选择神经网络参数的网络入侵检测模型。结果表明,该模型建立了综合性能良好的入侵检测分类器,分类结果和分类速度均比典型模型有较显著的优势。
1 背景理论
1.1 蚁群算法
为了解决多目标优化问题,有学者提出一种新的智能算法——蚁群算法。针对一个待优化问题:所有蚂蚁均置于节点上,信息素描述蚂蚁经过路径的优劣,其可以吸引其他蚂蚁向该路径的转移,根据待解决问题,确定蚂蚁的初始信息素为:
(1)
蚂蚁的初始位置为表示蚂蚁的数目,如果满足条件那么就可知(0,1],适应度的计算公式变为:
(2)
式中:avg为的均值;和分别为原始和变换后的值。
当蚂蚁完成一次寻优后,就要重新确定下一次寻优的规则,随机选择个蚂蚁,为选择比率,选择蚂蚁中信息素浓度最大者作为寻优目标。
(3)
式中为上次搜索过程中的最优解。
信息素浓度越大,吸引同伴的程度越大,蚂蚁向目标蚂蚁移动的方式为:
(4)
在当前最优解蚂蚁的周围进行进一步寻优,找到更优的解,搜索方式具体为:
(5)
(6)
式中:“”描述探测模式,其判断方式为:
(7)
若满足条件:,就为“+”;否则为“-”,表示搜索步长,即:
(8)
式中:和表示的最大值和最小值;和表示当前和最大迭代次数。
当完成全部寻优后,对信息素更新,具体为:
(9)
式中为挥发系数。
1.2 神经网络
BP神经网络是一个强有力的机器学习算法,可以对输入与输出进行高度非线性拟合,采用网络入侵检测的特征作为神经网络的输入,网络状态作为期望输出,对神经网络进行訓练,建立网络入侵检测模型。BP神经网络的工作步骤如下:
Step1:个训练样本组成网络入侵的训练样本,并输入到BP神经网络进行学习。
Step2:计算BP神经网络的期望输出层和隐含层单元的状态,即:
(10)
Step3:计算BP神经网络输入层的估计误差为:
(11)
Step4:在时刻,修正BP神经网络的权值和阈值,具体为:
(12)
(13)
Step5:计算全部训练样本集的误差,并判断是否满足预先设置精度(ε)要求,即:
(14)
式中为样本的误差。
Step6:输出入侵检测的结果。
2 蚁群算法选择神经网络参数的入侵检测模型
2.1 神经网络参数选择目标函数
在神经网络的网络入侵检测建模过程中,权值和阈值的初值对网络入侵检测效果影响十分明显,不同初始权值和阈值的BP神经网络入侵检测精度如表1所示。
BP神经网络的初始权值和阈值的选择目标就是提高网络入侵的检测效果,因此神经网络参数选择的目标函数可以描述为:
(15)
式中:表示网络的检测正确率;表示可能的最优解个数。
2.2 蚁群算法选择神经网络参数的入侵检测模型的工作步骤
Step1:采用专用设备对一台网络服务器一段时间的状态信息进行检测,得到相应数据。
Step2:从网络信息数据中提取网络状态特征。
Step3:设置BP神经网络初始权值和阈值的取值范围。
Step4:随机初始蚁群,并将全部蚂蚁个体分布于同一个起点。
Step5:通过模拟蚁群觅食行为,对起点与终点之间的路径进行搜索,并采用目标函数值即网络入侵检测率对路径好坏进行动态评价。
Step6:不断更新路径上的信息素深度。
Step7:达到最大迭代次数时,把最优路径上的节点连接起来,得到BP神经网络初始权值和阈值的最优值。
Step8:采用最优的BP神经网络初始权值和阈值设计网络入侵检测的分类器,并通过分类器对待检测网络状态进行检测,并输出检测结果。
3 网络入侵检测效果测试实验
为了分析蚁群算法选择神经网络参数的入侵检测模型(ACO?BP)的效果,选择标准网络安全数据库进行仿真实验,在Matlab 2014平台实现。为了使结果更具说服力,使本文模型的实验结果具有可比性,设计了两种对比模型,具体为:凭经验确定BP神经网络的初始权值和阈值的入侵检测模型(BP)、遗传算法选择BP神经网络初始权值和阈值的入侵检测模型(GA?BP),BP神经网络初始权值和阈值如表2所示。
统计GA?BP,ACO?BP以及BP的网络入侵检测精度和平均检测时间(单位:s),结果如图1和图2所示。
分析图1,图2可知:
(1) 与BP网络入侵检测相比,GA?BP和ACO?BP的平均入侵检测精度分别提高了很多,同时平均检测时间分别下降,这表明GA?BP和ACO?BP的网络入侵检测综合性能更优,验证了经验随机确定BP神经网络初始权值和阈值的不合理性,难以获得理想的网络入侵检测结果,导致BP神经网络的执行时间明显变长。
(2) 与GA?BP相比,ACO?BP的平均入侵检测精度分别提高了一定的幅度,同时平均检测时间分别下降了许多,这表明蚁群算法比遗传算法的寻优效果更佳,确定最合理的BP神经网络初始权值和阈值,加快了网络入侵检测速度,验证了本文模型的优越性。
4 结 语
优异的入侵检测结果是网络能够安全、正常工作的基础,在神经网络应用于入侵检测过程中,其参数设置对入侵检测结果产生重要的影响,同时对入侵检测速度也会产生一定的作用。为了更好地保证网络安全,针对神经网络参数优化问题,引入蚁群算法解决参数优化难题,设计了一种基于蚁群算法选择神经网络参数的入侵检测模型,利用KDD Cup 99数据进行性能测试。测试结果表明,该模型解决了神经网络参数难以确定的问题,得到了性能更好的神经网络,同时能够更加准确地识别各种网络入侵行为,可以过滤掉对网络安全产生不利影响的入侵行为,使网络系统可以在安全环境中运行。
参考文献
[1] 卿斯汉,蒋建春,马恒太,等.入侵检测技术研究综述[J].通信学报,2004,25(7):19?29.
[2] SUNG A H. Identifying important features for intrusion detection using support vector machines and neural networks [C]// Proceedings of 2003 IEEE Symposium on Application and the Internet. Orlando: IEEE, 2003: 209?217.
[3] QIAN Y, ZHANG H, SANG Y, et al. Multigranulation decision?theoretic rough sets [J]. International journal of approximate reasoning, 2014, 55(1): 225?237.
[4] DENNING D E. An intrusion detection model [J]. IEEE transactions on software engineering, 2010, 13(2): 222?232.
[5] 樊爱宛,时合生.基于特征选择和SVM参数同步优化的网络入侵检测[J].北京交通大学学报,2013,37(5):58?61.
[6] 杨雅辉,黄海珍,沈晴霓,等.基于增量式GHSOM神经网络模型的入侵检测研究[J].计算机学报,2014,27(5):1204?1211.
[7] 赵军.基于CEGA?SVM的网络入侵检测算法[J].计算机工程,2009,35(23):166?167.
[8] 赵夫群.基于混合核函数的LSSVM网络入侵检测方法[J].现代电子技术,2015,38(21):96?99.
[9] 马海峰,岳新,孙名松.基于神经网络的分布式入侵检测研究[J].计算机应用,2006,26(12):63?65.
[10] 史长琼,陈旭,唐贤瑛.基于融合免疫算法和RBF网络的入侵检测系统[J].计算机工程,2007,33(9):160?162.
[11] KIM D S, NGUYEN H N, OHN S Y, et al. Fusions of GA and SVM for anomaly detection in intrusion detection system [C]// Proceedings of 2005 International Symposium on Advances in Neural Networks. Berlin: Springer Verlag, 2005: 415?420.
[12] 夏栋梁,刘玉坤,鲁书喜.基于蚁群算法和改进SSO的混合网络入侵检测方法[J].重庆邮电大学学报(自然科学版),2016,28(3):406?413.