、l 訇 似 改进的SOM和K—Means结合的入侵检测方法 Combination of SOM and K-Means for intrusion detection algorithm 杨照峰。,樊爱宛 ,樊爱京 YANG Zhao—feng。.FAN Ai-wan .FAN Aiding (1.平顶山学院软件学院,平顶山467002;2.平顶山学院计算机科学与技术学院,平顶山467002; 3.平顶山学院网络计算中心,平顶山467002) 摘要:检测算法是入侵检测的一个重要组成部分。传统的K—Means算法的聚类结果对随机初始值 的依赖很强。而传统的SOM神经网络不能提供分类后精确的聚类信息。为克服两种算法的缺 陷,本文将两种算法结合并进行改进,SOM先进行一次初聚类,将其作为K—Means初始聚 类,然后用K-Means来对SOM的聚类进行精化,实验结果分析表明本文算法既克服了两者的 缺点,又使两种算法的优点得到完美的结合,在一定程度上提高入侵检测系统的检测率,降 低了误报率。 关键词:人侵检测;数据挖掘;聚类;K—Means算法;SOM神经网络 中图分类号:TP393 文献标识码:B 文章编号:1 009-01 34(201 0)1 2(下)一0004~03 Doi:1 0.3969/J.issn.1 009-01 34.201 0.1 2(下).02 0引言 入侵检测技术是对计算机和网络资源上的恶意 使用行为进行识别和响应,不仅检测来自外部的入 侵行为,同时也监督内部用户的未授权活动…,随 着计算机网络技术的发展而日趋成熟,成为网络安 全的第二道防线。 在入侵检测中,网络流量的大小直接影响着 间,正常数据中混杂了多种入侵模式,因此,这 就可能会出现聚类混乱的的现象,反而使结合后 的算法在检测效率上不仅没有提高,反而比传统 的SOM有所降低 。本文在对大量入侵算法研究 的基础上,提出了K—Means算法与SOM神经网络 相结合的改进检测算法。SOM先进行一次初聚类, 将其作为K—Means初始聚类,然后采用K—Means 来对SOM的聚类进行精化,这样使两种算法的优 点得到完美的结合,又克服了两者的缺点,以提 检测算法效率,在SOM网络中输出层权值矩阵的 规模也会影响到算法的复杂程度,但如果矩阵过 于简单,可能会造成聚类信息的不精确性 。所 以在应对网络海量数据的检测时,既要保证结果 的精确性,又要减小算法的复杂程度。而K—Means 高入侵检测系统得检测率,并在一定程度上降低 了误探率。 1相关概念简介 1.1 SOM算法 SOM算法是一种基于神经网络模型的聚类分 析方法,它模拟大脑神经系统自组织特征映射的 功能,对输入的模式根据其学习规则进行自动分 算法具有速度快、算法简单以及能够有效处理大 型数据库的优点,将其与SOM网络相结合可以提 高SOM网络聚类的准确性,也能将SOM输出层 节点数减少,进而形成一种二次聚类的方法,以 应对网络入侵检测这种大规模数据检测的要求。 类,在无监督的情况下,对输入模式进行自组织 学习,反复地调整连接权重系数,使得这些系数 反映出输入样本之间地相互关系,并在竞争层将 分类结果表示出来。因此SOM算法在功能上通过 网络中神经元间的相互作用和相互竞争,在结构 目前在K.Means与SOM的结合上,存在两种方 式,在一定程度上都能提高算法的效率 。第一 种是在样本被SOM聚类结束后,再使用K—Means 算法对已经聚类好的样本进行重新聚类。第二种 结合方式是在SOM的训练时期用K—Means算法 将SOM训练后的网络神经元权值进行二次聚类, 以达到对聚类信息的求精,但在现实中,入侵在 同一时刻往往不是单一的种类,有可能在同一时 上以神经网络的形式模拟了大脑皮层中神经元呈 二维空间点阵的结构,模拟了大脑信息处理的聚 类功能、自组织和学习功能。SOM算法被广泛应 用于各种模式识别和分类问题中。 收稿日期:2010-08-11 作者简介:杨照峰(1978一),男,河南襄城人,讲师,硕士,主要从事计算网络安全方面的研究。 【4】 第33卷第12期2010—12(下) l 訇 化 1.2 K-Means算法 K—Means聚类算法是数据挖掘中的重要分 支,也是实践中最常用的聚类算法之一,是 J.B.MacQueen在1967年提出的一种基于划分的动 态聚类分析算法,常采用误差平方和准则函数作 为聚类准则函数,误差平方和准则函数定义为: .. . .E IP—mi tmici i=1 pEc 其中in;代表簇c 的平均值,E代表所有对象 的平方误差的总和,P代表样本空间中的点,P是 空间中的点,表示给定的数据对象。 K—Means算法的工作原理如下:首先随机地 选择K个对象,每个对象初始地代表了一个簇的 聚类中心或平均值。然后计算各个对象到聚类中 心的距离,把这些剩余对象归到离它最近的那个 聚类中心所在的类。计算新形成的每一个聚类的 数据对象的平均值,来得到新的聚类中心。如果 相邻两次的聚类中心没有任何变化,说明数据对 象调整结束,聚类准则函数己经收敛。该算法的 一个特点是在每次迭代中都要考察每个样本的分 类是否正确,若不正确,就要调整。在全部数据 调整完后,再修改聚类中心,进入下一次迭代。 如果在一次迭代算法中,所有的数据对象被正确 分类,则不会有调整,聚类中心也不会有任何变 化,这标志着聚类任务完成,算法结束。 2改进的SOM ̄IIK—Means结合的入 侵检测方法 假设入侵在同一时刻是单一的种类,在经过 SOM与K—Means的两次结合后,可以使检测率有 明显的提高,同时大大减小了神经网络中的误检 率,这是因为在使用K—Means进行对SOM聚类的 精化后,各聚类得到了较明确的界限,使得在识 别时避免了一些模糊的神经元匹配,从而达到提 高检测率,降低误探率的效果。但在现实中可能 会出现聚类混乱的的现象,反而使结合后的算法 在检测效率上不仅没有提高,反而比传统的SOM 有所降低。 由于S—K算法在识别时,K—Means算法发生 了聚类混乱,即把原先SOM正确的聚类又打乱 了,反而降低了SOM聚类的准确程度。这是由于 在SOM经过正常模式的训练后,受感应的神经元 已经可以代表各种类型的正常模式,共分为 类, 而没有受到刺激的神经元则代表入侵模式,即第 n+1类,也就是最后一个聚类。当每组只引进 一中入侵,同种入侵在模式上是相近的,所以经 过SOM识别后,最后一个聚类仅仅包含一种入 侵,使得这个代表入侵的聚类很紧凑,因而在使 用K—Means算法进行聚类求精时,该聚类中各向 量的类内距离要远小于他们与正常聚类之间的距 离,可以得到更加正确的结果。 而当几种入侵混合在一起,我们不妨假设, 代表正常的聚类为N,代表ipsweep入侵的聚类 为A,代表buffer_overlfow入侵的聚类为B,代表 smurf入侵的聚类为C,假设经过SOM聚类后,A, B,c三个类已经聚类到入侵类中,在N类中,由 于A,B,C为三种不同的入侵模式,因此,该类 中的元素到类中心的距离,很可能要大干该元素 到正常类(N类)的距离,因此,在进行K—Means 算法时,会将代表入侵的类中的样本错误的分到 代表正常的聚类中,从而引发了检测率的下降。 针对这一现象,最简单最有效的解决方法,就是 设定一个阂值e。设定每一个样本到正常聚类(即 前100个聚类)中心的最短距离不大于某个特定的 值,若不大于则继续进行K—Means算法,若大于, 则直接归为第101个聚类,即非正常聚类。 IMin(de.+ )>E样本 属于非正常类 LMin(de.+ )<E样本i将继续进行K-Means算法 其中i表示样本i, 为所选阂值,可表示第k 个正常聚类,k=1,2,…,100。 这样经过改进后的s—K算法在检测率上会有 明显的提高。但是同时误检率无法大幅度降低的 原因也是由于引进这个阂值而引起的,阈值偏小 又会引起误探率的增加,阈值偏大会引起检测率 的降低。所以选择合理的阈值在解决这个问题中 起到了关键的作用。 误探率与探测率永远是相互矛盾的,因此选 取阈值时可以根据实际情况设定一个合理的阈值, 既满足较高的检测率,又应保证能够抑制误检率 在一定范围内。 3实验结果与分析 为了验证本文所提出方法的可行性,本文 采用KDD Cup 1999标准入侵检测数据集进行实 验151。KDD99 CUP数据集是由Defence Advanced 【下转第18页】 第33卷第12期2010 12(下) [51 、l 匐 化 对PLC的通讯设置主要是设置PLC的特殊寄 造。PLC与变频器组成的交流变频调速系统具有 存器D8120。这是一个16位的特殊寄存器,其设 实时性好、响应速度快、可靠性高、操作方便、 置方法是在PLC程序中在PLC上电时,由初始化 节约能源、节省投资等优点。应用MCGS组态软 继电器M8002驱动而自动写入相关设置参数,或 件监控系统,减轻了操作人员的劳动强度,降低 者在PC机上使用PLC开发系统软件预先进行设置。 了设备维护费用,提高了系统的自动化水平,具 FX系列PLC默认的通讯设置为D8120=H0086, 有较高的推广价值。 表示波特率为9600bps,7位数据,偶校验,1位停 止位,无命令头和尾,不加校验和,无协议通讯方 参考文献: 式。如采用其它参数通讯,则必须修改D8120各 [1】北京昆仑通态自动化软件科技有限公司.全中文工控组 态软件MCGS用户指南.北京:MCGS公司,2003 个对应位的值。必须注意,MCGS与PLC的参数 【2】包建华,丁启胜,张兴奎.工控组态软件MCGS及其应用 设置要一致,才能实现两者之间的正确通信。 [J].工矿自动化,2007 5结论 [3】许志军.工业控制组态软件及其应用[M】.北京:机械工业 出版社,2005 本设计是应用PLC和MCGS组态技术对 [4]邹伟,杨平,徐德.基于MCGS组态软件的上位机控制系统 X62W铣床原有的继电一接触器控制系统进行改 设计[J1.制造业自动化,2008(12):103—108 { ‘ 出‘{赢I{出 &‘毒& {是‘{出 {翕‘{虎 {是‘每出 每竞 {是 {& {是 虫‘毒品 {彘‘{&‘ 翕}{出‘ &● 【上接第5页】 Research Projects Agency和麻省理工学院的 率平均在97%一99%之间,平均值为98.2212%,这 Lincoln实验室提供的入侵数据集采集样本。这些 说明新提出的算法相比于同类算法具有较高的检 实验数据除包含正常连接数据Normal外,还包含 测率和较低的误报率,有效的解决了目前入侵检 了四大类入侵行为,分别是R2L远程攻击、DoS 测算法存在的问题。实验证明,利用本文提出的 拒绝服务、U2R获取根权限和Probe刺探攻击。 方法用于入侵检测能取得较好的性能,在针对几 为了更好的体现本文算法的有效性与优越性,本 种攻击类型,和其它几种算法相比,检测率都有 文进行了对比实验,实验结果如下: 不同程度的提高。 表1算法的检测率对比 4结论 检测率/% 攻击类型 本文对SOM算法和K—Means算法进行了具体 本文方法 SoM—K—Means K—Means SoM 的分析,结合它们的优缺点提出了一种基于SoM D0S 98.12 96.17 77.17 71.54 和K.Means的聚类算法,提高了对攻击的识别率 PRoBE 97.22 91.44 98.15 83-25 和系统的整体性能。 R2L 98.43 91.18 72-24 63_2l U2R 99.42 87_22 63.98 71.52 参考文献: 【1】B Mukheuee,L T,Heberlein Levitt.Network Intrusion 表2算法的误报率对比 Detection[J].IEEE Network,2004,8(3):26—41. 误报率/% [2]刘衍珩,田大新,余雪岗等.基于分布式学习的大规模网络 攻击类型 本文方法 S0M—K—Means K.Means SOM 入侵检测算法【J1.软件学报.2008,19(4):993—1003. DoS 1.12 3_42 1.21 2.22 [3】肖道举,毛辉,陈晓苏.BP神经网络在入侵检测中的应用 PRoBE 1_31 2-23 2.62 2.12 【J].华中科技大学学报:(自然科学版),2003,31(5):6—8 [4】吴迪,张亚平,郭禾.一种基于粗糙集理论和BP神经网络 R2L 1_2l 2.21 2.8l 2-23 的入侵检测新方法….计算机研究与发展,2006,2(43): U2R 1.34 1.66 1.72 2.62 437—441 通过实验数据我们可知本文算法的误报率平 [5】KDD Cup 1999 Data set【EB/0L]:http://archiVe.ics.uci. edu/ml/databases/kddcup99/kddcup99.htm1. 均在1.15%一1.60%之间,平均值为1.1843%。检测 [181 第33卷第12期2010—12(下)