(计算机软件与理论专业论文)网络入侵检测技术研究和设计实现.pdf_第1页
(计算机软件与理论专业论文)网络入侵检测技术研究和设计实现.pdf_第2页
(计算机软件与理论专业论文)网络入侵检测技术研究和设计实现.pdf_第3页
(计算机软件与理论专业论文)网络入侵检测技术研究和设计实现.pdf_第4页
(计算机软件与理论专业论文)网络入侵检测技术研究和设计实现.pdf_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为 获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与 我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的 说明并表示谢意。 签名: ) 垂l 茎逢日期:伽乙年,月肜日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全 部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:l 董j 翌照 导师签名: 日期:l 年夕月17 日 阵 摘要 网络安全在网络发展和应用中成为了必须首先考虑的要素。对同益猖獗的计 算机犯罪,除了加大监管力度、完善法规条理,提高举证的技术能力也是迫切需 要的。因此,研究发展入侵检测技术是十分重要的。 本文是在大量实践基础上对网络入侵检测技术进行的全面研究和分析。通过 定义入侵检测系统的三个属性和检测技术的三个要素,形成了一个入侵检测技术 研究框架。以此框架为基础全面分析研究网络入侵检测技术和网络入侵检测系统 应用体系结构;论述如何在t c p i p 上设计实现关键字匹配技术、网络事件提取 功能和蜜罐系统;最后根据前期的理论分析提出了两种改进综合设想。 本文前两章,概要指出了网络安全隐患产生的原因,介绍了入侵检测在网络 安全体系中的作用,定义了入侵和入侵检测概念。并根据归纳的网络入侵检测系 统的三个属性,解释了网络入侵检测在本文中的概念。第三章,首先归纳了入侵 检测技术的三个要素:然后由此出发,通过误用检测和异常检测两个分类,论述 了其检测思想根本上的不同,概要地介绍了两大检测技术类别中具有代表性的检 测技术,剖析了各种检测技术产生的根源:最后,从检测的精确性、正确性、完 整性,以及检测技术实现难度、检测效率等方面分析比较了误用检测技术和异常 检测技术的优劣。第四章,论述了与入侵检测技术紧密相关的系统应用体系结构。 第五章,结合实际研发项目,具体说明了在t c p i p 网络上如何设计实现入侵检 测系统,并给出了关键部分的数据结构和代码片段。第六章,本文根据前面分析 研究成果,提出了结合误用检测技术和异常检测技术优势的两个综合设想。 本文更重要的贡献是给出了一种分析方法,它能为入侵检测系统不断适应网 络的飞速发展和在其它网络成功借鉴t c p i p 网络入侵检测研究成果提供有成效 的帮助。 关键字: 入侵检测关键字匹配安全审计蜜罐系统 a b s t r a c t t a k i n gt h er e s e a r c ho nt h en e t w o r ki n t r u s i o nd e t e c ti o nt e c h n o l o g ya n d a p p l i c a t f o nf r a m e w o r k ,t h ist h e s i sa t t e m p t st ob r i n gs o m eh e i pt ot h e s t u d yo fn i d si nt h et o d a y si n c r e a s i n g l ye x t e n d e dn e t w o r ka n dh e l p s a p p li c a t i o no ft h es k i1 1 sf r o mt h et c p i pn e t w o r kt ot h eo t h e r s i nt h i st h e s is ,f i r s t l y ,c o n s t r u c t i n gaf r a m e w o r kt oa n a l y s i sn i d s w i t ht h ed e f i n i t i o no ft h et h r e ea t t r i b u t e so fn i d sa n dt h r e ef a c t o r so f d e t e c t i o nt e c h n o l o g y f o ll o w i n gb ya n a l y z i n gt h em i s u s e b a s e da n d a n o m a l y - b a s e dt e c h n o l o g ya sw e l la st h en i d sa p p l i c a t i o nf r a m e w o r k a n d t h e n ,d e s c r i b i n gt h ed e s i g na n di m p l e m e n t a t i o nw i t hs o m en i d s t e c h n o l o g i e s ,s u c ha sk e y w o r dm a t c h i n g ,s e c u r i t ya u d na n dh o n e yp o ti n t c p i pn e t w o r k a tl a s t ,g i v i n gt w os u g g e s t i o n s ,o ni m p r o v i n gt h en i d s t e c h n o f o g y i nc h a p t e rla n dc h a p t e r2 ,a f t e rg i v i n go u tt h ec a u s e so fn e t w o r k s e c u r i t yt r o u b l ea n dt h er e l a t i o n s h i po fe l e m e n t st h a tc o n s t i t u t ear o b u s t n e t w o r ks e c u r i t y s t r a t e g y ,d e f i n i n g t h ei n t r u s i o n ,t h ei n t r u s i o n d e t e c t i o na n dt h r e ea t t r i h u t e so fn i d s i nc h a p t e r3 ,b a s e do nt h e d e f i n it i o f o ft h ef a c t o r so fd e t e c t i o n t e c h n o l o g y ,a n a l y z i n g s o m e c h a r a c t e r i s t jcd e t e c t i o nt e c h n o l o g i e s ,r e a s o n i n gt h e a d v a n t a g ea n d d is a d v a n t a g eb e t w e e nm is u s e b a s e d t e c h n o l o g y a n d a n o m a l y 。b a s e d t e c h n o l o g y i nc h a p t e r4 ,c l a s s i f y i n gt h en i d sa p p li c a t i o nf r a m e w o r k i n c h a p t e r5 ,w i t hr e l a t i v ep r o j e c t si nt c p i pn e t w o r k ,d e s c r i b i n gi nd e t a il t h ed e s i g na n di m p l e m e n t a t i o no fk e y w o r dm a t c h i n g ,s e c u r i t ya u d i ta n d h o n e yp o t i nc h a p t e r6 g i v i n gt w os u g g e s t i o n sh o wt om e r g em i s u s e b a s e d t e c h n o l o g ya n da n o m a ly - b a s e dt e c h n o l o g y k e yw o r d s : i n t r u s i o nd e t e c t i o n k e y w o r dm a t c h i n g s e c u r i t ya u d i t h o n e yp o t 网络入侵检测技术研究羊设计实现 第一章引言 随着互联网在人们生活中的普及,网络系统的安全性越发显得重要。大到国 家、政府,小到企业、个人,无不意识到安全是网络的一个重要属性。网络安全 隐患主要来自于如下四个方面。一、网络的复杂性。网络是一个有众多环节构成 的复杂系统。由于市场利润,技术投入,产品成本,技术规范等等问题,不同供 应商提供的环节在安全性上不尽相同,使得整个系统的安全程度被限制在了安全 等级最低的那个环节。二、网络的飞速发展。由于网络的发展,提供新网络服务, 增加网络的开放性和互联性等,必然将更多环节纳入系统中,新采用的环节又增 加了系统的复杂性,引发了网络的不安定性。三、软件质量问题。软件质量难以 评估是软件的一个特性。现实中,即使是正常运行了很长时间的软件,也会在特 定的情况下出现漏洞,例如不断涌现的o s 漏洞。现代网络已经是软件驱动的发 展模式,对软件的更大依赖性加大了软件质量对网络安全的负面影响。同时,市 场的激烈竞争,促使商家需要更快地推出产品,软件的快速开发也增大了遗留更 多隐患的可能性。四、其它非技术因素。这包括技术员在网络配置管理上的疏忽 或错误,网络实际运行效益和安全投入成本间的平衡抉择,网络用户的安全管理 缺陷等等。 当今世界,有大量的研究机构、社会团体、商业公司和政府部门投入到网络 安全的研究,并将此纳入到一个被称为信息安全的研究领域。虽然网络安全已经 超越了纯技术领域,但网络安全技术仍然是解决网络安全最重要的基础和研究方 向。除了基于密码学的各种增强网络安全特性的手段如安全传输协议、数字签名、 数字验证、各种数据加密方式、安全代理等等,其它的可归类为防御 ( p r o t e c t i o n ) 、检测( d e t e c t i o f ) 、响应( r e s p o n s e ) 和恢复( r e s t o r e ) 四个 策略。网络入侵检测是检测领域的代表性研究方向,在某些具体应用场合,恢复 和响应的某些特性也被集成到了入侵检测中。同时,在对计算机网络犯罪行为举 证的过程中,入侵检测是不可缺的技术基础。进一步的研究表明,在今后的网络 安全应用方案中,以入侵检测系统为中枢、控制和协调其它各策略产品、有针对 性的发挥其各自最大的作用,将成为必然的组建趋势。 本文以网络入侵检测为研究方向,针对t c p i p 网,这个当今最开放晟普及 同时也最易受攻击和被研究得最多的网络,结合在鹰眼入侵检测仪( 误用检测技 术) 、分布式网络入侵检测仪( 误用检测技术) 和网络安全审计系统( 异常检测 技术) 中的开发经验,以及在“十五”军事通信技术预研任务中对七号信令网入 侵检测研究的前期考虑,全面分析研讨网络入侵系统的检测技术和应用体系结 构,设计实现具有一定功能的入侵检测系统,并在此基础上最后提出了让不同入 第一章引言 侵检测技术优劣互补的改进设想。这样的研讨和改进设想,定能为入侵检测系统 不断适应网络的飞速发展和在其它网络成功借鉴t c p i p 网络入侵检测研究成果 提供最大的帮助。 本文各章节内容安排如下: 第一章引言。 第二章网络入侵检测。介绍入侵检测技术在网络安全体系中的位置;入 侵检测技术的属性:阐述本文网络入侵检测范畴。 第三章入侵检测技术。归纳入侵检测技术的要素;从误用检测和异常检 测两个分类出发,介绍入侵检测技术的算法思想:从不同角度举 例和讨论算法思想及扩展:分析入侵检测技术的优势和缺陷。 第四章应用体系结构。归纳常见的网络入侵检测系统的应用体系结构; 分析各体系结构的特点和不足。介绍模拟人体免疫功能的体系结 构。 第五章系统设计和实现。综合叙述关键匹配检测技术设计和实现细节: 网络事件提取功能的设计和实现;集中型体系结构设计和实现; 蜜罐系统h o n e y n e t 的实现。 第六章入侵检测技术综合设想。融合误用检测、异常检测两种检测技术 的实现设想。 第七章结论。 网络入侵检测技术研究和设计实现 第二章网络入侵检测 i d s g ( i n t r u s i o nd e t e c t i o ns u b g r o u p ) 在 1 中对入侵和入侵检测做了这样 的定义:入侵是指未授权地进入信息系统,并且( 或者) 未授权地在个信息系 统上进行一定的活动。入侵检测是发现企图的、正在进行的、或已经完成的入侵 的一种鉴定过程。 虽然本文的着重点在入侵检测技术上,但为了更准确的理解入侵检测技术要 解决的问题,有必要将入侵检测放回到网络安全体系中作比较。这里说的网络安 全体系是由防御( p r o t e c t i o n ) 、检测( d e t e c t i o n ) 、响应( r e s p o n s e ) 和恢复 ( r e s t o r e ) 四个要素构成。防御,是指通过排除、阻挡和过滤的方法来预防已 知的或潜在的入侵。各种预订的网络安全策略,以及实施这种策略的防火墙技术 是体现防御的主要技术。响应,是指对入侵企图和入侵进行实施的单或系列措 施,达到阻止入侵的目的。如阻断入侵的网络路径,产生入侵告警等等。恢复, 是在入侵过程中或入侵发生后通过相应正确的方法来减小或弥补入侵造成的破 坏。网站自动恢复系统是这个方面的代表产品。明显看出,这四个要素是各有侧 重,不可相互替代的。虽然目前防火墙技术发展得最成熟和实现得最成功,但其 作用的局限性是明显的,因为大部分的入侵行为都是穿越了防火墙或在防火墙的 内部进行。更重要的是,我们需要入侵检测技术来收集入侵的证据,为打击日益 猖獗的网络犯罪提供技术保证。而且,随着目前商用的入侵检测产品的功能拓展, 不但将恢复和响应功能集成到入侵检测系统中,而且能根据检测结果产生检测报 告,为管理定制网络安全策略提供参考,甚至做到了入侵检测系统与防火墙,路 由器等网络设备的互动互控,逐渐形成了一个以入侵检测系统为中枢的网络安全 应对体系。 借鉴i d s o 在 1 中为入侵检测系统做的四个方面的上下文( c o n t e x t ) 定义, 入侵检测系统可归纳出如下三个属性: 1 环境和检测对象。系统应用环境经历了单机环境、多机环境( 多机不一 定相互有连接关系) 和网络环境。网络环境又可分为单段网络、多段网 络、网络域和跨域的企业网络。对不同的应用环境,入侵检测系统需要 采用不同的应用体系结构来适应( 本文在第四章着重讨论这个问题) 随 着系统应用环境的多样化,入侵检测的对象也有了更多的选择,如用户、 用户组、进程、操作系统、网络行为和网络通信界面等等。最终系统选 择的检测对象是由具体的入侵检测技术( 更准确说是检测实现方法) 来 决定的。 第二章网络入侵检测 2 数据来源。入侵检测系统是通过对检测对象产生的或相关的数据进行分 析,从而发现入侵。入侵检测系统使用的数据可以从多方面获得,例如 系统运行日志、用户行为记录、应用程序自身产生的记录、网络管理日 志和网络运行日志( 如防火墙产生的日志) 等等:也可以直接捕获网络 数据流或使用特定的下层服务产生的提炼数据。明显的,在实际运用中, 数据来源也是由入侵检测技术决定的。 3 入侵检测技术。虽然实现入侵检测的方法各式各样,但从技术思想上看 可分为两个大类:误用检测( m i s u s e - b a s e dd e t e c t i o n ) 和异常检测 ( a n o m a l y b a s e dd e t e c t i o n ) 。误用检测是针对那些在特定系统上已经 被查证确实的入侵:通常是采集已知入侵的特征,匹配比较特征相同或 相似的行为确认为入侵。异常检测是通过建立一个检测对象的正常模型, 然后检测出违背该模型的异常行为确认为入侵。 从上面定义的三个属性来看,入侵检测技术是入侵检测系统的灵魂,还直接影响 数据来源和检测对象等系统属性。应用环境决定了入侵检测系统的骨架,同时也 为入侵检测技术的功能发挥提出了要求。因此,本文的研究内容主要放在入侵检 测技术方面,同时将应用环境设定为网络环境,研究系统结构如何适应网络环境, 如何发挥入侵检测技术的功能。 有必要强调指出,虽然通常有将入侵检测划分为主机入侵检测系统和网络入 侵检测系统的分类方法,但是这种分类是基于数据来源这个属性产生的,这和本 文的网络入侵检测有着概念上的不同。本文的网络入侵检测是指应用环境为网络 环境的入侵检测,而不是将数据来源限定为网络数据的入侵检测。因为具体的入 侵归结到最后还是发生在具体的主机上,所以只要需要,主机上的系统日志、用 户行为记录等数据都会被采集。换句话说,本文的网络入侵检测是根据入侵检测 技术选择数据来源,而不是确定了数据来源选择入侵检测技术。 网络入侵检测技术研究和设计实现 3 1 入侵检测技术的要素 第三章入侵检测技术 为了方便论述、比较和掌握不同入侵检测技术的特点,有必要对入侵检测技 术归纳要素。 从前面对入侵的定义可以看出,入侵的本质就是未授权的活动,所以我们需 要概念来界定未授权活动的范围。虽然前面在论述入侵检测属性时提出了检测对 象这个概念,但应该看到,这个概念相对入侵来说是模糊的,检测对象即可能是 入侵的受动者,也可能是入侵的施动者,或者是入侵的载体。而我们需要界定的 范围只是入侵的受动者。所以,本文提出受保护资源这个概念,单指入侵的受动 者。有了这个概念,我们可以换个角度来认识入侵:入侵就是在受保护资源上的 一切未授权活动。入侵检测就是在受保护资源上的所有活动中识别未授权活动。 入侵检测技术的本质就是通过技术手段区别受保护资源上的授权活动和未授权 活动。 为了作到识别受保护资源上的未授权活动,我们首先需要记录受保护资源上 进行的一切活动。有了这样的记录基础,我们才能通过各种对数据处理的方法从 中发现未授权的活动。由于受保护资源的抽象性和广泛性,进步扩展这个需求 为能记录对任意资源的操作行为。 有了资源操作记录,我们还需要定的数据处理方法来处理记录,达到发现 入侵的目的。这些方法我们统称为识别算法。 通过上面的分析,我们可以容易的总结出入侵检测技术的要素为:受保护资 源、能被用来记录对资源操作行为的模型( 简称为记录模型) 和从模型中鉴别出 授权和非授权行为的算法( 简称为识别算法) 。后面对不同入侵检测技术的讨论 中,都会围绕这三个要素进行。 从技术思想出发,入侵检测技术分为两个大类:误用检测技术和异常检测技 术。 3 2 误用检测技术 发现一个系统安全漏洞,需要机遇和深厚的技术基础,是十分困难的。而知 道一个安全漏洞并利用该安全漏洞进行成功有效的入侵,同样是非常不容易的。 因此,少有黑客知道如何在安全漏洞上进行入侵后还要尝试创新不同的入侵方法 来达到相同的效果或目的。黑客一般都需要依靠程序来自动实施入侵,因此,也 第三章入侵检测技术 少有黑客在重复使用程序的时候再对程序做一些调整。大量的入侵行为是由那些 在网络中广泛收集他人制作发布的黑客工具,即使毫无理论基础也能利用这些黑 客工具实施入侵的黑客,即脚本小子( s c r i p tk i d d i e ) 发起的。简单利用黑客工 具使得脚本小子们的入侵更具重复性。所以,大量的入侵不但是针对受保护资源 的已知( 公开的) 安全漏洞进行,而且有绝大部分是重复入侵。重复入侵不是指 对同一个系统的不断入侵,而是指实施入侵方法手段的重复,包括在相同或类似 的系统上成功入侵方法手段的重复。这样,重复入侵在记录模型中虽然可能产生 不同的行为记录,但这些行为记录会有相同的特征值。例如,特定的字符、特定 的字节顺序、特定的数据大小、特定的网络连接、特定的行为顺序等等。这些相 同特征值统称为入侵脚印( f o o tp r i n t ) 。 误用检测技术实现的基础就是入侵脚印。抽象的蜕有如下三个步骤: 1 由已知的入侵或其它相关经验,通过分析研究产生入侵脚印。 2 采用一定的记录模型即能方便描述入侵脚印,又能方便在数据来源 上形成行为记录。 3 用入侵脚印作为我们识别算法的参考对象,比较记录模型中描述的 行为记录和入侵脚印,如果两者达到一定的符合程度则认为检测到 了入侵。 由于具体实现中提取入侵脚印的侧重点和采用的记录模式不同,采用误用检 测的系统被区分为了如下四个类型: 1 专家系统( e x p e r ts y s t e m s ) 专家系统是基于i f - - t h e n 原则的匹配系统,即将已知的入侵脚印用条件 推出结果的逻辑来描述,然后对逻辑描述编码成规则来判断是否是入侵。该 技术的优点在于计算机的实现非常简单,缺点在于将知识转化为有顺序的条 件推理是非常有难度的,因为很多情况下,入侵行为并没有明显的顺序。 j 中的p - b e s t 可作为参考。 2 基于模型的推理系统( m o d e lb a s e dr e a s o n i n gs y s t e m s ) 模型推理技术是误用检测中一种复杂的实现技术,它的设计思想是建立 一个入侵行为的模型库,每一个模型中又包含不同的行为特征,当一个特征 进行匹配后,该技术将主动在审计记录里寻找该状态中的其它匹配特征。本 技术在建立模型库时采用了统计和数据挖掘的方法,这同后面异常检测技术 中论述的方法类似。 6 7 中的论述可作为进一步的参考。 3 状态转换分析( s t a t et r a n s i t i o na n a l y s i s ) 状态转换分析类似于专家系统,按照入侵行为发生的顺序将其抽象成一 网络入侵检测技术研究和设计实现 系列状态描述。通过在匹配过程中的状态转换,得出结论。状态转换分析相 对于专家系统要灵活些。加州大学的s t a t 项目 1 4 就是研究的这种检测方 法。 4 关键字匹配( k e y w o r dm a t c h i n g ) 关键字匹配又叫模式匹配( s i g n a t u r e m a t c h i n g ) ,是相对于以上三种技 术最为简单的实现方式。通过在已知入侵行为的相关数据中提取特征代码作 为关键字。在检测过程中用关键字和采集的数据逐一匹配,匹配成功则认为 发生入侵。虽然关键字匹配技术实现简单,匹配效率高,但该实现技术有不 可避免的缺陷。在后面详细分析该技术的时候会给以说明。 除此以外,为了能及时发现和更新入侵的特征,误用检测的设计者还提出了蜜罐 技术( h o n e yp o t ) ,希望借此来有控制地引发黑客进行入侵,达到主动获取入侵 特征的目的。转换入侵检测看问题的角度,主动在系统中寻找入侵针对的系统安 全漏洞,提前修补发现的漏洞,避免实际的入侵破坏,这种技术被称为扫描技术。 在后面对扫描技术的详细论述中可以发现,扫描技术也成为了黑客入侵的必要技 术手段。 下面,我们着重来研讨关键字匹配技术、蜜罐技术和扫描技术。 32 1 关键字匹配 由于当前发生的入侵往往都是远程入侵,都是需要依赖网络传输进行。采集 网络数据作为入侵分析的数据源不但是最直接的考虑,而且还有更多的好处。首 先,网络协议是标准化的,这能让我们避免统一不同数据源格式产生的麻烦:其 次,网络协议中协议要素相对较少,利用这些协议要素能方便地构造简洁的记录 模型;最后,网络传输的平台独立性也能让我们不必在检测系统中集成不同的操 作系统数据接口。 提取关键字匹配需要的入侵脚印很简单,几乎就是对入侵产生的数据包的直 接映射。而关键字就是从入侵脚印中归纳出的方便记录模型表示的字段值。我们 只需通过预先定义的规则格式,让关键字构成一条条的规则,然后检测时和数据 包进行匹配,发现匹配规则的数据包即认为发现了可能的入侵行为。例如对如下 一个漏洞: 表3 1 漏洞c a n 一2 0 0 1 0 2 5 3 描述表 第三章入侵检测技术 漏洞类别:输入非法性 h y p e rs e e k2 0 0 0 搜索引擎中由于 h s x c g i 脚本不能正确的处理由一连 漏洞描述:串和0 0 组成的字符串,造成受保护 的网站目录或文件暴露给没有权限的 1 用户。 i w e bs y s t e n sh y p e r s e e k0 0 2 0 0 0 漏洞影响的系统: 一l i n u x k e r n e l 2 3 x 。一m i c f o s o f tw i n d o w sn t4 0 我们可以归纳出在该漏洞上进行入侵的入侵脚印,描述如下 表3 - 2 入侵脚印描述表 连接端口:任意端口到”8 8 墨务器的服务端口如 8 0 ,8 0 0 0 ,8 0 8 0 等) 黑客利用特制的u r l 访问目标w e b 服务 入侵行为: 器,利用h s x c g i 的安全漏洞实现入侵f 。目的 u r l 中的特征值 必然是对h s x c g i 的访问:必然有至少 两个特征;必然有0 0 字符; 因为关键字匹配检测技术是以网络数据为检测数据来源,所以一般需要网络 采集模块来为检测引擎提供数据。此外,由于记录模式或规则都是基于协议要素 形成的,采集的数据进入分析引擎与规则进行匹配前还必须有个协议解析的工 作,如对分片i p 包进行重组,恢复t c p 数据流,解析不同的上层协议等等,这 样才能解析出方便比较的字段值,实现与每条规则进行逐字段的匹配。大体流程 如下图所示: 网络入侵检测技术研究和设计实现 i 入髓警i l l 辱鬻砖劈产生 罡磬, 拴奠引擎 援韵莲配 霰嚣包豹踌说i 柝 、l c 教蕾撮霞完整彀开教蔷包 t 口,i n h 议援璜置曩羹块i 意磅分j :铲台痨i 篁簦i 寇建1 舒蠹l 磕斡饿复、 l 接就丹卡上暑寮的丹碧歌播 矗曩譬采羹横块 l l b e 啦i 作在丹幸馒索接式下 图3 1 关键字匹配检测技术流程图 关键字匹配是以发生过的入侵作为检测的基础,更进一步的思考,为什么我 们不能在前车之鉴上做到亡羊补牢? 毕竟各软件服务商大都能在安全漏洞被公 布后及时的发布漏洞补丁。基于这样的想法,出现了扫描技术。 3 2 2 扫描技术 由于我们已经知道了入侵脚印,知道了黑客会对什么样的安全漏洞利用什么 样的手段进行入侵。我们当然也可以客串为黑客,利用技术手段去检查受保护资 源上是否现实存在这样的漏洞。这就是扫描技术:探测知道的安全漏洞是否在被 探测的系统上存在。黑客在入侵前期往往都会利用扫描技术来收集入侵对象信 息。与黑客的目的不同,我们在确认了存在已知的安全漏洞后,我们是想办法修 复漏洞预防入侵的发生,而不是进行入侵。 实现扫描技术的产品或工具通常被称为扫描器( s c a n n e r ) 。扫描器从系统结 构上看大致被分为三个部分:发送数据包模块、接受数据包模块和漏洞数据库。 漏洞数据库是扫描器的关键部分。发送模块根据漏洞数据库来组成探测数据包并 发送,接收模块接受数据包后也根据漏洞数据库中的漏洞特征来判断漏洞是否存 在。漏洞数据库是扫描器的一个关于安全漏洞的知识库,主要包括各种漏洞的特 征码。 除受制于特征码的精确性外,有效的扫描结果还要受漏洞自身特性的影响。 有时候,单纯依靠漏洞特征码构造发送数据包并不能完全达到预期扫描目的,还 需要直接采用或编写漏洞试探程序。例如对缓冲区溢出漏洞的扫描,我们需要模 拟黑客攻击,发送精心构造的一串字符串到对方没有加以边界判别的缓冲区。作 为扫描,模拟这个过程时,发送的是一串无任何意义且不会形成破坏的字符串, 第三章入侵检测技术 目的是查看对方的应答。如果对方不存在该漏洞,即对缓冲区的越界行为进行了 判断或限制,一般会应答发现越界错误。如果没有任何应答,作为扫描程序是无 法查看对方状态,因为扫描程序发送的溢出代码不是执行代码,是没有任何作用 的。扫描程序通常把这种状况认定为存在这种漏洞,或者变通点,交给用户去判 断。 扫描过程就是黑客入侵的模拟过程,只是对入侵程度进行了限制,避免对被 扫描系统形成破坏。恰到好处的控制探测程度是非常关键并具有较大的难度,因 为程度太浅就无法保证探测的准确性,反之过深就变成了实际的入侵。需要指出, 由于扫描过程必须以避免变成实际入侵为准则,探测的准确性肯定会因此受到影 响。 扫描技术可再细分为操作系统类别扫描、端口扫描、服务软件信息扫描和漏 洞扫描四个方面。服务软件信息扫描一般是根据服务软件在应答中提供的特定信 息来确定,因不同的软件而定,没有什么特别的技术成分。下面,我们只探讨另 外三个方面。 端口扫描是所有其它扫描的基础。由于端口对于网络通信的重要意义,所以 只有在判断了扫描对象开放端口的基础上,才能有的放矢的决定向什么端口发送 数据包和发送什么样的数据包。从黑客的角度来说,攻击前利用端口扫描发现攻 击对象开放的端口有重要价值,因为即使攻击对象有防火墙保护,只要它开放了 些网络服务( 端口) ,那么其安全性就会大大降低,就意味着有机可乘。 端口扫描的工作原理是向扫描对象的t c p u d p 端口发送连接请求,根据对方 的回应信息判断端口是否开放。因为不同系统对连接请求的应答并不一致,所以 一个完善的端口扫描技术应该具备多种扫描方式( 即建立不同的连接请求) 。 常见的端口扫描方法有如下几种: t c p 连接扫描法:这是最基本的扫描方法。直接和被扫描的端口建立t c p 连接,如果连接成功,端口是开放的:反之,端口是关闭的。 t c ps y n 包扫描法:由于只发送s y n 包,并没有完成t c p 连接,所以这 个方法又被叫做半连接扫描法。通常,发送s y n 包后,如果接收到s y s a c k 回应包,表明该端口是开放的;如果收到r s t 包表明该端口是关闭的。 t c pf i n 包( 秘密) 扫描法:发送一个f i n 包到扫描端口。如果端口是 关闭的,一般会回应一个r s t 包;端口是开放的,会把这个包作为错误 包忽略掉不做回应。t c pf i n 扫描法的检测结果并不是1 0 0 的正确,例 如对m i c r o s o f t 系统采用t c pf i n 端口扫描就得不到正确结果。本方法 最大的好处在于:有时由于防火墙在特定端口过滤s y n 包使t c ps y n 扫 网络入侵检测技术研究和设计实现 描法无法使用,而t c pf i n 扫描法的f i n 包可以穿过防火墙。关于本扫 描法的详细论述参考 t 3 1 。 t c p 反向i d e n t 扫描法:本扫描法是利用了i d e n t 协议( r f c l 4 1 3 ) 的 一个漏洞进行的。扫描时,需要与扫描端口建立t c p 连接。 u t l pi c 、i p 端口不可达扫描法:有的系统的关闭的端口会对本扫描法回应 i c m pp o r t u x r e a c h 数据包。 在 1 2 中还介绍了t c pf t p 代理边界攻击扫描法( t c pf t pd r o x yb o u n c ea t t a c k s c a n n i n g ) ;利用i p 分片包的s y n f i n 扫描法( s y n f i ns c a n n i n gu s i n gi p f r a g m e n t s ) ;u d pr e c v f r o m ( ) 扫描法( u d pr e c v f r o m ( ) s c a n l l i n g ) 等多种扫描 方法。 操作系统类别扫描从工作原理上看与端口扫描极为类似。实际上,一些端口 扫描工具本身就提供了探测操作系统类别的功能。操作系统类别扫描技术是多种 多样的,例如可以利用t e l n e t 登陆后服务器回送的登录信息直接查看;可以端 口扫描,发现对方只开放了1 3 9 端口则判断操作系统类型可能为微软公司产品 9 等等。目前比较流行的也相对比较复杂的方法是t c p i p 协议栈指纹鉴定方法。 栈指纹鉴定的实现基础有两点:一、对t c p i pr f c 中没有定义的、非法的 或不正常的数据包应该如何处理和回应,各厂商根据自己的理解或设计形成了各 自的回应方式。这样,便形成了区别各种操作系统类型的特征信息。例如,如果 你发送一个标志位f i n l p s h u r g 的t c p 包到一个关闭的t c p 端口,大多数操作 系统会设置a c k 为你的初始序列数,而w i n d o w s 系统( 还有一些打印机) 会送 给你序列数加1 。二、即使标准定义了如何处理数据和如何回应,有的厂商也 会由于某些原因没有按照标准做,而采用了自己的回应方式。例如我们发送一个 f i n 包( 或任何其它包不带a c k 或s y n 标记) 给一个打开的端口并等待回应:正 确的r f c 7 9 3 行为是不响应,但许多有问题的系统例如m si f i n d o w s ,b s d i ,c i s c o , h p u x ,m v s 和i r i x 却回应个r e s e t 包。 栈指纹鉴定法的具体实现有多种不同的方法。如 1 1 中就介绍了f i n 探测法、 b o o u s 标记探测法( 在q u e s o 中第一个实现) 、t c pi s n 取样法、i p 分片标志位 法、t c p 初始化窗口法、a c k 值法、i c m p 错误信息终结法、i c m p 消息引用法、i c m p 错误消息回应完整性法和t c p 选项法等多种方法。大名鼎鼎的n m a p 扫描器中的 操作系统类别扫描技术目前是最全面的 1 i 。 漏洞扫描是扫描技术中的关键。前面说了,漏洞扫描过程就是有控制的模拟 黑客的入侵行为,所以不同的漏洞往往具有不同的扫描方法,但同类型的漏洞其 扫描原理是相同的。例如,对c o l 类的漏洞。该类漏洞的共同特征为由于v c e b 月h 第三章入侵检测技术 务器的配置或设计上的缺陷或实现软件的疏忽,对构造特殊的u r l 请求产生了异 常处理结果,造成服务器的受保护信息的暴露或者让用户非法提高了操作权限。 对于这类漏洞的扫描,大都是通过构造特殊的u r l 来实现。以探测c g i 类u n i c o d e 漏洞为例,我们构造的u r c 中不但必须有u n i c o d e 编码,必须让该编码去验证 系统的解码格式是否是u n i c o d e 漏洞所期望的,解码后是否能达到我们期望的 运行结果,而且最重要的是,我们的运行结果不能破坏系统。以下是 9 中的几 个针对u n i c o d e 漏洞的u r l 扫描代码: 1 g e t s c r i p t s c o a f c o 吐c o a c o a w i n n t s y s t e m 3 2 c m d e x e ? c + d i r + c :h t t p i 0 2 g e t l m s a d c 一c 0 a f c o a f c 0 a f w i r m t s y s t e m 3 2 c m d e x e ? c + d i r + c : h 兀p 1 0 3 g e t 一v t i b i n c o a f c 0 a f ,c o a f w i n n t s y s t e m 3 2 c m d e x e ? c + d i r + c : h 1 v r p 1 0 4 g e t _ m e m _ b i n o a f c o a f c o a f w i r m t s y s t e m 3 2 c m d e x e ? c + d i r + c :h t t p i 0 5 g e t ”c g i b i n o ”c o a f c o a f c o a f w i n n f f s y s t e m 3 2 c m d e x e ? c + d i r + c 川h t t p 1 0 通过接收对方发送的数据包( t 0 2 4 0 字节) ,进行字符串匹配,查找数据包内容 是否包含” ”的字符串,如果匹配,则判定对方存在该漏洞,否则不存在。 9 还举例说明了对拒绝服务攻击漏洞的扫描实现。 虽然扫描器能够发现并让安全漏洞得到修复,但入侵检测( 尤其是采用误用 检测技术的入侵检测) 并不是只需要扫描器。姑且不说安全漏洞修复后是否真的 到了安全的程度,也不考虑采用的扫描器是否能发现最新的漏洞,更不谈管理员 是否及时针对安全漏洞安装了补丁程序,单从我们前面论述的入侵检测目的来 看,入侵检测不是起防御的作用,不是阻止入侵的发生( 虽然有时候间接的可以 做到这一点) ,而是检测正在进行的、已经完成的、或企图的入侵。即使安全漏 洞可能被修复了,黑客针对该漏洞的入侵不能成功,我们仍然需要发现企图的入 侵行为。扫描器是入侵检测技术中变换角度思维后发展的一种技术,其实现思想 并不能真正体现入侵检测的本意,只能作为入侵检测家族中的有用成员之一。 无论是关键字匹配技术还是扫描技术,其技术依赖的基础就是详细的漏洞报 告和正确的入侵脚印。虽然有很多专门对漏洞和入侵行为进行统计和公布的网站 或组织,如b u g t r a q ,c e r t ,c v e w h i t e h a t ,x f o c u s 等等,让我们可以收集到 足够的信息去归纳入侵脚印,但还是不够,人们希望能有更多的途径去研究黑客 网络入侵检测技术研究和设计实现 行为得到更详细和精确的入侵脚印。在这样的需求下,蜜罐技术产生了。 3 2 3 蜜罐技术 蜜罐( h o n e yp o t ) 技术,又被称为黑客诱骗技术或陷阱技术,是近期发展 起来的一种网络安全技术。通过网络安全专家精心设置构造的一个特殊网络系统 或安装一台网络主机( 两者都被称为蜜罐系统) ,最大量的记录用户操作行为, 包括用户输入的字符,执行的程序,使用的工具等等,然后分析研究这些详细记 录,获得黑客采用的攻击工具、攻击手段、攻击目的和攻击水平等信息,归纳我 们需要的入侵脚印。为了能引诱黑客一无所知地入侵蜜罐系统,让蜜罐系统发挥 最大的功能,设计者通常需要在蜜罐系统中故意留下一些安全漏洞,虚构一些网 络攻击者希望得到的敏感信息,模拟正常用户产生交互信息等让黑客误认为是一 个有价值的系统。有的蜜罐系统甚至还记录黑客的网上聊天内容、通信内容等, 从而分析研究黑客的活动范围,入侵心态以及下一步的攻击目标等。 除了上面说的协助研究黑客行为的功用,蜜罐系统还具有一定的保护系统的 功能。由于蜜罐系统通常都设计得有相对容易发现和相对容易利用的漏洞,和受 保护的系统的并行工作的蜜罐系统因此可以转移黑客的入侵目标,减少了真正系 统被攻击尝试次数,客观效果上实现了保护功能。 蜜罐系统在构造过程中有几个问题需要重点考意: 1 系统模拟问题。即如何构造蜜罐系统能让黑客感觉到是在一个真实的系 统中,而不是处于一个陷阱中。既留有安全漏洞,让黑客不会因为感觉 入侵难度太大而退避三舍:又不会因为安全漏洞太过明显,让黑客产生 了警觉。 2 信息记录问题。一个成功的蜜罐系统能够完整的保存下入侵者的行为记 录。为以后研究黑客的入侵策略,入侵方法,采用的入侵工具,入侵目 标,归纳入侵脚印等等研究工作提供详尽的数据。同时,记录过程还应 该确保不被黑客发现。更重要是,记录的信息不能被黑客删除或修改, 需要保证信息的真实性和完整性。 3 控制问题。即对黑客行为的约束问题,保证黑客在蜜罐系统中的行为是 可控的。黑客入侵一个系统后,往往会以该系统作为跳板入侵其它系统。 蜜罐系统需要防止这种情况的发生,让黑客的入侵行为尽量被约束在蜜 罐系统内部。同样的,约束程度也有个平衡问题:约束太严,会让黑客 产生疑心;约束太松,甚至失去了控制,蜜罐系统成为了黑客的跳板。 虽然关于蜜罐技术是否是( 法律上定义的) 诱捕具有法律争议,单从技术上 看,蜜罐技术是对入侵检测技术的一个重要发展。 第三章入侵检测技术 3 3 异常检测技术 ,因为入侵是非授权的情况下进行的活动,所以入侵行为肯定都不是正常行为 和合法行为。如果我们知道哪些行为是合法行为( 正常行为) ,任何超出我们知 道范围的行为我们都有理由怀疑为入侵。这样,我们不必要再依据入侵脚印来完 成入侵检测,而只需要建立一个描述合法行为的模板( p r o f i l e ) ,任何不符合该 模板的行为都被认为是入侵。行为模板反映了检测对象体现出的某种规律性。大 量的实践经验和研究结果告诉我们,无论是程序执行还是用户行为,在系统特性 上都会呈现出一定的规律性。 为了更清楚的说明异常检测技术的思想出发点,我们将异常检测技术和误用 检测技术从三方面要素做一个比较: 1 从受保护资源来看:由于误用检测是以入侵脚印为检测依据的,其具体实现 上只注重入侵所针对的漏洞,不关注入侵脚印不涉及的资源。单纯的从受保 护资源这个要素来看,误用检测技术的具体实现( 如采用的记录模型) 是不 受其影响的。而异常检测则不同,由于异常检测实现的关键是建立个合法 行为模板,这就决定了其与受保护资源的紧密关系。前面定义的时候说了, 受保护资源是用来界定未授权活动的范围。只有先有了这个范围,我们才可 能在范围内去研究合法行为,量身构造一个模板,成为检测该范围内入侵的 依据。可以这样说,不同的受保护资源,是导致异常检测具体实现上差异的 首要原因。本文后面举例的几种异常检测具体实现也可以明确这点。 2 从记录模型来看:误用检测的记录模型是为完整体现入侵脚印服务的。虽然 具体实现上记录模型可能不同,但由于

温馨提示

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

评论

0/150

提交评论