(计算机应用技术专业论文)基于snort的网络入侵检测系统研究.pdf_第1页
(计算机应用技术专业论文)基于snort的网络入侵检测系统研究.pdf_第2页
(计算机应用技术专业论文)基于snort的网络入侵检测系统研究.pdf_第3页
(计算机应用技术专业论文)基于snort的网络入侵检测系统研究.pdf_第4页
(计算机应用技术专业论文)基于snort的网络入侵检测系统研究.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)基于snort的网络入侵检测系统研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江工业大学硕士学位论文 基于s n o r t 的网络入侵检测系统研究 摘要 随着互联网的飞速发展,i m e m e t 逐渐成为人们日常工作和生活 的一部分。网络在给人类社会的信息化提供了前所未有的机会的同 时,人们也面临着日益严重的安全问题。入侵检测技术是继防火墙技 术之后的最重要的网络安全保障技术。与防火墙不同,它是种动态 防御技术。 入侵检测技术分为异常检测和误用检测。目前国内外对入侵检测 的研究主要偏向于异常检测系统,对传统的误用检测系统的研究则集 中在体系结构和高速网络的检测性能方面。在这些研究的基础上,已 经有许多种商用的入侵检测系统。目前最常用的网络入侵检测手段是 手工进行路由器、防火墙目志分析以及使用由m a r t i nr o e s c h 开发的 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 的规则匹配效率;同时对异常检测机制进行了改进,引入了异常窗口 摘要 f 浙江工业大学硕上学位论文 机制来解决对异常检测进行训练使其失效的问题,接着提出了一个新 的异常误用混合系统方案,该方案大大提高了s n o n 的检测效率。 关键字 s n o r t ,网络入侵检测,规则匹配,异常 摘要 i i 浙江工业大学颂l 学位论文 r e s e a r c ho nn e t w o r ki n t r u s i o nd e t e c t i o n s y s t e m b a s e do ns n o r t a b s t r a c t i n t e r n e th a sg r a d u a l l yb e c o m eap a r to f p e o p l e sd a i l yw o r k a n dl i f e a l o n gw i t hi t sf a s td e v e l o p m e n t w h i l et h en e t w o r kb r i n g su n p r e c e d e n t e d o p p o r t u n i t yt ot h ei n f o r m a t i o no f h u m a ns o c i e t y ,p e o p l ea r ea l s of a c i n g i n c r e a s i n g l y s e r i o u sn e t w o r k s a f e t yp r o b l e m i n t r u s i o n d e t e c t i o n t e c h n i q u e i st h em o s t i m p o r t a n tn e t w o r ks a f e t yg u a r a n t e et e c h n i q u e b e s i d e sf i r e w a l l b u td i f f e r e n tf r o mf i r e w a l l ,i ti sad y n a m i cr e c o v e r y t e c h n i q u e i n t r u s i o n t e c h n i q u e s c a nb ed i v i d e di n t o a n o m a l y d e t e c t i o na n d m i s u s e d e t e c t i o n c u r r e n t l y ,t h e d o m e s t i ca n di n t e r n a t i o n a lr e s e a r c h t o w a r di n t r u s i o nd e t e c t i o na r ei n c l i n e dt o a n o m a l y d e t e c t i o n s y s t e m , w h i l et ot h et r a d i t i o n a lm i s u s ed e t e c t i o ns y s t e m ,r e s e a r c hc o n c e n t r a t e so n t h e a s p e c t s o fs y s t e ma r c h i t e c t u r ea n dd e t e c t i o n p e r f o r m a n c e o ft h e s u p e r s p e e d n e t w o r k b a s e do nt h e s e r e s e a r c h e s ,m a n y c o m m e r c i a l i n t r u s i o nd e t e c t i o ns y s t e m sh a v e a p p e a r e d t h e m o s t c o m m o n l yw a y u s e d f o rn e t w o r ki n t r u s i o nd e t e c t i o ni st o m a n u a l l yp r o c e e d st h er o u t e ra n d a n a l y z e t h ef i r e w a u s l o g o ru s et h es o f t w a r e d e v e l o p e db ym a r t i n abs trac ti l l 浙江工业大学硕= l 学位论文 r o e s c h t h em a i nr e s e a r c hi nt h i sp a p e ri sn e t w o r ki n t r u s i o nd e t e c t i o ns y s t e m , t h ea u t h o rf o l l o w st h ed o m e s t i ca n di n t e r n a t i o n a lr e s e a r c ht r e n do f n e t w o r ki n t r u s i o nd e t e c t i o ns y s t e ma n dt h er e s e a r c hh e a to fs n o r t ,b y a n a l y z i n gt h es n o r t s o u r c ec o d e ,m a k e sd e e pr e s e a r c ho nt h et w o a s p e c t s o fs n o r t sr e g u l a r m a t c h i n gc a p a b i l i t ya n da n o m a l y d e t e c t i o nm e c h a n i s m t h e nb a s e do nt h ea n a l y s i so ft h eb o t t l e n e c ko fs n o r t sr e g u l a rm a t c h i n g c a p a b i l i t y ,t h i sp a p e rp u t sf o r w a r dt h ea g r e e m e n tf l o wa n a l y s i s ,r e g u l a r o p t i m i z a t i o na n di m p r o v e dp a t t e r nm a t c h i n ga r i t h m e t i ce t c t o i n c r e a s e t h ee f f i c i e n c yo fs n o r t sr e g u l a rm a t c h i n g ;m e a n w h i l ei m p r o v e m e n ti s a l s om a d et ot h ea n o m a l yd e t e c t i o nm e c h a n i s mb yi n t r o d u c i n ga n o m a l y w i n d o wm e c h a n i s mt os o l v et h ep r o b l e mo fe x p i r a t i o nm a d eb yt h e t r a i n i n go fa b n o r m a l i t yd e t e c t i o n ,t h e ni n t r o d u c e sa n e w a n o m a l ym i s u s e m i x e d s y s t e mp r o j e c t ,t h i sp r o j e c ti n c r e a s e sc o n s u m e d l y t h ee f f i c i e n c yo f s n o r t sd e t e c t i o n k e y w o r d : s n o r t ,n e t w o r ki n t r u s i o nd e t e c t i o n ,r e g u l a rm a t c h i n g ,a n o m a l y abs t fac t 浙江工业大学硬一 学位论文 1 1 研究的背景 1 1 1 网络安全问题的产生 第一章绪论 随着互联网的飞速发展,信息网络已经进入千家万户,i n t e m e t 已经成为人 们日常工作和生活的一部分,给人类社会的信息化提供了前所未有的机会。然而 互联网本身就存在不安全因素,一方面由于它是面向所有用户的,所有的资源通 过网络共享,另方面就是它的技术是开放的和标准的。这些不安全因素使得在 信息时代的今天,人们在享受网络带来的便利的同时,也遭受到严重的网络安全 问题的困扰。这些安全问题中比较突出的是黑客攻击事件和病毒事件。许多人至 今仍对去年发生的“冲击波”病毒事件心有余悸。 据最新统计数据显示,目前我国9 5 的与因特网相联的网络管理中心都遭到 过境内外黑客的攻击或侵入,受害涉及的覆盖面越来越大、程度越来越深。据 s y m a n t e c 公司2 0 0 2 年的报告指出,中国甚至已经成为全球黑客的第三大来源地, 竟然有6 9 的攻击国际互联网活动都是由中国发出的。 另一方面从国家计算机病毒应急处理中心日常监测结果来看,计算机病毒呈 现出异常活跃的态势。在2 0 0 1 年,我国有7 3 的计算机曾感染病毒,到了2 0 0 2 年上升到近8 4 ,2 0 0 3 年上半年又增加到8 5 ,而微软的官方统计数据称2 0 0 2 年因网络安全问题给全球经济直接造成了1 3 0 亿美元的损失。 1 1 2 解决问题的办法 对于这些安全问题,人们想出了各种各样的解决办法。安全专家首先在内部 网络与外界之间设置了一道屏障,有效地阻止了未经许可的恶意的外部网络的访 问,这就是防火墙技术。然而防火墙是一种静态的防御技术,它不会根据网络的 变化来修改相应的防火墙规则,无法抵御数据驱动式攻击,无法阻止协议漏洞发 起的入侵。另外,防火墙本身的缺陷也是影响内部网络安全的重要问题,当黑客 绕过防火墙攻击到内部时,防火墙形同虚设。接着,人们利用密码技术对现有的 软件进行安全性改造,并使用某些安全策略研制了些安全软件系统,如v p n 虚拟网、p k i 证书、s s l 安全套节字层,这些安全系统以及后来提出的安全操作 系统,主要采用了身份认证和访问控制的安全策略。而随后人们制定的一系列安 全法则和评测标准,包括美国国防部推动的可信计算机系统安全评价准则 f i t s e c ) 和六国七方联合推动的信息技术通用安全评价准n ( c c ) ,对安全操作系 第一章绪论 浙江工业大学硕士学位论文 统的研制进行了规范。 1 】3 入侵检测的引入 然而,有诸多的原因导致构筑一个安全系统的困难:首先,操作系统正变 得越来越大,软件设计者无法避免留下漏洞;其次,随着联网需求的日益增加, 要将来自系统外部的服务请求完全隔离是不可能的;再者,t c p i p 协议本身存 在不完善之处。从根本上讲,完全安全的操作系统和网络是不存在的。 在解决网络安全问题的同时,人们也进行了一些理论研究,提出了一些安全 模型,其中比较有代表性的就是由i s s 公司提出的p 2 d r i l 】模型( 图1 1 ) 。 p 2 0 r 掇型索案匿 幽1 - 1p 2 d r 模型示慈图 p 2 d r 模型是在整体的安全策略的控制和指导下,在综合运用防护工具( 如 防火墙、操作系统身份认证、加密等手段) 的同时,利用检测工具( 如漏洞评估、 入侵检测等系统) 了解和评估系统的安全状态,将系统调整到“最安全”和“风险 最低”的状态。防护、检测和响应组成了一个完整的、动态的安全循环。在安全 策略的指导下保证信息系统的安全。 根据p 2 d r 模型的理论,安全策略是整个网络安全的依据。不同的网络需要 不同的策略,在制定策略以前,需要全面考虑局域网络中如何在网络层实现安全 性、如何控制远程用户访问的安全性、在广域网上的数据传输实现安全加密传输 和用户的认证等等问题。对这些问题做出详细回答,并确定相应的防护手段和实 施办法,就是针对企业网络的一份完整的安全策略。策略一旦制订,应当作为整 个企业安全行为的准则。 p 2 d r 模型有自己的理论体系,有数学模型作为其论述基础一一基于时间的 安全理论( t i m eb a s e ds e c u r i t y ) 。该理论的最基本原理就是认为,信息安全相关 的所有活动,不管是攻击行为,防护行为、检测行为和响应行为等等都要消耗时 间,因此可以用时间来衡量一个体系的安全性和安全能力。 第一章绪论 2 浙旺t 业大学碗十学位论文 p 2 d r 模型就可以用一些典型的数学公式来表达安全的要求: 公式l :p t d t + r t 公式2 :e t = d t + r t ,如果p t = 0 其中,公式2 的前提是假设防护时间为0 。这种假设对w e bs e r v e r 这样的系 统可以成立。 1 ) d t 从入侵者开始发动入侵开始,系统能够检测到入侵行为所花费的时间。 2 ) r t 从发现入侵行为开始,系统能够做出足够的响应,将系统调整到正常 状态的时间。 3 1p t 攻击成功花费的时间也就是安全体系提供的防护时间。 4 ) e t 安全目标系统的暴露时间。 p 2 d r 理论给人们提出了全新的安全概念,安全不能依靠单纯的静态防护, 也不能依靠单纯的技术手段来解决。通过上面两个公式的描述,实际上给出了安 全一个全新的定义;“及时的检测和响应就是安全”,“及时的检测和恢复就是安 全”。而且,这样的定义为安全问题的解决给出了明确的方向:提高系统的防护 时间p t ,降低检测时间d t 和响应时间r t 。 入侵检i 孵【f 就是p 2 d r 模型中的检测,它的作用在于承按防护和响应的过程。 入侵检测是p 2 d r 模型作为一个动态安全模型的关键所在,可以说提出p 2 d r 模 型的原因就是入侵检测技术,这一点可以从p 2 d r 模型的提出者看出1 s s 正是 全球领先的入侵检测系统提供商。 1 2 研究的内容 本文主要研究网络入侵检测系统,通过跟踪国内外网络入侵检测系统的研究 动向和s n o r t 的研究热点,在对s n o r t 源代码进行分析的基础上,对s n o r t 的规则 匹配性能和异常检测机制两个部分进行了深入的研究。 本文的研究内容如下: 1 ) 研究s n o r t 的源代码,分析s n o r t 的主要数据结构、核心算法和组成s n o r t 的各个模块的作用。 2 ) 对提高检测性能的关键技术进行分析,并在此基础上,改进s n o r t 的检 测性能。 3 ) 探讨异常检测模块( s p a d e ) 在s n o r t 中的应用;研究如何结合异常检测与 误用检测,才能发挥更大的作用。 i 3 论文组织 论文全文按如下组织 第一章绪论 浙江t 业大学硕士学位论文 第一章介绍了论文的背景、研究内容以及论文内容的组织形式,并重点论 述了p 2 d r 安全模型。 第二章介绍了入侵检测的基础理论和相关知识并指出目前对入侵检测的 研究动向。 第三章介绍了基于s n o r t 的网络入侵检测系统的模块结构、工作原理和 s n o r t 规则,并分析了国内外对s n o r t 系统的研究和应用热点。 第四章通过对入侵检测系统的检测性能瓶颈的分析,提出了提高s n o r t 检 测性能的三大关键技术减少需要检测的网络流量、规则优化和改进模式匹配 算法,接着分别对这三大技术进行了分析。 第五章针对入侵检测系统异常检测模块中存在的问题,提出了全新的解决 方案。 第六章对全文作了总结,并对入侵检测进行了展望。 笫一章绪论 浙江工业大学硕士学位论文 2 1 入侵检测概述 2 1 1 入侵检测概念 第二章入侵检测概述 入侵检测系统( i 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 是为了保护自己重要的计算资源, 还有一些使用者则对发现和纠正系统安全漏洞更加感兴趣。 “入侵”( i n t r u s i o n ) 是个广义的概念,不仅包括被发起攻击的人( 如恶意 的黑客) 取得超出合法范围的系统控制权,也包括收集漏洞信息,造成拒绝访问 ( d e n i a lo f s e r v i c e ) 等对计算机系统造成危害的行为。 入侵检测( i n t r u s i o nd e t e c t i o n ) ,顾名思义,便是对入侵行为的发觉。它通 过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发 现网络或系统中是否有违反安全策略的行为和被攻击的迹象,进行入侵检测的软 件与硬件的组合便是入侵检测系统。与其他安全产品不同的是,入侵检测系统需 要更多的智能,它必须可以将得到的数据进行分析,并得出有用的结果。一个合 格的入侵检测系统能大大的简化管理员的工作,保证网络安全的运行。 2 1 2 入侵检测历史 入侵检测从最初实验室里的研究课题到目前的商业产品,已经具有2 0 多年 的发展历史。 1 9 8 0 年a n d e r s o n 在报告“计算机安全威胁的监察”中提到,必须改变现 有的系统审汁机制,以便为专职的系统安全人员提供安全信息,此文被认为是有 关i d 的最早论述。 1 9 8 5 年美国海军资助s r i 构建了入侵检测专家系统( i d e s ) t y 3 j g e 初原型。 i d e s 是入侵检测研究中最有影响的一个系统,它是第一个在一个应用中运用了 统计和基于规则两种技术的系统。 1 9 8 6 年,d e n n i n g 发表了一篇论文入侵检测模型。这篇论文深入探讨了 入侵检测研究,探索了行为分析的基本机制,并提出了实现系统的几种可能的方 第二章入侵检涮概连 浙江工业大学顶士学位论文 式。 1 9 8 7 年,首次入侵检测年度专题讨论会在s r i 召开,该讨论会有几个想共 享信息的入侵检测研究人员发起。 1 9 8 9 年,加州大学d a v i s 分校学生t 0 d d h e b e r l i n 写了一片论文h an e t w o r k s e c u r i t ym o n i t o r ) ,该监控器用于捕获t c p i p 分组、检测异构网络中的异常行 为网络入侵检测就从此诞生了。 商业化的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 u r e 是第一个基于w i n n t 的网 络入侵检测系统,而第一个w i n n t 上基于主机的i d s 是1 9 9 8 年发布的e n t r a x 。 2 1 3 入侵检测系统的作用 具体说来,入侵检测系统的主要功能有: a 盥测并分析用户和系统的活动; b 核查系统配置和漏洞: c 评估系统关键资源和数据文件的完整性; d ,识别已知的攻击行为; e 统计分析异常行为; 操作系统日志管理,并识别违反安全策略的用户活动。 2 2 入侵检测技术 入侵检测技术主要分为两类:误用入侵检测( m i s u s ed e t e c t i o n ) s 1 1 异常入侵检 狈t j ( a n o m a l yd e t e c t i o n ) 。 2 2 1 误用入侵检测 误用检测技术主要是通过某种方式预先定义入侵行为,然后监视系统的运 行,并从中找出符合预先定义规则的入侵行为。 基于误用的入侵检测系统通过使用某种模式或者信号标识表示攻击,进而发 现相同的攻击。这种方式可以检测许多甚至全部已知的攻击行为,但是对于未知 的攻击手段却无能为力,这一点和病毒检测系统类似。 误用信号标识需要对入侵的特征、环境、次序以及完成入侵的事件相互间的 关系进行详细的描述,这样误用信号标识不仅可以检测出入侵行为,而且可丝发 现入侵的企图,误用信号局部上的符合就可能代表一个入侵的企图。 第= 章入侵检测概述 6 浙江工业大学硬:e 学位论文 对于误用检测系统来说,最重要的技术问题是:如何全面描述攻击的特征; 如何减少误报率。典型的误用检测系统是基于模式匹配的检测系统,本文研究的 s n o r t 就是这样的一个系统。 模式匹配系统主要理论依据是模式匹配原理,在模式匹配原理中,k u m a r 把入侵信号( i n t m s i o ns i g n a t u r e ) t 2 】分成四个层次,每一层对应相应的匹配模式, 具体介绍如下: 唧字在( e x i s t e n c e ) 这种信号表示只要存在这样一种审计事件就足以说明发生 了入侵行为或入侵企图,它所对应的匹配模式称为存在模式( e x i s t e n c ep a t t e r n ) 。 序列( s e q u e n c e ) 有些入侵信号是由一些按照一定顺序发生的行为所组成 的,它具体可以表示为一组事件的序列,其对应的匹配模式就是序列模式 ( s e q u e n c ep 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 s p a t t e r n ) 是指一些不能用前面的方法进行 表示的攻击比如包含内部否定的模式、包含归纳选择的模式等。 上述四种模式之间存在如下的包含与被包含的关系,前者可以用后者进行描 述。 存在模式序列模式规则表示模式其他模式 下面给出一个例子用模式表示b i n m a i l 攻击。b i n m a i l 是本地邮件分发程序, 它的典型攻击过程如下: $ c p b i n s h u s r s p o o l m a i l r o o t $ c h m o d4 7 5 5 u s f f s p o o l m a i l r o o t $ t o u c ha t t a c k m a i l $ m a i lr o o t 1 9 2 1 6 8 1 0 2 41 1 l ( c o n t e n t :”1 0 00 18 6a s i ”;m s g :”m o u n t e d a c c e s s ”;) 在这个例子中,括号左面为规则头,括号中间的部分为规则选项,规则选项 中冒号前的部分为选项关键字( o p t i o nk e y w o r d ) ,这里需要注意的是规则选项 部分并不是任何规则都必需的,它只是用来明确地定义表示某种攻击、需要采取 某种行为( 如警告等) 的报文,只有当组成规则的各个元素都为真时才能触发相应 的操作。 3 4 1 规则头 规则头由规则行为、协议字段、地址和端口信息3 部分组成。 1 ) 规则行为 s n o r t 定义了五种可选的行为:a l e r t 、l o g 、p a s s 、a c t i v a t e 、d y n a m i c 。其 使用设定的警告方法生成警告信息,并记录这个报文。 使用设定的记录方法记录这个报文。 忽略这个报文。 进行a l e r t ,然后激活另一个d y n a m i c 规则。 等待被一个a c t i v a t e 规则激活,然后进行l o g 。 笫三章基于sn or t 的网络入侵检测系统介绍 1 9 r 钕眦 烛黜一疵m裟墨淼 浙江工业大学颂:i :学位论文 2 ) 协议字段 当前s n o r t 支持i p 、t c p 、u d p 和i c m p 将来可能会支持更多的 协议。 3 ) 地址和端口信息 格式为:i p c i d rp o r t 其中c i d r 块表示网络掩码,如1 9 2 1 6 8 1 0 2 4 ,2 4 表示有2 4 位 1 ,相当于掩码2 5 5 2 5 5 2 5 5 0 ,地址部分可以取单一地址或地址列 表,同样端口部分可以取单一端口,端口范围或端口列表;还可 以使用否定操作符! ,和任意操作符a n y 。 3 4 2 规则选项 规则选项由选项关键字组成,中间用冒号分隔。 常用的选项关键字如下: m s g :打印一条警告信息到警告或日志中。 c o n t e n t : 在报文负载中搜索某个模式。这个字段是s n o r t 的一个重要 特征。进行比较的数据可以包含二迸制数据,二进制数据使 用”l ,扩起来的十六进制字节串表示,如:c o m e m :”1 9 0 c 8c o f f f f f f l b i n s h ”;除非指定n o c a s e ,否则这种匹配是大小写敏感 的。另外需要注意的是这种比较非常耗费资源,一定要增加 尽可能夺得其他选项来限制进行搜索的报文。 c o n t e n t 1 i s t :在报文负载中搜索一个模式的集合。 o f f s e t : 调整c o n t e n t 选项,设置模式匹配开始的偏移量。 d e p t h :调整c o n t e n t 选项,设置模式匹配的最大搜索长度。 n o c a s e :进行内容匹配时,字符串的大小写不敏感。 u r i c o n t e n t :允许在一个请求的u r i 中进行搜索匹配特定的格式。 另外还有许多检查协议域的关键字,如t t l :检查i p 报文的t t l 域的值。 3 5s n o r t 的研究和应用 s n o r t 在高速网络环境下存在丢包问题,对s n o r t 性能进行测试的理想环境如 图3 - 5 所示: 其中攻击主机( a t t a c kh o s t ) 的主要工作是采用具有攻击工具对n i d s 所在的 网络环境中的主机进行攻击;n i d s b e n e h ( n i d s 测试平台) 使用t c p r e p l a y 提供背 景网络流量,模拟真实的网络运行环境:n i d s 就是我们需要进行性能测试的入 侵检测系统:被攻击主机( v i c t i mh o s t ) 是攻击主机( a t t a c kh o s t ) 的攻击对象。 第三章基于s no r t 的网络入侵检测系统介绍 浙江工业人学硕士学位论文 t c p r e p l a y 是一个流量回放工具,它可以把t c p d u m p 捕获的网络流量进行回 放在测试i d s 性能的时候用来制造背景流量。t c p r e p l a y 非常灵活,可以根据用 户的要求,对采集的网络流量以不同速度进行回放。 a t t a c kh o s t n i d s b e n c hn i d s v i c t i mh o s t 图3 - 5 测试环境拓扑图 为了简化测试环境,我们在使用t c p d u m p 采集的网络流量中包含了带有攻击 特征的数据包,因此可以省去攻击主机,同时我们把n i d s 和v i c t i mh o s t 合并到 同一台主机上,这样我们实际的测试环境由两台主机组成n i d s 测试平台及 n i d s 系统。两台主机均采用1 0 0 m 网卡,用交叉线直接相连,该测试环境中最 大网络流量可以达到9 0 m 以上。 由于s n o r t 是一个基于l i b p c a p 的应用程序,l i b p c a p 在不同的操作系统平台 由不同的性能表现,我们的n i d s 系统采用性能最好的b s d 系列操作系统 f r e e b s d ,另外考虑到在相同的网络流量环境下n i d s 对较小的数据包处理负担 更重,所以我们用t e p d u m p 采集网络数据的时候,不仅采集了一些小包数据,也 采集了一些数据包较大数据( 如大文件传输) ,使其平均数据包大小接近于最大 以太网数据包长度1 5 1 8 字节的一半。 图3 - 6 给出了对s n o r t 进行性能测试的结果,从图3 - 6 中我们可以看出,s n o r t 在1 0 m - 2 0 m 的网络流量下基本不丢包,但是,随着网络流量的增加,丢包率不 断上升,其最高丢包率可达5 0 。因此,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 网站w w w s n o r t o r g 对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 性能这一方向进行的。 另一方面,根据公安部第三研究所检测中心f ”对国内送检的n i d s 情况分析, 国内目前相当多的n i d s 都是基于s n o r t 的。他们对s n o r t 除了性能上的改进外, 由于商业应用的原因,同时还会提供用户友好的界面和多种方法对s n o r t 检测结 第三章基于s nor t 的两络入侵检测系统介绍2 1 矗五t 避 占一 浙江丁业大学硕一i :学位论文 果进行分析。 5 0 4 0 辫 3 0 震2 0 l o l o2 03 04 05 06 07 08 09 0 流量( m b p s ) 图3 - 6 不同网络流量下s n o r t 的丢包率 根据上面国内外对s n o r t 的研究热点的分析,并结合目前研究入侵检测的新 动向,本文主要对s n o r t 性能和异常两个部分进行研究。 第三章基于s n0r t 的嘲络入侵检测系统介绍 浙江工业大学硕士学位论文 第四章提高检测性能的关键技术分析 4 1 对s n o r t 中的主要函数一洼能分析 我们使用o p r 娟l e 工具1 8 】对s n o r t 中2 1 个主要函数对系统资源的消耗情况进 行了剖析,为了方便实验,我们选用了l i n u x 操作系统,结果如图4 1 所示。与 检测有关的函数包括模式匹配函数和相关处理函数( 图3 4 ) 。其中,m s e a r c h 、 m s e a r c h c i 和u r i s e a r c h 这3 个模式匹配函数,大约占了整个系统时间的3 2 8 ; e v a l h e a d e r 、e v a l o p t s 、c b e e k a n d p a t t e r n 等对规则头进行检查或对规则选项参数 进行处理的函数约占用了2 4 9 的系统时间,两者总共占用了5 8 的系统时间。 而数据包捕获和其他分别占用了2 2 和2 0 的系统时间。 圈4 1s n o r t 性能瓶颈分析 我们知道s n o r t 是通过l i b p c a p 接i :1 来捕获数据包的。l i b p c a p 提供了统一的 与数据包捕获有关的接口函数,它在不同的操作系统上有不同的实现和表现性 能。例如在w i n d o w s 平台l i b p c a p 的接口称为w i n p c a p 库( 其实是一个d l l 文 件) 。由于s n o r t 主要处理网络数据包,和采用什么操作系统平台无关,因此我 们可以采用对l i b p c a p 库表现较佳的操作系统( 如f r e e b s d ) 来运行s n o r t 系统。 另外,我们也可以通过改进硬件来提高s n o r t 数据包捕获性能。下面我们只对如 何提高s n o r t 的检测性能进行分析和研究。 4 2 提高检测性能的关键技术分析 从4 1 节的分析,我们至少可以从两个方面来提高s n o r t 的检测性能:( 1 ) 提 高性能相关函数的执行性能( 如在模式匹配函数中采用更高效的模式匹配算法) : 笫四章提高检测性能的关键技术分析 新江工业大学硕士学位论文 ( 2 ) 减少这些函数的调用次数。 s n o r t 的检测过程实际上就是对根据s n o r t 规则文件构造的二维链表进行搜索 的过程( 参见3 - 3 节) 。处理函数指针是二维链表节点包含的其中一项内容,如 果在一次搜索过程中我们能够减少对二维链表的搜索次数,就能减少对这些处理 函数指针所指的函数集中的函数的调用次数,所以减少与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 在高速环境下的性能问题( 见3 5 节) ,一般采用随机丢弃 一定比例的网络数据包来解决。对于这一点,事实上我们可以选择性地丢弃一些 看起来正常的网络数据包,这种思路可能会更好。 因此,提高s n o r t 检测性能可以从下面三个角度来进行考虑: 1 ) 减少需要检测的网络流量,即:通过对流量数据进行分析,只选择那些可能具 有攻击特征网络流量进行匹配。 2 ) 规则优化,即:通过一定的方式来对规则文件进行优化,减少数据所要匹配的 规则条数。 3 ) 采用效率更高的模式匹配算法,减少模式匹配所花费的时间。 下面几节就i 塞三个方面分别提出改进的方法。 4 3 协议流分析 协议流是指在应用层协议中的客户端和服务器端的通讯。客户到服务器的数 据流称之为客户流;服务器到客户的数据流称之为服务器流,如图4 2 所示。协 议流分析9 1 ,是指根据应用层挤议的特征,将网络上的数据流分成客户流和服务 器流。 服务器流 圈4 - 2 应用层协议分群 笫斟章提高检测性能的关键技术分折 浙江工业大学硕i :学位论文 协议流分析是基于这样的一种假设:来自于受保护的服务器的数据流是可以 信赖的。也就是说,受保护的服务器发出的数据流不需要进行检测。其目的是为 了减少需要检测的网络流量。通过协议流分析,找出那些数据流来自服务器,直 接将其抛弃,从而减少需要检测的数据流量,提高攻击检测的效率。 如在h t t p 协议中,客户端请求流通常为几百个字节;而h t t p 服务器响应 流的数据量,通常在5 0 0 0 字节到1 5 0 0 0 字节,其中的服务器响应头大概只有3 0 0 个字节,剩下的数据是响应负载。有分析表明,h t t p 服务器响应流占整个h t t p 流量的9 5 ,其中服务器响应头一般不到整个h t t p 流量的5 。由于在受保护 的流量中,服务器是可以信赖的,所以响应负载一般不含有攻击特征,不需要进 行检测。这就意味着,总共只有占整个h t t p 流量1 0 ( 5 的客户端数据和约 5 的服务器端响应头数据) 的流量需要检测。对h 1 v r p 协议的分析同样适用于 f t p 协议,而在f t p 流量中我们只需要检测客户端数据即可。因此,我们可以 在s n o r t 中,增加一个协议流分析预处理插件,以减少需要检测的网络流量。 下面我们给出协议流分析的主要算法( 图4 3 ) ,该算法主要步骤如下: 1 ) 检查传输层协议是否为t c p ,如果不是,转到5 ) 。 2 1 检测源端口和目的端1 3 。如果源端口等于w e b 端e l ,且目的端口不等于 w e b 端e l ,则表示该数据包是h t t p 服务器响应流转到3 ) 中处理:如果 源端口不等于w e b 端口,且目的端口等于w e b 端口,则表示该数据包 是h t t p 请求流,转到4 1 中处理。 第四章提高检测性能的关键技术分析 25 浙江工业大学硕:l 学位论文 3 ) 如果该数据包是h t t p 服务器响应流,检查负载的前四个字节的内容是 否等于“h t t p ”。如果不等于,表明该数据包是h t t p 响应负载,不进 行处理;如果等于,则该表明该数据包是h t t p 的应答头,此时对浚数 据包的内容进行规则检查,要检查的内容长度由h t t p 最大响应字节数 ( 该参数蕴含在应答头中) 决定。 4 ) 如果该数据包是h t t p 客户端请求流,则进行h t t p 客户端请求流规则 检查。否则,推出。 5 ) 检查传输层协议是否为f t p ,如果不是,退出。 6 ) 检测源端e l 和目的端口。如果源端口不等于邱端口,而且目的端口等 于f t p 端1 :3 ,则表示该数据包是f t p 客户端流,对该数据包的内容进行 规则检查;否则,退出。 4 4 规则优化技术 4 4 1 规则优化的主要思想 规则优化i l0 】的主要思想是通过将s n o r t 规则集进行一定的优化,使得可以在 数据包进行检测的时候,迅速定位到一个较小的规则集合中进行检测。 为了有效减少对每个数据包进行匹配的平均的规则条数,规则优化必须满足 下面两个条件: 尽可能创建最小且最有效的规则集 创建离散的规则集,从而使对于每个到达的数据包只需检测一个规则集 规则优化的关键是选择合适的特征参数作为划分集合的依据。由于t c p i p 协议是分层实现的,s n o r t 在对数据包进行解析时,会将数据包中对应于t c p i p 协议各层的内容放在p a c k e t 数据结构中( 见3 3 节) 。协议解析的过程实际上就 是沿着图4 4 所示的协议树,从根结点寻找叶子节点的过程,并把相关的数据填 充p a c k e t 数据结构。所以我们可以选择一些协议特征作为划分集合的依据( 如 端口,协议选项等) 。 图4 4 协议树示意图 籀心章提高检测性能的关键技术分析 浙江工业大学颀j :学位论文 4 4 2 规则集的划分 s n o r t 主要检测i p 、i c m p 、t c p u d p 等t c m p 协议。对于t c p 协议来说, 根据源端口和目的端口的不同,可以使规则集具有唯一性:而对于i c m p 协议来 说,根据规则中i c m p 的类型就能使它具有唯一性。规则优化主要根据这些参数 形成规则子集。这样,就可以为规则检测引擎提供更小的规则集进行检测。更重 要的是,它能够根据包的特征为每个数据包选择唯的一个规则子集。下面我们 按s n o r t 检测使用的协议分类详细讨论优化方法。 1 特征参数的选取 t c p u d p 协议 t c p u d p 协议最具有唯性的属性就是源端口和目的端口。端口号通常被 分成两种:保留端口号( 1 到1 0 2 4 ) 和非保留端口号( 1 0 2 4 以上) 。主机之间的大部 分t c p u d p 通讯都是在一个保留端口( 通常是服务器端) 和一个非保留端口( 通常 是客户端) 之间进行的。因此,可以使用保留端口作为一个表征参数来进行规则 优化,譬如将规则集分为端口为8 0 的规则子集、端口为2 3 的规则子集等。这样 就可以在对数据包进行规则检测的时候,根据源端口或者目的端口中是否有保留 端口来选择相应的规则集。 但由于t c p u d p 是一个双向的通讯,即:存在客户端和服务器端之分。所 以在按保留端口进行规则优化的基础上,需要进一步根据源端口是保留端口,还 是目的端口是保留端口,将规则集进行分组。即规则集分为两个子集:源端口是 保留端口的规则集和目的端口是保留端口的规则集。 譬如,如果一个h t t p 流的源端口是8 0 ,就能把它定位到源端口为8 0 的规 则集上进行检测,如果目的端口是8 0 ,就台s 把它定位到目的端口为8 0 的规则 集上进行检测。 i c m p 协议 对于i c m p 协议,我们使用i c m p 类型字段作为i c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论