(计算机应用技术专业论文)具有主动防御能力的入侵检测系统研究.pdf_第1页
(计算机应用技术专业论文)具有主动防御能力的入侵检测系统研究.pdf_第2页
(计算机应用技术专业论文)具有主动防御能力的入侵检测系统研究.pdf_第3页
(计算机应用技术专业论文)具有主动防御能力的入侵检测系统研究.pdf_第4页
(计算机应用技术专业论文)具有主动防御能力的入侵检测系统研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)具有主动防御能力的入侵检测系统研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 入侵检测系统通常包括事件产生器、事件分析器、响应单元以及事件数据 库四部分。其中,事件分析器又是我们入侵检测技术的关键部分。 在网络入侵检测系统的事件分析器中,截获网络的每一个数据包,都要进 行分析、匹配,这就需要花费大量的时间和系统资源。大部分现有的网络入侵 检测只有几十兆的检测速度,随着百兆、甚至千兆网络的大量应用,入侵检测 的速度已经远远落后于网络速度。对于这一检测速度的瓶颈,对此我们改进了 a c b m 算法以解决这一问题。 除了入侵检测系统外,我们的计算机中还可能使用了防火墙、漏洞扫描等 其他类别的安全设备,这些安全组件之间如何交换信息,共同协作来发现攻击、 作出响应并阻止攻击关系到整个系统的安全性。另外,对间谍软件和广告软件 的检测也是一个令人头疼的问题。对此,我们在改进了的a c b m 算法的基础 上建立了具有主动防御能力的主动防御模块以解决问题。 介绍了一般的入侵检测系统的概念、模型,入侵检测技术的分类。然后, 描述了网络入侵检测系统的c i d f 模型,以及入侵检测存在的弱点和局限性, 从而引出了我们课题研究的意义、现状和背景。 阐述了数据采集的原理。因为我是在l i n u x 操作系统下,用l i b p c 叩库函 数实现的数据包的捕获,所以就介绍一下l i b p c a p 的有关函数和数据结构。重 点阐述了网络数据包的捕获程序,并输出了实验结果。 简要介绍了t c p i p 的四层模型、数据报的封装过程,i p 、t c p 等协议的格 式和数据结构。这些是非常重要的,因为它们是进行数据报协议分析、负载分 析所必须的。当然,重点还是放在了介绍数据分析的原理、模块设计、程序实 现上,最后输出实验数据。 我们自己改进了一种算法。重点介绍了怎样改进a c b m 算法,介绍它的 工作原理,详细叙述了它的算法实现、测试结果、结果分析。 组建主动防御模块,用它来实现多层次的纵深防御,实现了和其它安全设 备的互动,探索了检测反扫描、反间谍软件、反广告软件的功能。 最后是结论,并介绍了今后需要进一步完善的工作。 关键字: 入侵检测误用检测协议分析g a c b m 算法主动防御模块 江南大学硕:i :学位论文 a b s t r a c t i ng e n e r a l ,i n t r l i s i o nd e t e c t i o ns y s t e m ( i d s ) i n c l u d e se v e n tg e n e r a t o r s ,e v e n t a n a l y z e r s ,r e s p o n s eu n i t s , a n de v e n td a t a b a s e s t h ek e yo n eo ft h ef o u r g m u p w a r e si st h ee v e n ta n a l y z e l i nn e t 、o r ki n t m s i o nd e t e c t j o ns y s t e m ,e v e n td a t a b a s e sh a v eg o tal o to f n e t w o r kd a t ap a c k e t s s oi t s p e n d sm u c ht i m ea n dm a n ys v s t e mr e s o u r c e st o a 1 1 a l y z et h ep a c k e t si nt h ec o u r s e0 fp a t t e mm a t c h i n g t h em o s t l ym o d e mn e t w o r k i n t r 。u s i o nd e t e c t i o ns y s t e m si n s p e c tt h en e t w o r kd a t ap a c k e t sa tas p e e do ft e n so f m b ,b u tt h en e t w o r kt r a m ci si n c r e a s i n ga tas p e e do fh u n d r e d so r t h o u s a n d so f m b t h ec o n v e n t i o n a ls o f t w a r e i m p l e m e n t e ds t r i n gm a t c h i n ga l g o r i t h m sh a v en o t k e p tp a c ew i t ht h ei n c r e a s i n gn e t w o r l ( s p e e d s ,ap o t e n t i a lb o t t l e n e c kh a v eb e e n r e s u l t e di n s ow eh a v ei m p r o v e da na c b ma l g o r i i h mt os e t t l et h eb o t t l e n e c k p r o b l e mi nt l l ep a p e l i na d d i t i o nt oi d s ,o u rc o m p u t e r sa r ep r o b a b l ym n n i n gf i r e w a u s ,b u g s - s c a n t 0 0 1 sa i l ds oo n t h ew h o l es y s t e ms e c u r i t yn e e d se x c h a n g ei n f o n l l a t i o na m o n g t h e s e c u r i t y 孕o u p w a r e s ,c o o p e r a t ei nh a 册o ny ,r e s p o n s et of i n do u ta t t a c ka c t i o n sa n d i n t e r d i c tf r o ma t t a c “n g i i la d d i t i o n ,s p l m 7 a r ea n da d v e r t i s e m e n ts o 行w a r ea l s o t r o u b l eu s s ow ee s t a b l i s h e da na c t i v ea n dd r e v e n t a b l em o d u l eb a s e do no u r i m p r o v e da c b ma l g o r i t l l i i lf o r t h e s ep m b l o m e s w ef i r s ti n t r o d u c et h ec o n c e p t s ,m o d e l sa n dc l a s s i f i c a t i o no fi d s t h e nw ea l s o i n t r o d u c ec i d f ,d i s a d v a n t a g e sa n dl i m i t a t i o n so fi d s a sar e s u l t ,w ek n o wp u r d o s e s t a t u sa n db a c k g r o u n do no u r p a p e l w ei n t m d u c ek n o w l e d g e so fn e t w o r k ,a n dh o wt oc a p t u r en e t w o r kd a t a w e a l s oi n t r o d u c ef i l n d i o n sa n dd a t as t r u c t u r e so fl i b p c a pb e c a u s ed a t ad a c k e t sa r e c a p t u r e db yf l l n c t i o n so fl i b p c a pi nt h el i n u xo s w ep r i m a r yi l l u s t r a t et h e a p p l i c a t i o nc a p t u r e d n e t w o r kd a t a p a c k e t s , a n dp r i n to u tt h er e s u l to fo u r e x p e r j m e n t w eb r i e n yi n t r o d u c et h em o d e l so ft c p i p ,e n c a p s u l a t i o n ,c o d ef b 丌n a ta n dd a t a s t r u c t u r e so ft c p i pa n ds oo n t h ei n t r o d u c t i o n sa r ev e r vi m p o n a n tb e c a u s et h e v a r er e q u i r e db yo u rd a t ap a c k e tp r o t o c o la n a l y s i sa n dp a y l o a da n a l y s i s o fc o u r s e , 0 u re m p h a s e sa r et 0h o wt 0a n a l y z ed a t ap a c k e t ,h o wt od e s j g nm o d e l sa n dh o wt 0 r e a l i z ea p p l i c a t i o n s f i n a l ly w ep r i n to u tt h er e s u l to fo u re x p e r i m e n t w ei l l u s t r a t et h ep a n :h o wt oi m p m v ea c b ma l g o r i t h m w ei n t m d u c e di t s p r i n c i p l e ,a l g o r i t h mr e a l i z a t i o na n ds oo n w ea l s ot e s t e dt h ei m p m v e da c b m a l l r o r i t h ma n da n a l y z e di t sr e s u l t w ee s t a b l i s h e da na c t i v ea n dp r e v e n t a b l em o d u l ei no r d e rt od om o r ed e e p p r e v e n t i o na n dc o o p e r a t i o ni nh a m o ny w ea l s ot e s t e da n t i s c a n ,a n t i s p y w a r ea n d a n t i - a d v e n i s e m e n ts o f t w a r e i i lt h ee n d ,w ec o n c l u d e do u rw o r k sa n dp r e s e n t e do u rp l a n si nt h ef u t u r e k e y w o r d s :i n t r u s i o nd e t e c t i o n ,m i s u s ed e t e c t i o n ,p r o t o c o la n a l y s i s , g a c b ma l g o r i t h m ,a c t i v ea n dp r e v e n t a b l em o d u l e 2 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 本人为获得江南大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:1 ; :里! 暨 日期:2 。年) 月j 日 关于论文使用授权的说明 本学位论文作者完全了解江南大学有关保留、使用学位论文的规 定:江南大学有权保留并向国家有关部门或机构送交论文的复印件和 磁盘,允许论文被查阅和借阅,可以将学位论文的全部或部分内容编 入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、 汇编学位论文,并且本人电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 签名 导师签名:鼍翌 日期:p 1 年) 月、日 第一章概述 1 1 入侵检测系统的概念 第一章概述 入侵检测系统i d s ( i n t r u s i o nd e t e c t i o ns y s t e m ) 用来识别针对计算 机系统和网络系统或者更广泛意义上的信息系统的非法攻击。包括检测外界非 法入侵者的恶意攻击或试探以及内部合法用户的超越使用权限的非法行动【”。 它通过从计算机网络或系统中的若干关键点收集信息,并对这些信息进行 分析,从而发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象。 所有能够执行入侵检测任务和功能的系统,都可以称作入侵检测系统,其中包 括软件系统与硬件系统结合的系统。与其他安全产品不同的是,入侵检测系统 需要更多的智能,它必须可以将得到的数据进行分析,并得出有用的结果。一 个合格的入侵检测系统能大大简化管理员的工作,保证网络安全地运行 具体说来,入侵检测系统的主要功能有: a 监测并分析用户和系统的活动: b 核查系统配置和漏洞; c 评估系统关键资源和数据文件的完整性: d 识别已知的攻击行为; e 统计分析异常行为; f 操作系统日志管理,并识别违反安全策略的用户活动【2 1 。 1 2 入侵检测系统模型 为解决入侵检测系统之间的互操作性,国际上的一些研究组织开展了标 准化工作,目前对i d s 进行标准化工作的有两个组织:i e t f 的i n t r u s i o n d e t e c t i o nw o r k i n gg r o u p ( i d w g ) 和c o 唧o ni n t r u s i o nd e t e c t i o nf r a m e w o r k ( c i d f ) 。 c i d f 早期由美国国防部高级研究计划局赞助研究,现在由c i d f 工作组负 责,是一个开放组织。c i d f 阐述了一个入侵检测系统( i d s ) 的通用模型如图 1 1 所示。它将一个入侵检测系统分为以下组件: 事件产生器( e v e n tg e n e r a t o r s ) ,用e 盒表示: 事件分析器( e v e n ta n a l y z e r s ) ,用a 盒表示: 响应单元( r e s d o n s e u n n s ) ,用r 盒表示; 事件数据库( e v e n td a t a b a s e s ) ,用d 盒表示。 厂怕应单元| j ,一 匣件分析器| + + 匡件数据库l 干一一下。 l 一俸件产生器 1 i 一 原始数据源 图卜lc i d f 模型 江南大学硕士学位论文 c i d f 模型的结构如下:e 盒通过传感器收集事件数据,并将信息传送给a 盒, a 盒检测误用模式;d 盒存储来自a 、e 盒的数据,并为额外的分析提供信息;r 盒从a 、e 盒中提取数据,d 盒启动适当的响应【3 j oc i d f 将i d s 需要分析的数据 统称为事件( e v e n t ) ,它可以是网络中的数据包,也可以是从系统日志等其他 途径得到的信息。事件产生器的目的是从整个计算环境中获得事件,并向系统 的其他部分提供此事件。事件分析器分析得到的数据,并产生分析结果。响应 单元则是对分析结果作出作出反应的功能单元,它可以作出切断连接、改变文 件属性等强烈反应,也可以只是简单的报警。事件数据库是存放各种中间和最 终数据的地方的统称,它可以是复杂的数据库,也可以是简单的文本文件。 1 3 入侵检测的分类 1 3 1 按照检测方法的分类 从数据分析手段看,入侵检测通常可以分为两类:异常( a n o m a l y ) 入侵检测 和误用( m i s u s e ) 入侵检测。 异常检测( a m o m a l yd e t e c t i o n ) :检测与可接收行为之间的偏差。如果可以 定义每项可接收的行为,那么每项不可接收的行为就应该是入侵。首先总结正 常操作应该具有的特征( 用户轮廓) ,当用户活动与正常行为有重大偏离时即被 认为是入侵。因为不需要对每种入侵行为进行定义,所以能有效检测未知的入 侵。但是,并不是每一次异常都会是入侵。比如:统计了某个系统一段时期的 8 :0 0 一2 2 :0 0 活动数据,并为此建立了模型。在1 1 :0 0 一1 3 :0 0 的时间段内 网络流量比较小,如果恰好某一天在这个时段传输文件,就会使网络流量加大, 从而造成异常,会触发报警机制,造成误警。如果出现的异常频繁,造成多次 误警,就会使管理员放松警惕( 狼来了的效果) ,甚至会放弃使用入侵检测系统 ( i d s ) 。虽然它有很高的误报率,但是其很低的漏报率和对未知攻击类型的检 测能力是我们所感兴趣的。 误用检测( m i s u s ed e t e c t i o n ) :检测与己知的不可接收行为之间的匹配程度。 如果可以定义所有的不可接收行为,那么每种能够与之匹配的行为都会引起告 警。收集非正常操作的行为特征,建立相关的特征库,当监测的用户或系统行 为与库中的记录相匹配时,系统就认为这种行为是入侵。这种检测模型误报率 低、漏报率高。对于已知的攻击,它可以详细、准确地报告出攻击类型,本文 就是采用的误用检测技术【”。 1 3 2 按照信息源的分类 从数据来源看,入侵检测通常可以分为两类:基于主机的入侵检测和基于 网络的入侵检测。 基于主机的入侵检测:系统分析的数据是计算机操作系统的事件曰志、应 用程序的事件日志、系统调用、端口调用和安全审计记录。主机型入侵检测系 统保护的一般是所在的主机系统。是由代理( a g e n t ) 来实现的,代理是运行在 目标主机上的小的可执行程序,它们与命令控制台( c o n s 0 1 e ) 通信。虽然基于 主机的i d s 的缺点显而易见:必须为不同平台开发不同的程序、增加系统负荷、 所需安装数量众多等,但是内在结构却没有任何束缚,同时可以利用操作系统 本身提供的功能、并结合异常分析,更准确的报告攻击行为。 基于网络的入侵检测:系统分析的数据是网络上的数据包。网络型入侵检 测系统担负着保护整个网段的任务,基于网络的入侵检测系统由遍及网络的传 第一章概述 感器( s e n s o r ) 组成,传感器是一台将以太网卡置于混杂模式的计算机,用于嗅 探网络上的数据包【引。不难看出,基于网络的l d s 的优点主要是简便:一个网 段上只需安装一个或几个这样的系统,便可以监测整个网段的情况。且由于往 往分出单独的计算机做这种应用,不会给运行关键业务的主机带来负载上的增 加。本文就是基于网络的入侵检测,下面我们就看看基于网络的i d s 。 1 4 基于网络的入侵检测系统概述 在对入侵检测技术研究的基础上,首先介绍一下常用的基于网络的入侵检 测系统模型。 1 4 1 系统的体系结构 该系统的组成结构如图1 2 所示。数据采集模块负责从网络上收集原始的 网络数据流,在经过一定的预处理后,这些数据被送到数据分析模块,由数据 分析模块进行分析,以便判断是否有违反安全策略的入侵行为发生。并及时将 分析结果送到告警模块,由告警模块向控制台产生告警信息。用户可以通过用 户界面与控制台交互,通过控制台,一方面可以对各个模块进行配置,另一方 面也可以告警信息【0 j 。 网络数据流 图l 一2 网络型i d s 体系结构图 1 4 2 系统的功能简述 该系统实现了入侵检测的主要功能,包括数据采集、数据预处理、入侵分 析以及告警。具体来说,可以完成以下功能: 捕获符合指定条件的网络数据包。 进行i p 重组,提供i p 包数据。 重组t c p 流,提供t c p 流数据。 重组应用层数据流,提供h t t p 数据流。 实现基于规则的入侵检测方法。 向控制台提交分析结果。 接收控制台的配置和管理。 由于该系统功能的实现主要体现在数据采集模块和数据分析模块中,所以 下面将主要对这两个模块加以说明。 1 1 数据采集模块 数据采集是入侵检测的基础,入侵检测的效率在很大程度上依赖于所采集 信息的可靠性和正确性。在基于网络的入侵检测系统中,数据采集模块需要监 江南大学硕士学位论文 听所保护网络的某个网段或某几台主机的网络流量,经过预处理后得到网络、 系统、用户以及应用活动的状态和行为信息。数据采集需要在网络中的若干关 键点进行。 具体来说,数据采集模块需要监听网络数据包,进行i p 重组,进行t c p u d p 协议分析,同时也要进行应用层协议数据流分析。采集到的数据要经过预处理 才能提交给数据分析模块。由于不同的分析方法所需要的数据源是不同的,所 以预处理也会有很大的不同。但是,一般来说,分析模块所分析的数据都是基 于某个网络协议层的数据信息,或是直接采用这些数据的某些部分。因此在该 系统的设计中,数据采集模块除了采集数据外,还要对这些信息进行协议分析。 协议分析是指将网络上采集到的基于i p 的数据进行处理,以便得到基于某种协 议的数据。在本系统中主要是针对t c p i p 协议族的分析。 网络数据采集是利用以太网络的广播特性实现的,以太网数据传输通过广 播实现,但是在系统正常工作时,应用程序只能到以本主机为目标主机的数据 包,其他数据包将被丢弃。为了采集到流经本网段的所有数据,我们需要首先 将网卡设置为混杂模式,使之可以目标m a c 地址不是自己m a c 地址的数据包, 然后直接访问数据链路层,截获相关数据,由应用程序对数据进行过滤处理, 这样就可以监听到流经网卡的所有数据。 2 ) 数据分析模块 数据分析是入侵检测系统的核心。各种分析方法各有利弊,但基于规则的 检测方法因为事先将各种入侵方式表示为规则存放于规则库中,因此在规则库 比较完备的基础上,可以有很好的检测效率,所以我们在本文中主要考虑了基 于规则的检测方法。 基于规则的检测方法是误用检测的一种。入侵检测系统需要从以往的攻击 入侵活动中,归纳识别出对应的入侵模式,并将这些入侵模式存放于规则库中, 然后将系统现有的活动与规则库中的规则进行模式匹配,从而决定是否有入侵 行为发生。为了提高检测规则的效率,我们应用改进的a c b m 算法,详细情 况参考后面的章节。 1 5 入侵检测存在的问题 尽管有众多的商业产品出现,与诸如防火墙等技术高度成熟的产品相比, 入侵检测系统还存在相当多的问题。这一节主要讨论一下对其进行威胁的主要 因素,值得注意的是,这些问题大多是目前入侵检测系统的结构所难以克服的, 而且这些矛盾可能越来越尖锐。 1 、攻击者不断增加的知识,日趋成熟多样自动化工具,以及越来越复杂细 致的攻击手法。 安全问题正日渐突出,尤其是2 0 0 0 年初出现了对诸如y a h o o ,e b a v 等著名 i c p 的攻击事件。i d s 必须不断跟踪最新的安全技术,才能不致被攻击者远远 超越。 2 、恶意信息采用加密的方法传输。 网络入侵检测系统通过匹配网络数据包发现攻击行为,m s 往往假设攻击 信息是通过明文传输的,因此对信息的稍加改变便可能骗过i d s 的检测。t f n 现在便已经通过加密的方法传输控制信息。还有许多系统通过v p n ( 虚拟专用 网) 进行网络之间的互联,如果d s 不了解其所用的隧道机制,会出现大量的 误报和漏报【7 1 。 第一章概述 3 、必须协调、适应多样性的环境中的不同的安全策略。 网络及其中的设备越来越多样化,即存在关键资源如邮件服务器、企业数 据库,也存在众多相对不是很重要的p c 机。不同企业之间这种情况也往往不 尽相同。l d s 要能有所定制以更适应多样的环境要求。 4 、不断增大的网络流量。 用户往往要求i d s 尽可能快的报警,因此需要对获得的数据进行实时的分 析,这导致对所在系统的要求越来越高,商业产品一般都建议采用当前最好的 硬件环境( 如n f r 5 o 要求主频最少7 0 0 以上的机器) 。尽管如此,对百兆以上 的流量,单一的l d s 系统仍很难应付。可以想见,随着网络流量的进一步加大 ( 许多大型i c p 目前都有数百兆的带宽) ,对i d s 将提出更大的挑战,在p c 机 上运行纯软件系统的方式需要突破。 5 、广泛接收的术语和概念框架的缺乏。 入侵检测系统的厂家基本处于各自为战的情况,标准的缺乏使得其间的互 通几乎不可能。 6 、不断变化的入侵检测市场给购买、维护i d s 造成的困难。 入侵检测系统是一项新生事物,随着技术水平的上升和对新攻击的识别的 增加,i d s 需要不断的升级刁能保证网络的安全性,而不同厂家之间的产品在 升级周期、升级手段上均有很大差别。因此用户在购买时很难做出决定,同时 维护时也往处于很被动的局面。 7 、采用不恰当的自动反应所造成的风险。 入侵检测系统可以很容易的与防火墙结合,当发现有攻击行为时,过滤掉 所有来自攻击者的i p 的数据。但是,不恰当的反应很容易带来新的问题,一个 典型的例子便是:攻击者假冒大量不同的i p 进行模拟攻击,而i d s 系统自动配 雹防火墙将这些实际上并没有进行任何攻击的地址都过滤掉,于是形成了新的 拒绝访问攻击( d o s ) p j 。 8 、对i d s 自身的攻击。 和其他系统一样,i d s 本身也往往存在安全漏洞。如果查询b u g t r a q 的邮件 列表,诸如a x e n tn e t p r o w l e r n f r ,i s sr e a l s e c u r e 等知名产品都有漏洞被发觉出 来。若对i d s 攻击成功,则直接导致其报警失灵,入侵者在其后所作的行为将 无法被记录。( 这也是为什么安全防卫必须多样化的原因之一。) 9 、大量的误报和漏报使得发现问题的真正所在非常困难。 采用当前的技术及模型,完美的入侵检测系统无法实现,有很多种逃避i d s 检测的办法。 1 0 、客观的评估与测试信息的缺乏,交换式局域网造成网络数据流的可见 性下降,同时更快的网络使数据的实时分析越发困难【1 0 l 【1 l 】【1 2 】。 1 6 入侵检测技术的发展方向 今后的入侵检测技术大致可朝下述三个方向发展【1 3 】【1 4 : 分布式入侵检测:第一层含义,即针对分布式网络攻击的检测方法;第二 层含义即使用分布式的方法来检测分布式的攻击,其中的关键技术为检测信息 的协同处理与入侵攻击的全局信息的提取。 智能化入侵检测:即使用智能化的方法与手段来进行入侵检测。所谓的智 能化方法,现阶段常用的有神经网络、遗传算法、模糊技术、免疫原理等方法, 这些方法常用于入侵特征的辨识与泛化。利用专家系统的思想来构建入侵检测 江南大学顾:l 二学位论文 系统也是常用的方法之一。特别是具有自学习能力的专家系统,实现了知识库 的不断更新与扩展,使设计的入侵检测系统的防范能力不断增强,应具有更广 泛的应用前景。应用智能体的概念来进行入侵检测的尝试也已有报道。较为一 致的解决方案应为高效常规意义下的入侵检测系统与具有智能检测功能的检测 软件或模块的结合使用。 全面的安全防御方案:即使用安全工程风险管理的思想与方法来处理网络 安全问题,将网络安全作为一个整体工程来处理。从管理、网络结构、加密通 道、防火墙、病毒防护、入侵检测多方位全面对所关注的网络作全面的评估, 然后提出可行的全面解决方案。 未来的入侵检测系统将会结合其它网络管理软件,形成入侵检测、网络管 理、网络监控三位一体的工具。同时,网络安全需要纵深的、多层次的防护。 即使拥有当前最强大的入侵检测系统,如果不及时修补网络中的安全漏洞的话, 安全也无从谈起。只有将入侵检测系统与其他安全工具结合起来,才能构筑起 道网络安全的立体防御体系,最大程度地确保网络系统的安全。本文就在这 些方面做了一些有意义的探索。 1 7 本文的主要工作及内容组织 本文针对一般的入侵检测系统的局限性:( 1 ) 网络安全设备的处理速度一直 是影响网络性能的一大瓶颈,虽然l d s 通常以并联方式接入网络的,但如果其 检测速度跟不上网络数据的传输速度,那么检测系统就会漏掉其中的部分数据 包,从而导致漏报而影响系统的准确性和有效性。在i d s 中,截获网络的每一 个数据包,都要分析、匹配其中是否具有某种攻击的特征需要花费大量的时间 和系统资源,因此大部分现有的d s 只有几十兆的检测速度,随着百兆、甚至 于兆网络的大量应用,i d s 技术发展的速度已经远远落后于网络速度的发展。 对于这一检测速度的瓶颈,对此论文对a c b m 算法加以改进,以加快检测的 速度、适用网络的发展。 ( 2 ) 在大型网络中,网络的不同部分可能使用了入侵检测系统,防火墙、 漏洞扫描等其他类别的安全设备,这些与入侵检测系统之间以及m s 和其他安 全组件之间如何交换信息,共同协作来发现攻击、作出响应并阻止攻击是关系 整个系统安全性的重要因素。对此,我们建立了具有主动防御能力的入侵检测 模块,为防火墙、杀毒软件、安全漏洞扫描软件提供了接口,实现了联动。 另外,论文中还引入了怎样检测间谍软件和无用广告软件的功能。使得 n i d s 更加积极主动,有纵深、多层次。 各章节内容分布如下: 第一章是概述,简要介绍了一般的入侵检测系统的概念,模型,入侵检测 技术的分类。着重介绍了网络入侵检测系统的c i d f 模型,以及入侵检测存在 的弱点和局限性,从而引出了我们课题研究的背景、现状和重要意义。 第二章首先介绍了网络有关的知识,阐述了数据采集的原理。因为论文是 在l i n u x 操作系统下,用l i b p c a p 库函数实现的数据包的捕获,所以介绍一下 l i b p c a p 的有关函数和数据结构。重点阐述了网络数据包的捕获程序,并输出了 实验结果。 第三章是进行数据分析的内容。简要介绍了t c p i p 的四层模型、数据报的 封装和解报的过程,i p ,t c p 等协议的格式和数据结构。这些是非常重要的, 第一章概述 因为它们是进行数据报协议分析、负载分析所必须的。论文重点还是放在了介 绍数据分析的原理、模块设计、程序实现上,最后输出实验数据。 第四章是改进算法的章。重点介绍怎样改进a c b m 算法,介绍它的工 作原理,详细叙述了它的算法实现、测试结果、结果分析。 第五章是具有创新性的一章,我们组建主动防御模块,用它来实现多层次 的纵深防御,实现了和其它安全设备的互动,探索了检测反扫描、反问谍软件、 反垃圾广告软件的功能。 第六章是结论,同时介绍了今后需要进一步完善的工作。 第二章系统的数据捕获 第二章系统的数据捕获 从网络上采集数据包是进行数据包分析的必备步骤,是进行入侵检测分析 的基础。根据网络类型的不同,网络数据的采集可以通过两种方法实现:一种 是利用以太网络的广播特性,另一种是通过设置路由器的监听端口或者是镜像 端口来实现。本文就是利用第一种方式来进行数据的采集。下面在进一步介绍 网络数据包采集的基本原理。 2 1 数据包采集原理 有了h u b 、网卡的工作原理就可以很容易知道采集原理。首先,要知道要 捕获的数据必须是要物理信号能收到的报文信息。显然只要通知网卡其收到的 所有包( 称为混杂p r o m i s c u o u s 模式:指网络上的所有设备都对总线上传送的 数据进行侦听,并不仅仅是它们自己的数据。) ,在共享h u b 下就能到这个网段 的所有包,但是交换h u b 下就只能是自己的包加上广播包。 利用这一点,可以将一台计算机的网络连接设置为接收所有以太网总线上 的数据,从而实现数据包的采集。网络数据包采集( 或称为截获) 程序就是能 将本地网卡状态设成杂收状态,当网卡处于这种“混杂”方式时,该网卡具备“广 播地址”,它对遇到的每一个帧都产生一个硬件中断以便提醒操作系统处理流经 该物理媒体上的每一个报文包。( 绝大多数的网卡具备置成混杂方式的能力) 可 见,采集程序工作在网络环境中的底层,它会拦截所有的正在网络上传送的数 据,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处 的网络状态和整体布局i l 。 网络数据包采集程序将网卡设置为混杂模式,将网络上传输的数据包截取 下来,提供给网络分析程序。如果在l i n u x 系统上工作,则系统提供的套接字 编程接口中支持s o c k p a c k e t 设备类型,因此,可以直接访问到数据链路层的 数据包,即截获到所有的网络数据包。但是,不同的操作系统提供的接口功能 并不相同,因此直接采用套接字设备的编程代码在不同的平台上不能通过。解 决这一问题的办法之一就是使用美国洛仑兹伯克利国家实验室所编写的专用于 数据包截获功能的a p i 函数库“l i b p c a p ”。此函数库对上层程序屏蔽了底层系 统的不同数据包截获方法,提供了统一的编程接口,使得采用该编程接口的数 据包截获程序可以十分方便地在不同的平台上进行移植。 2 2l i b p c a p l i b p c a p 提供了系统独立的用户级别网络数据包捕获接口,并充分考虑到 应用程序的可移植性。l i b p c a p 可以在绝大多数类u n i x 平台下工作。在w i n d o w s 平台下,一个与1 i b p c a p 很类似的函数包w i n p c a p 提供捕获功能,其官方网 站是h t t p :w i n p c a p p o l i t o i t 。l i b p c a p 最主要的优点在于平台无关性, 用户程序几乎不需做任何改动就可移植到其它u n i x 平台上;其次,l i b p c a p 电能适应各种过滤机制,特别对b p f 的支持最好。 2 2 1 几个常用的l i b p c a p 函数及其有关数据结构 ( 1 ) p c a p r e a d ( ) 用于读取底层数据包过滤机制缓冲区的数据包,并对每一个 数据包用参数所设定的回调函数进行处理。 江南大学坝二i 一学位论文 1 i v e ( c h a r 木d e v i c e , i n ts n a p l e n ,i n tp r o m is c i n tt o - n s , c h a r 丰e r r b u f ) : 该函数用于获取一个抽象的包捕捉句柄,后续很多l i b p c a p 函数将使用该 句柄,类似文件操作函数频繁使用文件句柄。d e v i c e 指定网络接口设备名,比 如”e t h 0 。s n a p l e n 指定单包最大捕捉字节数,为了保证包捕捉不至于太低效率, s n a p l e n 尽量适中,以恰能获得所需协议层数据为准。p r o m i s c 指定网络接口是 否进入混杂模式,注意即使该参数为f a l s e ( o ) ,网络接口仍然有可能因为其他 原因处在混杂模式。t o m s 指定毫秒级读超时,m a n 手册上并没有指明什么值意 味着永不超时,测试下来的结论,o 可能代表永不超时。如果调用失败返回n u l l , e r r b u f 包含失败原因。 u s r i n c l u d e p c a p h t y p e d e fs t r u c tp c a pp c a p t : p c a p i n t h 里定义了s t r u c tp c a p ) s t r u c tp c a p , i n t i n t i n t i n t o f f s e t i n t a ll g n m e n t s t r u c tp c a p s f s t r u c tp c a p m d i n t b u f f e r uc h a r 半 uc h a r 半 i n t uc h a r 术 p c a p n e x t ( ) f d : s n a p s h o t : l i n k t y p e : t z o f f :木t i m e z o n e 卑 o f f s e t :半o f f s e tf o rp r o p e r 卑 s f : m d : b u f s i z e :丰r e a d 肆| s t r u c tb p f p r o g r a mf c o d e n o ti nk e r n e l 木 木p a c eh o l d e rf o r 卑f 术p 1 a c e h 0 1 d e rf o rf i l t e rc o d ei fb p f c h a r e r r b u f p c a p e r r b u f s i z e ) : 该函数用于设置p c a p c o m p i l e ( ) 解析完毕的过滤规则 该函数返回一个网络设备接口名,类似l i b n 乩一s e l e 叽一d e v i c e ( ) ,对于 l i n u x 就是”e t h 0 ”一类的名字失败时返回n u l l ,e r r b u f 包含了失败原因。 眦”,b 吣眺 第二章系统的数据捕获 e r r b u f 一般定义如下: u s r i n c l u d e p c a p h # d e f i n ep c a p e r r b u f s i z e2 5 6 c h a re r r b u f p c a p e r r b u f s i z e ( 5 ) i n tp c a p j o o k u p n e t ( c h a r 木d e v i c e ,b p f - u - i n t 3 2 木n e t p b p f u i n t 3 2 水m a s k p , c h a r 术e r r b u f ) : 该函数用于获取指定网络接口的i p 地址、子网掩码。不要被n e t p 的名字 所迷惑,它对应的就是i p 地址,m a s k p 对应子网掩码。 u s r i n c l u d e p c a p h t y p e d e fu - i n tb p f - u - i n t 3 2 :显然简单理解成3 2 _ b i t 即可。如果调用失败则返 回一1 ,e r r b u f 包含失败原因。 ( 6 ) i n tp c a p d i s p a t c h uc h a r 半u s e r ) : 该函数用于捕捉报文、分发报文到预先指定好的处理函数( 回调函数) 。 p c a p d i s p a t c h ( ) 够c n t 个报文便返回,如果c n t 为一1 意味着所有报文集中在 一个缓冲区中。如果c n t 为o ,仅当发生错误、读取到e o f 或者读超时到了 ( p c a p o p e n _ l i v e 中指定) 才停止捕捉报文并返回。c a l l b a c k 指定如下类型的回 调函数,用于处理p c a p d i s p a t c h ( ) 所捕获的报文: t y p e d e fv o i d ( 木p c a p - h a n d l e r ) c o n s tuc h a r 术) : p c a p d i s p a t c h ( ) 返回捕捉到的报文个数,如果在读取静态文件( 以前包捕捉过 程中存储下来的) 时碰到e o f 则返回0 。返回一1 表示发生错误。 下面来看看回调函数,总共有三个参数,第一个形参来自p c a p d i s p a t c h ( ) 的第三个形参,一般我们自己的包捕捉程序不需要提供它,总是为n u l l 。第二 个形参指向p c a p k t h d r 结构,该结构位于真正的物理帧前面,用于消除不同 链路层支持的差异。最后的形参指向所捕获报文的物理帧。 s t r u c tp c a p p k t h d r s t r u c tti m e v a l b p f _ u j n t 3 2 b p f - u j n t 3 2 ) : t i m es t a m p 木l e n g t ho fp o r t i o np r e s e n t 术 术l e n g t ht h i sp a c k e t( o f fw i r e )丰 1 0 ,出叭拈k 江南火学硕士学位论文 s t r u c tt i m e v a lb h t s t a m p : 水t i m es t a m p术 b p f u i n t 3 2b h c a p l e n :车l e n g t ho fc a p t u r e dp o r t i o n 木 b p f - i n t 3 2 b h d a t a l e n : 丰o r i g i n a ll e n g t ho fp a c k e t 丰 u s h o nb h h d r l e n :胁l e n g t ho fb p fh e a d e r ( t h i ss t r u c t p l u sa 1i g n m e n tp a d d i n g ) 木 该

温馨提示

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

评论

0/150

提交评论