第23卷第9期 2006年9月 计算机应用与软件 Computer Applications and Software Vo1.23,No.9 Sep.2006 遗传聚类算法在基于网络异常入侵检测中的应用 唐 勇 郭慧玲 (燕山大学信息科学与工程学院河北秦皇岛066004) 摘要 传统的入侵检测方法在面对多变的网络结构时缺乏可扩展性,而且在未知的攻击类型面前也缺乏适应性。因此,提出一 种新的检测方法——基于遗传聚类的网络异常检测(NAIDGC)算法。对聚类中心采用二进制编码,把每一个点到它们各自的聚类 中心的欧几里得距离的总和作为相似度量,通过遗传算法寻找聚类中心。计算机仿真结果显示了此算法对入侵检测是有效的。 关键词 入侵检测 异常检测 遗传算法 遗传聚类算法 GENETIC CLUSTERING ALGoRITHM APPRoACH To INTRUSIoN DETECTIoN BASED oN NETWoRK ANoMALY Tang Yong Guo Huiling (College ofInformation Science andEngineering,Yanshan University,QinhuangdaoHebei 066004,China) Abstract Traditional intrusion detection methods lack extensibility in face of changing network configurations as well as adaptability in face of unknown attack type.Therefore,a new detection algorithm,the Network Anomaly Intrusion Detection based on Genetic Clustering (NAIDGC)algorithm is proposed in this paper.The cluster centers are binary encoded.The sum of the Euclidean distances of het points from heirt respective cluster centers is adopted as the similarity metric.The near optimal cluster centers are chosen by the genetic algorihm.Com-t puter simulations show that this algorithm is effective for intusion detectiron. Keywords Intrusion detection Anomaly detection Genetic algorithms Genetic clustering algorithms 行为在常态的网络环境中是主流,而入侵行为是个别现象 。 1 引 言 随着计算机网络在现代社会生活中地位的Et益提高,它的 安全性成为了研究的热点问题。入侵检测的目的是自动监视网 络活动,检测恶意的攻击,并且与其它的网络安全技术例如防火 墙相结合建立完整的计算机网络安全保障。入侵检测技术一般 分为两类:误用检测和异常检测。但由于计算机网络的Et益复 杂,入侵方法越来越智能化,使对未知入侵的检测显得尤为重 要。而误用检测不能有效地检测未知类型的入侵,因此对未知 入侵的检测主要由异常检测来完成…。 于是入侵检测的另一个重要假设前提是网络数据集合中正常行 为的数量远远大于入侵行为的数量。这样,NAIDGC算法主要 应用于常态网络环境中的入侵检测。根据入侵行为与正常行为 是本质不同的基本思想,入侵行为和正常行为被尽量分离并且 互不交迭。 2.1数据标准化处理 在处理实例距离时要考虑这样一个问题,实例的不同特征 具有不同的数值范围,这将导致结果主要取决于大数量级特征。 为了解决这个问题,初始数据集合需进行如下标准化处理 : 1 "=目前,传统的异常检测方法需要构造一个关于系统正常行 为轮廓的参考模型,然后检查系统的运行情况,若与给定的参考 模型存在较大的偏差,则认为系统受到了入侵攻击 。但是设 = I (1) (2) (3) 置恰当的特征轮廓和异常警报的门限值是相当困难的。为了解 决这个问题,本文提出了一种新的检测方法,基于遗传聚类的网 络异常检测(Network Anomaly Intrusion Detection based on enetG- 其中, 表示,J的平均特征数据, 表示,J的标准偏离特 征数据,』,表示标准数据。这时,所有的特征都具有相同的权 重,增强了算法的一般性。 ic Clustering,NAIDGC)算法。该算法将入侵行为和正常行为分 成不同的类。计算机的仿真结果显示了此算法对未知入侵的检 测是可行的和有效的。 无监督聚类算法把数据集合划分成若干组,并使组内相似 性远大于组间相似性。在聚类的过程中,决定所要分的组数有 2 NAIDGC算法 入侵检测首先是基于两个基本假设:用户和程序行为是可 见的;正常行为与入侵行为本质上是可区分的。一般来说,正常 收稿日期:2005—07—15。国家自然科学基金项目(60374042)。唐 勇,教授,主研领域:虚拟现实。 维普资讯 http://www.cqvip.com
第9期 一唐勇等:遗传聚类算法在基于网络异常入侵检测中的应用 3)变异算子 交叉算子的功能是实现在全局空间上的搜索,而变异算子 定的困难,而遗传算法具有全局优化搜索的特性,因此,本算 法利用遗传算法来自动选取保持全局特性的聚类中心,同时根 据数据到各自聚类中心的欧基里得距离对其它数据进行分类, 这样就产生符合全局分布特性的空间聚类分析结果。 具有局部搜索能力。因此,使用变异概率P 选择群体中染色 体的基因位进行变异,并且当选择二进制编码时,对每个被选中 的基因位进行“非”运算。 (5)终止条件的确定 2.2遗传算法的应用 遗传算法(Genetic Algorithms,GAs)是一种借鉴自然选择和 进化机制发展起来的随机搜索和最优化技术。GAs主要包括初 始化阶段和具有三种状态转换的进化阶段,这些阶段描述如下。 (1)初始化种群的产生 随机产生风 个初始个体组成初始种群。每条染色体表 示所有的数据点,即表示每个数据点处于所要聚类空间的位置。 经验表明:Psize应介于3O~75之间为宜 j。如果风 太小,种 群易失去多样性;如果风 太大,将增大时间和系统的开销。 (2)编码方案 在编码方法的设计上,选择二进制编码。编码的长度等于 种群中数据点的数目,染色体上等位基因的取值反映了相应位 置点是否被选为聚类中心的情况。例如,假设C={c。,c ,c , …,c。o},随机产生染色体1001011010。如果染色体第i个位置 上是1,表示c 被选为聚类中心,否则表示没被选中。这个个体 表示cl,c4,c6,c7,c9被选为聚类中心。 (3)适应度函数 适应度函数反映了编码后染色体的适应性强弱。根据适应 值,可以有效地控制个体生存的机会。 在本文中,数据中的每一个观测点作为一个聚类目标,找到 这些目标的划分区域,并且使它们尽量的远离其它簇的目标。 通过它的成员和中心定义每个划分的簇。每个簇的中心是簇中 每个成员到该数据点的距离的和最小的那个数据点 ]。本例 中,适应度函数定义如下: 首先,对一条染色体进行解码,然后建立一组簇,按照下面 的方法分组事件: 如果,ll, 一c <ll,。一c ll,m=1,2,…, ; =1,2,…, ;i=1,2,…,K;i=1,2,…,rt且 ≠m,那么,。被分入区域G,, 适应度函数为: ,(s): (4) ∑∑ 一c;。0 6i i II (4)遗传算子 1)选择算子 选择操作是选择适应性强的个体并产生新的群体的过程。 根据适应度的值来决定一个个体是复制还是丢弃。适应度越高 的个体,参与后代繁殖的可能性越大。在本例中,我们让种群中 最优个体和次优个体直接进入下一代,其余部分按照赌轮机制 进行选择。这样,就能绝对保证下一代的最优个体不比上一代 的最佳个体差。 2)交叉算子 遗传算法利用交叉操作在一个更大的解空间范围内进行全 局搜索。在本例中,采用了具有固定交叉概率P。的两点交叉 方法。对于编码长度为£的个体,随机生成在范围[1,L]中的 两个整数作为交叉点位置。交叉的具体过程如图1所示。 A=010010 J 01110 IolO Cmssover opemtor A =O1O010 J O1110 IOlO B=11O1O0 l 101O0 l110 B =1101O0 l 101O0 l110 图1 GA的两点交叉操作 其中,交叉概率P。不能太小,可取80%~100%。 在本算法中,采用当前代最优个体与前一代最优个体相结 合的方法作为终止条件。终止条件定义如下: 如果l l一 日=”ll<e,那么停止。 其中 : 表示第n代最优个体,e是预先给定的数。即,计 算前一代聚类中心和当前代聚类中心的2一范数距离。NAID. GC算法是对每一个事件到它们的聚类中心的距离总和的最小 化的迭代算法,如果聚类中心的变化不大时,就可退出对聚类中 心修改的循环。因此,结果是一组尽可能紧凑和适当的划分 的簇。 每次选择、交叉和变异之后,记录当前代的最优个体。完成 迭代操作后,具有最佳适应度的个体则为最优解。 2.3 NAIDGC算法的基本描述 NAIDGC算法流程的伪码描述如下: Function NAIDGC(dataset)returns the cluster Confirming the basic parameters of the algorithm,such as the size of populations Psize,crossover probability Pc,mutation probability Pm and the termination condition; Random generation of the first population; Repeat Operation to every individual: Decoding a piece of chromosome; Cluster division; Revising cluster centers; Computing the value of the fitness function; Individual selection; Crossover under the probability of P ; Mutation under the probability of Pm; Register the individual with the best fitness lopt; Until( 一s (n- ~ll(e); Decoding lopt; Retum the cluster 3算法的性能分析和试验结果 NAIDGC算法是一种以大多数数据属于同一类型为前提的 动态遗传聚类算法。它的特点是依据最小距离原则指定每个数 据的分类,并且不断地调整以使大多数属于相同类型的数据尽 可能准确的被区分出来。这个算法简单而且时间代价小。通过 反复的试验可以得到满意的聚类结果。 试验使用的数据集是KDD CUP 1999网络连接数据集”j。 在本试验中,种群规模 =50,交叉概率P。=0 85,变异概率 P =0.08。仿真结果如表1所示。 表1仿真结果 (下转第88页) 维普资讯 http://www.cqvip.com
88 计算机应用与软件 2006卑 需重新开发;接口实现简单,基础组件已在底层数据结构保证 GIS和SCADA有机结合,很容易实现系统间数据接口;用户使 同时,对推进GIS技术国产化进程、增强GIS技术开发水平、促 进我国GIS体系形成有重要意义。本方案具有研制周期短、开 用方便,用户无需同时学习GIS、SCADA系统操作,应用时亦无 需在二者间频繁切换,显著提高工作效率。 发成本低、运行效率高、系统技术新颖等显著优势,充分满足信 息系统安全性、稳定性、可靠性、先进性要求,能产生良好社会效 益、经济效益。 本方案技术优势主要表现为:底层数据结构上实现GIS、 SCADA有机结合;同时支持C/S结构、B/S结构的SCADA实时 监控系统;融GIS、SCADA系统功能于一体、亦可独立应用二者; 参考文献 便于用户运用方案基础组件,根据实际需要二次开发;显著提高 信息系统安全性、稳定性、可靠性;突破性解决目前该领域同类 [1]石双元等,“信息系统可重构研究[J]’’,《计算机应用与软件》, 2003,(6):8一lO. 产品开发中普遍存在的“多层图形叠加”关键问题,该技术为国 内首创。 2.2 系统构成 本方案硬件构架包括:服务器,安装服务器端子系统及由配 置子系统定义的配置文件;客户端,安装客户端子系统及由配置 子系统定义的配置文件;操作员站,安装配置子系统和地理信息 子系统。软件构架包括以下子系统(如图2所示),分别介绍 如下: (1)地理信息子系统该子系统是高效灵活的地图加工工 具,并具备极其强大的空间分析、数据分析功能,其特有的专业 化图形界面使一般用户无需了解复杂制图专业知识即可进行地 理信息相关操作、分析。具体而言,包括绘制矢量地图、图形、定 义图形与监控量关联方式等。 (2)监控配置子系统 该子系统是采用VC开发的基于 wi序,n具体包括远程终端设备RTu;d0Ws操作系统的参数配置程『=l 特I{辩 = 蚌l (Remote Terminal Unit)参数、RTU T l 与服务器通道参数、服务器参数、 讯I I 簧l 置,黧 言且系统窗口中有相应操作工j 嘉 I 特l l网 l 具等,实际应用方便快捷。 调用 (3)服务器端子系统 该子 I 兰 竺墨壁 Ji 系统主要负责与远程终端设备 图2系统软件构架 RTU通信、及与局域网中客户机 程序间的通信,包括监视通信状态、存储历史数据、相关资料查 询等。 (4)客户端子系统该子系统用图形、图表等多种方式表 达从服务器端请求来的RTU实时数据,具有良好的用户界面、 完善的帮助支持、强大的地图显示、完备的数据查询、先进的多 媒体功能、强大的属性信息管理功能、体现SCADA实时监控数 据信息与GIS地理信息系统的完美结合,使警用监控系统的应 用更直观、更方便。具体而言,该子系统是由地理信息子系统切 换而来,在通讯菜单中依次读人配置文件,连接服务器,切换到 SCADA运行模式后,地理信息子系统即切换到监控客户端子 系统。 3结束语 随着信息技术迅猛发展,数字化已成为高质量生活的具体 体现,信息引擎基础组件开发正顺应这一需求。基于基础组件 开发的融合GIS、SCADA功能于一体的可视化实时监控系统信 息引擎平台,能实时提供多种空间的、动态的地理信息及属性数 据 。可广泛应用于资源开发、环境保护、城市规划、土地管理、 交通诱导、电力调配、智能小区、公安、军事等诸多行业、部门。 [2]周松等,“地理信息系统在地震灾害预估中应用[J]’’,《计算机应用 与软件》,2004,(2):l4一l5. [3]董福田,大型组件式信息开发平台[DB/OL],http:// ̄,rw,supe・ rengine.com/,2003/10/. [4]北京超图公司,SuperMap IS一全面的Interuet解决方案[DB/OL],ht・ tp://www,supermap.corn.cn,2004/3. (上接第25页) 正如表1所示,K.均值聚类算法有较低的时间复杂度,但 是,它是一种局部搜索技术,容易陷入局部最优解。虽然NAID・ GC算法的时间复杂度较高,但它能汇聚于全局最优解,所以它 具有更强的搜索能力。 4结论和未来的工作 在现代社会中,计算机网络的安全成为了Et益重要的热门 问题。传统的入侵检测方法在面对多变的网络结构时缺乏可扩 展性,而且在未知的攻击类型面前也缺乏适应性。本文提出了 一种新的检测方法,基于遗传聚类的网络异常检测(NAIDGC) 算法,该算法是一种无监督学习算法。每一个数据点到它们各 自的聚类中心的欧基里得距离的总和作为相似度量,通过遗传 算法寻找聚类中心。计算机的仿真结果显示了此算法对入侵检 测是有效的。 然而,在本方法中,如果待检测数据集的数据数目巨大,染 色体的长度对于入侵检测来说就会过长,这将导致系统的处理 能力下降。未来的工作包括改进编码方式,提高进化效率,再结 合这个方法构建完整的入侵检测系统,并且应用到现实的生 活中。 参考文献 [1]B.Balajinath,S.V.Raghavan,Intrusion detection throush learning be— havior mode1.Computer Communication,2001,(24):1202~1212. [2]R.G.Bace,入侵检测,北京:人民邮电出版社.2001:62. [3]0.Hyun,Sang,S.Lee,et al,An anomaly intrusion detcetion method by clustering normal user behavior,Computers and Security,October 2003, 22(7):596~612. [4]Y.G.Liu,K.F.Chen,X.T.Liao,et al,A genetic clustering methdo for intrusion detection。Pattern Recognition,May 2004,37(5):927~942. [5]L.0.Hall,L B.Ozyurt,Clustering with a Genetically Optimized Ap— proach[J],IEEE Trans,Evo1.Comput.,1999,3(2):103~112. [6]R.Lleti,M.C.Ortiz,L.A.Sarabia,et al,Selceting variables for k-means cluster analysis by using a genetic algorithm that optimises the silhou— ettes.Analytica Chimica Acta,2004。515(1):87~100. [7]KDD99cuIxJataset,http://kdd.ics.uci.edu/databases/kddcup99/kdd— cup1999.html,1999.
因篇幅问题不能全部显示,请点此查看更多更全内容