基于菌群优化深度学习的网络入侵检测模型
2023-11-29白文荣马琳娟
白文荣,马琳娟,巩 政
(1.内蒙古电子信息职业技术学院 软件与大数据学院,内蒙古 呼和浩特 010010; 2.北京理工大学 计算机学院,北京 100081;3.内蒙古大学 计算机学院,内蒙古 呼和浩特 010010)
随着入网设备及数据量的增加,网络中可用于深度挖掘的数据价值凸显,企业级内网数据融入外网的机会和挑战均在增加,但是仍然内外网的数据壁垒仍在多个行业中存在,这大多是因为企业对外网安全问题有所顾虑,网络安全已经成为影响网络服务深化至更多行业的首要因素。网络安全技术研究发展迅速,入侵检测作为网络安全防御的重要策略方式,其应用普及率高[1],通过对常用网络攻击的特征匹配,确定攻击类型,为攻击拦截和消除提供数据支持,但随着网络技术高速发展,新的攻击类型层出不穷,这给网络入侵检测技术提供了更高挑战[2],需要不断学习和更新攻击类型并实现高效准确检测。深度学习算法作为复杂问题的分类利器,近年来成为网络攻击类型检测的研究焦点。
当前,利用深度学习实现网络入侵检测的成果较多,李俊等[3]采用循环神经网络算法进行入侵检测,并借助门控循环单元(Gated recurrent unit,GRU)进行RNN改进,解决了RNN循环求解网络参数需要耗费大量时间的问题,有效提高了网络入侵检测效率;唐朝飞等[4]采用轻型GBM网络进行入侵检测,在大规模流量的常用攻击类型检测方面取得较高性能。
上述两个文献的研究均采用深度学习算法用于常用攻击类型检测,但两者的检测侧重点略有差异。前者更偏向于检测的效率,而后者更看重检出率。这两者虽然在常用攻击检测中具有较高的检测准确度,但是其应对更多类型的入侵检测性能仍有一定提升空间。
因此,本文采用菌群优化(Bacterial foraging optimization,BFO)和深度置信网络(Deep belief networks,DBN)相结合的方法实现网络入侵检测,其不仅能够在常用攻击类型检测中获得较高性能,而在非常用攻击类型中仍能获得较高的检出率和稳定性。采用BFO对DBN进行优化后,DBN的网络参数求解效率得到了保证。
1 DBN
DBN相比常见的神经网络结构,增加了可视层v,可表示为v=(v1,v2,…,vm),m是v层节点数。DBN的核心结构为RBM,RBM表达了v与隐藏层h的关系,h=(h1,h2,…,hn),n是v层节点数。
h层中单节点作用于v层的概率为[5]
(1)
(2)
根据式(1),h层所有节点作用于v层概率[7]
(3)
v层对h层的概率逆向求解
(4)
式(4)表示了v层所有节点对h层的影响,那么v层单节点m对h层单节点i的影响概率为
(5)
根据式(5)其概率逆向求解为
(6)
(7)
只需要确定了θ,便可以获得稳定的DBN结构模型,因为θ是一个权重偏置集合。因此,不能整体求解集合所有元素,需要对v和h层单个节点分别进行求解,设v层单节点v0={v01,v02,…,v0m},则对h层影响概率为[8]
(8)
对θ偏导
(9)
式(9)继续化简
(10)
若要求解θ中3个变量值,可对它们分开求导[9]
(11)
(12)
(13)
采用式(11)~(13),求解v和h层所有节点对应的w、c和b,便可以确定整个DBN模型的参数。
采用DBN进行求解时,合理设置DBN模型参数非常关键,这对DBN模型的求解结果影响显著。由于样本差异,通过手动调参较为困难且性能不佳。因此本文考虑采用群体智能算法BFO对DBN模型核心参数进行优化求解,以增强DBN训练性能。
2 菌群优化的深度学习网络
2.1 菌群算法
设S个细菌个体在[min,max]区间内执行运动操作,初始化菌落位置P[10]
P=min+rand*(max-min)
(14)
式中:rand∈random(0,1)。
菌群个体的主要执行驱化、繁衍和迁徙3类操作。设细菌i的位置Xi=(x1,x2,…,xv),v表示位置维度,其从位置P经过第j次驱化后的位置为
(15)
式中:C(i)和Δ(i)分别为i的驱化步长及方向向量。
i经过驱化后的适应度为[11]
(16)
(17)
式中:dattract和wattract是引力纵向分量与横向分量。
(18)
每次驱化后都需更新适应度,个体i迭代iter次后总适应度H(Xi)为[13]
(19)
根据适应度降序排列,选择较高的细菌个体进行繁衍操作,从而生成新的菌群位置。根据式(19),保留适应度较高细菌个体进行繁衍。由于细菌生活环境有可能变化,则运动边界发生改变,则需进行迁徙操作,繁衍和迁徙操作后继续执行下一代驱化操作。
3种运动方式交替执行,直至达到设定最大迭代次数。
2.2 基于BFO-DBN的网络入侵检测流程
首先,获得待检测的样本,进行样本属性特征初始化。然后,建立DBN网络入侵检测模型,将v和h层的w、c和b构建菌群。接着,执行菌群优化求解,获得最优w、c和b值。最后,采用最优w、c和b值DBN进行网络入侵检测。
图1 BFO-DBN检测流程
3 实例仿真
采用MATLAB平台进行BFO-DBN网络入侵检测仿真,仿真样本见表1。首先,分别验证不同攻击类型的BFO-DBN检测性能。其次,验证BFO算法对DBN的网络入侵检测性能影响。最后,将常见深度学习算法和本文算法进行检测性能对比。常用攻击类型为DOS、R2L、U2R、PROBE。
表1 网络入侵检测样本
3.1 不同类型攻击的检测性能
为了充分验证BFO-DBN算法对不同入侵攻击的检测性能,分别对不同攻击类型样本进行入侵检测,在4类样本集中,不同攻击类型数量存在着较大悬殊,4类数据集的常见攻击类型占比均达到80%以上,因此主要选择了4类常用攻击类型进行性能仿真。
3.1.1 单类型攻击的BFO-DBN网络入侵检测
从表2看出,BFO-DBN算法对于4类样本集的常见攻击类型检出率较高,检出率均高于98.5%,而误报率也保持在3%范围内,这表明BFO-DBN算法对于常见攻击类型检测的适用度高,比较适合单类型攻击的入侵检测。
3.1.1 混合类型攻击的BFO-DBN网络入侵检测
考虑到HTTP DATASET CSIC集和ADFA IDS Datasets集的R2L和U2R样本数量较少,在混合攻击检测时样本数量不均衡,本文只选择了KDD cup99和Masquerading User Data这2个集合进行混合攻击检测。
从表3看出,BFO-DBN算法对于4类样本的混合攻击类型检出率保持在98%以上,误报率仍控制在3%以内,和单类攻击类型检出率对比,其检出率值下降非常小,这说明BFO-DBN在检测常用攻击时,其检出率对攻击类型的混合程度并不敏感。
表2 BFO-DBN网络入侵检测性能(单类型)
表3 BFO-DBN网络入侵检测性能(混合类型)
3.2 BFO的DBN优化性能
为了验证BFO算法对DBN的网络入侵检测性能,分别采用DBN算法和BFO-DBN算法对4类样本集进行入侵检测仿真,仿真对样本集的所有攻击类型进行仿真,结果如表4和5所示。
从表4得,对于4类样本集,BFO-DBN算法的检出率和误报率性能均高于DBN算法,相比于DBN算法,BFO-DBN算法在4类样本集的检出率分别提升了7.72%、7.92%、7.13%和6.02%,误报率分别降低了33.01%、29.93%、28.57%和29.69%,这表明经过BFO的优化后,DBN算法的网络入侵检测性能得到了明显提升。
表4 DBN和BFO-DBN的检出率和误报率
表5 DBN和BFO-DBN的RMSE
从表5得,BFO-DBN算法的RMSE值明显低于DBN算法,经过BFO优化后,DBN算法的网络入侵检测稳定性增强明显,这主要是BFO算法获得了更优的DBN模型θ参数。
3.3 4种深度学习算法的网络入侵检测
为了进一步验证BFO-DBN算法的检测性能,将常用深度学习网络CNN[14]、LSTM[15]、GAN[16]和BFO-DBN进行网络入侵检测仿真,分别对比其检出率和误报率性能。
从图2(a)可看出,4种深度学习算法的检出率均高于0.9,达到稳定时,CNN算法的检出率最低,其他3种算法的检出率非常接近,BFO-DBN算法略胜,检测时间方面,4种算法差异较小;在Masquerading User Data集的检出率方面,BFO-DBN>GAN>LSTM>CNN;图2(c)和图2(d)中,BFO-DBN的检出率相比其他3种深度学习算法优势明显,其检出率接近于1,GAN和LSTM检出率非常接近,CNN较差。
图2 4种深度学习算法检出率
从表6知,在误报率方面,BFO-DBN算法略优于其他3种深度学习算法,但差距基本保持在1%范围内;而在RMSE性能方面,BFO-DBN优势明显,其值保持在0.015之内,而其他3种算法RMSE值均在0.03以上。
表6 4种深度学习算法的误报率和RMSE
4 结束语
本研究采用菌群优化的深度置信网络进行网络入侵检测,通过对DBN网络核心参数的BFO优化,增强了DBN的网络入侵检测模型参数求解精度,能够实现不同网络攻击类型的较高检出率,而且检测稳定性高。后续研究将尝试采用更多更新的智能算法对DBN进行优化,以提高DBN算法的入侵检测效率,增强DBN的网络入侵检测适用度。