1 06 20 1 1,47(1 1) Computer Engineering andApplications计算机工程与应用 基于改进聚类分析算法的入侵检测系统研究 杜强,孙敏 DU Qiang,SUN Min 山西大学汁算机与信息技术学院,太原030006 School of Computer and Information Technology,Shanxi University,Taiyuan 030006,China DU Qiang,SUN Min.Intrusion detection system based on improved clustering algorithm.Computer Engineering and Appli— cations,2011.47(11):106.108. Abstract:There are two major problems exist in commonly used clustering algorithm for intrusion detection systems:One is clustering algorithm that USeS the random method to determine initial cluster centers,the other iS that it is easy to fall into local optimal solution caused by climbing—type technology.Based on this,atl improved clustering algorithm is proposed.By de— termining the initial cluster centers of the two farthest.hierarchical clustering based on the maximum.minimum distance and DBI index it determines the remaining initial cluster center.the method solves the mentioned issue.The simulation veriies fthe feasibiliy and supertiority of the proposed algorithm. Key words:intrusion detection:cluster analysis: means algorithm 摘要:针对常用聚类分析算法应用于入侵检测系统所存在的两大方面的问题:一是其采用随机法确定初始聚类中心,不同的初 始值可能产生不同的聚类结果;二是采用爬山式技术导致容易陷入局部最优解。基于此提出一种改进的聚类分析算法,通过确 定两个最远初始聚类中心和基于最大最小距离的层次聚类、DBI- ̄标来确定剩余初始聚类中心,该方法使上述问题得到解决,并 通过仿真实验验证了该算法的可行性和优越性。 关键词:入侵检测;聚类分析;K-means算法 DOI:10.3778/j.issn.1002.8331.2011.11.030 文章编号:1002.8331(2011)l1-0106.03 文献标识码:A 中图分类号:TP393.08 1引言 随着网络广泛应用和网络技术特别是黑客技术的发展, 网络系统面临着越来越多的攻击和安全问题。为了有效地保 2入侵检测系统简介及常用的聚类分析算法 2.1入侵检测系统简介 入侵检测系统(Intrusion Detection System,IDS)从系统 护网络环境,及时有效地发现攻击行为,继防火墙、数据加密 等传统安全保护措施后入侵检测作为一种新的安全防护技术 应运而生。如今,网络速度不断加快,入侵方式和种类的不断 更新,这些都对入侵检测技术提出了新的要求。入侵检测分 为误用检测和异常检测两种类型,其中异常检测技术根据使 用者的行为或资源使用状况来判断是否存在入侵,不依赖具 体入侵是否出现来检测,而且对系统的依赖性相对较小,从而 成为了近几年来网络安全研究的热点之一。 数据挖掘技术于1999年由Wenk Lee” 等人引入到入侵检 测系统中。聚类分析作为一种常用的数据挖掘技术,其算法 内部和各种网络资源信息中,分析可能的入侵攻击行为,扩展 系统管理员的安全管理能力(包括安全审计、监视、进攻识别 和响应),提高信息安全基础结构的完整性。入侵检测系统根 据用户的历史行为,基于用户的当前行为,完成对入侵的检 测,并留下证据,为数据恢复和事故处理提供依据。就检测技 术而言,IDS有误用检测和异常检测之分。一个入侵检测系 统一般包含数据搜集、入侵检测和入侵响应三个部分,其一般 结构如图1所示[21。 简单、计算复杂度低,尤其适用于高速网络环境。然而聚类分 析算法本身采用随机法选择初始聚类中心和易陷入局部最优 解等问题极大地了其在网络入侵检测方面的应用。基于 上述现实背景,提出了一种基于改进聚类分析算法的入侵检 测系统,并通过仿真实验验证了该系统的优趱陛。 基金项日:山西省高校科技开发项目(No.200512G2);山西大学科研项目(No.2005103)。 作者简介:杜强(1985一),男,硕士研究生,主要研究方向:网络安全;孙敏(1968一),女,副教授,硕士研究生导师。E-mail:duqiang.student@sina.corn 收稿日期:2010—05—12;修M日期:2010—08—09 图1入侵检测系统结构圈 杜强,孙敏:基于改进聚类分析算法的入侵检测系统研究 2.2入侵检测中常用的聚类分析算法介绍 聚类分析是将数据集合中的对象划分成若干个类的过 3改进的K-means算法 3.1确定两个最佳的初始聚类中心 选取两个最佳最远聚类中心的思想是为了避免算法初始 值选取时很可能出现的初始聚类种子过于邻近的问题,算法 初始时选出距离最远的两个数据对象,从而形成两个初始的 聚类中心,以便很好地保证后续的处理使同一类内的对象有 程,使得同一个类的对象具有较高的相似度,而不同类的对象 之问相似度较低,或者说不同类之间的对象差异较大。因此, 基于聚类分析的入侵检测技术就是用无参数的方法将事件流 用向量表示,然后再利用聚类分析算法将它们分为行为类。 每一类都代表相似的活动或用户的行为,这样就能够辨别出 正常和异常的行为。无监督聚类分析算法应用于入侵检测不 需要对训练集进行标类和严格的过滤,而且对于检测网络数 据中的未知攻击行为有比较好的效果,因此聚类分析算法在 极高的相似性 ,而不同类之间有极低的相似性。为保证系统 在处理大数据量时的高效率,本文设计一种时间复杂度为 O(n)的计算方法,其相关说明如下: 假设数据库中有 个数据对象,O : ,X,,…,X },随机 入侵检测领域[3J值得进一步深入研究。 在众多聚类分析算法” 中,将K-means算法应用于异常检 测的优点是其方法简单、计算复杂性小,因此容易达到入侵检 测实时性的要求,而且也比较容易实现。其基本思想是:随机 地选择k个对象,每个对象初始化地代表了一个类的平均值或 中心。对剩余的每个对象,根据其与各个类中心的相似度,将 它赋给最近的类,然后重新计算每个类的平均值,这个过程不 断重复,直到准则函数收敛。其主要步骤 】}苗述如下: 输入:指定类的个数 和包含Ⅳ个对象的数据集。 输出:k个类。 方法: (1)从 魄营对象中任意选择 个对象作为初始的类中心。 (2)计算剩余数据对象到各个聚类中心的距离,并把对象 分配到离各自最近的聚类中。 (3)分配完成后,重新计算 个聚类的中心,即计算聚类中 对象的平均值。 (4)与前一次计算得到的k个聚类中心比较,是否准则函 数开始收敛,是则转(5),否则转(2)。 (5)输出k个聚类结果。 该算法在计算两个数据对象之间相似度时,考虑到网络 入侵检测效率的因素一般采用计算复杂度较小的欧几里德距离 作为两个数据对象之间属性值的相似性度量,式子表示为: dc(i,u,)=JIz l— ,lr+ — ,2 +…+ 一 (1) 其中X 和X, 分别表示数据对象i和数据对象.,的第P个属 性值,d(i,J)表示数据对象i和,之间所有屙I生值的相似度之 和。同时,算法采用均方差作为准则函数,其定义如下: k E=∑∑Lo-m l(2) i 1P∈c 其中 为数据库中所有数据对象的均方差之和,P代表其所 在聚类空间的一个数据对象点,m 为聚类c 平均值,P和m, 均为的数据对象。 可见,K-means算法是解决聚类问题的一种经典算法。它 的主要优点是算法简单、快速而且能有效地处理大数据库。 然而这种算法采用随机法选取初始聚类中心,因此对不同的 初始值可能会导致不同的聚类结果,使聚类结果产生不稳定 性,应用于在线入侵检测系统导致该算法的执行结果与输入 顺序 有关。其次,这种算法采用了所谓的爬山式技术来寻找 最优解,其每次调整都为了寻求更好的聚类结果,因此很容易 陷入局部最优解 。由于这两大缺陷极大地了该算法的 应用范围,因此本文选择改进的K-means算法应用于网络入 侵检测 系统。 选择一个数据对象 ,, ,表示数据对象i和.,之间的距离。 (1)寻找与数据对象 ,距离最远的对象 ,两者间距离用 表示。 (2)寻找与数据对象X。距离最远的对象X ,两者间距离用 表示。 , (3)如果,=t,那么X,与x 互为最大距离点,则转到(6); 女Ⅱ果,≠t,贝0转至 (4)。 (4)如果dt di ,则与(3)结果一致, 与x,互为最大距 离点。 (5)如果 < ,则X,与 ,距离最远,二者互为最大距 离点。 (6)C 和c,分别用于存储找到的互为最大距离的两个点, 用作初始两个聚类中心。 3.2搜索初始两个聚类中心c 和c,的聚类对象 这一步的思想是通过上面介绍算法选出了距离最远的两 个数据对象后,取合适的阈值q来查找这两个中心的近邻。 假设有//.个数据对象,0 = ,X 一, },目前已经找到最新 聚类中心C ,针对0 中剩余的数据对象,分别计算到C 的距 离d(x ,c ),如果d(xf,c )<q,那么X 和C 就属于同一个聚 类。通过上述思想查找出初始两个聚类中心的近邻并归为同 一个聚类,这样可以有效地减少算法以后的数据运算量,提高 算法的执行效率。 3.3确定剩余初始聚类中心 K-means算法要获得更好的性能,就必须解决其容易陷入 局部最优解的缺点,需要一种能够在全局范围内查找的快速 算法用于确定初始聚类中心。本文提出一种基于最大、最小 距离的层次聚类算法,并利用DBI(Davies.Bouldin Index)指 标来最终确定初始聚类个数 和中心点。该算法易于实现, 时间复杂度低,适合于处理大数据量的入侵检测系统使用。 DBI指标是一种非模糊型的集群评估指标,以聚类问离散 程度和同一聚类内数据对象的紧密程度为基本依据,使同一 聚类中数据相似性高,聚类之间则相异性高,以此来对聚类的 结果进行评估,其计算公式如下: K r I 1 DBI= ∑max{l 3) ,,J } (其中Si= ∑[lLil ∈ci IX-V,l表示第f个聚类内数据对象与中心的 标准误差, 表示第i个聚类内的各个数据对象,v 表示第i 个类的平均值,C 表示第i个聚类内数据对象的个数,JIxll表 示欧几里德距离, .,表示第f个类与第 个类中心之间的欧 108 2011,47(11) ComputerEngineeringandApplications计算机工程与应用 据集包含1O万条数据项共分5组数据进行,入侵数据占总数 据的1%共1 000条。其中80%的数据用于对算法的训练,然 后用剩下的20%的数据分5组用于测试。本实验两个算法均 取阈值q=0.4,K-means算法 值取5,即以前5个数据包为初 始聚类中心,实验结果如表1~表3。 表1训练算法运行耗时 笪法 托时 41 238 39.524 几里德距离。确定剩余初始聚类中心的算法描述如下: 对于有Ⅳ个数据对象的数据集0 = , 五、X,,用于初始两个聚类中心。 ..,X }: (1)通过3.1节介绍的算法找到了互为最大距离的两个点 (2)对集合D 中剩余的对象x ,分别汁算到X,、X,的距 离 。和 。 (3)记 =max{min( ̄ , )},则取 为新的聚类中心,找 出满足给定阈值q的X 的近邻,加入到C 中,计算c 的中心。 (4)根据公式(3),汁算出本次加入新聚类C 后的DBI。 (5)重复步骤(2),在找出来的新聚类中心X.并查找近邻 改进聚类分析算法 K-me ̄s算法 表2基于改进聚类分析算法IDS聚类结果 加入后计算得出新DBI,与上一次的DBI相比较,如果 DBI.。 <DB1 ,则 ,附近可以形成新的聚类;直到某次计算 出来的DBI值大于 一次的DBI的值,则终止查找初始聚类 数目 的过程。 3.4改进K-means算法的整体描述 通过上述改进,解决了K-means算法随机法选取初始聚类 中心和容易陷入局部最优解的问题,使得该算法应用于入侵 检测系统在提高检测率和降低误检率 上取得了较大的进步, 改进算法的整体流程图如图2所示。 定两个最远初始聚类中心X 、 : 聚类中心 .、z 的近邻搜索 1r 确定新聚类中心 } 一 区堕 ————土——一 li十三 IN I确定初始聚类中心 l  ̄-means算法剩余数据对象归类 图2改进K-means算法流程图 4仿真实验及结果分析 为了对改进聚类分析算法的入侵检测系统的检测效果进行 评估,本实验将对照K-means算法,在算法训练运行耗时和入侵 检测的检测率与误检率三个方面对二者进行对比。本次实验 的是在Windows XP平台上,Visual c++6.0框架下进行的。 本实验采用KDD99数据集n”,该数据集采用的是MIT Lincoln Labs98的数据,提供了从模拟局域网上采集了9周的 网络数据包,其中的每条记录包含了41个特征量,能够模拟4 大类共38种攻击类型。为了避免对聚类分析产生不良影响和 提高实验的检测效率,剔除了对聚类分析没有太大意义的数 据属性,经过分析筛选了每条记录的生存期、协议类型、IP服 务类型、TCP窗口大小、报文长度等l0个属性作为研究对象。 由于在一个正常的网络环境中,正常的数据占绝大部分,入侵 数据只占极少的一部分(一般不超过2%),所以实验采用的数 结果分析:网络入侵检测系统的性能是由检测率和误检 率来进行判断的,在保证较低的误检率的基础之上,能够获得 尽可能高的检测率。通过表1可以看出,在使用较大数据量对 算法进行训练的阶段,改进聚类分析算法与K-means算法的运 行消耗时间基本相等,而表2和表3的对比明显可以看出,基 于改进聚类分析算法的入侵检测系统检测率明显高于 K-means算法,同时误检率明显低于K-means算法,进而使入 侵检测系统的综合检测水平得到了较大提高。 5结论 采用改进的聚类分析算法应用于入侵检测系统,通过首 先确定两个最佳初始聚类中心和基于最大、最小距离的层次 聚类来确定剩余初始聚类中心的方法,克服了K-means算法随 机选取初始聚类中心和容易陷入局部最优解的缺陷。在保证 训练算法运行消耗时间基本不变的情况下,有效地提高了算 法应用于入侵检测系统的检测率且降低了误检率,提升了聚 类分析算法应用于入侵检测系统的性能。 参考文献: [1】Lee W,Stolof S J.Data mining approaches for intrusion detec— tion[C]//San Antonio T X.Proc 7 USENIX Security Symposium, 1998. [2】李玲娟.数据挖掘技术在入侵检测系统中的应用研究[D].苏州:苏 州大学,2008. 【3张亚玲,3]康立锦.基于数据挖掘的sn0rt系统改进模型[J】.计算机应 用,2009,29(2):409—411. [4李雷,4]罗红旗,丁亚丽.一种改进的模糊C均值聚类算法[J].计算机 技术与发展,2009,19(12):71—73. (下转181页) 吴文辉,苏晓龙,孙统风:动态图像特征空间的立体视觉匹配算法 Matlab 7.X以及Windows操作系统平台和Vc++6.0编写的 程序进行实验。 (1)对静态图像进行实验 2011,47(11) 181 6结束语 结合动态Bayes网和无监督学习的思路,解决了概率分布 参数时变的立体视觉匹配的问题。动态Bayes网拥有动态推 断的能力,充分反映了时间片断之间的关联和因果关系。可 以充分利用先验和在线学习所获得的样本空间变化和演进的 概率知识,预测和估计实时的数字特征。同时将增量式学习 本文算法对测试图Tsukuba的实验结果如图3所示。 引入动态贝叶斯网,使得在图像分割过程中充分利用动态 Bayes网的推断结果。平衡移动视觉系统对立体视觉匹配算 (a)原始图像 (b)真实分割 法的实时性和准确性。 参考文献: [1]Scharstein D,Szeliski R.Middlebury stereo vision page[EB/OL]. [2006—12—24].http://www.middlebury.edu/stereo/. [2]Scharstein D,Szeliski R,Taxonomy A.Evaluation of dense (c)初步分割结果 (d)本文算法的最终结果 two—frame stereo correspondence algorithms[J].Intemational Jour- nal of Computer Vision,2002,47(1/2/3):7—42. 图3 Tsukuba实验结果 [3]Brown M Z,Burschka D,Hager G D.Advances in computation— 同时,文献(1】总结了各种立体匹配方法,对该文献提及到 的4幅测试图像进行本文算法和各种其他算法的实验和匹配 结果的比较,关于它们的详细介绍可以见网址http//www.mid. dlebury.edu/stereo。表1给出了本文算法与其他几种匹配算法 al stereo[J].IEEE Transactions on Pattem Analysis and Machine Intelligence,2003.25(8):993—1008. [4]Shenoy P,Rao R P N.Dynamic Bayesian networks for brain—com- puter interface[C]//Advances in NIPS.USA:MIT Press,2005,17. [5]Weber M,Welling M,Perona.Unspervised learning of models 的误差率进行比较,从中可以看出本文算法的该指标下是比 较前列的。 表1 本文算法与其他算法的误差率比较 (%) for recognition[C]//Lecture Notes in Computer Science.Berlin/ Heidelberg,Germany:Springer,2000,1842:18—32. [6]Sun J,Zheng N N,Shum H Y.Stereo matching using belief propagation[J].IEEE Transactions on Pattem Analysis and Ma— chine Intelligence,2003,25(7):1-14. [7]Comaniciu M.Mean shift:A robust approach toward feature space analysis[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2002,24(5):603—619. 【8]Stefano L D,Mattoccia S,Tombari F.ZNCC—based template matching using botmded partial correlation[J].Pa ̄em Recogni— (2)对动态图像进行实验 针对上一实验所提到的GC,RBP和本文算法作比较。在 某一时间段内,对Tsukuba图像添加调整函数,该函数可以对 tion Letters,2005,26:2129—2134. [9]Duda R O,Hart P E,Stork D G.Pattern classiifcation[M].2nd ed. USA:John Wiley&Sons.2001. [10]Schwarz G.Estimating the dimension of a model[J].The An— nals of Statisticals,1978,6(2):461—464. [11]Boykov Y,Veksler 0,Zabih R.Fast approximate energy minimi— 图像做一个随机平移的变化量,对该变化图像进行多次匹配, 比较该时间段内完成匹配的次数。实验结果如图4N示。 200 150 1O0 50 0 zation via graph cuts[J].IEEE Transactions on PaRem Analysis and Machine Intelligence,2001,23(11):1222—1239. [12]Bossmanns B,Tu J F.A thermal model for high speed motor- 礅 (上接108页) 卅I:暨南大学,2006. 慧 ized spindles[J].International Journal of Machine Tool&Manu— facture,1999,39:1345—1366. [13】夏永泉,刘正东,杨静宇.一种基于正交矩的立体匹配方法[J】.系 统仿真学报,2005,17(9):2082—2084. 图4本文算法与其他算法的实时性比较 [8]周娟,熊忠阳,张玉芳,等.基于最大最小距离法的多中心聚类算法[J】. 计算机应用,2006,6(26):】425—1427. [9]Wu Suyun,Yen E.Data mining—based intrusion detectors[J].Ex— [5张昌城.5]基于数据挖掘的网络入侵检测系统的研究与应用[D].广 [6郑仁毅.6]基于数据挖掘技术的入侵检测系统研究与设if[D].厦门: 厦门大学,2007. [7] Sambasivam S,TheodosopouIos N.Adbanced data clustering methods of mining web documents[J].Issues in Informing Sci— pert Systems with Applications,2009,36(2):5605—5612. [10]Wuu L C,Hung C H,Chen S F.Building intrusion pattem min— er for snort network intrusion detection system[J].The Journal of Systems and Software,2007,80(2):1699—1715. [1 1]Corrected.gz[EB/OL].http://kdd.ics.uci.edu/databases/kddcup99/kd— dcup99.htm1. ence and Information Techology,2006,8(3):563—579.