李志坚
基于SOM网络和HMM的入侵检测算法设计
李志坚
(阿坝师范学院,四川汶川 623002)
为了有效地保证网络的安全性和弥补传统入侵检测系统无法精确识别攻击类别的问题,设计了一种基于监督SOM网络和HMM的网络入侵混合检测方法.仿真实验表明:文中方法能有效实现网络入侵检测,在样本数量较少的情况下,仍然具有较高的检测率,较其他方法具有较大的优越性.
隐形马尔科夫;状态转移;网络入侵检测;监督自组织网
引 言
随着网络应用的普及和规模的急剧膨胀,对网络攻击的预防和检测是保障网络安全的重要手段,因此,从海量的审计数据和网络数据中实现快速和实时的网络入侵检测非常重要[1].入侵检测系统(Intrusion Detection System, IDS)[2]作为重要的网络安全保护系统,目前已经成为信息安全和计算机领域的研究重点.入侵检测主要包括误用检测(Misuse detection)[3]和异常检测(Anomaly detection)[4-5].
误用检测也称为基于知识的检测方法,整个检测过程可以分为学习阶段和检测阶段,学习阶段是通过攻击数据样本转换为合适的规则,然后在检测阶段将收集的网络数据包与规则对比,判断是否符合规则,若符合规则就判断其为攻击行为.异常检测的整个检测阶段也分为学习和检测两部分,但学习阶段是采用正常的网络数据包作为样本,将其转换为规则,然后在检测阶段通过将收集到的数据包与正常的网络数据包对比,并判断其是否符合正常规则,以对网络进行实时检测,其有可能检测出未出现过的攻击,能自动产生规则,具有较低的漏报率等优点,因此,是目前的主要研究热点.
文献[6]设计了一种基于无监督免疫优化分层的入侵检测算法,采用小规模的网络实现数据压缩并对数据进行学习,运用分层聚类的方法来对网络分析,建立数据模型,能实现没有类型标记的外网数据访问的数据特征识别,提高入侵检测的准确度.文献[7]设计了一种基于人工示例训练数据的神经网络入侵检测方法.通过不同的训练数据集训练不同的网络以提高成员网络的差异度,在保证成员网络的个数确定的前提下,将差异度较大的成员网络构成集成,以提高系统的整体性能.文献[8]建立了一种基于神经网络和遗传算法的网络入侵检测模型,采用集成分类的神经网络将训练样本集中的冗余数据取出,并通过遗传算法对成员网络的权值进行优化,最后,采用神经网络对成员网络的输出进行融合.文献[9]研究了一种基于改进马尔可夫链的网络攻击检测方法,采用正常行为样本对隐马尔可夫模型进行学习可以对网络行为进行有效地检测并判断出是否为正常行为.
上述工作均研究了网络入侵检测方法,具有重要的意义,但基于聚类的入侵检测方法,其检测能力主要取决于样本的数量以及样本分布的准确度,而基于马尔可夫链的方法的检测准确率不依赖于样本集,但其不能最大化目标识别能力与模型之间的差异.为此,本文设计了一种基于有监督SOM网络(Self Organize Mapping Net, SOM)和隐形马尔科夫模型(, HMM)的网络入侵检测方法,充分利用各自的优点,将有监督SOM网络的输出结果作为后验概率实现对HMM模型的训练,最后将具有最大发生概率的攻击类别作为数据的输出攻击类型,通过实验证明了文中方法的有效性.
1 入侵检测模型
文中设计的基于自组织网和HMM的入侵模型如图1所示.从图中可以看出,文中建立的基于监督SOM网络和HMM的混合模型可以描述为:首先,将原始样本数据进行预处理,得到训练样本数据和测试样本数据,然后,将训练样本数据输入监督SOM网络,实现对监督SOM网络的训练,在训练结束后,可以对结果中的分类攻击类型对应的后验概率密度进行计算,得到后验概率密度,然后采用后验概率密度用于训练HMM,最终获得训练好的HMM模型,此时,将经过预处理的测试数据输入HMM中,得到最终的入侵检测结果,即判断是否发生了攻击行为以及攻击行为的具体类别.
2 基于监督SOM的入侵后验概率计算
2.1 SOM
SOM由Kohonen首次提出,是一种无监督学习聚类方法,能实现输入模式在输出层的自动聚类,其结构如图2所示,主要包含两层:即输入层和竞争层,输入层的维数与输入样本的维数相同,即当输入向量为={1,2,…x}时,输入层的神经元个数为,竞争层节点各节点之间采用侧抑制方式进行连接.
上述SOM模型虽然能实现自动聚类,但仍然存在着分类精度不高和不易进行统计等缺点.为此,在两层SOM的基础上加入一个输出层构成监督SOM神经网络,并采用监督学习方法对其进行训练.
图1 基于自组织网和HMM的入侵模型图
图2 无监督学习聚类方法结构图
图3 监督SOM结构图
2.2 监督SOM后验概率计算
监督SOM是在SOM的基础上加入了一个输出层,如图3所示,输出层的输出神经元个数与攻击类别相同,输出层节点与竞争层节点之间采用全连接方式进行连接,并根据每个训练样本的预测攻击类别和实际类别进行对比,从而选择不同的公式实现对权值的调整.同时实现对输入层与竞争层获胜神经元邻域以及输出层与竞争层获胜神经元邻域内的权值.
采用观察训练样本数据对监督SOM进行训练并获得每个样本的所属于的类别的后验概率分布的过程可以表示为:
算法1 SOM后验概率生成算法
初始化:初始化监督SOM中输入层与竞争层获胜神经元之间的权值W()(1),竞争层获胜神经元与输出层之间的权值W()(2),两层的学率()(1)和()(2),以及两层领域半径()(1)和()(2),权重系数,当前迭代次数,最大迭代次数;
输出:观察训练样本的后验概率分布;
步骤1:对观察训练样本集中的所有样本进行归一化处理,并随机选择其中的一个样本={1,2,…x};
步骤2:寻找输出层的获胜神经元.计算输入向量={1,2,…x}与所有输出层神经元之间的欧式距离:
D()=(w()-x())2, (1)
其中,=1,2,…,为输入神经元个数,=1,2,…,为输出神经元个数;
步骤3:选择具有最小D()值的竞争层神经元作为获胜神经元:(2)
步骤4:对输入层与竞争层获胜神经元之间的权值W()(1),竞争层获胜神经元与输出层之间的权值W()(2)、邻域(+1)及学习率(+1)按下列步骤进行更新:
(1)将观察训练样本数据的输出类别保存为Y,而获胜神经元对应的输出为O,并计算获胜神经元的邻域();
(2)判断O是否等于Y:
如果等于,则根据式(3)和式(4)更新邻域内的权值:
W(+1)(1)=W()(1)+()(1)(x-W()(1)) (3)
W(+1)(2)=W()(2)+()(2)(x-W()(2)) (4)
否则,根据式(5)和式(6)更新权值:
W(+1)(1)=W()(1)+(x-W()(1)) (5)
W(+1)(2)=W()(2)+(x-W()(2)) (6)
(3)对两层的学习率()(1)和()(2)进行更新:
(+1)(1)=()(1)(1/) (7)
(+1)(2)=()(2)(1/) . (8)
(4)对两层领域半径()(1)和()(2)邻域进行更新:
(+1)(1)=()(1)(1/) (9)
(+1)(2)=()(2)(1/). (10)
步骤5:重新选择样本集中的下一个样本作为新的输入模式并返回步骤3继续运行,直到所有模式均已遍历完或权值W(+1)、邻域(+1)及学习率(+1)不再发生变化.
步骤6:判断算法学习率是否降为0,如果降为0或者当算法达到最大迭代次数则,算法结束;
否则,=+1;
步骤7:将所有观察样本数据输入训练好的监督SOM网络,获得所有样本数据对应攻击类别的一个后验概率.
在根据上述算法获取了观察数据o关于所属于攻击类别λ的后验概率后,可以将其用于对HMM进行训练,获得最终的检测结果.
3 基于HMM的最终入侵检测
3.1 HMM简介
经典的HMM通常可以表示为5元组即:=(,,,,,,,),其中:
(1)状态值集合={1,2,…,θ},表示了HMM的状态总数;
(2)观测值={1,2,…,v},为观测值数;
(3)={1,2,…,π}为初始分布矢量,用于描述观察序列={1,2,…,O},o∈{1,2,…,v},π={1=θ},=1,2,…,且满足;
(4)=[a]为状态转移概率矩阵,a可以表示当前时刻从状态转移到θ的概率,,其中,,并满足;
(5)=[b]为观察值概率矩阵,b=b(o)=(o=v|s=θ)表示HMM模型在时刻状态为θ时出现观测值v的概率.
3.2 基于HMM的入侵检测算法
采用HMM实现入侵检测主要可以通过两个阶段来实现:即学习和检测.
算法2:HMM的入侵检测算法
初始化:采用攻击类型来初始化模型0,HMM模型训练阀值,当前迭代次数为=1;
(1)学习阶段
步骤1:采用算法1计算观察测试样本数据对应的对应于各攻击类别λ的后验概率(λ|o);
步骤2:根据(λ|o)初始化(HMM|o),并根据贝叶斯定理计算观察值概率矩阵=[b]中的元素:
步骤3:对初始分布矢量和状态转移概率矩阵=[a]进行更新:
设α()表示当前模型在时对应的观察序列为1,2,…,o,处于状态为q的概率;设β()表示模型在时刻,当观察序列为o+1,o+2,…,o时,处于状态为q的概率,则根据前向评估算法和后向评估算法可以得到:
以最大化后验概率为目标,假设1={,|},2={|},则目标函数可以表示为:
将式(13)分别对π和a求导,可以得到初始分布矢量和状态转移概率矩阵=[a]可表示为:
步骤4:根据阀值来判断HMM训练是否结束:
如果当前模型满足式(15)所示的条件,则训练结束;否则λ=λ+1,并输入下一个样本数据并返回步骤2计算迭代.
(2)检测阶段
当学习过程结束后,得到HMM模型后1,2,…,λ,其中,为攻击类型数,此时将经过归一化处理的观察测试样本依次输入各HMM模型1,2,…,λ,采用Viterbi算法来计算似然概率:
5 仿真实验
为了对文中方法进行验证,采用KDD1999年的竞赛数据作为样本数据,每条样本数据均包含41个特征属性和1个决策属性,采用KDD数据库中的10%的数据记录作为样本数据,其中5%为训练,样本数据,剩余的5%为测试样本数据,每个TCP/IP连接均包含41个属性,以及对其的攻击类型(是否为攻击以及攻击的具体类型),攻击类别主要可以表示为:
表1 网络攻击描述
误测量率定义为:检测出异常攻击总数与异常攻击总数的比值,误报率为错误分类的进程总数与正常进程总数的比值,漏报率为正确分类的进程总数与进程总数的比值.
算法1参数设置为:监督SOM权值W(+1)(1)和W(+1)(2)均为观察测试样本的均值,两层的学率()(1)和()(2)初始值为0.15和0.1,以及两层领域半径()(1)和()(2)为3和3,权重系数=0.3,当前迭代次数=1,最大迭代次数=100;
算法2参数设置为:采用攻击类型来初始化模型0,HMM模型训练阀值0.1,当前迭代次数为=1,最大值=100;仿真得到的系统总体性能为:
表2 系统整体性能检测
从表2可以看出,由此可知文中模型在性能上是稳定的,能有效地识别网络数据中的攻击行为.
文中方法对各个攻击类别的样本对应的仿真结果分析,如下所示:
表3 各攻击类别检测结果
图4 经典HMM方法、文献[9]方法和文中方法的比较图
从表3中可以看出,文中方法在仅采用10%的少量样本的情况下,对各个类别仍然保持着较高的检测率和低的误报率,仅仅只有U2R攻击类别的检测正确率较低,这是因为U2R的样本太少,因此,影响了整体的检测效果.为了进一步验证文中方法的优越性,将文中方法与经典的HMM以及文献[9]所示的改进的HMM方法进行比较,结果如图4所示.文中方法具有较高的检测率,且在仿真时间为400ms时,就已经趋于收敛,经典HMM方法的检测率最低,在整个仿真期间的最高检测率为0.941,且始终未能收敛,而文献[9]方法的检测率次之,在仿真时间为450ms,收敛到0.957.由此可以看出,文中方法不仅具有较高快的检测速度而且有较高的检测率,这是因为文中采用监督SOM获得后验概率训练HMM,增加了检测的精度并加快了训练速度.
5 结 语
随着网络应用的普及和规模的急剧膨胀,对网络攻击的预防和检测是保障网络安全的重要手段,入侵检测系统作为重要的网络安全保护系统,已经成为信息安全和计算机领域的研究重点.为此,文中设计了一种基于监督SOM网络和HMM的网络入侵检测方法,采用训练样本数据对监督SOM网络进行训练,将获得的观察样本数据后验概率用于HMM的训练,从而得到HMM中的初始分布矢量、状态转移概率和观察值概率,然后再采用经过训练的HMM作为入侵检测模型,对各类数据进行入侵检测,将具有最大概率的模型作为入侵检测结果.仿真实验表明文中方法的有效性和可行性.
[1] Liu J, Chen H, Zhong Z, et al.Intrusion Detection Algorithm for the Wormhole Attack in Ad Hoc Network[C],Proceedings of International Conference on Computer Science and Information Technology Advances in Intelligent Systems and Computing Volume 255, 2014, 147-154.
[2] 汪洁.基于神经网络的入侵检测系统的设计与实现[J].计算机应用与软件,2013(30):320-322.
[3] 谢红,刘人杰,陈纯锴.基于误用检测与异常行为检测的整合模型.重庆邮电大学学报:自然科学版,2012(24):73-77.
[4] Kumar R M. Intrusion Detection and Prevention Technology using Sensor Networks to Protect Firewall from Attacks[J].Automation and Autonomous System, 2013,5(6):215-272.
[5] Nadeem A, Howarth M. P. An intrusion detection & adaptive response mechanism for MANETS. Ad hoc networks, 2014, 13:368-380.
[6] 林冬茂,薛德黔.一种基于无监督免疫优化分层的网络入侵检测算法[J].计算机科学,2013(40):180-191.
[7] 徐敏.基于人工示例训练的神经网络集成入侵检测[J].计算机工程,2012(38):198-200.
[8] 徐敏,丁红,沈晓红.神经网络集成模型在入侵检测中的应用[J].2012(29):105-108.
[9] 杨晓峰,孙明明,胡雪蕾,等.基于改进隐马尔可夫模型的网络攻击检测方法[J].通信学报,2010(31):95-101.
(责任编辑:涂正文)
A Design of Network Intrusion Detection Algorithm Based on HMM and Supervised Self Organize Mapping Net
LI Zhijian
The study proposes a network intrusion compound detection method based on supervised SOM network and HMM, in order to guarantee the safety of the network effectively and conquer the problem of traditional intrusion detection system not accurately recognizing the attack type. The simulation experiment shows the method proposed in the experiment is an efficient way of network intrusion detection even with small samples. Compared with other detective methods, this algorithm has great priority.
Hidden Markov model; State transition; Network intrusion detection; Supervised Self Organize Mapping Net
TP393.08
A
1009-8135(2016)03-0027-06
2016-01-12
李志坚(1982-),男,四川南充人,阿坝师范学院助理研究员,主要研究计算机应用技术.