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

(计算机应用技术专业论文)基于windows环境网络入侵防御系统的研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着计算机技术和网络的发展,网络已日益成为生活中不可或缺的工具,在 给用户带来方便的同时也使得维护网络中主机的安全变得更加困难,从近期网络 安全事件对网络造成的巨大破坏中可以感受到,目前单一的防火墙加入侵检测系 统策略,已无法满足对网络安全要求较高的部门之需。为了更好的保护网络用户 主机上信息的安全,布置于主机上的入侵防御系统就显得越来越重要了。也正是 在此背景下,入侵防御系统成为安全领域研究的热点。 入侵防御系统是近两年新兴起的一种网络安全技术。它比防火墙和入侵检测 系统具有更高的主动性,具备一定程度的智能性,能够保护计算机网络系统免受 未知类型的攻击。目前,以w i n p c a p 为代表的网络数据包的捕获和分析系统的研 究由于其技术的开放性还在不断地进行着。而且随着网络技术的不断革新,对这 个应用最广泛的系统进行跟进性的研究,不但有利于对其本身的完善还为持续发 展和变化的网络安全问题提供了最新的解决方案。 本文首先对入侵防御系统的概念进行了简单介绍,对基于主机和网络的两种 入侵防御系统以及它们目前的国际国内研究现状进行了介绍并加以分析。然后对 本文系统进行了总体设计,并确定了三个主要模块数据包截获模块、数据包 分析模块和数据包处理模块。通过对w i n p c a p 的原理和结构的研究以及w i n p c a p 与n d i s 结合的方法实现了数据包截获技术;又通过逐层的协议分析方法对截获 的数据包根据不同层次的协议不同进行分析,主要分析了i p 、t c p 、u d p 和i c m p 协议;再通过特征匹配实现对符合特征的数据包做丢弃处理。最后通过实验证实 系统截获数据包并对其加以分析的能力,对于一些特征行为阻止的有效性。并分 析了系统目前存在的几个问题。、 关键词入侵防御;数据包截获;w i n p c a p :协议分析 a b s t r a c t a b s tf a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g ya n dn e t w o r k ,t h en e t w o r k h a sa l r e a d yb e c o m eat o o lw h i c hi si n d i s p e n s a b l ei no u rl i f e ,i tt a k e s c o n v e n i e n c et ot h eu s e r sa n di tm a k e st h em a i n t e n a n c e f o rt h en e t w o r k s e c u r it yb e c o m em o r ed if f i c u lta tt h es a m eti m e w ec a nf e e l t h a tt h e f i r e w a l la n di d sa r en o te n o u g ht os o m ed e p a r t m e n t sw i t hh i g hn e t w o r k s e c u r i t yl e v e l f o rm a k i n gt h ei n f o r m a t i o no fu s e r sm o r es a f e t y ,i n t r u s i o n p r e v e n t i o ns y s t e m ( i p s ) w h i c hd e p l o yo nt h eh o s tb e c o m em o r ea n dm o r e i m p o r t a n t t h ei p sb e c o m e saf o c u so fi n f o r m a t i o ns e c u r i t yf i e l dw i t ht h i s c o n t e x t i p si san e wn e t w o r ks e c u r i t yt e c h n o l o g y i th a sm o r ei n i t i a t i v et h a n f i r e w a l la n di d s i p si si n t e l l i g e n ti nac e r t a i ne x t e n t i tc a na b s t a i n c o m p u t e rn e t w o r ks y s t e m sf r o mu n k n o w ni n t r u s i o n n o w a d a y s ,t h er e s e a r c h o ft e c h n o l o g yo fc a p t u r i n ga n da n a l y z i n go fn e t w o r kd a t at h a tb a s e do n w i n p c a pi sk e e pg o i n gf o ri t i so p e ns o u r c e ,i ti sb e n e f i tt on o to n l y t h ee v o l u t i o no ft h i s1 i b r a r yb u ta l s ot ot h ea f f o r d i n go fl a s ts o l u t i o n f o rt h en e t w o r ks e c u rit yp r o ble m f i r s to fa l li nt h i sp a p e r ,ii n t r o d u c et h ec o n c e p to fi p sa n da n a l y z e t h er e s e a r c hs t a t u si nt h ew o r l da n dc h i n a t h e nid e s i g nt h es y s t e mo f m i n ew i t ht h r e em a i nm o d u l e s p a c k e t c a p t u r em o d u l e ,p a c k e ta n a l y s i s m o d u l ea n dp a c k e tm a n a g em o d u l e ih a v ed o n es o m er e s e a r c hi nt h ep r i n c i p l e a n dt h es t r u c t u r eo fw i n p c a p ao p e nr e s o u r c ed e v e l o pk i t ,a n dd ot h e p a c k e t sc a p t u r ew i t h t h em e t h o di nw i n p c a p ;a n a l y z et h ep r o t o c o lo f p a c k e t sw h i c hc a p t u r e db yt h ep a c k e tc a p t u r em o d u l el a y e rb yl a y e r id o m o s to fm yw o r ki np r o t o c o li p ,t c p ,u d pa n di c m p ;r e j e c ts o m ea c t i v i t i e s w i t he v i d e n c ei m p r e s s e st om a n a g et h ep a c k e t s a tt h e e n do ft h i sp a p e r , id oa ne x p e r i m e n tt ot e s tt h ea b il it yo ft h es y s t e ma n dt h er e s u l ts h o w s t h a tt h es y s t e mc a nm a k ec o m p u t e r sg e t t i n gr i do fs o m eu n a l l o w e db e h a v i o r s ip o i n tt h ep r o b l e m so ft h i ss y s t e mi nt h i sp a p e ra t l a s t k e yw o r d si n t r u s i o np r e v e n t i o n ;p a c k e tc a p t u r e : w i n p c a p ;p r o t o c o l a n a l y s i s i i i 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 己在论文中作了明确的说明并表示了谢意。 弛勰嘲脚 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:五雄导师签名:血日期:- 脚 第1 章绪论 第1 章绪论 1 1 应用背景概述 信息技术的飞速发展将人类社会带入了信息时代。计算机网络融入到人类社 会的方方面面,包括政务、国防、金融、工商、能源、交通、公用事业等关乎国 计民生的重要部门以及数以亿万计的普通家庭用户。计算机网络已经成为一个国 家、一个企业发展的最重要的基础设施之一。与此同时,计算机网络本身的安全 问题也日益严重【l 】。 传统上网络系统的安全主要由防火墙和入侵检测两大支柱技术来保障【2 】,这 两大技术对网络系统的安全都曾经起到重大的作用,为维护网络系统的安全做出 过巨大的贡献。另一方面,网络攻击技术也在不断的发展,出现了小分片攻击、 慢扫描、分布式拒绝服务攻击等新的攻击技术,甚至还出现了专门攻击防火墙与 入侵检测系统等网络安全软件的攻击程序,这一切都对传统的网络安全技术提出 了挑战,对网络安全技术的发展提出了新的要求。同时,防火墙和入侵检测系统 自身也存在一些固有的弱点,使得自身的发展受到限制。如防火墙本身容易受到 攻击,且对于内部网络出现的问题经常束手无策,据统计大于3 5 的网络攻击是 针对具有防火墙的系统,且有近7 0 的攻击是从内部进行的:防火墙的安全策略 是静态的,不能够适应实时变化的动态网络安全环境的需要等。入侵检测系统是 保障网络正常运行的重要工具,具有识别入侵特征和安全审记等功能,入侵检测 系统可以检测出已知的和未知的入侵,是一种主动式安全检测技术【3 】。人们一度 曾经寄希望于入侵检测系统可以一劳永逸的解决网络入侵问题,但事实结果确并 不理想。入侵检测系统可以分为两大类,异常入侵检测系统和误用入侵检测系统, 由于检测误差的存在,异常入侵检测系统会产生较高的误报率,从而产生大量的 警报,使真正的入侵信息淹没在虚假的警报信息中:而误用入侵检测系统会出现 较高的漏报率,不能检测到未知的入侵:同时,由于入侵检测系统必须要对网络 中所有通过的数据包进行检测,而检测本身又是一个非常耗时的过程,这就使得 入侵检测系统本身的负载量非常大,导致检测效率的下降和引起网络性能的瓶颈: 另外,入侵检测系统虽然具有响应模块,但入侵检测系统的响应技术的发展严重 滞后,大量的入侵信息不能够自动处理,必须要人工干预,人工处理的速度很慢, 效果很差,这也影响了人们对i d s 性能的信心【4 】。 目前第三种重要的网络安全技术一一入侵预防系统i p s ( i n t r u s i o n p r e v e n t i o ns y s t e m ) 己经产生【5 1 。世界著名市场调研公司g a r t n e r 在对网络安全 北京工业大学工学硕七学位论文 市场调查之后,发表评论认为,i p s 入侵预防系统将会成为下一代的网络安全技 术。i p s 具备一定程度的智能处理功能,能够防御住未知的攻击,是一种比防火 墙和功能更为主动的防御系统。 1 2 入侵防御系统概述 1 2 1ip s ( in t r u sio np r e v e n tio ns y s t e m ) 简介 i p s 是一种主动的、积极的防御入侵的系统,它部署在网络的关键路径上, 检测通过它的网络流量。当检测到攻击企图时,它会自动地将攻击包丢掉或采取 措施将攻击源阻断【5 1 。相对于i d s 的被动检测及误报等问题,i p s 是一种比较主 动、机智的防御系统。从功能上讲,作为并联在网络上的设备,绝大多数i d s 一 般需要与防火墙联动或发送t c pr e s e t 包来阻止攻击。而i p s 本身就可以阻止入 侵的流量。从技术上讲,i d s 系统在识别大规模的组合式、分布式的入侵攻击方 面,还没有较好的方法和成熟的解决方案,误报与漏报现象严重,用户往往淹没 在海量的报警信息中,而漏掉真正的报警;此外,i n s 只能报警而不能有效采取 阻断措施的设计理念,也不能满足用户对网络安全日益增长的需求。相反,i p s 系统则没有这种问题,它的拦截行为与其分析行为处在同一层次,能够更敏锐地 捕捉入侵的流量,并能将危害切断在发生之前。从i n s 到i p s ,这是必然的趋势。 简单地理解,可认为i p s 就是防火墙加上入侵检测系统。i p s 能对防火墙所不能 过滤的攻击进行过滤。i p s 的检测功能类似于i n s ,但i p s 检测到攻击后会采取 行动阻止攻击,可以说i p s 是基于i d s 的、是建立在i n s 发展的基础上的新生网 络安全产品。但“i d s + 防火墙 的联合防御与i p s 会在今后相当长的时间内并存, i p s 的发展势头会更好一些。但i p s 并不是防火墙的替代者,至少在当前,i p s 与防火墙的互补作用还十分明显,防火墙负责提供3 - 4 层的基本安全环境和高速 转发能力,而i p s 负责4 至7 层流量的小粒度控制。事实上,在大流量背景下, 对于4 - 7 层的流量进行分析和过滤是不现实的,只有高性能的防火墙系统才能为 网络提供必要的防护。因此,i p s 更加适用于中等规模的网络,以及作为大型网 络中的第二层防护,用以保护关键的业务和应用【6 】。 入侵防御技术应具有以下四点特征:以嵌入模式运行的i p s 设备才能够实现 实时的安全防护,实时阻拦所有可疑的数据包;i p s 必须具有深入分析能力,以 确定哪些恶意流量已经被拦截,根据攻击类型、策略等来确定哪些流量应该被拦 截;高质量的入侵特征库也是i p s 高效运行的必要条件;i p s 还必须具有高效处 理数据包的能力。 第1 章绪论 1 2 2ip s 结构 完整的i p s 包括以下几个模块【7 】: 1 ) 数据采集模块,它的重要功能是以防火墙过滤后的数据包为数据源,仅对 符合安全策略的流量进行入侵检测,减少了需检测的数据包数量,并把过滤后的 数据源送到检测引擎模块。 2 ) 对比规则库,检测引擎模块将检测是否存在异常的数据包,如果存在,检测 引擎将以日志的形式把它写入到数据库中,并把警报发送给安全管理器。 3 ) 检测引擎模块是i d s 终端中的一个主要的模块,它又包括4 个子模块:协议 解码,预处理,数据检测,规则分辨。协议解码主要处理数据采集模块发送过来的 数据包,并把它们存储到相关的数据结构中供下面的模块使用,它同时也检查这 些数据包,并丢弃错误的数据包。 4 ) 预处理模块主要是处理数据包,使它们的分析变得容易。通过预处理,我们 能够找出一些有特别特征并且不能通过规则匹配模式检测出的攻击行为。 5 ) 规则分辨模块主要是对规则库中的规则进行解码,并把它们存储到相关的 数据结构中1 8 1 。 6 ) 数据检测模块主要是接收预处理后的数据包,并和检测规则中的规则进行 比较。如果匹配成功,就意味着发现了一个入侵行为,系统将把入侵行为告知管理 器,并且把这些信息写入到管理器中供后面的安全管理器进行进一步的研究【9 】。 1 2 3 p s 简介 n i p s 可从功能上简单地理解为个人防火墙加上网络入侵检测系统( n i d s ) 1 0 1 。但是和现在大多数防火墙( 能提供网络地址转换、服务处理、流量统计等 功能,甚至有的防火墙还能提供v p n 功能) 比较起来【l l 】,n i p s 的个人防火墙功 能比较单一,可以认为是一个粗粒度的数据包过滤器。它工作在数据链路层和网 络层之间,可以行使第一层防御的功能。n i p s 系统通过检测入侵模块实施第二 层防御功能1 2 1 。 n i p s 和n i d s 的不同目的,决定了它们有很大的不同,特别是在对网络数据 包的采集方式上是完全不同的1 1 3 】。n i d s 得到网络数据包的方式实际上是实现了 “拷贝”这个功能,即它得到是数据包的一个“复本 ,而“源本”则按照原 先的流程传送【l5 1 。而n i p s 对数据包是“阻塞 1 1 6 1 ,即数据包在底层暂停传输, 气 北京工业大学丁学硕卜学位论文 接受检测,若是安全规则中禁止通过的或与攻击特征匹配的就会自动阻止该数据 包的传送,同时它还可以针对高风险攻击自动修改过滤规则,实现动态数据包过 滤器的功能,达到一定程度的智能化防御。 对n i p s 必须解决好的两大难题是:避免成为网络瓶颈和减少误报率。网络瓶 颈是由于n i p s 要阻塞所有数据包而引起的,如果处理速度不够快,用户肯定不 会满意。因此,系统不能给正常的数据包传输带来太长的时延,最好是让用户几 乎感觉不到这个阻塞过程,但又不能丢下可疑的数据包不处理。同时,这里n i p s 对准确性的要求比i d s 更高,因为误报可能会阻断合法的网络事务处理,从而导 致正常数据丢失或业务丢失,产生用户不信任的情况。误报和漏报是人们对i d s 产品最为不满的两个方面。本文设计的n i p s 直接部属在目标主机上,只需要阻 塞属于自己的数据包,所以它对系统的资源占用远少于处于混杂状态的n i d s 和 网络入口处的n i p s ,因为它们要处理的是目标网络段上的所有数据包【17 1 。另外 本文采用了高效率的数据包阻塞方案和协议分析融合模式匹配的检测技术,在这 两方面都有所改进和提高。 1 2 4 p s 简介 所谓的主机入侵防御系统,其实就是一个安装在被保护主机上的一个代理软 件。它对那些企图妨碍、危害、瘫痪和破坏主机安全的未授权的活动采取积极的 识别和反应。它对企图入侵主机服务器或者桌面笔记本系统的行为进行检测和 作出适当的反应【l 引,h i p s 通过对到达主机的网络数据包和运行在主机上的应用 程序的行为进行全面的检查来弥补防火墙或者杀毒软件的不足。 1 3 网络入侵防御系统的意义 n i p s 实现实时检查和阻止入侵的原理在于n i p s ( n e t w o r ki n t r u s i o n p r e v e n t i o ns y s t e m ) 拥有数目众多的过滤器【6 j ,能够防止各种攻击。当新的攻击 手段被发现之后,i p s 就会创建一个新的过滤器。如果有攻击者利用l a y e r2 ( 数 据链路) 至l a y e r7 ( 应用) 的漏洞发起攻击,n i p s 能够从数据流中检查出这些攻击 并加以阻止。传统的防火墙只能对l a y e r3 或l a y e r4 进行检查,不能检测应用层 的内容【l 引。防火墙的包过滤技术不会针对每一字节进行检查,因而也就无法发现 攻击活动,而n i p s 可以做到逐一字节地检查数据包。所有流经n i p s 的数据包都被 分类,分类的依据是数据包中的报头信息,如源i p 地址和目的i p 地址、端口号和应 用域。每种解析器负责分析相对应的数据包。通过检查的数据包可以继续前进, 第l 章绪论 包含恶意内容的数据包就会被丢弃,被怀疑的数据包需要接受进一步的检查。这 样就保证了检查的正确性相对较高。 1 4 国内外信息安全技术概述及研究现状 个人用的i p s 分为三类: a d ( a p p l i c a t i o nd e f e n d ) 应用程序防御体系;r d ( r e g i s t r yd e f e n d ) 注册表 防御体系;f d ( f il ed e f e n d ) 文件防御体系。它们通过可定制的规则对本地的运 行程序、注册表的读写操作、以及文件读写操作进行判断并允许或禁止【2 们。 1 4 1 国外研究现状 从n e t w o r k l c e 公司在2 0 0 0 年9 月1 8 日推出了业界第一款i p s 产品一 b l a e k l c e g u a r d 开始,i p s 在欧美这些发达国家取得了快速的发展,欧美一些安 全大公司通过收购小公司的方式来获得i p s 技术,推出自己的i p s 产品。比如 1 5 5 公司收购n e t w o r k l c e 公司,发布了p r o v e n t i a :n e t s e r e e n 公司收购 o n e s e e u r e 公司,推出n e t s e r e e n i d p :m e a f e e 公司收购i n t r u v e r t 公司,推 出i n t r u s h i e l d 。思科、赛门铁克、t i p p i n g p o i n t 等公司也发布了i p s 产品。随 着产品的不断发展和市场的认可,越来越多的产品具有了i p s 的功能,由于其定 位不同,逐渐形成三大集团。第一集团是入侵检测保护厂商。他们对入侵检测 保护技术有深入研究,比较典型的厂商和产品代表有1 5 5 公司的p r o v e n t i a 系列、 m c a f e e 公司的i n t r u s h i e l d 系列产品。第二集团是集成网关厂商。他们基于防 火墙的网关访问控制能力,在网关中加入多种功能模块,其中很重要的一个就是 i p s 功能。代表产品有n e t s c r e e n 公司的i d p 产p a n 、s o n i c w a l l 公司的i p s 产 品和安氏公司的l i n k t r u s t b o r d e :p r o t e e t o r 产品等。第三集团是负载均衡厂商。 他们基于对t c p i p 协议的七层分析,在其负载均衡产品中加入对某些攻击的防御 模块,比如t o p l a y e r 公司的a t t a c km i t i g a t o ri p s 系列产品,r a d w a r e 公司的 s y n a p p 产品。 1 4 2 国内研究现状 目前国内市场的i p s 产品几乎都是国外的产品或者是o e m 国外的产品,作为 网络出口处一个重要的安全产品,如果没有自主的核心技术,对于政府、金融和 大型国有企业等涉及国家敏感信息的行业是根本不能够接受并使用的。绿盟科技 自成立以来一直潜心研究国内外顶尖的安全技术,拥有众多安全专家的独立安全 研究部门n sf o c u s 安全小组,一直都关注着i p s 技术的发展。经过多年的技术 积累和艰苦研发,绿盟科技在2 0 0 5 年9 月推出了冰之眼网络入侵保护系统 i c e y e n i p s ,这是国内安全厂商推出的第一个拥有自主知识产权的i p s 产品,打 北京工业大学工学硕士学位论文 破了目前国内i p s 市场由国外产品垄断的局面。绿盟科技的冰之眼网络入侵防御 系统通过新型的入侵保护技术,能够有效地阻断攻击,保证合法流量的正常传输。 冠群金辰软件有限公司是一家专业的信息网络安全公司,有着长期的信息安全建 设和管理的实践经验,公司也从最早的防计算机病毒领域全面转型到提供整体的 信息安全解决方案。在这个转型过程中,其开发的信息安全产品也随着整体安全 解决方案的需求不断充实,到目前已经逐步形成三大系列七大产品。这其中就包 括其提供的主机系列安全产品一龙渊主机核心防护( e a c ) ,这是目前国内h i p s 产 品的代表之作。其综合利用多种安全保护机制,在应用程序和操作系统之间建立 起一个安全的校验通道,确保对操作系统资源的合法访问,除此之外的任何行为 都将被拒绝并报警。 1 5 本章小结 本章首先对入侵防御系统的应用背景进行了概述,然后对入侵防御系统的结 构、h i p s 、n i p s 以及基于主机的入侵防御系统的意义分别进行了介绍,最后分 析了国内外研究现状并对本文的主要研究工作做了总结。 第2 章系统的结构设计 第2 章系统的结构设计 2 1 总体设计 本文设计的系统对数据包的操作主要有三个步骤:数据包捕获、数据包分析 和数据包处理。其结构也是基于这三个步骤的顺序结构,数据包在系统中的流向 大体如下图。 i 应用程序 j l j l l 数据包捕获模块 丢弃 j 网卡 数据包 图2 - 1 数据包处理过程 p i c t u r e2 1p a c k e tt r a n s a c tp r o c e s s 其中数据包捕获模块布置在本机网络入口处,将本机网卡设置成混杂模式后 对通过网卡的与本机有关的数据包和广播包捕获。然后将捕获到的数据包送到数 据包分析模块,分析模块根据数据包的特点对数据包进行分析,将数据包按协议 不同分类,并将其送入数据包处理模块。处理模块将数据包根据协议不同与预先 定义的规则或该协议拒绝访问特征库中数据进行比对,然后根据比对结果对数据 包进行处理,不符合拒绝访问特征的数据包送入应用程序中正常使用,而对于符 合拒绝访问特征的数据包则采取丢弃处理 2 h 。 北京t 业大学t 学硕十学位论文 图2 2 系统总体结构图 p i c t u r e2 。2t h es t r u c t u r eo f t h es y s t e m 系统的总体结构图如上图所示,其中包捕获模块嵌入到中间层驱动程序中, 因为中间层驱动程序横跨数据链路层到传输层,所以这样能够保证它捕获到较为 底层的数据包。数据包被捕获后存入缓冲区,并顺序的被送到数据包分析模块中, 数据包分析模块通过对数据包逐一字节的分析确定数据包的各层协议,数据包处 理模块将其按照各层协议所规定的攻击特征来决定每个数据包的处理方式。最后 再将没有问题的数据包交给上层的应用程序。 2 2 数据包截获模块 所有基于w i n d o w s 操作系统的个人防火墙,其核心技术一般是基于w i n d o w s 操作系统下网络数据包的拦截技术瞄】。但是这些技术或多或少的存在着某些缺 陷,如基于s p i ( s e r v i c ep r o v i d e ri n t e r f a c e ) 技术的只能捕获应用层的数据, 基于t d i ( t r a n s p o r td r i v e r si n t e r f a c e ) 技术的不能接收更为底层的数据包 ( 如i c m p ) ,基于中间层驱动程序技术的防火墙安装却又十分麻烦,而且很容易造 成网络瘫痪。而本文使用的n d i s 与w i n p c a p 结合的数据包截获技术就很好的避 免了这些缺陷。既能捕获从链路层开始的所有数据包,又是利用w i n p c a p 开源开 发包中的一些数据结构和函数,既简单又高效。 第2 章系统的结构设计 i l 应用 i 丁 l w 帅p 丁 i p a c k e t d l l t 抓包程序 千 网络数据包 用户层 核心层 网卡 图2 - 3 数据包捕获原理 p i c t u r e2 - 3p a c k e tc a p t u r ee l e m e n t s n d i s 支持多种工作模式,支持多处理器,提供一个完备的n d i s 库 ( l i b r a r y ) 。但库中所提供的各个函数都是工作在核心模式下的,用户不宜直接 操作,这就需要寻找另外的接口。而采用n d i s 与w i n p c a p 结合的方式就可以解 决这一问题。利用w i n p c a p 进行网络数据包的捕获和过滤的设计步骤如下: 1 ) 打开网卡,并设为混杂模式。 2 ) 回调函数n e t w o r kt a p 在得到监听命令后,从网络设备驱动程序处收集 数据包把监听到的数据包负责传送给过滤程序。 3 ) 当p a c k e tf il t e r 监听到有数据包到达时,n d i s 中间驱动程序首先调 用分组驱动程序,该程序将数据传递给每一个参与进程的分组过滤程序。 4 ) 然后由p a c k e tf i l t e r 过滤程序决定哪些数据包应该丢弃,哪些数据包 应该接收,是否需要将接收到的数据拷贝到相应的应用程序。 5 ) 通过分组过滤器后,将数据未过滤掉的数据包提交给核心缓冲区。然后 等待系统缓冲区满后,再将数据包拷贝到用户缓冲区。监听程序可以直接从用户 缓冲区中读取捕获的数据包。 具体的实现将在第三章中介绍。 2 3 数据包分析模块 北京t 业大学t 学硕十学位论文 数据包分析模块主要采取的是协议分析技术,协议分析的基础是t c p i p 协 议。首先面对的是网络以太帧,经过处理成为i p 数据包,而后根据实际的需要 进行进一步的分析过滤得到t c p 或u d p 的数据包,在根据具体的应用协议对于数 据包的内容进行重新的拼接,整合恢复成实际的数据。网络协议是分层实现的, 因此在网络监控系统中进行协议分析必然也是分层进行的。t c p i p 通常被认为 是一个四层的协议系统 2 3 1 ,如下图所示。 应用层 传输层 网络层 链路层 h t t p 、f t p 、和e - m a i l 等 t c p 和u d p l p 、i c m p 和i g m p 设备驱动程序和接口卡 图2 4t c p i p 协议族的四个层次 p i c t u r e2 - 4l a y e r so ft c p i pp r o t o c o l 每一层负责不同的功能,因此在数据包分析模块中,就需要根据需要对于不 同的层次进行分析。 1 ) 链路层,有时也称为数据链路层或网络接口层,通常包括操作系统中的 设备驱动程序和计算机中对应的网络接口。链路层的网络数据称为以太帧,可以 从链路层的数据中获取通信双方计算机的m a c 地址。 2 ) 网络层,有时也叫互联网层,处理分组在网络中的活动,例如分组的选 路。在t c p i p 协议族中,网络层协议包括i p 协议,i c m p 协议,以及i g m p 协议 ( i n t e r n e t 组管理协议) 。在这一层可以获取网络通信双方的i p 地址和网络 数据包的总长度。 3 ) 传输层,这一层主要为两台计算机上的应用程序提供端到端的通信。在 t c p i p 协议族中,又两个互不相同的传输协议:t c p ( 传输控制协议) 和u d p ( 用户数据报协议) 阱】。t c p 为两台计算机提供高可靠的数据通信。它所做的工 作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认收到 并分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端 到端的通信,因此它可以忽略所有细节。而u d p 则为应用层提供一种非常简单的 服务。它只是把数据报分组从一台主机发送到另一台,但并不保证该数据报能到 达另一端。任何必需的可靠性必须由应用层来提供。在系统的实现中,如果需要 对于应用协议进行分析,必须先要对于运输层的协议进行分析,在执行这个工作 第2 章系统的结构设计 的时候,就可以根据要分析的具体协议对于运输层的数据进行处理,例如当系统 仅仅需要对于h t t p 数据进行处理的时候,在运输层协议分析的时候就可以将多 余的u d p 数据过滤掉,这样就减少了实际的数据处理量。 4 ) 应用层,负责处理特定的应用程序的细节。几乎各种不同的t c p i p 实现 都会提供下面这些通用的应用层程序,h t t p 、f t p ( 文件传输协议) 、s m t p ( 简 单邮件传输协议) 、t e l n e t ( 远程登录) 、s n m p ( 简单网络管理协议) 等【2 5 1 。 协议分析技术旨在利用网络协议的高度规则性快速探测攻击的存在。这种技 术导致所需计算的大量减少,即便在高负载的网络上,也可以完全探测出各种攻 击,并对其进行更详细的分析而不会丢包。数据包分析模块意在做到: 1 ) 解析命令字符串 通过协议解析,可以获得数据包中与入侵命令相关的字段的起始地址,并交 给数据包处理模块作进一步判断。 2 ) 协议确认 在基于协议分析的i p s 中,各种协议都被解析,协议分析与命令解析带来的 好处还包括:当系统提升协议栈来解析每一层时,它用已获得的知识来消除在数 据包结构中不可能出现的攻击【2 6 1 。比如传输层协议是t c p ,那就不用再搜索其他 第四层协议( 如u d p ) 上形成的攻击。如果数据包最高层采用的s n m p 封装,那就 不用再寻找t e l n e t 或h t t p 攻击。这样做的结果是性能得到明显改善。 3 ) 降低误报率 当数据包的一些字符串符合攻击特征库时系统就会报警,但该字符串实际上 根本不是一个攻击,这就属于攻击误报。这样的误报在基于协议分析的系统中发 生的概率被降低,因为它们知道和每个协议有关的潜在攻击的确切位置。我们将 对t c p i p 协议栈内的部分协议进行解析,从链路层入手,解析引擎对t c p i p 协 议簇内的主要协议进行解析阳,本文设计的系统中可以分析的协议在链路层是 以太网协议,网络层是i p 协议和a r p 协议,传输层是i c m p 协议、u d p 协议和t c p 协议。 2 4 数据包处理模块 数据包处理模块就是在数据包分析模块的基础上根据其对数据包的分析结 果将数据包按协议分类,不同协议的数据包匹配不同规则库中的规则,然后进行 相应的处理。 在本文设计的系统中并未采用流行的模式匹配算法,而只是采用严格一致的 匹配方法将截获的数据包和特征库中的特征进行比较。这样做的原因是本系统旨 在对特征明显的攻击或受限操作进行防御。根据协议不同收集各个协议下的攻击 北京工业大学工学硕士学位论文 特征建立攻击特征库,再根据协议分析的流程在每层分析后将数据包与其对应的 协议攻击特征库中特征进行对比,如果匹配成功则将该数据包丢弃;若匹配不成 功则说明该数据包在本层上不符合攻击特征,继续下一层的分析直到所有层都没 有问题后传送给应用程序。 2 5 本章小结 本章对本文设计的系统的总体结构进行了简单的介绍,同时对系统各个模 块:数据包截获、分析和处理模块所需要做的工作及实现思路进行了概述。 第3 章系统关键技术及实现 第3 章系统关键技术及实现 3 1n dls 及中间层驱动程序技术 在w i n 3 2 环境下,要实现数据链路级的数据捕获需要使用驱动程序。一些高 层的接口最多只能捕获到i p 层的数据,而不能看到更底层的数据头信息。微软 开发了网络驱动程序接口规范( n d i s ) 【2 8 】,大大方便了网络驱动程序的编写,并 且通过使用n d i s ,驱动程序具有了平台兼容性。 n d i s ( n e t w o r kd r i v e ri n t e r f a c es p e c i f i c a t i o n ) 是m i c r o s o f t 和3 c o m 公 司开发的网络驱动程序接口规范【2 9 】。它为w i n d o w s 下网络驱序程序的开发带来 许多方便,编写符合n d i s 规范的驱动程序时,只要调用n d i s 函数,而不用考虑操 作系统的内核以及与其他驱动程序的接口问题,为操作系统对不同网络的支持提 供了方便。w i n d o w s 使用n d i s 函数库实现n d i s 接口,所有的网络通信最终必须 通过n d i s 完成。n d i s 负责上下层驱动程序间服务原语和驱动程序入口之间的转 换,分派消息通知,保证符合n d i s 的驱动程序无需知道其它驱动程序的入口就可 以与之通信。n d i s 横跨传输层、网络层和数据链路层。 微软提供了以下几种标准接口编程方式: ( 1 ) 小端口驱动程序( m i n i p o r td r i v e r s ) ( 2 ) 中间驱动程序( i n t e r m e d i a t ed r i v e r s ) ( 3 ) 协议驱动程序( p r o t o c o ld r i v e r s ) ( 4 ) t d i ( 传输层驱动程序接口) 传输层过滤驱动程序t d if i l t e r ,常见的 t c pf i l t e rd r i v e r 即属此类【3 们。 小端口驱动程序,可以通过n d i s 接口来完成对网卡的操作,同时开放 m i n i p o r t 接口供上层驱动程序调用。可以用m i n i p o r t 和p r o t o c o l 驱动程序来 实现网卡驱动。 中间驱动程序,位于m i n i p o r t 驱动程序和p r o t o c o l 驱动程序之间,中间驱 动程序同时具有m i n i p o r t 和p r o t o c o l 两种驱动程序接口。中间驱动程序在自己 的上下两端分别开放出一个m i n i p o r t 接口和一个p r o t o c o l 接口,上面的 m i n i p o r t 接口同上层驱动程序的p r o t o c o l 接口进行对接;下面的p r o t o c o l 接 口同底层驱动程序的m i n i p o r t 接口进行对接,这样中间驱动程序就在两个驱动之 间插入一层中间层。 利用n d i s 中间驱动程序,可以在网卡驱动程序和传输驱动程序之间,插入一 层自定义驱动程序( 类似t c p i p s y s ) ,从而,可以截获网络封包,并重新进行封 包、加密、网络地址转换、过滤、认证等操作。由于n d i s 中间驱动程序位于网 北京工业大学工学硕。 :学位论文 卡和传输驱动程序之间,所以,它可截获较为底层的封包。从而可以完成更为低级 的操作。但是也正因为如此,它有一个弱点,就是编程接口复杂,而且编写出来的 软件自动化安装太困难,很容易造成整个网络瘫痪,所以目前个人防火墙的产品 还很少用到这种技术。 协议驱动程序,开放p r o t o c o l 接口供底层驱动程序调用,实现p r o t o c o l 接 口与m in i p o r t 接口的对接。协议驱动程序执行具体的网络协议,如i p x s p x 、 t c p i p 等,协议驱动程序为传输层提供m i n i p o r t 接口,接收来自网卡或中间驱 动程序的信息。 t d i 传输驱动程序,通常用于封包过滤,也是防火墙和v p n ( v i r t u a lp r i v a t e n e t w o r k ) 软件常用的技术。但是它有一个缺陷:t d if i l t e rd r i v e r 属于u p p e r d r i v e r ,位于t c p i p s y s 之上,这就意味着由t c p l p s y s 接收并直接处理的数据 包,不会传送到上层,从而无法过滤某些接收的数据包,例女i i c m p 包。i c m p 的应 答包,直接由t c p l p s y s 生成并回应,而上面的过滤驱动程序则全然不知。 传输驱动程序 比如:r c p 口 p r o t o c o l 接口 j l ) i s 1r m m i p o m 接口 网卡驱动程序 安装前 传输驱动程序 比如:t c p 仰 p r o t o c o l 接口 n d i st m i n i p o r t 接口 n d i弓 p r o t o c o l 接口 n d i st r m i n i p o n 接口 网卡驱动程序 安装后 图3 - 1n d i s 中间驱动程序安装前后的对比结构示意图 p i c t u r e3 1c o n t r a s to fb i d i sd r i v e ri n s t a l l e do fn o t 3 2 数据包捕获技术 本系统在捕获通过网卡的数据包时采用了结合开源w i n p c a p 开发包的方法, 下面将具体介绍本文所用到得数据包捕获技术。 3 2 1w in p c a p 的原理和结构 第3 章系统关键技术及实现 w i n p c a p 的体系结构如下图所示3 1 1 。由w i n p c a p 体系结构图可以看出它采用 的是分层化的驱动程序模型,并包含有三个组件:内核级的数据包捕获驱动程序 ( n p f s y s n p f v x d ) ,低级的动态连接库( p a c k e t d 1 1 ) 和高级系统无关库 ( w p c a p d 1 1 ) 。 l c a 。,u 。s 。e 。r v c v o i d d p e 。叫p il c a ,。u 。s 。e 。r ,c v o 缸d p e 。列p ll u 五d s e r n n c 。o d n e gl u g e fc o d e 1 d i r e c t 千千 一l a c c e s s a p p h e a t i a l t o t h e n p f u s e r - b u f f e r l l u s 拍u 胁t i 2 p a c k e t d n l w 。1怠a p ,d l l j p c 印d l

温馨提示

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

评论

0/150

提交评论