已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 检测引擎作为入侵检测系统( i d s ) 的核心模块,基本上采用基于模式匹配的检 测方法,所以选择设计一个好的模式匹配算法对入侵检测系统的性能至关重要。 s n o r t 是一个强大的轻量级的网络入侵检测系统,它具有实时数据流量分析和日志 i p 网络数据包的能力,能够进行协议分析,对内容搜索或者匹配。 在s n o r t 的实现中,规则就像杀毒软件的病毒库一样,要自己经常更新,自己 根据需要要添加相应的规则,规则的有序组织对于规则匹配也是会起到加速作用, 规则匹配算法的好坏直接影响检测速度,从这些对s n o r t 进行改进。 在改进中,对s n o r t 规则,进行了扩充和优化,自己书写需要的规则,同时对 s n o r t 进行配置,并加入到s n o r t 系统中,并对s n o r t 规则的优化提出设计方 案,对s n o r t 的原有规则匹配算法b m 进行改进,在改进规则匹配算法中,将具有 相同前缀的规则生成一棵规则树,在规则匹配的过程当中将数据包内容和规则树进 行匹配,在匹配时,可以和多个规则同时进行,大大减少了在规则匹配中花费的时 间,从而提高了s n o r t 的性能。 改进后的系统和原来系统进行了几种测试,通过测试改进后的系统比原来的系 统速度明显的得到提高。在流量大的情况,丢包情况也减少了。 关键词:检测引擎,模式匹配,入侵检测,算法 华中科技大学硕士学位论文 a b s t r a c t a st h ec o r em o d u l eo fi n v a s i o nd e t e c t i o ns y s t e m ,d e t e c t i o ne n g i n eg e n e r a l l yu s e st h e m e t h o d sb a s e do np a t t e r nm a t c h i n g t h es e l e c t i o no fag o o dp a t t e r nm a t c h i n ga l g o r i t h m i s ,t h e r e f o r e , p l a y sac r i t i c a lr o l ei nt h ef u n c t i o no fi d s s n o r ti saf o r m i d a b l el i g h t w e i g h t i d so fn e “o r k i th a st h es i m u l t a n e o u sa n a l y s i sc a p a c i t yo fd a t ac u r r e n ta n dd i a r yi p n e t w o r kd a t ap a c k e ta b i l i t y i ti sa b l et oc a r r yo nt h ep r o t o c o la n a l y s i sa n dt os e a r c ho r m a t c hc o r i t e n t i nt h er e a l i z a t i o no fs n o r t , l i k et h ev i r a lr e s o u r c eo f a n t i - v i r u ss o f t w a r e ,i t sr u l ec a l l f o rf r e q u e n tu p d a t i n ga n ds o m er e l a t i v er u l e ss h o u l db ea d d e da c c o r d i n gt oi t so v e n r e q u i r e m e n t s t h eo r d e r l yo r g a n i z a t i o no fr u l e sc o u l ds p e e du pt h er u l e sm a t c h i n gw h i l e t h er u l em a t c h i n ga l g o r i t h mc o u l de f f e c tt h ed e t e c t i o ns p e e d a l lt h em e n t i o n e d i m p r o v e m e n t ss h o u l db em a d eo ns n o r t w h i l ei m p r o v i n gs n o r t , i t sr u l e sw e r ea d d e da n do p t i m i z e di na c c o r d a n c et oi t s o w n r e q u i r e m e n t sa n da p p l i c a t i o nt os n o r ts y s t e mi np r o p e rc o n f i g u r a t i o n t h ep r o j e c t o fo p t i m i z i n gs n o r tr u l e sw e r ep r o p o s e da n di m p r o v e m e n t sw e r em a d eo ni t so r i g i n a l r u l em a t c h i n ga l g o r i t h mb m w h e ni m p r o v i n gt h er u l em a t c h i n ga l g o r i t h m ,ar u l et r e e w a sb u i l tf r o mt h er u l e sw h i c hh a v et h es a n l ep r e f i x i nm a t c h i n gt h e s er u l e s ,t h ec o n t e n t o fd a t ap a c k a g ea n dr u l e st r e ec a l lb em a t c h e dw i t hm a n yo t h e rr u l e ss i m u l t a n e o u s l ys o a st or e d u c et h et i m ea n di m p r o v et h ef u n c t i o no fs n o r t t h e c o m p a r i s o no f t h eo r i g i n a ls y s t e mw i mt h ei m p r o v e do n es h o w e dt h a tt h es p e e d o ft h el a t t e ri sf a s t e rt h a nt h ef o r m e r , a n dw h e nt h ec u r r e n ti sl a r g e ,t h el o s so fp a c k a g e c a nb er e d u c e d o b v i o u s l y k e y w o r d s :d e t e c t i o ne n g i n e ,p a t t e mm a t c h i n g ,i n v a s i o nd e t e c t i o n ,a l g o r i t h m i i 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他 个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名: 孕刁垒 日期:z 驴6 年lj 月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅 和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口。在年解密后适用本授权书。 本论文属于 不保密回。 ( 请在以上方框内打“4 ”) 学位论文作者签名:易指导 日期:m 年,f 月牛日 日期 华中科技大学硕士学位论文 1 1 课题背景 1 绪论 当前在全球范围内,对计算机及网络基础设施的攻击行为已经成为一个越来越 严重和值的关注的问题,特别是各种政府机构的网站,更是成为黑客攻击的热门目 标。对类似猖撅的入侵行为的防范和检测成为各种机构,无论是商业或是政府机构 的一个日益迫切的要求。现有的安全机制通过访问控制,例如口令和防火墙技术, 来保护计算机和网络不受非法和未经授权的使用。然而,如果这些访问措施被泄露 或绕过,则一个滥用权利者将可能获得未经授权的访问,从而导致巨大的损失或系 统崩溃,比如目前流行的防火墙技术,一个常见的缺陷就是如果其安全性配置的特 别强大的话,就会影响网络系统的处理性能。更严重的情况是防火墙把所有安全问 题都集中到一起。一旦防火墙被突破,那么内部网络就很容易被破坏。因此,防火 墙是网络的瓶颈,它们建立了一个把所有防卫措施都放置到一个集中位置的环境。 对网络安全来说,这是一个潜在的危险因素。另外一个实际问题是,不能够在所有 情形下都依靠访问控制机制来防范内部人员的攻击行为。几乎所有的安全系统对内 部人员的滥用权力行为都是脆弱的,而审计记录痕迹几乎是检测授权用户滥用行为 的唯一手段【1 1 。 入侵检测技术( i n t r u s i o nd e t e c t i o ns y s t e m ) 是用来检测针对计算机系统和网络系 统的非法攻击的安全措施【2 】。 1 2 国内外概况 入侵检测的研究最早可追溯到j a m e sp a n d e r s o n 在1 9 8 0 年的工作【3 1 。在这一年 的4 月,他为美国空军做了一份题为“计算机安全威胁监控与监视,( c o m p u t e r s e c u r i t yt h r e a tm o n i t o r i n ga n ds u r - v e i l l a n c e ) 的技术报告,这份报告被公认为是入侵 检测的开山之作。在报告中,他首次提出了入侵检测的概念,将入侵尝试( i n t r u s i o n a t t e m p t ) 威胁( t h r e a t ) 定义为:潜在的有预谋未经授权访问信息、操作信息、致使系统 华中科技大学硕士学位论文 不可靠或无法使用的企图。在报告中,a n d e r s o n 还提出审计跟踪可应用于监视入侵 活动的思想。但由于当时所有已有的系统安全程序都着重于拒绝未经认证主体对重 要数据的访问,这一设想的重要性当时并未被理解。 1 9 8 6 年,为检测用户对数据库异常访问,w t t e n e r 在i b m 主机上用c o b o l 开发的d i s c o v e r y 系统,成为最早的基于主机的i d s 雏形之一。 1 9 8 7 年,乔治敦大学的d o r o t h ye 。d e n n i n g 提出了一个实时的入侵检测系统 抽象模型一i d e s ( i n t r u s i o nd e t e c t i o ne x p e r ts y s t e m ) ,首次将入侵检测的概念作为一 种计算机系统安全防御问题的措施提出。与传统加密和访问控制的常用方法相比, i d s 是全改进计算机安全措施。她提出的模型由六个部分组成:主体、对象、审计记 录、轮廓特征、异常一记录、活动规则。它独立于特定的系统平台、应用环境、系 统弱点以及入侵类型,为构建入侵检测系统提供了一个通用的框架。 1 9 8 8 年的m o r r i si n t e r n e t 蠕虫事件使得i n t e m e t 近5 天无法使用,该事件促进 了人们投入更多的精力于i d s 的研究。 1 9 9 0 年是入侵检测系统发展史上的一个分水岭。这一年,加州大学戴维斯分校 的l t h e b e r l e i n 等人提出了一个改进概念:基于网络的入侵检测一n s m ( n e t w o r k s e c u r i t ym o n i t o r ) 。n s m 与此前的i d s 系统最大的不同在于它并不检查主机系统的 审计记录,它可以通过在局域网上主动地监视网络信息流量来追踪可疑的行为。这 是第一次直接将网络流作为审计数据来源,因而可以在不将审计资料转换成统一格 式的情况下监控异种主机。从此之后,入侵检测系统发展史翻开了改进一页,入侵 检测系统中的两个重要研究方向开始形成:基于网络的i d s 和基于主机的i d s 。同时, 在1 9 8 8 年莫里斯蠕虫事件发生之后,网络安全引起了军方、学术界和企业的高度 重视。美国空军、国家安全局和能源部共同资助空军密码支持中心、劳伦斯利弗摩 尔国家实验室、加州大学戴维斯分校、h a y s t a c k 实验室,开展对分布式入侵检测系 统( d i d s 的研究,将基于主机和基于网络的检测方法集成到一起。d i d s 是分布式 入侵检测系统历史上的一个里程碑式的产品,它的检测膜型采用了分层结构。 1 9 9 1 年,n a d i r ( n e t w o r ka n o m a l yd e t e c t i o n a n di n t r u s i o n r e p o r t e r ) 与 d i d s ( d i s t r i b u t ei n t r u s i o nd e t e c t i o nsy s t e m ) 提出t 收集和合并处理来自多个主机的 审计信息以检测一系列主机的协同攻击。 2 华中科技大学硕士学位论文 1 9 9 4 年,m a r kc r o s b i e 和g e n es p a f f o r d 建议使用自治代理( a u t o n o m o u sa g e n t s ) 以便提高i d s 的可伸缩性、可维护性、效率和容错性,该理念非常符合正在进行的 计算机科学其它领域( 如软件代理) 的研究。 1 9 9 5 年开发了i d e s 完善后的版本。n i d e s ( n e x t - g e n e r a t i o ni n t r u s i o nd e t e c t i o n s y s t e m ) 可以检测多个主机上的入侵。 近些年来,入侵检测的主要创新包括:f o r r e s t 等将免疫原理运用到分布式入侵检 测领域。1 9 9 8 年r o s s a n d e r s o n 和a b i d ak h a t t a k 将信息检索技术引进到入侵检测删。 2 0 0 0 年2 月,对y a h o o ! ,a m a z o n , c n n 等大型网站的d d o s ( 分布式拒绝服务) 攻击引发了对i d s 系统的新一轮研究热潮 5 1 。 在国内,入侵检测产品发展起步较晚,但经过多年的发展,己涌现出一批质量 较高的商业化产品,如:北京启明星辰信息技术公司的“天闻”入侵检测系统,冠群金 辰软件有限公司的e t r u s t 入侵检测系统,东软的n e t e y e 入侵检测系统等等【6 】。 1 3 本文结构 本文结构安排分为以下几点: ( 1 ) 分析当前入侵检测的背景和国内外的概况。 ( 2 ) 对入侵检测的概念作了解释,分析入侵检测的发展历史,目前入侵检测的 发展动向,当前入侵检测技术。 ( 3 ) 介绍了s n o r t 的体系结构和处理过程,讲述了s n o r t 规则树的结构, 还有规则树中规则检测匹配过程。 ( 4 ) 分析了s n o r t 的规则格式,在原来规则基础上,自己对原有规则进行了 扩展,并把自己书写的规则在s n o r t 中进行配置,添加到s n o r t 系统 中,其次对s n o r t 的规则匹配算法进行了分析,并对原规则匹配算法进 行了改进。 ( 5 ) 原系统和改进后的系统在同样的环境下,对两种系统分别进行了几种测 试,以检验两种系统的性能。 3 华中科技大学硕士学位论文 2 1 入侵检测概述 2 入侵检测技术 入侵检测系统 n o n t r u s i o nd e t e c t i o ns y s t e m ,简称i d s ) 是用来识别针对计算机系 统和网络系统,或者更广泛意义上的信息系统的非法攻击,包括检测外界非法入侵 者的恶意攻击或试探,以及内部合法用户的超越使用权限的非法行动。使用i d s 的目的各有不同,有的人是对法律方面的事物感兴趣,包括对入侵者的跟踪、定位 和起诉,而有些人使用i d s 是为了保护自己重要的计算资源,还有一些使用者则对 发现和纠正系统安全漏洞更加感兴趣。“入侵”【8 1 ( i n t r u s i o n ) 是个广义的概念,不仅 包括被发起攻击的入( 如恶意的黑客) 取得超出合法范围的系统控制权,也包括收集 漏洞信息,造成拒绝访问( d e n i a lo fs e r v i c e ) 等对计算机系统造成危害的行为。入 侵检测从最初实验室里的研究课题到目前的商业产品,已经具有2 0 多年的发展历 史。商业化的i d s 直到2 0 世纪8 0 年代后期才出现,如目前比较有影响的i s s 公司 是在1 9 9 4 年成立的。1 9 9 7 年发布的r e a l s e c m e 是第一个基于w i n n t 的网络入侵 检测系统,而第一个w m n t 上基于主机的i d s 是1 9 9 8 年发布的e n t r a x 9 1 。 2 2目前的研究动向 目前,入侵检测系统面临着若干技术的挑战和一些没有很好解决的问题。这些 挑战和问题是当前和今后很长一段时问内i d s 的研究重点和热点,是i d s 设计人员 的研究方向【1 0 】。 2 2 1 误报和漏报 误报和漏报问题是i d s 的基本问题。误报是指在安全事件并没有发生时i d s 报 告发现了攻击,漏报是指在安全事件发生时i d s 却没有发出报警 1 1 】。 误报和漏报是i d s 的个经常的话题。特别是对异常检测来说,所谓异常和正 常都是相对而言的,这其中需要一个门限值,如果门限值设得比较高,就可能把异 4 华中科技大学硕士学位论文 常行为看作是正常的,这必然导致检测率的下降,同时误报率也不会太高1 2 】。 一般来说,误报率和检测率呈现出正比例的关系。从目前情况看,特别是对异 常检测来说,这两者之间的约束关系似乎很难突破。对于误用检测来说,如果检测 规则设置得比较精确,可以把误报率降低到很低的程度,所以对误用检测来讲,主 要的问题在于降低漏报率。 2 2 2 高速网络 高速网络是指带宽在l o o m 以上的网络。大量的高速网络技术如a t m 、干兆 以太网、g 比特光纤网等在近年内不断出现,在此背景下的各种宽带接入手段层出 不穷,其中很多已经得到了广泛的应用【1 4 1 。 在高速网络上进行入侵检测,在较短的时间内需要处理大量的数据报,因此如 何减少需要检测的数据包的丢包率是一个十分严峻的问题,这需要改进i d s 软件的 检测速度和开发适当的专用硬件【1 5 】。 2 2 3 智慧入侵检测 目前,入侵方法越来越多样化与综合化,尽管己经有智能体系、神经网络、计 算机免疫系统、专家系统与遗传算法应用在入侵检测领域,但这些只是一些尝试性 的研究工作,需要对智慧化的入侵检测系统进一步研究,以解决其自学习与自适应 能力,智能i d s 应用于异常检测技术1 6 1 。 2 3 入侵检测技术 入侵检测技术主要分为两类n 刀:误用入侵检n 0 ( m i s u s ed e t e c t i o n ) n l 异常入侵检 澳u ( a n o m a l yd e t e c t i o n ) 。 2 3 1 误用入侵检测 误用检测技术主要是通过某种方式预先定义入侵行为,然后监视系统的运行, 并从中找出符合预先定义规则的入侵行为1 8 1 。基于误用的入侵检测系统通过使用 某种模式或者信号标识表示攻击,进而发现相同的攻击。这种方式可以检测许多甚 5 华中科技大学硕士学位论文 至全部已知的攻击行为,但是对于未知的攻击手段却无能为力,这一点和病毒检测 系统类似。误用信号标识需要对入侵的特征、环境、次序以及完成入侵的事件相互 间的关系进行详细的描述,这样误用信号标识不仅可以检测出入侵行为,而且可以 发现入侵的企图,误用信号局部上的符合就可能代表一个入侵的企图。对于误 用检测系统来说,最重要的技术问题是:如何全面描述攻击的特征:如何减少误报率。 典型的误用检测系统是基于模式匹配的检测系统,本文研究的s n o r t 就是这样的一 个系统。 模式匹配系统主要理论依据是模式匹配原理,在模式匹配原理中,k u m a r 把入 侵信号( i n t r u s i o ns i g n a t u r e ) 分成四个层次,每一层对应相应的匹配模式,具体介绍如 下【1 9 1 。 存在( ( e x i s t e n c e ) 这种信号表示只要存在这样一种审计事件就足以说明发生了 入侵行为或入侵企图,它所对应的匹配模式称为存在模式( ( e x i s t e n c ep a r e m ) 。 序y u ( s e q u e n c e ) 有些入侵信号是由一些按照一定顺序发生的行为所组成的,它 具体可以表示为一组事件的序列,其对应的匹配模式就是序列模式( s e q u e n c e p a t t e r n ) 。 规则表示( r e q u l a re x p r e s s i o n s ) 规则是指用一种扩展的规则表达式方式构造匹 配模式,规则表达式是由用a n d 逻辑表达式连接一些描述事件的原语构成的,这 些事件没有顺序的关系。 其它( o t h e r s ) 其它模式( o t h e r sp a t t e r n ) 是指一些不能用前面的方法进行表示的 攻击,比如包含内部否定的模式、包含归纳选择的模式等。 上述四种模式之间存在如下的包含与被包含的关系,前者可以用后者进行描 述。 本文研究的s n o r t 系统,它的模式匹配基本上是查找网络包中的存在模式入侵 信号,只有少量是利用了规则表示模式入侵信号。这也体现了它轻量级的设计思想。 2 3 2 异常入侵检测 基于异常的入侵检测方法主要来源于这样的思想2 0 1 :任何人的正常行为都是有 6 华中科技大学硕士学位论文 一定规律的,并且可以通过分析这些行为产生的日志信息总结出这些规律,而入侵 和滥用行为则通常和正常的行为存在严重的差异,通过检查出这些差异就可以检测 出入侵行为,此外不属于入侵的异常用户行为( 如滥用自己的权限) 也能被检测到。 异常检测系统考虑的主要问题是:选择哪些数据来表现用户的行为;怎样有效表示用 户正常的行为。 商用的异常检测系统几乎都采用统计学方法【2 1 1 。这种系统使用统计学的方法来 学习和检测用户的行为,例如对某个时间段内事件的发生次数设置一个闭值,一旦 超过该值就认为出现异常;或者把事件变量化,观察这些变量的均值,如果没有落在 正常的区间范围内,就认为出现异常等等。学术上研究最多的异常检测系统则是基 于神经网络的异常入侵检测和基于数据挖掘技术的异常检测系统。神经网络的特点 在于它具有学习的能力,因此一些i d s 使用它来学习用户的行为,这种学习算法允 许神经网络紧密地模仿用户行为并且根据最近的变化进行调整。如果输入中存在某 种关系,网络就会汇合到一种更稳定的状态。神经网络的另一个特性就是允许模糊 数据或噪音数据。神经网络入侵检测的问题是通过神经网络的学习过程建立正常的 行为模型需要太多的时间。数据挖掘,也称为知识发现技术。对象行为日志信息的 数据量通常都非常大,如何从大量的数据中“浓缩”出一个值或一组值来表示对象行 为的概貌,并以此进行对象行为的异常分析和检测,就可以借用数据挖掘的方法。 2 3 3 误用检测与异常检测的比较 误用入侵检测是根据已知的系统或应用程序漏洞建立异常行为模型,然后将用 户行为与之进行匹配,相同则为入侵。因此,这种方法的优点是由于建模对象为 己知的,所以可以得到较高的准确度;但是对于己知攻击的某些变体或是新型的攻 击,它就无能为力了。而异常入侵检测正好相反,它是试图建立正常行为模型,任 何违反该模型的事件的发生都被认为是可疑的,所以这种模型的好处是可以检测到 一些未知的攻击,但是这种模型往往不能完全反映计算机系统的复杂的动态本质, 因而很难建模。 很明显,上述两种检测方法具有一定程度的互补性,所以可以将两种方式结合 7 华中科技大学硕士学位论文 起来,即整个系统的检测手法多样,在不同的情况、不同的检测位置采用相适应的 检测方法,从而提高系统的检测效率。 2 4 小结 本章介绍了入侵检测的概念,入侵检测现在研究的动向,入侵检测技术的分类, 误用入侵检;澳l j ( m i s u s ed e t e c t i o n ) 和异常入侵检测( a n o m a l yd e t e c t i o n ) 。 8 华中科技大学硕士学位论文 3 轻量级入侵检测系统s n o r t 3 1s n o r t 简介 简单的说,s n o r t 是个数据包嗅探器,也是数据包记录器,还是n d i s 。 s n o r t 最初的开发目的是作一个数据包唉探器1 2 3 ,1 9 9 8 年1 1 月,m a r t yr o e s c h , 写了一个l i n u x 平台下的的数据包嗅探器软件,起名叫a p e 。m a r t yr o e s c h 的目的 是写一个比a p e 更好的数据包嗅探器,在s n o r t 中他使用了l i b c a p 函数库实现 了网络数据包过滤的和嗅探功能。当时只有t c p d u m p 程序使用l i b c a p 函数库, s n o r t 给了系统管理员另外一个数据包嗅探器工具的选择1 2 4 。 3 2s n o r t 系统的结构 3 2 1s n o r t 由以下四个基本模块组成 ( 1 ) 数据包嗅探器 ( 2 ) 预处理器 ( 3 ) 检测引擎 ( 4 ) 报警输出模块 心 圆 图3 1s n o r t 体系结构 日志文件, 数据库 s n o r t 的最基本的功能就是数据包嗅探器口5 1 ,数据包嗅探器只是s n o r t 工作 的开始,s n o r t 取得数据包后先用预处理器插件处理,然后经过检测引擎中的所 9 华中科技大学硕士学位论文 有规则链,如果有符合规则链的数据包就会被检测出来。s n o r t 的体系结构图如 图3 1 所示【2 6 】。 3 3s n o r t 处理过程 ( 1 ) 包捕获译码引擎:利用l i b p c a p 从网卡上捕获网络上的数据包,然后数据 包经过加码引擎填入到链路层协议的包结构体中,以便对高层次的协议进行译码。 在s n o r t c 源代码中,在s n o r t 启动的时候进行一系列的配置。在检查接口和设备 进入混杂模式之间,s n o r t 调用l i b p c a p 函数和初始化接口时,既进入了主执行循 环,也叫p a c p 循环。当p c a p 从网卡驱动接收到数据包时,便开始调用p r o c e s s p a c k e t ( ) 函数。p r o c e s s p a c k e r ( ) 函数连接到数据链路层的译码程序d e c o d e c s n o r t 能够识别以太网、8 0 2 1 1 、令牌环以及诸如i p 、t c p 和u d p 等高层协议,p r o c e s s p a c k e t 函数调用d e c o d e e t h p k t 函数,d e c o d e e t h p k t 函数对以太帧进行译码,在d e c o d e e t h p k t 函数中,d e c o d ei p 对i p 协议进行译码,最后调用d e c o d e t c p p k t 对t c p 包进行 译码。 ( 2 ) 预处理器插件:取得数据包并把他们译码成不同的协议,在数据包进入检 测引擎之前,它们被送入预处理器,主要是资料包送到s n o r t 主检测引擎之前提 供一个报警、丢弃数据包、修改数据包的框架。预处理器的一项任务就是将包送到 检测引擎之前先将包格式化,在h r r p 解码( h t t p预处理器在请求decode)http 送到检测引擎之前变换u r i t e l n e td e c o d e 预处理器、f t p 预处理器、decode r p c _ d e c o d e 预处理器和h a p _ d e c o d e 预处理器一样,不同的是h t t p _ d e c o d e 变换u r i , 而这些预处理器在送入检测引擎之前变换t e l n e t f t p 和r p c 事务。s n o r t 还有其它一 些预处理器,如如9 2 预处理器,使用f r a 9 2 处理器,分片包在送入检测引擎之前进 行重组。还有p o r t s c a n 预处理器等【2 7 1 。 ( 3 ) 检测引擎:我们已经获得了网络中的包并译码,将其放到数据结构中,做 到了识别、过滤、译码数据包流,下来就是检测,检测引擎分为【2 8 】:规则建立翻 译。基于规则的检测引擎。s n o r t 规则是基于文本的,规则文件按照不同的组 行分类,在启动的时候,s n o r t 读取所有的规则文件,并建立一个三维的链表。 1 0 华中科技大学硕士学位论文 链表头 规则 树节 点 ( r t n ) u d p 节点表 i p 节点表i c m p 节点表 t c p 节点表 lii l j 。 协议:t c p 源:a n y 源端口:a n y 目的ls h o m e _ n e t 目的端口:2 1 l f l o w :t o _ s c r v e r , e s t a b l i s h e x l , c o n t e n t :” s a t i f l o w :t o _ s e r v e r , e s t a b l i s h e d , c o n t e n t :9 0 1 b c o o f 8 2 1 0 2 0 l 7 9 1 d 0 2 0 0 8 上 |fl豢ow:to_serv,er, 上 f l o w :t o _ s e r v e r , e s t a b l i s h e d , c o n t e n t :f a s s d d d l o a i ” 协议:t c p协议:t c p 源:a n y 源:a n y 源端口:a n y源端口:a n y 目的ls h o m e _ n e t目的is h o m e _ n e t 目的端口:2 5目的端口:8 0 上 f l o w :t o _ s e r v e r , f l o w :t o _ s e r v e r , e s t a e s t a b l i s h e d , b l i s h e d , n o _ s t r e a m u r i c o n t e n t : - b i n p c o n t e n t : r c p tt o s 1 3a i ” d s i z e : 8 0 0 上 l f l o w :t o _ _ s e r v e r , e s t a b l i s h e d , f l o w :t os e r v c o n t e n t :2 e 2 e 5 c 2 e r , e s t a b l i s h e e 2 e d , c o n t e n t :m a i 上 l f r o mf l o w :t o _ s e r v e r , e s 1 3 a 2 0 2 2 7 c 1 ” t a b l i s h e d , u r i c o n t e n t :d c f o r u t n c g i ; c o n t e n t :”f o r u l n = 。| 。? 图3 2s n o r t 规则树 s n o r t 使用列表匹配包和检测,输入和读取楷都在p a r s e r c 中的p a r s c m l e s f i l e ( ) 函数 中实现,p a r s e r 从主程序s n o r t c 中引出。链表的建立在s n o r t c 中进行初始化。在启 项节 m 选树点 华中科技大学硕士学位论文 动的时候,s n o r t 读取s n o r t c o n f 配置文件,在s n o r t c o n f 文件的“s t e n p4 c u s t o m i z ey o u r r u l es e t 冲链接特定的规则文件包含在每个规则文件中的s n o r t 规则被解析并且链表 建立。建立链表时,首先按规则类型( 1 0 9 、p a s s 、a l e r t 、a c t i v a t i o n 、d y n a m i c ) 分类,分成 了五个单独的规则链;然后针对这五个规则链的每一个按协议类型( t c p 、u d p 、 i c m p 、i p ) 分成相应的节点链表;最后又按照源m 、目的m 、源埠号及目的埠号分为 多个规则树节点( r t n ) ;每个规则树节点下又有选项树节点( o t n ) ,这样每个选项树节 点( o t n ) 就对应了一条规则。规则树如图3 2 所示2 9 】。 当数据包到达检测引擎的时候,s n o r t 将通过规则头以下面的顺序进行导航, a c t i v a t i o n 、d y n a m i c 、a l e r t 、p a s s 和l o g ,在每一个规则头中,将检查r t n 和o t n 。 然后,s n o r t 会来到报警链表,查找的方法取决于数据包的协议,从相应的节点 开始,从左到右遍历r t n ,看数据包的源礤、目的i p 、源埠号及目的埠号是否匹 配,当找到一个匹配之后,算法将继续向下运行,在每个o t n 内部寻找匹配。比 较常用的字符串匹配算法就是b o y e r - - m o o r e 算法。 ( 4 ) 输出插件:输出插件就是对信息进行记录和显示。把报警和日志以更加灵 活的方式呈现给管理员。输出插件在预处理器和抓包引擎执行完之后调用s n o r t 报警和日志子系统时执行【3 0 】。 3 4s n o r t 工作模式 s n o r t 有三种工作模式口1 1 ;嗅探器、数据包记录器、网络入侵检测系统。嗅探器 模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器 模式把数据包记录到硬盘上。网络入侵检测模式是最复杂的,而且是可配置的。我 们可以让s n o r t 分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取 一定的动作。 ( 1 ) 嗅探器 所谓的嗅探器模式p 习就是s n o r t 从网络上读出数据包然后显示在你的控制台上。 首先,我们从最基本的用法入手。如果你只要把t c p i p 包头信息打印在屏幕上, 只需要输入下面的命令: 1 2 华中科技大学硕士学位论文 s n o r t v 使用这个命令将使s n o r t 只输出i p 和t c p u d p i c m p 的包头信息。如果你要看到应 用层的资料,可以使用: s n o r t - v d 这条命令使s n o r t 在输出包头信息的同时显示包的数据信息。如果你还要显示数据 链路层的信息,就使用下面的命令: s n o r t - v d c 注意这些选项开关还可以分开写或者任意结合在一块。例如:下面的命令就和上面 最后的一条命令等价: s n o r t d - v - - e ( 2 ) 数据包记录器 如果要把所有的包记录到硬盘上,你需要指定一个日志目录,s n o r t 就会自动记录数 据包: s n o r t - d ec - 1 l o g 当然,l o g 目录必须存在,否则s n o r t 就会报告错误信息并退出。当s n o r t 在这 种模式下运行,它会记录所有看到的包将其放到一个目录中,这个目录以数据包目 的主机的i p 地址命名,例如:1 9 2 1 6 8 1 0 1 如果你只指定了1 命令开关,而没有设置目录名,s n o r t 有时会使用远程主机的 l p 地址作为目录,有时会使用本地主机i p 地址作为目录名。为了只对本地网络进 行日志,你需要给出本地网络: s n o r t - d e v - 1 l o g - h1 9 2 1 6 8 1 0 2 4 这个命令告诉s n o r t 把进入c 类网络1 9 2 1 6 8 1 的所有包的数据链路、t c p i p 以及 应用层的数据记录到目录l o g 中。 如果你的网络速度很快,或者你想使日志更加紧凑以便以后的分析,那么应该 使用二进制的日志文件格式。所谓的二进制日志文件格式就是t c p d u m p 程序使用的 格式。使用下面的命令可以把所有的包记录到一个单一的二进制文件中: 华中科技大学硕士学位论文 s n o r t 1 l o g - b 注意此处的命令行和上面的有很大的不同。我们勿需指定本地网络,因为所有的东 西都被记录到一个单一的楷。你也不必冗余模式或者使用- d 、一e 功能选项,因为数 据包中的所有内容都会被记录到日志文件中。 你可以使用任何支持t c p d u m p 二进制格式的嗅探器程序从这个文件中读出数据包, 例如:t c p d u m p 或者e t h e r e a l 。使用- r 功能开关,也能使s n o r t 读出包的资料。s n o r t 在所有运行模式下都能够处理t c p d u m p 格式的楷。例如:如果你想在嗅探器模式下 把一个t c p d u m p 格式的二进制文件中的包打印到屏幕上,可以输入下面的命令: s n o r t d v - rp a c k e t 1 0 9 在日志包和入侵检测模式下,通过b p f ( b s dp a c k e tf i l t e r ) 接口,你可以使用许多方 式维护日志文件中的数据。例如,你只想从日志文件中提取i c m p 包,只需要输入 下面的命令行: s n o r t - d v rp a c k e t 1 0 9i c m p ( 3 ) 网络入侵检测系统 s n o r t 最重要的用途还是作为网络入侵检测系统( n i d s ) ,使用下面命令行可以启 动这种模式【3 3 】: s n o r t - d e v - 1 l o g - h1 9 2 1 6 8 1 0 2 4 一cs n o r t c o n f s n o r t c o n f 是规则集文件。s n o r t 会对每个包和规则集进行匹配,发现这样的包就采 取相应的行动。如果你不指定输出目录,s n o r t 就输出至l j v a r l o g s n o r t 目录。 注意:如果你想长期使用s n o r t 作为自己的入侵检测系统,最好不要使用v 选项。 因为使用这个选项,使s n o r t 向屏幕上输出一些信息,会大大降低s n o r t 的处理速度, 从而在向显示器输出的过程中丢弃一些包。 此外,在绝大多数情况下,也没有必要记录数据链路层的包头,所以一e 选项也可以 不用: s n o r t d h1 9 2 1 6 8 1 0 2 4 1 l o g - cs n o r t c o n f 这是使用s n o r t 作为网络入侵检测系统最基本的形式,日志符合规则的包,以a s c i i 形式保存在有层次的目录结构中。 1 4 华中科技大学硕士学位论文 网络入侵检测模式下的输出选项; 在n i d s 模式下,有很多的方式来配置s n o r t 的输出。在默认情况下,s n o r t 以a s c i i 格式记录日志,使用f u l l 报警机制。如果使用f u l l 报警机制,s n o r t 会在包头之后打 印报警消息。如果你不需要日志包,可以使用n 选项。 s n o r t 有6 种报警机制p 4 1 :f u l l 、f a s t 、s o c k e t 、s y s l o g 、s m b ( 嘶p u p ) 和n o n e 。其中 有4 个可以在命令行状态下使用- a 选项设置。这4 个是: af a s t :报警信息包括:一个时间戳( f i m c s m m p ) 、报警消息、源目的i p 地址和端口。 - af h l l :是默认的报警模式。 一au n s o c k :把报警发送到一个u n i x 套接字,需要有一个程序进行监听,这样可以 实现实时报警。 一an o n e :关闭报警机制。 使用一s 选项可以使s n o r t 把报警消息发送到s y s l o g ,默认的设备是l o ga u t h p r i v 和l o ga l e r t 。可以修改s n o r t c o n f 文件修改其配置。 s n o r t 还可以使用s m b 报警机制,通过s a m b a 把报警消息发送到w i n d o w s 主机。 为了使用这个报警机制在运行c o n f i g u r e 脚本时,必
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河北省气象局招聘应届毕业生10人(第2602号)历年真题汇编带答案解析
- 2025中铁建重庆石化销售有限公司加油站招聘加油员4人历年真题库带答案解析
- 巴中市2025年第九批就业见习岗位历年真题汇编及答案解析(夺冠)
- 2025江西萍乡市人民医院招聘编外人员(第三批)4人历年真题库附答案解析
- 2025广东汕头市潮阳区卫健系统招聘医学类专业技术人员笔试历年真题库附答案解析
- 2025海南三亚口腔医学中心(考核)招聘事业编制及员额制人员76人(第1号)备考题库带答案解析
- 2025云南昆明高新区高新实验高中招聘30人备考题库带答案解析
- 2025贵州毕节市赫章县部分机关事业单位面向全县考调58人参考题库附答案解析
- 2025四川天府银行社会招聘(遂宁)笔试备考试卷带答案解析
- 2025四川天府银行社会招聘(南充)模拟试卷附答案解析
- GB/T 34988-2017信息技术单色激光打印机用鼓粉盒通用规范
- GB/T 15843.5-2005信息技术安全技术实体鉴别第5部分:使用零知识技术的机制
- 《等边三角形》精美教学课件
- 2023年版下肢动脉硬化闭塞症诊治指南
- 混凝土搅拌站检查验收表
- 运营管理(整合版)课件
- 门式脚手架专项施工方案(完成版)
- 公路工程投标施工组织设计浅析
- 2020超星尔雅学习通《突发事件及自救互救(上海市医疗急救中心)》章节测试答案
- 电缆桥架安装施工组织设计
- 盘锦浩业化工有限公司重整操作规程
评论
0/150
提交评论