蚁群算法选择神经网络参数的网络入侵检测

刘芳芳
摘 要: 为了解决网络入侵检测率低的难题,提出蚁群算法选择神经网络参数的网络入侵检测模型(ACO?NN)。首先收集网络入侵检测数据,然后采用神经网络对入侵检测数据进行学习,通过蚁群算法解决神经网络参数选择问题,最后采用标准入侵检测数据进行验证性测试,并与其他模型进行对比分析。结果表明,所提模型解决了神经网络参数优化难题,降低了网络入侵检测的错误率,改善了网络入侵检测的正确率,有助于保证网络的安全性。
关键词: 网络安全; 非法用户; 入侵检测; 蚁群算法
中图分类号: TN915.08?34; TP391 文献标识码: A 文章编号: 1004?373X(2017)21?0080?04
Network intrusion detection based on ant colony optimization
algorithm selecting parameters of neural network
LIU Fangfang
(School of Information Engineering, College of Optical and Electronical Information, Changchun University of Science and Technology, Changchun 130000, China)
Abstract: In order to improve the precision of network intrusion detection, a network intrusion detection model based on ant colony optimization selecting parameters of neural network is proposed. The data of network intrusion detection is collected, and the neural network is used to learn the intrusion detection data. The ant colony optimization algorithm is employed to select the parameters of neural network, which is verified with the standard intrusion detection data. The contrastive analysis is performed for the intrusion detection model and other models. The results show that the model can solve the difficulty of neural network parameter optimization, reduce the error rate of network intrusion detection, improve the precision of network intrusion detection, and is conducive to ensuring the network security.
Keywords: network security; illegal user; intrusion detection; ant colony optimization
0 引 言
隨着网络规模的不断扩大,网络结构越来越复杂,再加上网络的开放性等特点,网络入侵数量相当多,网络入侵检测引起了学术界的高度关注[1?2]。
网络入侵检测将网络行为划分为相应的入侵类型,实现网络入侵行为的识别[3]。在网络入侵检测过程中,首先要提取网络入侵行为的特征,该特征可以表达网络信息,刻画网络入侵行为,是网络入侵检测中最为关键的一步。由于网络入侵行为的复杂性,再加上其他因素的作用,网络入侵的行为特征相当多,当前主要有主成分分析、灰色关联分析等特征提取方法,获得较好的网络入侵行为特征。提取网络入侵行为特征后,需要建立网络入侵检测的分类器[4?6]。当前网络入侵检测分类器的建立方法很多,传统方法采用灰色理论建立网络入侵检测分类器,面对复杂多变的互联网,该方法难以建立高正确率的网络入侵检测分类器,检测结果的可靠性低[7?8]。随后出现基于支持向量机的网络入侵检测分类器,该分类器的效果要优于传统灰色理论,但学习速度慢,当网络入侵检测的数据比较大时,如大规模网络,那么其网络入侵检测的实时性差[9]。最近出现了基于神经网络的网络入侵检测分类器,通过神经网络的非线性建模能力,得到了较高的网络入侵检测正确率,成为当前网络入侵检测的主要工具[10?11]。BP神经网络(BPNN)是一种网络入侵检测应用最为广泛的机器学习算法,但参数直接影响网络入侵检测效果,当前有许多神经网络参数确定方法,但是它们仍然存在不足。蚁群优化(ACO)算法具有搜索速度快、搜索精度高等优点,广泛应用于模式识别、多参数约束优化等问题[12]。
为了解决网络入侵检测率低的难题,提出了ACO算法选择BPNN参数的网络入侵检测模型(ACO?NN),该模型首先收集网络入侵检测数据,然后采用神经网络对入侵检测数据进行学习,通过蚁群算法解决神经网络参数选择问题,最后采用标准入侵检测数据进行验证性测试。
1 神经网络和蚁群算法
1.1 神经网络
BP神经网络是一种采用梯度下降算法进行学习的神经网络,最典型的网络结构为三层,同层之间没有关联,不同层之间通过节点连接。设输入层、隐含层和输出层的节点分别为[N,L]和[M,]输入向量为[X=[x1,x2,…,xN],]隐含层输出向量为[H=[h1,h2,…,hL],]输出层的输出为[Y=[y1,y2,…,yM],]其期望输出为[D=[d1,d2,…,dM],]输入层和隐含层节点的连接权值和阈值分别为[V]和[θ,]隐含层和输出层节点的连接权值和阈值分别为[W]和[?]。
(1) 设隐含层拟合函数为[f(a)=11+e-a],那么隐含层输出为:
[hj=fi=1NVijxi-?j] (1)
相应地,输出层的输出为:
[yk=fi=1LWijhi-θk] (2)
(2) 计算输出层的[yk]和[dk]误差,同时计算隐含层的误差,则可以得到:
[δk=(dk-yk)yk(1-yk)] (3)
[δ*k=hj(1-hj)k=0M-1δkWjk] (4)
(3) 对权重进行更新,具体如下:
[ΔWjk(n)=ηδkhj] (5)
[ΔVij(n)=ηδ*jxi] (6)
式中[η]为学习速率。
(4) 对网络权重值进行调整,具体为:
[Wjk(n+1)=Wjk(n)+ΔWjk(n)+μΔWjk(n-1)] (7)
[Vij(n+1)=Vij(n)+ΔVij(n)+μΔVij(n-1)] (8)
(5) 不断重复上述步骤,直至预测误差满足实际要求。
1.2 蚁群算法
在蚂蚁觅食过程中,在爬行路径上释放信息素,信息素具有一定的浓度,其作用为指导蚂蚁移动方向,信息素浓度高的路径,爬行的蚂蚁就越多。设有[N]个节点,[N=1,2,…,n,][dij]为节点[i]和[j]间的距离,共有[m]只蚂蚁,[τijt]为第[t]时刻节点[i]和[j]在路径上的信息量,[tabuk]保存蚂蚁[k]爬行过的节点。下一节点的选择常通过信息素强度决定,[pkij]为蚂蚁[k]由节点[i]转移至节点[j]的概率,则有:
[pkij=ταijtηβijts∈allowedkταistηβist,j∈allowedk0,otherwise] (9)
式中:[allowedk]为蚂蚁[k]没有经过的节点集合;[α]为信息素启发因子;[β]为期望启发式因子;[ηijt]为启发函数,计算公式为:
[ηijt=1dij] (10)
每只蚂蚁路径上信息素更新方式为:
[τijt+n=1-ρτijt+Δτijt] (11)
[Δτijt=k=1mΔτkijt] (12)
式中:[ρ]为信息素挥发因子;[Δτkijt]为蚂蚁[k]在节点[i]和[j]上留下的信息量;[Δτijt]为节点[i]和[j]上信息素的增量,具体为:
[Δτkijt=QLk,ant k pass i and j0, otherwise] (13)
式中:[Q]为常数;[Lk]为蚂蚁[k]所走路径长度。
2 蚁群算法选择神经网络的网络入侵检测模型
蚁群算法选择神经网络的网络入侵检测模型的工作过程中,神经网络权值和阈值的确定十分关键,本文采用蚁群算法确定权值和阈值,该模型的工作步骤具体如下:
(1) 对网络系统中的状态信息进行采集,并从中提取描述网络内容的主要特征。
(2) 网络行为特征之间差别很多,尤其是单位不同给网络入侵建模带来一定的干扰,为此对特征值进行处理,即:
[x′i=ximax(xi)] (14)
式中:[xi]和[x′i]为处理前后的特征值;max表示取最大值函数。
(3) 通过专家对网络入侵行为进行分类,建立网络入侵检测学习样本。
(4) 根据网络入侵检测的特征数量确定BP神经网络的输入节点数,并根据网络入侵行为的种类确定输出节点数,然后确定隐含层节点数,从而确定BP神经网络的网络结构。
(5) 确定蚁群优化算法的参数,如种群规模、最大迭代次数等。
(6) 随机初始化蚁群,每一只蚂蚁经过的路径为神经网络权值和阈值的组合。
(7) 对每一条路径上的信息素进行初始化,信息素的起始浓度相同。
(8) 将网络入侵检测学习样本输入到BP神经网络进行训练,并计算每一种参数的网络入侵检测结果。
(9) 计算每一只蚂蚁移动到下一个节点的概率,并根据最优概率得到下一节点。
(10) 当一只蚂蚁移动完所有节点后,对其爬行过的路径的信息浓度进行更新。
(11) 当全部蚂蚁完成所有节点的移动后,对所有路径上的信息浓度进行更新。
(12) 判断迭代次数是否达到最大,如果达到最大,则根据蚁群爬行的最优路径上的节点得到BP神经网络的权值和阈值。
(13) 根据权值和阈值,BP神经网络对网络入侵训练进行学习,建立网络入侵检测模型。
ACO?NN的工作流程图如图1所示。
3 网络入侵检测效果测试
3.1 测试环境
测试对象为KDD CUP 99,其是网络入侵检测的标准数据,采用VC++ 6.0编程实现网络入侵检测模型,各种不同类型入侵行为的样本数量如表1所示。
采用网络入侵检测正确率(Pright)、检测错误率(Perror)和模型的执行速度等对实验结果进行评价。其中检测正确率和误报率定义如下:
[Pright=正确检测到的入侵样本数入侵样本总数 ×100% ] (15)
[Perror=被误报为入侵的正常样本数正常样本总数×100%] (16)
3.2 结果与分析
为了使ACO?NN的网络入侵结果的可信度更高,选择传统BP神经网络(BPNN)、遗传算法优化选择神经网络参数模型(GA?NN)建立相应的网络入侵检测模型,它们的[Pright]和[Perror]如图2和图3所示。从图中可知:
(1) BPNN的网络入侵检测结果的[Pright]最低,而[Perror]最高,這表明其网络入侵检测效果最差,这是由于随机方式确定BP神经网络的权值和阈值,无法获得性能优异的神经网络,建立的网络入侵检测模型的正确率低,获得了大量的错误检测结果。
(2) 相对BPNN,GA?NN的[Pright]得到了提高,同时[Perror]相对较低,这说明采用遗传算法对BP神经网络的权值和阈值进行确定,克服了随机确定参数的不足,提高了网络入侵检测正确率。
(3) 相对其他两种网络入侵检测模型,ACO?NN的[Pright]最高,[Perror]最低,这是由于ACO算法确定了最合理的BP神经网络的权值和阈值,克服了遗传算法获得局部最优参数的缺陷,同时解决了随机确定BP神经网络的局限性。
对于互联网络,其规模十分庞大,网络入侵检测数据相当多,检测率十分重要,统计网络入侵检测模型的平均执行时间,结果如表2所示,对表2的时间进行对比,对于所有网络入侵类型,ACO?NN的执行时间最少,网络入侵检测速度最快,解决了当前其他网络入侵检测模型实时性差的局限性,具有更高的应用价值。
4 结 语
为了提升网络入侵检测效果,提出基于ACO?NN的网络入侵检测模型。该模型通过神经网络对网络入侵数据进行学习,拟合网络入侵的类别,实现对网络入侵类别的识别和检测,并采用ACO算法解决神经网络参数选择问题,与其他入侵检测模型的对比测试结果表明,ACO?NN克服了当前神经网络在入侵检测中存在的缺陷,网络入侵检测率结果更好,也改善了网络入侵的速度,具有广泛的应用前景。
参考文献
[1] DENNING D E. An intrusion detection model [J]. IEEE transaction on software engineering, 2010, 13(2): 222?232.
[2] ALOMO E J, DOMINGUES E, LUQUE R M, et al. An intrusion detection system based on hierarchical self?organization [J]. Journal of information assurance and security, 2009, 4(3): 209?216.
[3] 赵军.基于CEGA?SVM的网络入侵检测算法[J].计算机工程,2009,35(23):166?167.
[4] 李辉,管晓宏,昝鑫,等.基于支持向量机的网络入侵检测[J].计算机研究与发展,2003,40(6):799?807.
[5] 李旭芳,王士同.基于QPSO训练支持向量机的网络入侵检测[J].计算机工程与设计,2008,29(1):34?36.
[6] 唐少先,蔡文君.基于无监督聚类混合遗传算法的入侵检测方法[J].计算机应用,2008,28(2):409?411.
[7] 田俊峰,赵卫东,杜瑞忠,等.新的入侵检测数据融合模型IDSFP[J].通信学报,2006,27(6):115?120.
[8] 张宗飞.基于量子进化算法的网络入侵检测特征选择[J].计算机应用,2013,33(5):1357?1361.
[9] 向昌盛,张林峰.PSO?SVM在网络入侵检测中的应用[J].计算机工程与设计,2013,34(4):1222?1225.
[10] 栾庆林,卢辉斌.自适应遗传算法优化神经网络的入侵检测研究[J].计算机工程与设计,2008,29(12):3022?3024.
[11] 刘玉玲,杜瑞忠.基于模糊积分的多神经网络融合在入侵检测中的应用[J].河北大学学报(自然科学版),2008,28(3):312?317.
[12] 龙文,梁昔明,龙祖强,等.基于改进蚁群算法优化参数的LSSVM短期负荷预测[J].中南大学学报(自然科学版),2011,42(11):3408?3414.
[13] 严岳松,倪桂强,缪志敏,等.基于SVDD的半监督入侵检测研究[J].微电子学与计算机,2012,26(10):128?130.