第13卷第4期电脑与信息技术 Vo1.13 No.42005年8月 COMPUTER AND INFORMATION TECHNOLOGYAug 2005文章编号:1005-1228(2005)04-0056-04基于协议分析的入侵检测系统罗桂琼(湖南省工业贸易学校,湖南长沙410014)摘要:文章系统地阐述了入侵检测系统的研究状况及主要实现技术,通过比较协议分析和模式匹配两种入侵检测技术,得出在数据分析时采用协议分析和模式匹配相结合的方法,可以大幅度减少计算量,提高分析效率,得到更准确的检测结果。关键词:入侵检测技术;入侵检测系统;模式匹配;协议分析中图分类号:TP393文献标识码:AI ntrusion detection system based on protocol analysis LUO Gui-giong( Hunan Industyr and Trade school,Changsha,Hunan 410014,China)Abstract:This atricle systematically states the research situation and major realizationtechnologies of intursion detection system. Through comparing protocol analysis and patternmatching, both of which are intursion detection technologies, we can draw ac onclusion thatwhen we make data analysis, such combination can steadily reduce computational load,improve the analysis efficiency and obtain the more accurate result.Key words:Intursion Detection Technology; Intursion Detection System;pattenr ma tching;protocol analysis0引言通过对协议进行解码,减少了IDS需要分析的数据量,从而提高了解析的速度。由于该协议比较规 人侵检测系统(IDS)作为一种重要的安全部范,因此协议分析的准确率比较高,目前一些产品件,是网络与信息安全防护体系的重要组成部分,已经实现或部分实现了协议分析技术。是传统计算机安全机制的重要补充。自1980年被提出以来,IDS在20多年间得到了较快的发展。1现阶段重要的检测技术近几年由于非法人侵不断增多,网络与信息安全1.1特征模式匹配技术问题变得日渐突出,IDS作为一种主动防御技术模式匹配检测技术易扩充、简单、符合CI DF因此越来越受到人们的关注。(Common Intursion Detection Framework,公共人但是, 人侵检测技术还不够成熟和完善,还有侵检测框架)规范,因而被大多数人侵检测系统所很大的研究、发展空间。人侵检测技术的主要发展采用。根据有关部门的报告,国内送检的人侵检测趋势分很多方面,而协议分析技术是一种比较好产品中有95%是属于使用人侵模板进行模式匹的人侵检测技术,它弥补了模式匹配技术的不足,配的特征检测产品[n>>0收稿日期:2005-05-18作者简介:罗桂琼(1970-),女,讲师,在读研究生,研究方向:网络管理与网络安全。第4期罗桂琼:基于协议分析的人侵检测系统 匹配算法直接影响系统的实时性能。在网络数据包搜索人侵特征时,需要一个有效的字符串搜索算法。字符串搜索算法中,最著名的两个算法是KMP算法(Knuth-Moms-Pratt)和BM算法(Boyer-Moors )。两个算法在最坏的情况下均具有线性的搜索时间,但BM算法比较次数较少。目前BM算法是国际上主要采用的模式匹配算法。特征模式匹配技术有两个最主要的缺陷: (1) 计算量大对一个特定的网络而言,每秒需要比较的最大次数二攻击特征字节数*数据包字节数*每秒的数据包数*数据库的攻击特征数。假设一个玫击特征有20字节,平均数据包大小为300字节,每秒30 000个数据包,数据库有4 000个攻击特征,我们每秒就需要有20*300*3000*4000个字节的计算量。( 2)探测准确性低该技术使用固定的特征库来探测攻击,只能探测出给定的攻击特征,即便是攻击串发生轻微的变化都会导致被忽略。一个基于模式匹配的方法不能判断看似不同字符串/命令串的真实含义和最终效果,从而影响人侵检测的速度和准确性。1.2协议分析技术协议分析技术利用网络协议的高度规则性快 速探测攻击的存在,包括协议解码、命令解析等。协议解码技术主要确定数据所属的协议,协议分析则是描述人侵并快速检测出人侵。1.2.1协议解码模块数据采集模块所捕获的链路层数据传送到协 议解码模块后,协议解码模块必须对这些数据进行分析,根据相应的协议把这些数据处理后放到指定的数据结构中,供上层模块调用。同时协议解码模块还要对这些数据包进行一些基本的校验(如校验和等),发现错误的数据包及时丢弃。目前局域网主要采用以太网,下面就以以太 网为例分析协议。以太网的帧格式如图1所示:前同步码}目的地址}源地址}帧类型}帧数据}CRC图1以太网的帧格式 协议的封装,协议解码即封装的逆过程。以 IP报文为例:IP数据报位于网络层,同样要由数据链路层来进行封装。图2说明了IP数据报的封装。数据报首部}数据报数据区帧首部}帧数据区图2 IP数据报的封装过程 为了识别IP数据报,发送方给帧首部的类型字段分配一个特殊值,解码模块可以根据这个特殊值提取IP数据报。例如在以太网中,类型字段是0800H。因此,当数据采集模块将数据交给协议解码模块之后,协议解码模块要根据封装的过程对数据帧进行分析。其他协议如ARP, TCP,UDP,ICMP协议封装解码过程大致如上。所不同的是要得到ICMP,UDP的报文,解码模块要进行两次解码。首先要从中得到IP数据报,然后根据IP数据报首部的协议字段来得到不同的上层协议((TCP,UDP,而ICMP属于网络层协议)数据。根据以太网的帧结构的定义,在以太帧的第 13字节处包含了2个字节的第三层协议标识,0800为IP协议,0806为ARP协议,8138为NOVELL协议等。在IP数据包的格式定义中,第10个字节为第四层协议标识,如:TCP为06, UDP为11, ICMP为01等。而TCP数据包的第3,4个字节为应用层协议标识。如80为http协议,21为FTP协议,23为TELNET协议等。1.2.2解析模块解析模块主要涉及两个问题:如何描述人侵 行为,用什么算法来快速检测人侵行为的存在。(1) 规则介绍每一个基于模式匹配的人侵检测方法都需要一个已定的人侵模式,这就需要一种对人侵行为的描述方法。各种人侵检测系统中的描述方法各有不同,现在一般采用snort的人侵行为描述方法。snort是一个开放源代码的轻量级的基于网络的人侵检测系统。这种描述方法简单、易于实现,能够描述绝大多数的人侵行为。snotr规则描述采用插件机制来管理规则,它将每一类的攻击放到一个文件当中,系统管理员可以根据需要加载所需的攻击规则,也可以从文件中添加或删除规则。snort规则对每一个协议都制定了其检测的内容,内容的组合就可以构成一个完整的检测规则。规则都存放在规则文件中,这些文件都是普 TCP; ・58・电脑与信息技术第13卷通的文本文件,可以用文本编辑器进行编辑。每一个规则文件可以包括其它的规则文件,格式如下:可使系统各功能模块内聚,增强IDS的健壮性。i nclude<包含文件名>为了方便使用, 规则中允许自定义变量,一方面可以在规则定义中方便地使用,另一方面在修改时也可以只修改变量的定义。var: <变量名><变量值>具体的规则在逻辑上可以分为两部分:规则 头(Rule Header)和guide选项(rule option)。规则头定义了规则的行为(action)、所匹配报文的协议、源地址、源端口、目的地址、目的端口以及源地址和目的地址的网络掩码等信息;规则选项则包含了所要显示给用户查看的警告信息以及用来判定这些报文是否为攻击报文的其它信息(如tcp的flag字段和数据字段的内容等)。 由于每一种人侵都有其特征,在编写具体规则时可以根据人侵的主要特征,采用规则头和规则选项进行合理的组合,以便能正确的描述出一种人侵。(2)人侵检测 在检测前要对已经解码过的数据包进行必要的预处理,以方便对数据包的检查和处理。检测阶段一般采用模式匹配算法,打开规则库进行查找,若找到匹配的规则,则说明有人侵行为。2基于协议分析的入侵检测基本流程图3是协议解析的基本过程。 以太网协议解析ARI,协议解析I}IP协议解析}IRARP协议解析ICMP协议解析}I TCP协议解析I}UDP协议解析HTrP协议解析}}FrP协议解析}ITELNET协议解析图3协议解析流程 现在的协议类型繁多,为了可以方便的添加协议分析仪,增强程序的可扩展性,一般都采用插件技术。对一个新的协议分析只需编写这个协议分析器并且调用注册函数在系统注册就可以使用了。协议分析器ethereal及snort都采用插件技术。实践证明,插件技术在人侵检测系统中的应用3基于协议分析的入侵检测系统 基于协议分析的检测方法结合高速数据包捕获、协议分析和命令解析来进行人侵检测,是一种新的人侵检测技术。下面简单分析一个人侵检测实例,并总结基于协议分析的人侵检测系统的特点。3.1基于协议分析的入侵检测实例下面以微软US中Uni code漏洞攻击事件,讨论协议解码和命令解析的检测法的检测过程。攻击者发出的请求为: ht tp : //受害者机器IP地址或域名/%C 1/9C/winnt/system32/cmd.exe产生的包内容如下: 0000 00 AO C9 8E FF C1 00(刃E8 6FAD 59 08 00 45 00…...y... E...( 均10 01 90 85 00 40 00 80 06 E3 4E C800 00 C8 C8 00...... E...N...……0020 00 50 04 OB 00 50 00 15 33 FB 6FCC C1 EO 50 18 T...P...3.---P0030 22 38 2B D1 00 00 47 45 54 20 2F2E 2E 25 63 31 *8+... GET/..9C 10040 25 39 63 2E 2F 79 69 6E 6E 74 2173 79 73 74 99C../winnt/syst0050 65 6d 33 32 2f 63 6d 64 2e 65 7865 20 48 54 54 em32/cmd.exeHTT 协议分析及检测过程如下:根据以太网协议规则, 应在第13个字节处有2个字节的第三层网络层协议标志,从而得知其值为“0800",可见以太网帧数据区域中携带的协议是IP协议。根据I P・协议结构,从第24字节处起有1个字节的第四层传输层协议标志号,从而得知其值为“60,可见IP帧中数据区域携带的协议为TO协议。 TCP协议表明,在第35字节处,有2个字节的应用层协议标志,即“端口号”,从而得知其值为"0050",转为十进制为80,而端口号80知其是个HTTP访问。同样根据协议知识,我们可以直接到数据区 域第55个字节处,利用HTTP解析器读取URL,第4期罗桂琼:基于协议分析的人侵检测系统并还原为:GET/..%C 1%9C../winnt/system32/cmd.器采用高性能数据包驱动器,不仅支持线速百兆exe流量检测,而且对千兆网络传感器具有高达900M 获得的此特征值与特征库内容比较,如与特网络流量的100%检测能力。征吻合,则访问被判断为攻击行为。参考文献:3.2基于协议分析的入侵检测系统的特点[1] Kenneth D.Reed.Protocol Analysis, WB77.0[M].WestNet.Inc,(1) 解析命令字符串URL第一个字节的位2001 George Coulouris,Jean Dolimoer,Tim Kindber.Distri-but ed Systems Concepts and Design[ M].Pearson Education,置给予解析器。解析器是一个命令解析程序,最新2001. 一代IDS网络人侵检测引擎包含超过70个不同[2] J.P.Marques de Sa. Pattenr Recongition Concepts, Methodsand Applications[ M].New York: Springer-Verlag,2002.的命令解析器,可在不同的上层应用协议上,对每[3] DoI P Vouglas l ]E.Co[ me:Der,sDaign, vid ImplI-Stemeeventnsat.Iiontn,emeand two Irkintng enrawils th (ThiTCP/rd一个用户命令作出详细分析。 Edition) [ M ].Prentice-Hel.Inc,1999.( 2)探测碎片攻击和协议确认在基于协议[4] Tarck Abbes,Adel Bouhould,Michael Rusinowich. ProtocolAna lisis Intrusion Detection Using Decision.2004,ITCC/04.分析的IDS中,各种协议都被解析,如果出现IP[5]薛静锋,宁宇鹏,阎慧.人侵检测技术〔MI-11;京:机械工业出碎片,数据包将首先被重装,然后通过详细分析来版社, 2004.[6〕美国发布.信息保障技术框架(3.0版)[C].北京:了解潜在的攻击行为。由于协议被完整解析,还可北京中软电子出版社, 21)一)4.以用来确认协议的完整性。[7〕索红光,石乐义,梁玉环.TCP/IP协议分析器的设计开发.计算机工程与应用. 199900:80-83.( 3)降低误报率协议解析大大降低了模式[8]戴英侠,连一峰,王航.系统安全与人侵检测[M].北京:清华匹配IDS系统中常见的误报现象。使用命令解析大学出版社, 2002.[9〕李文嘉,张大方,谢高岗一种基于数据包分析的网络人器可以确保一个特征串的实际意义被真正理解, 侵检测探针.同济大学学报,,2002,30(10):2.[10] Denning.D.An Intrusion Detection Model.IEEE Transactions辨认出串是不是攻击或可疑的。o n Softwaer Engineering.1987,13(2):222-232.( 4)真正高性能新一代IDS系统网络传感[11] Next Generation Intrusion Detection Expert System(NIDES).ht tp://www.sdl.sri.com/projects/nides/index.html.(上接第9页)解过程中的标识)与目标标识不断过程而引人扩展Petri网,得到了基于扩展Petri完全一致,这时候,可以按照经验,人为地预先定网模型的文本分类方法,在进行分类的过程中具义一个阑值,如果一致性吻合超过这个阑值则可有并行、并发、异步等特性,可以提高系统速度和归为此类。效率,对于系统向分布式处理扩展也具有良好的4算法评价可扩充性。目前,正着手进一步的后续工作,完善 本算法利用Petri网的异步、并行等特性能有该方法并利用特定测试数据库对算法的准确性和效提高系统分类速度和效率。这里属性权值是由扩展性方面作进一步的试验,并与传统的方法相定性基准来确定的,定性基准可不事先确定,而由比较。初步的工作表明,该方法是行之有效的。学习获得。作为扩展Petri网基础的定性映射虽然参考文献:已经被证明与人工神经元等价[[67,但是在扩展[1]黄营著,吴立德,石崎洋之,徐国伟.于语种的文本分类方法【 J].中文信息学报..2000,14(6):1-7.Petri网模型表示中,转移结点的每一个输人输出[2l曹化工,杨曼红.基于对象Petir网的工作流过程定义【1l.计的值都有确定的含义,而在一般神经网络文本分算机辅助设计与图形学学报. 2001,13(1):13-18.[3]冯嘉礼,詹蒙.感觉量一质特征抽取的定性映射模型[J].清华类中[[7l,只关注输人层与输出层的神经元之值,并大学学报(自然科学版) .1998,38(52):7-11.不关注它的含义,而且对多层信息必须经过预处[4〕周如旗,李广原,冯嘉礼一种基于属性抽取与整合的Petir网模WJl .南京大学学报(自然科学版).2003,39(2):189-193.理才能进行推理[[8l。这里扩展Petri网只须确定研[5]张焕炯,基于汉明距离的文本相似度计算【1l,计算机工程与究对象和它的层次属性,然后在定性基准下,经定应用. 2001,39(12):21-22.[6]冯嘉礼,人工神经元的一种定性映射解释【1l,计算机科学.性映射进行属性操作推理。2001, 28(9)增刊:248-253.[7〕刘钢,胡四泉,范植华,等.神经网络在文本分类上的一种应用5结束语[ 7l,计算机工程与应用.2003,36(12):73-75.为使文本自动分类过程更接近于人类思维判 [8l宜士斌,冯嘉礼,属性神经网络模型[.il.计算机研究与发展.2002, 39(11):1143-1146.