文献标识码:A
文章编号: 0258-7998(2011)01-0124-04
入侵检测系统,就是按照一定的安全策略对网络、系统的运行状况进行监视,尽可能地发现各种攻击企图、行为或者结果,以保证网络系统资源的机密性、完整性和可用性。入侵检测系统根据分析对象的不同,可以分为基于主机的和基于网络数据包的入侵检测系统。模式匹配方法[1-2] 入侵检测系统中应用广泛,该方法根据预先制定的模式检测攻击,可以有效地发现已知模式的攻击,但是不能发现未知模式的攻击。
数据挖掘,就是从大量数据中获取有效、潜在、有用、新颖的模式的非平凡过程。将数据挖掘方法应用在入侵检测系统中[3],可以有效地挖掘出新的模式,发现新的攻击。在基于主机的入侵检测系统中已有很多研究,也取得了不错的成果。常用的方法有支持向量机[4] 、隐马尔科夫模型[5]、KNN[6]等。
基于网络数据包的入侵检测系统是将网络数据包作为分析的对象,有数据量大、数据变换快等特点,而传统的数据挖掘方法在应用中往往出现运算时间复杂度过高,不能在有限时间内处理完大量数据包的难题。
从IEEE802.11协议[7] 中可以发现:在不同的阶段,网络数据包的类型是完全不同的,如认证阶段只有认证报文,认证阶段结束后进入连接阶段,只会出现连接报文,在认证阶段后的任何阶段都可以发生断开认证阶段等,不同的阶段是相继发生但是阶段间是相互独立的。传统的数据挖掘方法会将不同阶段的数据包统一分析,不仅会产生极大且无谓的计算量,而且不能体现出阶段性的特点。本文提出了一种分阶段K邻居数据挖掘方法,可以有效地解决上述问题。
该函数与节点本身的属性和节点的内部邻居集有关,而且不同属性的内部邻居集对节点的内部评价值的影响力不一样。
(2) 阶段评价函数:评价节点和该节点阶段邻居特征的函数。
该函数与节点的内部评价值和节点的阶段邻居有关,而且不同的阶段邻居对节点的外部评价值的影响力不一样。
2 KNS算法
应用KNS方法的前提:对象可分为一定的阶段,阶段之间相对独立并且有序,同一阶段中不同节点的内部行为和阶段行为应该相似。
在KNS算法开始之前,需要对节点的各个属性进行筛选,选择能够将数据集分割成n个连续的阶段的属性作为阶段属性,如果有几个属性都可以作为阶段属性,则选择其中分割的最均匀的属性作为阶段属性。
KNS方法可分为学习算法和测试算法两部分。
首先通过对样本数据集的学习,调整内部影响权值w[k]和阶段影响权值sc[n,n]。调整算法可以用自适应滤波LMS(Least-Mean-Square)学习算法等,由此得到阶段对照评价集U[n]。然后输入待测数据集,计算每个节点s的内部评价值W(s)并最终得到阶段评价值Sc(s)。将Sc(s)与该阶段的对照评价集U[j]比较,并将Sc(s)偏离U[j]的程度作为判断结果的依据输出。
KNS学习算法是先通过样本数据集中的每个节点找到内部邻居集和阶段邻居集,然后计算所有节点的内部评价值W和阶段评价值Sc并将Sc加入到评分集U[j]中,通过调整w[k]和sc[n,n]的值,逐步缩小U[j]的范围,最终输出U[j]作为KNS测试算法的对照评价集。
(2)KNS测试算法
Input w[k], sc[n][n]; U[n];
Input target data set S;
foreach s in S
Switch(s(y))
Set s in section Mj ;
searchNeighbor(s, Mj);
for Mk before and after Mj
searchNeighbor(s, Mk);
compute W(s) Sc(s)
get distance(Sc(s) U[j] );
answer(s)=tooFar(Sc(s),U[j]);
output answer;
KNS测试算法比学习算法简单很多,只需在每个节点进入时,设置为相应的阶段并为它找到内部邻居和阶段邻居,然后计算出内部评价值W和阶段评价值Sc,最后将Sc与该阶段对照评价集U[j]比较,输出比较结果。
综上所述,KNS方法整个流程如图1所示。
3 基于WLAN网络数据包的入侵检测
无线局域网(WLAN)使用过程如图2所示。
每个终端(STA)在连接并使用WLAN的过程都可以按照图2流程分为5个阶段,不同阶段中所涉及的数据包的类型也是完全不同的,并且每个阶段内的数据包类型都是有限的,如网络发现阶段数据包的类型有Beacon、Probe Request和Probe Response三种,认证阶段只有Authentication一种等。这是满足分阶段K邻居方法应用的前提。
在实验中,每个独立的包作为一个节点,数据包里的各个项的值作为该节点的属性。将上述阶段再次按照不同的数据包类型分成更小的阶段,每个阶段中只包含一种类型的数据包,同时将源地址和目的地址作为判断是否阶段邻居的属性依据。同类数据包中的其他属性作为该阶段的内部属性。
实验中,先收集一定量的安全环境下的数据包,作为样本集合进行KNS学习,然后再将结果用于入侵检测,并将阶段评价函数的偏离程度作为判断是否有入侵的依据。
实验使用的评价函数有:
4 实验结果及分析
在实验室环境下进行攻击和检测。实验分别用KNS方法和HMM方法进行。
(1) KNS方法
KNS方法检测结果如表1所示。
由表1可以发现,KNS方法可以在较高检测率的情况下保持较低的误报率。但是对于Probe Request 类型的攻击,由于STA Probe的比较没有规律,STA可以在任何时候发出Probe Request并可以持续任意长的时间,然后在任何时间结束Probe,即开始认证或离开WLAN(Probe Response也是类似)。对于这种类型的攻击,阶段K方法尽管可以有着很高的检测率,但是也有着较高的误报率。而对于Beacon Flood、Spoof Authentication和Spoof Association这几种攻击,不但有很高的检测率同时也有较低的误报率。
(2) HMM方法
实验采用滑动窗口HMM模型,将WLAN数据包MAC头部的二进制码作为分析对象,取窗口大小为7,得到结果如表2所示。
对比表1和表2可以发现,对于不同的攻击类型,两种方法的误报率有高有低。但是总体而言,KNS方法的检测率基本都高于HMM方法
(3) 运算效率
采用KNS方法和HMM方法处理2 000个~20 000个数据包所用的时间如图3所示。由图可知,KNS方法处理包的平均速度是HMM方法的2.5倍,说明KNS方法有着快速处理大量实时网络数据包的能力。
本文提出了一种可以体现对象阶段性特点的数据挖掘KNS模型。该方法将待测对象按照阶段不同分为若干阶段,然后分别对阶段内部邻居和阶段邻居的相关属性进行统计挖掘。如果待测对象满足两个条件:(1)可分为互相独立且有序的阶段; (2)同一阶段中不同节点的内部行为和阶段行为是相似的,则可以应用该模型。此外,还实验了KNS方法在基于WLAN网络数据包的入侵检测系统中的应用,并将结果与HMM方法的结果进行了对比,可以发现在检测率和误报率相当的情况下,KNS方法运算效率高,可以在实时检测中很好地应用。
在研究过程中发现,目前的KNS方法还存在许多不足,如阶段内部评价函数以及阶段评价函数的设定还有有待改进,当前的函数略显复杂,后续工作只需要找到可以反映阶段特点的更简单的函数,就可以进一步改进KNS算法的计算速度。
参考文献
[1] THOMPSON H H, WHITTAKER J,ANDREWS A M. Intrusion detection: perspectives on the insider threat[C].Computer Fraud & Security, 2004:13-15.
[2] HAN S J, CHO S B. Detecting intrusion with rule-based integration of multiple models[J]. Computer & Security, 2003, 22:613-623.
[3] PIETRASZEK T, TANNER A. Data mining and machine learning-toward reducing false positives in intrusion detection[J]. Information Security Technical Report,2005,10:169-183.
[4] ZHANG Z, SHEN H. Application of online-training SVMs for real-time intrusion detection with different considerations[J]. Computer Communications, 2005, 28:1428-1442.
[5] QIAO Y, XIN X. Anomaly intrusion detection method based on HMM[J]. Electonics Letters,2002,38(13):663-664.
[6] LIAO Y, VEMURI V R. Use of K-nearest neighbor classifier for intrusion detection[J]. Computer & Security, 2002, 21:439-448.
[7] IEEE802.11 Working Group.IEEE standard for information technology—telecommunications and information exchange between systems—local and metropolitan area networks—specific requirements Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.2007[EB/OL]. http://standards.ieee.org/getieee802/download/802.11-2007.pdf