(计算机软件与理论专业论文)基于网络的入侵检测系统的研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于网络的入侵检测系统的研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于网络的入侵检测系统的研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于网络的入侵检测系统的研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于网络的入侵检测系统的研究与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机软件与理论专业论文)基于网络的入侵检测系统的研究与实现.pdf.pdf 免费下载

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

文档简介

基于网络的入侵检测系统的研究与实现第3 页 摘要 学科专业:计算机软件与理论 论文题目: 基于网络的入侵检测系统的研究与实现 硕士生:郭文生导师:汪文勇副教授 随着网络的发展,人们基于网络的应用也越来越多,电子银行、电子商务 等网络服务正在悄悄地进入人们的生活。与之俱来的,网络攻击也在不断地增 加,或者是攻击我们的系统,或者是窃取我们的个人信息。人们已经意识到了 保证网络安全的重要性。d 、 入侵检测系统正是一种积极主动的安全防护技术,它可以监视主机系统或 是网络上的用户活动,发现可能存在的入侵行为。入侵检测系统的研究和实现 已经成为现在网络安全的重要课题。阱且,许多攻击遍及大面积的网络,持续 很长的时间。在这种环境下,入侵检澜系统及其组件之间关于攻击信息的共享 的能力变得更加重要。因为,共享信息将能够使一个系统警告其它的系统可能 迫近的攻击。, 因此,j 本论文首先对入侵检测系统的概念、入侵检测的分类作了一个简要 的介绍,然后详细介绍了入侵检测系统实现的规范c i d f 和c i s l ,并对相应的 接口函数功能进行了介绍和实现。最后,对基于网络的入侵检测系统进行了规 范化设计和实现。 关键字:入侵检测系统事件产生器事件分析器事件响应单元事件 数据库 一墨主堕垫堕全堡垒型墨竺塑婴塞皇壅垫兰! 墨 a b s t r a c t m a j o r :c o m p u t e r s o f t w a r ea n d t h e o r y s u b j e c t : s t u d y a n d i m p l e m e n t a t i o n o fan e t w o r k - b a s e di n t r u s i o nd e t e c t i o ns y s t e m s m a s t e r :g u ow e n s h e n g a d v i s o r :p r o f 。 w a n g w e n y o n g w i t ht h e d e v e l o p m e n t o ft h e i n t e r a c t ,t h e r e a r e h i g i ld e m a n d s f o ri n t e m e t a p p l i c a t i o n s t h en e t w o r ks e r v i c e s s u c ha se b a n ka n de c o m m e r c ea r eb e c o m i n g t h ep a r to fl i f e a n dn e t w o r ka t t a c k st h a ti n t r u d eo u rs y s t e mo rg e to u ri n f o r m a t i o n a r ei n c r e a s i n g p e o p l eh a v er e a i i z e dt h e i m p o r t a n c e o fn e t w o r k s e c u r i t y i d si sa t e c h n o l o g y w h i c hc a n p r o t e c to u ri n f o r m a t i o n i tc a nm o n i t o ro u rs y s t e m s o rn e t w o r k s ,a n df i n d si n t r u s i o n s t h er e s e a r c ha n dd e v e l o p m e n to fi d sh a v e b e c o m et h ei m p o r t a n ts u b j e c ta b o u tn e t w o r ks e c u r i t y a n dm a n ya t t a c k sc a nb e o r c h e s t r a t e do v e raw i d ea r e an e t w o r k ,a n do v e ral o n g p e r i o do f t i m e i ns u c ha l l e n v i r o n m e n t ,t h ea b i l i t yo f i n t r u s i o nd e t e c t i o ns y s t e m sa n dt h e i rc o m p o n e n t st o s h a r ei n f o r m a t i o na b o u tt h e s ea t t a c k si se s p e c i a l l yi m p o r t a n t s u c h s h a r i n gw o u l d a l l o ws y s t e m st ow a r no t h e r sa b o u t p o s s i b l ei m p e n d i n g a t t a c k s s o ,t h et h e s i sb e g i n si t sd i s c u s s i o nb yi n t r o d u c i n gt h ec o n c e p to fi d sa n dt h ec l a s s o f i d s ,t h e ni ta t t e m p t st og i v ed e t a i l e dd i s c u s s i o n so n t h es p e c i f i c a t i o na b o u tc i d f a n d c i s l ,i n t r o d u c i n g a n di m p l e m e n t a t i o nt h ef u n c t i o n so fc i d fa n dc i s l a p i t h et h e s i se n d sw i t h t h ed i s c u s s i o no nt h en o r m a t i v e d e s i g n a n d i m p l e m e n t a t i o n o ft h en i d s k e y w o r d s :i n t r u s i o nd e t e c t i o ns y s t e m sl e v e n tg e n e r a t o r s | e v e n ta n a l y z e r st r e s p o n s e u n i t s e v e n td a t a b a s e s 基于网络的入侵检测系统的研究与实现第5 页 第一章入侵检测基础 1 1 入侵检测系统的历史 入侵检测系统是将系统的电子数据处理( e d p ,e l e c t r o n i cd a t a p r o c e s s i n g ) 、安全审计、最优模式匹配及统计技术融合在了起。在入侵检 测出现之前,审计系统已经在各个计算机领域中广泛应用。审计是产生、记录 并检查按时间顺序排列的系统记录的过程。审计系统的审计过程包括踪迹产生 器、日志记录器、分析器和报告机制。该过程适用于人工审计和计算机审计。 所有审计的前提是有个支配审计过程的规则集。规则的确切形式和内容随审 计过程的具体内容而变。审计系统种类繁多,包括金融审计、安全审计和作为 管理工具的审计等等。 7 0 年代,随着计算机的速度、数目的增长,对计算机安全的需要显著增 加。所以,在1 9 7 7 年和1 9 7 8 年,美国国家标准局召开了有政府和商业e d p 组织代表参加的会议,就当时的安全、审计和控制的状况提出了报告。与此同 时,军用系统中计算机的使用范围迅速扩大,d o d 出于对由此引发的安全问题 的考虑,增加了计算机审计的详细程度并以此作为一项安全机制。这个项目由 j a m e sp a n d e r s o n 负责主持。他提出了一种对计算机系统的风险和威胁的分 类方法。这是入侵检测的一个里程碑。 从1 9 8 4 年到1 9 8 6 年,d o r o t h yd e n n i n g 和p e t e rn e u m a n n 研究并发展了 一个实时入侵检测系统模型,命名为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 t s y s t e m ) 。这是入侵检测的又一个里程碑。相应的在8 0 年代出现了很多入侵检 测系统,如d i s c o v e r y 、h a y s a t c k 、m i d a s 、n a d i r 、n s m 和w i s d o ma n ds e n s e 等。 直到1 9 9 0 年,入侵检测系统大部分都是基于主机的,它们对于活动性的 检查局限于操作系统审计踪迹数据及其它以主机为中心的信息源。但是,由于 i n t e r n e t 的发展及通信和计算机带宽的增加,系统的互联性已经有了显著提 高,导致人们对计算机安全的关注程度也显著增加。1 9 8 8 年的i n t e r n e t 蠕虫 事件使人们对计算机安全的关注达到了令人激动的程度,这就促使人们开发新 的系统以适应网络的发展,因此出现了分布式入侵检测系统 一一 一 兰主型堡堕垒堡堕型墨竺堕堡塑皇壅塑笙! 里 ( d i d s ,d i s t r i b u t e di n t r u s i o nd e t e c t i o ns y s t e m ) ,它将基于主机和基于网 络监视的方法集成在起。从此,各个研究机构和商业厂家也就开始了对入侵 检测系统的综合的研究和开发。 1 2 什么是入侵检测 随着计算机网络的迅速发展,政府、金融、企业和个人等对i n t e r n e t 的广泛应用。通过i n t e m e t 实现包括个人、企业与政府的全社会信息共享已逐 步成为现实,随之而来的网络安全问题也就越来越重要。随着网络应用范围的 不断扩大,对网络的各类攻击与破坏也与日俱增。无论政府、商务,还是金融、 媒体的网站都在不同程度上受到过入侵与破坏。网络安全已成为国家与国防安 全的重要组成部分,同时也是国家网络经济发展的关键。 入侵检测正是帮助系统对付内部攻击和外部网络攻击的一种解决方案,它 扩展了系统管理员的安全管理能力( 包括安全审计、监视、进攻识别和响应) , 提高了信息安全基础结构的完整性。它从计算机系统或计算机网络系统中的若 干关键点收集信息,并分析这些信息,检测本机和网络中是否有违反安全策略 的行为和遭到袭击的迹象。基于网络的入侵检测能在不影响网络性能的情况下 对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。 对一个成功的入侵检测系统来讲,它不但可使系统管理员时刻了解本机和 网络系统( 包括程序、文件和硬件设备等) 的任何变更,还能给本机和网络安 全策略的制订提供指南。更为重要的一点是,它应该管理、配置简单,从而使 非专业人员非常容易地获得计算机网络安全。而且,入侵检测的规模还应根据 网络威胁、系统构造和安全需求的改变而改变。入侵检测系统在发现入侵后, 会及时作出响应,包括切断网络连接、记录事件和报警等。 入侵检测一般分成以下四步完成: 1 信息收集 入侵检测的第一步是信息收集,内容包括系统、网络、数据及用户活动的 状态和行为。而且,需要在计算机网络系统中的若干不同关键点( 不同网段和 不同主机) 收集信息,这除了尽可能扩大检测范围的因素外,还有一个重要的 因素就是从一个源来的信息有可能看不出疑点,但从几个源来的信息的不一致 性却是可疑行为或入侵的最好标识。也就是入侵行为有可能是分布式的。 当然,入侵检测很大程度上依赖于收集信息的可靠性和正确性,因此,很 基于网络的入侵检测系统的研究与实现第7 页 有必要只利用所知道的真正的和精确的软件来报告这些信息。因为黑客经常替 换软件以搞混和移走这些信息,例如替换被程序调用的子程序、库和其它工具。 黑客对系统的修改可能使系统功能失常并看起来跟正常的一样,而实际上不 是。例如,u n i x 系统的p s 指令可以被替换为一个不显示侵入过程的指令,或 者是编辑器被替换成一个读取不同于指定文件的文件( 黑客隐藏了初始文件并 用另一版本代替) 。这需要保证用来检测网络系统的软件的完整性,特别是入 侵检测系统软件本身应具有相当强的坚固性,防止被篡改而收集到错误的信 息。 入侵检测利用的信息一般来自以下四个方面: 1 1 系统日志和网络日志文件 黑客经常在系统日志文件中留下他们的踪迹,因此,充分利用系统日志和 网络日志文件信息是检测入侵的必要条件。日志中包含发生在系统和网络上的 不寻常和不期望活动的证据,这些证据可以指出有人正在入侵或已成功入侵了 系统。通过查看目志文件,能够发现成功的入侵或入侵企图,并很快地启动相 应的应急响应程序。日志文件中记录了各种行为类型,每种类型又包含不同的 信息,例如记录“用户活动”类型的日志,就包含登录、用户d 改变、用户对 文件的访问、授权和认证信息等内容。很显然地,对用户活动来讲,不正常的 或不期望的行为就是重复登录失败、登录到不期望的位置以及非授权的企图访 问重要文件等等。 1 2 目录和文件中的不期望的改变 网络环境中的文件系统包含很多软件和数据文件,包含重要信息的文件和 私有数据文件经常是黑客修改或破坏的目标。目录和文件中的不期望的改变 ( 包括修改、创建和删除) ,特别是那些正常情况下限制访问的,很可能就是 一种入侵产生的指示和信号。黑客经常替换、修改和破坏他们获得访问权的系 统上的文件,同时为了隐藏系统中他们的表现及活动痕迹,都会尽力去替换系 统程序或修改系统日志文件。 1 3 程序执行中的不期望行为 网络系统上的程序执行一般包括操作系统、网络服务、用户启动的程序和 特定目的的应用,例如数据库服务器。每个在系统上执行的程序由- - n 多个进 程来实现。每个进程执行在具有不同权限的环境中,这种环境控制着进程可访 问的系统资源、程序和数据文件等。一个进程的执行行为由它运行时执行的操 基于网络的入侵检测系统的研究与实现第8 页 作来表现,操作执行的方式不同,它利用的系统资源也就不同。操作包括计算、 文件传输、设备和其它进程,以及与网络间其它进程的通信。 一个进程出现了不期望的行为可能表明黑客正在入侵你的系统。黑客可能 会将程序或服务的运行分解,从而导致它失败,或者是以非用户或管理员意图 的方式操作。 1 4 物理形式的入侵信息 这包括两个方面的内容,一是未授权的对网络硬件连接;二是对物理资源 的未授权访问。黑客会想方设法去突破网络的周边防卫,如果他们能够在物理 上访问内部网,就能安装他们自己的设备和软件。依此,黑客就可以知道网上 的由用户加上去的不安全( 未授权) 设备,然后利用这些设备访问网络。例如, 用户在家里可能安装m o d e m 以访问远程办公室,与此同时黑客正在利用自动 工具来识别在公共电话线上的m o d e m ,如果一拨号访问流量经过了这些自动 工具,那么这一拨号访问就成为了威胁网络安全的后门。黑客就会利用这个后 门来访问内部网,从而越过了内部网络原有的防护措施,然后捕获网络流量, 进而攻击其它系统,并偷取敏感的私有信息等等。 2 信息分析 对上述四类收集到的有关系统、网络、数据及用户活动的状态和行为等信 息,一般通过三种技术手段进行分析:模式匹配,统计分析和完整性分析。其 中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。 2 1 模式匹配 模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式规则集 进行匹配,从而发现违背安全策略的行为。该过程可以很简单( 如通过字符串 匹配以寻找一个简单的条目或指令) ,也可以很复杂( 如利用正规的数学表达 式来表示安全状态的变化) 。般来讲,一种进攻模式可以用一个过程( 如执 行一条指令) 或一个输出( 如获得权限) 来表示。该方法的一大优点是只需收 集相关的数据集合,显著减少系统负担,且技术已相当成熟。它与病毒防火墙 采用的方法一样,检测准确率和效率都相当高。但是,该方法存在的弱点是需 要不断的升级模式规则集,以对付不断出现的黑客攻击方式。也就是说,它不 能检测到从未出现过的黑客攻击手段。 2 2 统计分析 统计分析方法首先给系统对象( 如用户、文件、目录和设备等) 创建一个 基于阿络的入侵检测系统的研究与实现第9 页 统计描述,统计正常使用时的一些测量属性( 如访问次数、操作失败次数和延 时等) 。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察 值在正常值范围之外时,就认为有入侵发生。例如,统计分析可能标识一个不 正常行为,因为它发现一个在晚八点至早六点不登录的帐户却在凌晨两点试图 登录。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率 高,且不适应用户正常行为的突然改变。具体的统计分析方法如基于专家系统 的、基于模型推理的和基于神经网络的分析方法,目前正处于研究热点和迅速 发展之中。 2 3 完整性分析 完整性分析主要关注某个文件或对象是否被更改,这经常包括文件和目录 的内容及属性,它在发现被更改的、被特洛伊化的应用程序方面特别有效。完 整性分析利用强有力的加密机制,称为消息摘要函数( 例如m d 5 ) ,它能识 别哪怕是微小的变化。其优点是不管模式匹配方法和统计分析方法能否发现入 侵,只要是成功的攻击导致了文件或其它对象的任何改变,它都能够发现。缺 点是一般以批处理方式实现,不用于实时响应。尽管如此,完整性检测方法还 应该是网络安全产品的必要手段之一。例如,可以在每一天的某个特定时间内 开启完整性分析模块,对网络系统进行全面地扫描检查。 3 信息保存 为了便于系统管理员或是其它人员对系统曰志或网络中传输的信息进行 查看和分析,我们需要将获得的信息和分析的结果信息进行保存。信息保存同 时也可以为我们对发现的攻击提供数字证据。 4 攻击响应 在我们得到信息并对信息进行分析后,如果发现攻击,我们要对发现的攻 击进行相应的处理,如发出报警、给系统管理员或相关的责任人发邮件等利用 人为干预的形式解除攻击,或是直接利用相应的硬件设施进行处理,如利用防 火墙来切断连接、过滤攻击者的d 地址等方式迅速做出反应。 1 3 入侵检测系统的分类 入侵检测系统作为安全检测的最后一道防线,能够用于检测出各种形式的 入侵行为,是安全防御体系的一个重要组成部分。 入侵检测系统根据不同的方法可以分成不同的种类。 基于网络的入侵检测系统的研究与实现第1 0 页 入侵检测系统按照其输入数据的来源来看,可以分为3 类: 1 基于主机的入侵检测系统( h m s ) :其输入数据来源于系统的审计日 志和从网络上流入的数据流,一般只能检测针对该主机发生的入侵; 基于主机的入侵检测产品通常是安装在被重点检测的主机之上,主要是对 该主机的网络实时连接以及系统审计日志进行智能分析和判断。如果其中主体 活动十分可疑( 特征或违反统计规律) ,入侵检测系统就会采取相应措施。 主机入侵检测系统的优点: 主机入侵检测系统对分析“可能的攻击行为”非常有用。举例来说,有时 候它除了指出入侵者试图执行一些“危险的命令”之外,还能分辨出入侵者干 了什么事:他们运行了什么程序、打开了哪些文件、执行了哪些系统调用。主 机入侵检测系统与网络入侵检测系统相比通常能够提供更详尽的相关信息。 主机入侵检测系统通常情况下比网络入侵检测系统误报率要低,因为检测 在主机上运行的命令序列比检测网络流更简单,系统的复杂性也少得多。 主机入侵检测系统可布署在那些不需要广泛的入侵检测、传感器与控制台 之间的通信带宽不足的情况下。主机入侵检测系统在不使用诸如“停止服 务”、“注销用户”等响应方法时风险较少。 主机入侵检测系统的弱点: 主机入侵检测系统安装在我们需要保护的设备上。举例来说,当一个数据 库服务器要保护时,就要在服务器本身上安装入侵检测系统。这会降低应用系 统的效率。此外,它也会带来一些额外的安全问题,安装了主机入侵检测系统 后,将本不允许安全管理员有权力访问的服务器变成他可以访问的了。 主机入侵检测系统的另一个问题是它依赖于服务器固有的日志与监视能 力。如果服务器没有配置日志功能,则必需重新配置,这将会给运行中的业务 系统带来不可预见的性能影响。 全面布署主机入侵检测系统代价较大,企业中很难将所有主机用主机入侵 检测系统保护,只能选择部分主机保护。那些未安装主机入侵检测系统的机器 将成为保护的盲点,入侵者可利用这些机器达到攻击目标。 主机入侵检测系统除了监测自身的主机以外,根本不监测网络上的情况。 对入侵行为的分析的工作量将随着主机数目增加而增加。 2 基于网络的入侵检测系统( n h 3 s ) :其输入数据来源于网络的信息流, 能够检测该网段上发生的网络入侵; 基于网络的入侵检测系统的研究与实现第1 1 页 基于网络的入侵检测产品放置在比较重要的网段内,不停地监视网段中的 各种数据包。对每一个数据包或可疑的数据包进行特征分析。如果数据包与产 品内置的某些规则吻合,入侵检测系统就会发出警报甚至直接切断网络连接。 目前,大部分入侵检测产品是基于网络的。 网络入侵检测系统的优点: 网络入侵检测系统能够检测那些来自网络的攻击,它能够检测到超过授权 的非法访问。 一个网络入侵检测系统不需要改变服务器等主机的配置。由于它不会在业 务系统的主机中安装额外的软件,从而不会影响这些机器的c p u 、i o 与磁盘 等资源的使用,不会影响业务系统的性能。 由于网络入侵检测系统不像路由器、防火墙等关键设备方式工作,它不会 成为系统中的关键路径。网络入侵检测系统发生故障不会影响正常业务的运 行。布署一个网络入侵检测系统的风险比主机入侵检测系统的风险少得多。 网络入侵检测系统近年内有向专门的设备发展的趋势,安装这样的一个网 络入侵检测系统非常方便,只需将定制的设备接上电源,做很少一些配置,将 其连到网络上即可。 网络入侵检测系统的弱点: 网络入侵检测系统只检查它直接连接网段的通信,不能检测在不同网段的 网络包。在使用交换以太网的环境中就会出现监测范围的局限。而安装多台网 络入侵检测系统的传感器会使布署整个系统的成本大大增加。 网络入侵检测系统为了性能目标通常采用特征检测的方法,它可以检测出 普通的一些攻击,而很难实现一些复杂的需要大量计算与分析时间的攻击检 测。 网络入侵检测系统可能会将大量的数据传回分析系统中。在一些系统中监 听特定的数据包会产生大量的分析数据流量。一些系统在实现时采用一定方法 来减少回传的数据量,对入侵判断的决策由传感器实现,而中央控制台成为状 态显示与通信中心,不再作为入侵行为分析器。这样的系统中的传感器协同工 作能力较弱。 网络入侵检测系统处理加密的会话过程较困难,目前通过加密通道的攻击 尚不多,但随着i p v 6 的普及,这个问题会越来越突出。 3 采用上述两种数据来源的分布式的入侵检测系统:基于网络的入侵检 基于网络的入侵检测系统的研究与实现 测产品和基于主机的入侵检测产品都有不足之处,单纯使用一类产品会造成主 动防御体系不全面。但是,它们的缺憾是互补的。如果这两类产品能够无缝结 合起来部署在网络内,则会构架成一套完整立体的主动防御体系,综合了基于 网络和基于主机两种结构特点的入侵检测系统,既可发现网络中的攻击信息, 也可从系统日志中发现异常情况 入侵检测系统按照其采用的方法来看,可以分为3 类: 1 采用异常检测( a n o m a l yd e t e c t i o n ) 的入侵检测系统; 异常检测指根据使用者的行为或资源使用状况来判断是否入侵,而不依赖 于具体行为是否出现来检测,所以也被称为基于行为的检测。基于行为的检测 方法主要有:概率统计方法与神经网络方法。异常检测基于统计方法,使用系 统或用户的活动轮廓( a c t i v i t yp r o f i l e ) 来检测入侵活动。活动轮廓由一组统 计参数组成,通常包括c p u 和i o 利用率、文件访问、出错率、网络连接等。 这类入侵检测系统先产生主体的活动轮廓,系统运行时,异常检测程序产生当 前活动轮廓并同原始轮廓比较,同时更新原始轮廓,当发生显著偏离时即认为 是入侵。基于行为的检测与系统相对无关,通用性较强。它甚至有可能检测出 以前从未出现过的攻击方法,不象基于知识的检测那样受已知脆弱性的限制。 但因为不可能对整个系统内的所有用户行为进行全面的描述,况且每个用户的 行为是经常改变的,所以它的主要缺陷在于误检率很高。尤其在用户数目众多, 或工作目的经常改变的环境中。其次由于统计简表要不断更新,入侵者如果知 道某系统在入侵检测系统的监视之下,他们能慢慢地训练检测系统,以至于最 初认为是异常的行为,经一段时间训练后也认为是正常的了。 2 采用特征检测( s i g n a t u r e b a s e dd e t e c t i o n ) 又称滥用检测( m i s u s e d e t e c t i o n ) 的入侵检测系统; 特征检测对己知的攻击或入侵的方式作出确定性的描述,形成相应的事件 模式。当被监测的事件与已知的入侵事件模式相匹配时,即报警。原理上与专 家系统相仿。其检测方法上与计算机病毒的检测方式类似。目前基于对包特征 描述的模式匹配应用较为广泛。 3 采用两种混合的检测的入侵检测系统; 目前的方法虽然能够在某些方面有很好的效果,但从总体来看都各有不 足。孤立地去看哪种方法好、哪种方法不好都是不可取的。因而现在越来越多 的入侵检测系统都同时具有这两方面的部件,互相补充不足,共同完成检测任 基于网络的入侵检测系统的研究与实现第1 3 页 务。目前,仍有许多学者在研究新的检测方法,有采用自动代理主动防御,有 将免疫学原理应用到入侵检测的方法等。随着计算机技术和入侵技术的发展, 入侵检测方法研究仍将任重而道远。 1 。4 入侵检测的现状 入侵检测作为种积极主动地安全防护技术,提供了对内部攻击、外部攻 击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。从网络安 全立体纵深、多层次防御的角度出发,入侵检测理应受到人们的高度重视,这 从国外入侵检测产品市场的蓬勃发展就可以看出。在国内,随着上网的关键部 门、关键业务越来越多,迫切需要具有自主版权的入侵检测产品。但现状是入 侵检测的研究在国内还处在刚刚起步阶段,或者是停留在研究和实验样品阶 段,或者是防火墙中集成较为初级的入侵检测模块。可见,入侵检测产品仍具 有较大的发展空间。从技术途径来讲,国外在这方面的研究都具有一定的封闭 性,特别是商业上产品的研究和开发。 1 5 课题来源 本课题为教研室自拟,希望通过跟踪国内外入侵检测系统的发展动态,了 解和掌握入侵检测系统的原理和技术,并实现一个自主开发的有一定实用价值 的入侵检测系统。由于条件和环境的限制,所以本课题首先实现实验室环境下 的入侵检测系统。 在国外,入侵检测系统已经发展了十多年,商业产品也有很多,如:基于 主机的i d s 软件包i n t r u d e ra l e r t ( a x e n tt e c h n o l o g i e s ) 、p o l y c e n t e r s e c u r i t y i n t r u s i o n d e t e c t o r ( d i g i t a l ) 等;基于网络的软件包c i s c os y s t e m s n e t r a n g e r ( c i s c o 公司) 、r e m s e c l l r e ( i s s 公司) 等。然而,在国内的企业几乎没 有一家有成熟的商业产品,对入侵检测系统的研究和开发都处在测试阶段。并 且,无论是国外的成熟软件,还是国内的测试软件,都由于他们自己的商业利 益的考虑独立开发自己的接口规范,致使各产品之间没有良好的互操作性,阻 碍了各个入侵检测系统之间的信息共享和相互协调操作。并且,许多攻击遍及 大面积的网络,持续很长的时间。在这种环境下,入侵检测系统及其组件之间 关于攻击信息的共享的能力变得更加重要。因为,共享信息将能够使一个系统 基于网络的入侵检测系统的研究与实现 第1 4 页 警告其它的系统可能迫近的攻击。 因此我的论文就据此现状对入侵检测系统的理论和规范进行了仔细地研 究,并在此基础上以规格化的形式实现了一个基于网络的入侵检测系统,由于 完全按照规范进行接口定义和实现,所以具有良好的互操作性和扩展性 在系统实现中,本人负责对c i d f 和c i s l 要求的接1 :3 功能的实现及入侵 检测系统中的事件产生器、事件分析器的实时分析和临时数据库的设计和实 王见。 基于网络的入侵检测系统的研究与实现 第1 5 页 第二章 入侵检测系统的规范及其实现 入侵检测系统的规范是对入侵检测系统开发的标准化的规则集,它主要包 括四个部分: 体系结构( t h ec o m m 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 ka r c h i t e c t u r e ) : 规范语言( ac o m m o ni n t r u s i o ns p e c i f i c a t i o nl a n g u a g e ) : 内部通信( c o m m u n i c a t i o ni nt h ec o m m 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 o m m 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 ka p i s ) 。 其中体系结构阐述了一个标准的入侵检测系统的通用模型;规范语言定义 了一个用来描述检测信息、分析结果和处理操作的标准语言;内部通信定义了 入侵检测系统组件之间进行通信的标准协议;程序接口提供了一整套标准的应 用程序接口( a p i 函数) 。下面将分别对这四个组成部分进行结构分析。 2 。1c i d f 通用的入侵检测框架( c o m m o ni n t r u s i o n d e t e c t i o nf r a m e w o r k ( c i d f ) ) 随着时间的流逝,入侵的活动范围正在不断的扩大,许多入侵能遍及整个 网络,并且长时间的对网络上的数据或计算机产生危害,在这种情况下各个入 侵检测系统的组件之间共享攻击信息的能力变得越来越重要,这样的共享能够 完善单个入侵检测系统的检测能力,从而为更多的攻击产生报警。再者,对于 不同组织开发的入侵检测系统,都有其各自的特点,怎样将不同组织开发的优 秀组件组织为一个新的、更好的系统? 为了达到这个目的,入侵检测系统必须 提供统一的共享信息的程序接口。美国政府的d e f e n s ea d v a n c e dr e s e a r c h p r o j e c t sa g e n c y ( d a r p a ) 正是为了达到这个目的,才提出了通用的入侵检测 框架,并由i n t e r a c te n g i n e e r i n g t a s k f o r c e ( i e t f ) 的入侵检测小组( i d w g ) 负责 规范设计。它还不是一种标准,它也正在不断的完善,而且有越来越多的人支 持这种规范。通用的入侵检测框架主要包括三部分:通用的入侵检测框架的总 体结构要求;通用的入侵检测框架包括哪些模块组件;通信接口的分层方式。 2 1 1g i d f 饷爵体诺构叠木 基于网络的入侵检测系统的研究与实现第1 6 页 通用的入侵检测框架要求入侵检测系统应该能被分成具有独立功能的模 块,这些模块在不同的产品中应具有可重用性。这些组件能够通过a p i 或网 络共享数据,以便使其它产品能够从它的数据中得出检测结论。新的组件能够 在线找到,并且新的组件能够自动找到它们想要与之通信的即插即用 ( ”p l u g - a r i d - p l a y ”) 的组件。组件和整个系统应能够被组合在一起,并打包发送 到世界各地。除了上述几点要求以外,通用的入侵检测框架应尽可能减少对入 侵检测系统设计者的设计约束。 2 1 2g i d f 包搪唧茔棋供细佴 通用的入侵检测框架包括四部分,它们之间通过消息传递进行通信,其模 块如下:事件产生器( e v e n tg e n e r a t o r s ( c o l l o q u i a l l y ”e b o x e s ”) ) ;事件分析 器( e v e n ta n a l y z e r s ( ”a b o x e s ”) ) ;事件数据库( e v e n td a t a b a s e s ( ”d b o x e s ”) ) ; 事件响应单元( r e s p o n s eu n i t s ( ”r - b o x e s ”) ) 。组件之间的关系如下: e t h e m e t 所有组件间都通过通用入侵检测对象( g e n e r a l i z e di n t r u s i o n d e t e c t i o n o b j e c t s ( g i d o s ) ) 结构来交换数据。通用入侵检测对象是通用的入侵描述语言 ( c i s l ) 定义的通用的标准格式,一个通用入侵检测对象编码是某一时间发 生的某一事件或一个事件集合或一个入侵行为。事件产生器负责生成通用入侵 检测对象,但它不处理生成的通用入侵检测对象。 1 事件产生器( e v e n tg e n e r a t o r s ( c o l l o q u i a l l y ”e b o x e s ”) ) 事件产生器的任务就是从入侵检测系统所检测的网络通信中获得事件,并 以g i d o 的格式提供给入侵检测体系中的其它系统。例如,事件产生器可以是 基于网络的入侵检测系统的研究与实现第1 7 页 简单的带有c 2 审核级别的过虑器( 从本地日志中得到入侵信息) ,并把他们转 换成g d o 格式的数据,或是一个监听器被动的监听网络通信( 从网络中得到 信息) ,或是s q l 数据库中的数据事务处理的应用程序代码( 从其它入侵检测 的检测数据库中得到信息1 。 事件产生器生成标准的g i d o 格式的事件使不同系统的组件反复的利用 某个生成器生成的事件成为可能,所以,事件在传输时生成统的g i d o 格式 是许多团体都必须做的。因此,确定事件产生器的配置和使用的接口是非常有 用的。 事件产生器在事件发生时就把它提供给系统的其它部分。由事件数据库来 存储这些事件。 事件产生器是一个传感器,它是入侵检测系统的唯一信息来源组件,没有 事件产生器生成事件给其它组件,那么入侵检测系统就无法检测入侵的发生。 2 事件分析器( e v e n ta n a l y z e r s ( ”a - b o x e s ”) ) 事件分析器是入侵检测系统中非常重要的组件。它们从其它组件接收 g d o s ,分析它们,并且返回经过分析后得出的接收事件的综合或概述的结论 g ) o s 。 分析器可能是一个统计工具,它测试是否现在得到的事件和过去同一时间 序列得到的事件是可以进行统计的;分析器可能是一个标记工具,它测试事件 序列,把事件同已知的系统漏洞模板进行分析标记;分析器还可能是一个相关 器,它只是简单的测试事件,并试图决定它们是否与其它的事件相关联,然后 把它们合成一个事件以便于更深入的分析。 3 ) 事件数据库( e v e n td a t a b a s e s ( ”d b o x e s ”) ) 事件数据库用于保存g d o s 。 4 ) 事件响应单元( r e s p o n s eu n i t s ( ”r b o x e s ”) ) 事件响应单元用于根据检测到的入侵类型执行相应的对系统有益的响应 事件。它包括报警、杀死进程、重置连接、改变文件权限等等。 2 1 3 臣信拉口的分层方式 c i d f 的通信结构是一个层次性的体系结构,它包括三个层次: g d o - i ( g i d ol a y e r ) 、消息层( m e s s a g el a y e r ) 、协调传输层( n e g o t i a t e dt r a n s p o r t 基于网络的入侵检测系统的研究与实现第18 页 l a y e r ) 。 g f d o 层的存在是因为不同入侵检测系统之间需要互操作,所有系统必须 遵循相同的语义上的一致性,这样数据才能够在不同系统之间进行传输。因此 g d o 格式是丰富的和可扩展的格式 消息层的存在是因为各种有效的传输选项传输时缺少必需的控制机制。消 息层保证可靠发送加密认证消息的能力,通过防火墙,地址转换设备,等等。 消息层不携带语义上的信息,它只关心把信息从源端传送到目标端。相反地, g i d o 层不包括传输控制信息,只包括需要传输的有意义的信息本身。 传输机制不是c i d f 规范的一部分,但是它是许多有效的传输机制中的一 种;它的选择在组件通信规范中被描述。 2 2c i s l 通用的入侵描述语言( c o m m o ni n t r u s i o n s p e c i f i c a t i o nl a n g u a g e ( c i s l ) ) 为了实现通用入侵检测框架( c i d f ) ,我们在实现入侵检测系统的时候 就必须有一个统一的接口语言,这样才能使各个模块更好的相互通信,通用的 入侵描述语言( c i s l ) 正是为此目的而设计的( 它仍然在不断的设计完善之中) 。 c i s l 是入侵检测系统一种表达方式,它用来描述事件、攻击和响应的信息。 它具有可表达性、表达唯一性、准确性、层次性、自定义、高效、可扩展、简 洁、跨平台、易实现等特性。 2 2 1 语 刍括识掰 c i s l 使用被称作s 一表达式的语法。它利用标志和数据来进行分组;l i s p 表达式就是一个s 一表达式的例子。 一个介绍性的例子: 考虑下面的c i s l 表达式,它描述了一个简单的事件: ( d e l e t e ( w h e n ( t i m e 1 2 :2 415m a r 2 0 0 1u t c 1 ) ( i n i t i a t o r 基于网络的入侵检测系统的研究与实现第1 9 页 ( u s e r n , a l l l e j o e ) ( u s e r d1 2 3 4 ) ( h o s t n a m e f o o e x a m p l e c o m ) ) ( f i l e s o u r c e ( f u l l p a t h n a m e e t c p a s s w d 。) ( h o s t n a m e f o o e x a m p l e c o m ) ) ) 一个描述事件的表达式被称为一个句子,类似一个英文句子。象许多英文 语句一样,它有主语、动词和直接宾语,和许多英语语句一样,动词被认为是 句子的心脏,句子的其它部分被解释成与动词相关。c i s l 语句的布局和组织 反映了这个优先级。因此,上面的语句的动词是d e l e t e 。它表达将要删除某人 或试着删除某个文件的事件。在动词下面还包括一些子句,这些子旬标识和描 述执行各种任务的入口。这里,i n i t i a t o r 指定执行删除操作的入口, f i l e , s o u r c e 指定将要删除的文件。另外,c i s l 也包括指定怎样执行某项操 作的子句,例如告诉事件什么时候什么地点执行。这些信息被放在副词的位置, 这里,w h e n 是一个副词指定什么时候和在什么机器上执行删除操作。 因此上面的语句所代表的信息就是:在2 0 0 1 年3 月1 5 日标准时间为1 2 : 2 4 时,在机器f o o e x a m p l e c o m 上,用户名为 j o e 用户号码为1 2 3 4 的用户删 除e t c p a s s w d 文件。 2 2 2 语义t 圣稗符 在c i s l 中,确定动作或入口的标识符被称为语义标识符( s e m a n t i c i d e n t i f i e r s ) ,缩写为s i d s 。 在c i s l 中,s d 分为七类,分别为: 动词s i d ,表动作,如d e l e t e 、o p e r t a p p l i c a t i o n s e s s i o n 、s e n d m e s s a g e ; 角色s d ,表产生动作的主体,如i n i t i a t o r 、f i l e d c s t i n a t i o n 、m e s s a g e ; 副词s i d ,表动作的地点或时间,如o u t c o m e 、w h e n ; 属性s i d ,表产生动作主体的属性,如o w n e n 一垩王堕堡塑垒堡堕型墨竺塑塑壅芝壅婴 丝! ! 里 原子s i d ,表最基本的s i d ,如u s e r n a m e 、t i m e 、s o u r c e f p v 4 a d d r e s s : 指示s i d ,表示组合同一句子的两个或多个部分,如r e f e r t o 、r e f e r a s : 关联s i d ,表句子之间的联系,如a n d 。 例如d e l e t e 是动词s i d s ,因为它标识一个动作;i n i t i a t o r 被称为角色s i d s , 因为它标识参加动作的入口。最后,w h e n 是副词s i d ,因为它是一个副词子 句。 c i s l 有一些不同于已经介绍的s i d s 类型。属性s i d s 与角色s i d s 有些相 似,描述一个入口或是对象,但它又不像角色s i d s ,它们仅仅在其它角色s i d s 后面,而不是象角色s i d s 那样在动词s i d s 后面。 下面是一个属性s i do w n e r 的例子 ( f

温馨提示

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

评论

0/150

提交评论