




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于改进型b l o o mf i l t e r 的深度包检测技术研究 摘要 随着计算机网络资源共享的进一步加强,随之而来的信息安全问题也日益 突出,网络安全已经成为国家、国防及国民经济的重要组成部分。为了进一步 提高防火墙、i d s ( 入侵检测系统) 、i p s ( 入侵防护系统) 等安全设备的检测 能力,深度包检测技术便应运而生了。在深度包检测技术中,字符串匹配技术 不仅得到了广泛的应用,而且成为了影响系统性能的决定性因素。本课题深入 的研究了一种改进的匹配算法在深度包检测技术中的应用。 本文首先分析了网络安全设备的现状、存在的问题及发展趋势。然后介绍 深度包检测技术的基础,重点研究数据包过滤技术和流过滤技术,概要介绍了 入侵防护系统。并提出一种基于字符串匹配的深度包检测模型,详细说明模型 的框架构造及其各部件的设计,并对影响包检测性能的关键处做了分析研究。 接着研究了相关的字符串匹配算法,在分析了经典的b m 算法和标准b f 算法之 后,提出了一种改进的b f 的字符串匹配算法。最后基于s n o r t 系统对b m 、b f 及 其改进算法这三种算法在匹配速度和内存占用上进行对比分析。 关键词:深度包检测、字符串匹配、b m 、b l o o mf i l t e r 、s n o r t 4 t h er e s e a r c ho ft h ed e e pp a c k e ti n s p e c t i o nt e c h n o l o g y b a s e do ni m p r o v e db l o o mf i l t e r a b s t r a c t w i t ht h ef u r t h e re n h a n c e m e n to ft h ec o m p u t e rn e t w o r kr e s o u r c e ss h a r i n g t h ei s s u eo f i n f o r m a t i o ns e c u r i t yh a sb e c o m em o r ep r o m i n e n t ,w h i c hh a sb e c o m ea l li m p o r t a n tp a r to fa n a t i o n n a t i o n a ld e f e n s ea n dt h en a t i o n a le c o n o m y t oi m p r o v ed e t e c t i o nc a p a b i l i t i e so ft h e f i r e w a l l ,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 ) ,i p s ( i n t r u s i o np r e v e n t i o ns y s t e m ) a n do t h e r s e c u r i t yt o o l s ,d e e pp a c k e ti n s p e c t i o nt e c h n o l o g yh a sb e e ni np l a c e i nt h ed e e pp a c k e t i n s p e c t i o nt e c h n o l o g y ,t h es t r i n gm a t c h i n gt e c h n i q u eh a sb e e nw i d e l yu s e d ,w h i c hh a s b e c o m ead e c i s i v ef a c t o ra f f e c t i n gt h es y s t e mp e r f o r m a n c e t h i sd i s s e r t a t i o n ,b a s i n go nt h i s b a c k g r o u n d ,s t u d i e da p p l i c a t i o n so fa ni m p r o v e dm a t c h i n ga l g o r i t h mi nt h ed e e pp a c k e t i n s p e c t i o nt e c h n o l o g y t l l i sd i s s e r t a t i o nf i r s t l ya n a l y z e st h ep r e s e n ts i t u a t i o n p r o b l e m sa n dt r e n d so fn e t w o r k s e c u r i t ye q u i p m e n t ,t h e ni n t r o d u c e st h eb a s i so ft h ed e e pp a c k e ti n s p e c t i o nt e c h n o l o g ya n d i n t r u s i o np r e v e n t i o ns y s t e m s ,e m p h a s i z e so np a c k e tf i l t e r i n gt e c h n o l o g ya n df l o wf i l t r a t i o n t e c h n o l o g y a f t e rt h a t ,t h i sd i s s e r t a t i o np r o p o s e sad e e pp a c k e ti n s p e c t i o nm o d e lb a s e do n s t r i n gm a t c h i n gw i t had e t a i l e dd e s c r i p t i o no ft h ef r a m e w o r ka n dd e s i g nc o m p o n e n t so ft h e m o d e ls t r u c t u r e ,a n dk e yi s s u e sa f f e c t i n gt h ep e r f o r m a n c eo fp a c k e ti n s p e c t i o nh a sb e e n s t u d i e d b a s e do nt h es t u d ya n da n a l y s i so ft h er e l e v a n ts t r i n gm a t c h i n ga l g o r i t h m ,s u c ha s t h ec l a s s i cb ma l g o r i t h ma n dt h es t a n d a r db fa l g o r i t h m ,t h et h e s i sp r o p o s e sa ni m p r o v e d b fs t r i n gm a t c h i n ga l g o r i t h m a tl a s t ,b m ,b fa n dt h ei m p r o v e da l g o r i t h mh a v eb e e n s i m u l a t e di ns n o r ts y s t e m ;m a t c h i n gs p e e da n du s e dm e m o r yo fa l g o r i t h m sh a v eb e e n c o n t r a s t i v e l ya n a l y z e d k e yw o r d s :d p i ,s t r i n gm a t c h i n g 、b m ,b l o o mf i l t e r ,s n o r t 插图清单 图1 12 0 0 8 年全国网络安全产品市场占有一览表l 图2 1 包过滤模型3 图2 2 包过滤操作流程图4 图2 3n e t f i l t e r 在i p v 4 中的架构6 图2 4 流过滤防火墙体系结构9 图2 5d s 检测机制1 1 图2 6 深度包检测技术原理1 3 图2 7 基于字符串匹配的深度包检测模型框架1 5 图3 1b m 算法流程图18 图3 2b m 算法思想示例1 9 图3 3b f 初始状态2 0 图3 4b f 算法中元素的插入2 0 图3 5b f 算法中元素的查询2 1 图3 6b f 算法插入元素流程图2 4 图3 7b f 算法的查询流程图2 5 图3 8 标准b f 的元素删除示意图2 6 图3 9b f 与改进型b f 算法原理图2 7 图3 1 0 改进型b f 算法的删除操作2 7 图3 1 1 改进型b f 插入元素流程图2 8 图3 1 2 改进型b f 删除元素流程图2 9 图4 1s n o r t 的工作流程31 图4 2 入侵检测流程3 2 图4 3s n o r t 的规则树3 3 图4 4 算法匹配时间对比。3 4 图4 5 算法占用内存对比3 5 9 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所 知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得 金胆王些太堂 或其他教育机构的学位或证书而使用过的材料。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位做储虢蒋龇 签字日期多7 年华月皿日 学位论文版权使用授权书 本学位论文作者完全了解金胆王些太堂有关保留、使用学位论文的规定,有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权金目曼王些太堂可 以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手 段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:蒜善以 导师签名: 签字日期。1 年午月l l 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 3 钼z月 够 年 嗣1 , 痧 讯编 期 电 邮 日字签 致谢 本文是在我的导师周健老师的悉心指导下完成的。论文的选题,结构安排, 以及写作文法等方面无不渗透着周老师的心血,使我顺利地完成了硕士研究生 阶段的学习。周老师渊博的知识,敏锐的学术洞察力,严谨治学的态度,是我一 生学习和工作的榜样。 三年来,周老师不仅在科研和生活上给予了我莫大的关怀和帮助,还给了 我很多参加实际项目的机会,很大程度的提高了自己的实践能力,为以后踏入 社会奠定了坚实的基础,在此向周老师表示衷心的感谢和崇高的敬意! 我们实验室有着浓厚的学习氛围和严谨的治学作风。在这里我充实了自己 的科研能力,衷心感谢实验室的程克勤老师在科研方面对我的指导,令我受益 匪浅,相信将来在社会上也会大有帮助。 这几年里,和实验室的各位成员在一起学习和生活很充实,在潘亚东、顾 栋梁和孙海霞的帮助和协作下,我完成了一个个目标。同时感谢各位师兄、师 弟和师妹,和你们在一起,让我度过了愉快的研究生生活。 最后感谢我的父母和家人,你们是我人生事业的精神支柱。每逢失意的时 候,想到你们我总会振作起来。 6 作者:蒋昱城 2 0 0 9 年3 月 第一章绪论 1 1 课题背景 随着互联网和电子商务应用的不断普及,i n t e r n e t 己成为全球最重要的信息 传播工具。作为一种战略资源,i n t e r n e t 的应用也从传统的军事、科技、文化和 商业方面渗透到当今社会的各个领域,在社会生产、生活中的作用日益显著。 然而自i n t e r n e t 问世以来,资源共享和信息安全一直作为一对矛盾体而存在着, 传播、共享和自增值是信息的固有属性,与此同时,又要求信息的传播是可控 的,共享是授权的,增值是确认的。因此随着计算机网络资源共享的进一步加 强,随之而来的信息安全问题也日益突出,网络安全已经成为国家、国防及国 民经济的重要组成部分。为了保证信息的安全和可靠,防火墙【1 1 、i d s 2 1 ( 入侵 检测系统) 、i p s ( 入侵防护系统) 等安全设备应运而生,它成为用户实现网络 安全的一个基本手段。 根据公安部2 0 0 8 年全国信息网络安全状况与计算机病毒疫情调查分析报告 p j 显示,防火墙是使用最多的网络安全产品( 如图1 1 所示) ,入侵检测系统也 是名列前茅。 图1 12 0 0 8 年全国网络安全产品市场占有一览表 虽然目前防火墙和入侵检测系统的技术和产品已经相对成熟,但还存在一 定的技术局限性,例如许多病毒利用应用层的弱点对网络进行了大规模的攻击, 造成了很大的损害。这种情况迫切需要新的技术来阻止基于应用的攻击,深度 包检测技术就由此诞生并逐渐发展起来。 深度包检测技术( d p i 【4 】) 深入检查通过防火墙的每个数据包及其应用载荷。 运用深度包检测技术的防火墙提供了入侵检测和攻击防范的功能,它能深入检 查信息包流,查出恶意行为,可以根据特征检测和内容过滤,定义什么是“正常 的”通信,同时阻止异常的访问。 而特征字识别技术是d p i 系统中应用最为广泛的一种识别技术,不同的应 用通常会采用不同的协议,而各种协议都有其特殊的指纹,这些指纹可能是特 定的端口、特定的字符串或者特定的b i t 序列【5 l 。基于特征字的识别技术,正是 通过识别数据报文中的指纹信息来确定业务所承载的应用。根据具体检测方式 的不同,基于特征字的识别技术又可细分为固定特征位置匹配、变动特征位置 匹配和状态特征字匹配三种分支技术。通过对指纹信息的升级,基于特征字的 识别技术可以方便的扩展到对新协议的检测。 d p i 的关键在于,它要不断地在格式不定的数据包中判断出各种特征字, 实现这一过程的基础技术就是模式匹配【6 】( p a t t e r n m a t c h i n g ) 。通俗地讲,就 是字符串匹配( 本文为方便起见,统一称为字符串匹配) ,即从数据中搜索是 否存在目标字符串。 传统的字符串匹配算法如k m p 算法【7 1 、b m 算法【8 】【9 】等优缺点互现,本文引 入了一种基于b l o o mf i l t e r 算法【l o 】的深度包检测算法,并创新的提出一种改进的 b l o o mf i l t e r 的算法,并基于开源i d s 系统s n o r t l l l 】将b l o o mf i l t e r 及其改进算法与 b m 算法进行匹配速度和内存占用的对比,实验数据表明该改进算法不失为一种 高效省时省力的新颖的字符串匹配算法。 1 2 论文具体安排 第一章为绪论,主要介绍课题的背景和网络安全设备的现状、存在的问题 及发展趋势。 第二章主要介绍深度包检测技术的基础,重点研究数据包过滤技术和流过 滤技术,概要介绍了入侵防护系统。并提出一种基于字符串匹配的深度包检测 模型,详细说明模型的框架构造及其各部件的设计,并对影响包检测性能的关 键处做了分析研究。 第三章主要研究了相关的字符串匹配算法,在分析了经典的b m 算法和b f 算法之后,提出了一种改进的b f 的字符串匹配算法。 第四章基于s n o r t 系统对b m 、b f 及其改进算法这三种算法在匹配速度和内 存占用上进行对比分析。 第五章对整个课题进行了总结,并指出了下一步的研究的方向。 2 第二章深度包检测技术 本文研究的深度包检测技术代表了网络安全设备的未来发展方向,应用深 度包检测技术的防火墙可以提供入侵检测【1 2 儿”】和攻击防范的功能,它能深入检 查数据包流,查出恶意行为,可以根据特征检测和内容过滤,来寻找已知的攻 击,并理解什么是“正常的 通信,同时阻止异常的访问。 本章的后半部分提出了一种基于字符串匹配的深度包检测【1 4 】模型,在研究 该模型之前,有必要对其基础做些研究。因此本章前半部分主要对数据包过滤 技术和流过滤技术做了分析,并简要介绍入侵防护系统。 2 1 数据包过滤技术 2 1 1 数据包过滤概念 数据包过滤技术,顾名思义是在网络中适当的位置对数据包实施有选择的 通过,选择依据,即为系统内设置的过滤规则( 通常称为访问控制表一a c c e s s c o n t r o ll i s t ) ,只有满足过滤规则的数据包才能被转发至相应的网络接口,其 余的数据包则被从数据流中删除。 2 1 2 数据包过滤模型 数据包过滤防火墙一般有一个包检查模块,包检查模块应该深入到操作系 统的核心,在操作系统或路由器发包之前拦截所有的数据包。当我们把包过滤 防火墙安装在网关上之后,包过滤检查模块深入到系统的网络层和数据链路层 之间。因为数据链路层是事实上的网卡( n i c ) ,网络层是第一层协议,所以 防火墙位于软件层次的最低层。模型如图2 1 所示。 图2 1 包过滤模型 3 回圈回回回圈圈回 通过检查模块,防火墙能拦截和检查所有出栈和进栈的数据。防火墙检查 模块先验证这个包是否符合过滤规则,不管是否符合过滤规则,一般要记录数 据包情况,不符合规则的数据包要进行报警或通知管理员。对丢弃的包,防火 墙可以给发送方一个消息,也可以不发,这取决于包过滤策略。如果都返回一 个消息,攻击者可能会根据拒绝消息包的类型猜测包过滤规则的大致情况,所 以对于是否发消息要慎重。 数据包过滤能控制站点之间,网络之间的访问,但不能控制传输的数据内 容,因为内容是应用层数据,不是包过滤系统能辨认的。包检查能检查包中的 信息,一般是网路层的i p 头和传输层的头。一般要检查下面几项: ( 1 ) i p 源地址 ( 2 )目的地址 ( 3 ) 协议类型( t c p 包,u d p 包和i c m p 包) ( 4 ) t c p 或u d p 的源端口 ( 5 ) t c p 或u d p 的目的端口 ( 6 ) i c m p 消息类型 ( 7 ) t c p 报头中的a c k 位 此外,t c p 的序列号、确认号、i p 校验和和分割偏移也往往是要检查的选 项。数据包过滤流程如图2 2 所示。 图2 2 包过滤操作流程图 4 首先分析数据包头信息和应用过滤规则,如果允许的话,就转发;如果不 允许的话,就阻止该数据包;或者所有的规则应用完之后,按照默认的处理规 则丢弃该数据包。 2 1 3l i n u x 内核下包过滤实现 包过滤需要检查i p 包,因此它工作在网络层,截获i p 包,并与用户定义的 规则做比较。下面以l i n u x 2 4 内核下包过滤防火墙的实现为例,解析数据包过 滤的实现。目前基于l i n u x 核实现的包过滤防火墙都是以n e t f i l t e r t l 5 】【1 6 1 功能框 架为基础。n e t f i l t e r 是l i n u x 2 4 内核实现数据包过滤、数据包处理、n a t 等的功 能框架。本节先介绍l i n u x2 4 内核的n e t f i l t e r 功能框架,然后解析基于n e t f i l t e r 框架下的包过滤防火墙。 ( 1 ) n e t f i l t e r 的架构介绍。 n e t f i l t e r 提供了一个抽象、通用化的框架,框架定义的其中一个子功能的 实现就是包过滤子系统。n e t f i l t e r 框架包含以下三部分: 为每种网络协议( i p v 4 ,i p v 6 等) 定义一套钩子函数( i p v 4 定义了5 个钩 子函数) ,这些钩子函数在数据报流过协议栈的几个关键点被调用。在这几个 点中,协议栈将把数据报及钩子函数标号作为参数调用n e t f i l t e r 框架。 内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂接, 这样当某个数据包被传递给n e t f i l t e r 框架时,内核能检测是否有任何模块对该协 议和钩子函数进行了注册。若注册了,则调用该模块在注册时使用的回调函数, 这样这些模块就有机会检查( 可能还会修改) 该数据包、丢弃该数据包及指示 n e t f i l t e r 将该数据包传入用户空间的队列。 那些排队的数据包是被传递给用户空间的异步地进行处理。一个用户进 程能检查数据包、修改数据包,甚至可以重新将该数据包通过离开内核的同一 个钩子函数中注入到内核中。 所有的包过滤n a t 等等都基于这个框架。内核网络代码中不再有到处都是 的、混乱的修改数据包的代码了。当前n e t f i l t e r 框架在i p v 4 、i p v 6 及d e c n e t 网络 栈中被实现。 n e t f i l t e r 在i p v 4 中的结构流程图如图2 3 所示: 图2 3n e t f i l t e r 在i p v 4 中的架构 从图中可以看到i p v 4 一共有5 个钩子函数,分别为 1n f i f p r e r o u t i n g 2n f i p l o c a l i n 3n f i p f o r w a r d 4 n f i p p o s t r o u t i n g 5n f i p l o c a l o u t 数据报从左边进入系统,进行i p 校验以后,数据报经过第一个钩子函数 n f i p p r e r o u t i n g 进行处理;然后就进入路由代码,其决定该数据包是需 要转发还是发给本机的:若该数据包是发送给本机的,则该数据经过钩子函数 n f i p l o c a l i n 处理以后然后传递给上层协议:若该数据包应该被转发则它 被n fi pf o r w a r d 处理:经过转发的数据报经过最后一个钩子函数 n fi pp o s tr o u t i n g 处理以后,再传输到网络上。 本地产生的数据经过钩子函数n fi pl o c a lo u t 处理可以后,进行路由 选择处理,然后经过n fi pp o s tr o u t i n g 处理以后发送到网络上。 从上面关于i p v 4 的n e t f i l t e r 的例子讨论,可以看到钩子函数是如何被激活 的。内核模块可以对一个或多个这样的钩子函数进行注册挂接,并且在数据报 经过这些钩子函数时被调用,从而模块可以修改这些数据报,并n e t f i l t e r 返回 如下值: n fa c c e p t 继续正常传输数据报 n fd r o p 丢弃该数据报,不再传输 n fs t o l e n 模块接管该数据报,不要继续传输该数据报 n f q u e u e 对该数据报进行排队( 通常用于将数据报给用户空间的进程进 行处理) n fr e p e a t 再次调用该钩子函数 ( 2 ) 包过滤实现 6 包过滤在三个地方进行:f o r w a r d 、i n p u t 和o u t p u t 。可以注意到, 包过滤动作在r e r o u t i n g 后,在p o s t r o u t i n g 前。一般在p r e r o u t i n g 做 目的地址转换,而p o s t r o u t i n g 做源地址转换,所以包过滤要处理的包如果 需要目的地址转换,则己经做完,如果是要做源地址转换的包,则还没有转换。 举个例子来说明,当我们用地址转换把内部网连接到i n t e r n e t 时,比如将从 1 9 2 1 6 8 0 1 1 0 出去的包的源地址转换成2 10 1 1 1 ,再将回来的目的地址为 2 1 0 1 1 1 的包转换成去往1 9 2 1 6 8 0 1 10 的目的地址,那么我们在包过滤处看到 的方向向外的数据包,它的源地址还没有改变,还是1 9 2 1 6 8 0 1 1 0 ;而如果看 到方向向内的数据包,则目的地址已经从2 1o 1 1 1 改成1 9 2 1 6 8 0 1 l o 。这种处 理顺序使包过滤处理不会混淆,因为在一些情况下,内部网不同地址的数据包 在出去前都被转换成同一个地址,包过滤如果看到的源地址如果是转换后的, 那就无法分辨。 n e t f i l t e r 的包过滤是通过配置规则( e n t r y ) 来实现的。内核模块可以注册 一个新的规则表( t a b l e ) ,并要求数据报流经指定的规则表。这种数据报选择 用于实现数据报过滤( f i l t e r 表) ,网络地址转换( n a t 表) 及数据报处理( m a n g l e 表) 。l i n u x 2 4 内核提供的这三种数据报处理功能都基于n e t f i l t e r 的钩子函数和 i p 表。它们是独立的模块,相互之间是独立的。它们都完美的集成到由n e t f i l e t e r 提供的框架中。 f i l t e r 表格不会对数据报进行修改,而只对数据报进行过滤。每个h o o k 点下 面挂着一个规则链表,数据包在每个h o o k 点沿着规则链表往下走,与每个规则 的数据项作匹配,如果相符则作出该规则规定的动作。 在l i n u x 2 4 内核中应用了一个基于n e t f i l t e r 框架的、称为i p t a b l e s 的数据报选 择系统,其实它就是i p c h a i n s 的后继工具,但却有更强的可扩展性。i p t a b l e s 是 通过钩子函数n fi pl o c a li n ,n fi pf o r w a r d 及n fi pl o c a lo u t 接入n e t f i l t e r 框架的。i p t a b l e s 提供比如基于状态的防火墙,基于任何t c p 标记和 m a c 地址的包过滤,更灵活的配置和记录功能,强大而且简单的n a t 功能和透 明代理功能,通过速度限制实现d o s 的阻止。 例如用i p t a b l e s 实现关于u d p 连接状态检测,这个状态表项只有在i p t a b l e s 过滤规则允许建立新的连接时,才能建立。下面两条规则只允许向外的u d p 连 接: i p t a b l e s ai n p u t pu d p ms t a t ee s t a b l i s h e d - ja c c e p t i p t a b l e s ao u t p u t pu d p ms t a t en e w ,e s t a b l i s h e d ja c c e p t 应用这样的规则后,可以跟踪u d p 连接状态信息,下面是状态表中关于u d p 连接的条目: u d p1 71 9s t c = 1 9 2 1 6 8 1 2 d s t = 1 9 2 1 6 8 1 5 0s p o r t = 1 0 3 2d p o r t = 5 3 u n r e p l i e d 】s r e = 1 9 2 1 6 8 1 5 0 d s t = 1 9 2 1 6 8 1 2 s p o r t = 5 3d p o r t = 1 0 3 2u s e = l 7 上面的状态表项包含如下信息: 连接的协议是u d p ( i p 协议号1 7 ) 。 这个状态表项还有1 9 秒中就超时。 发起连接方向上的源、目的地址和源、目的端口。 应答方向上的源、目的地址和源、目的端口。这个连接使用u n r e p l i e d 标记,表示还没有收到应答。 2 2 流过滤技术 2 2 1 背景 曾大出风头的“冲击波【1 7 】f t 和“熊猫烧香【1 8 h 病毒代表了一种新的网络攻击 技术的发展趋势,随着越来越多的安全漏洞产生于日益繁多的应用系统之中, 利用这些应用系统的安全漏洞,将不断出现越来越多的黑客攻击工具和结合了 这些工具的病毒,这些攻击工具和病毒对于用户的网络系统将构成巨大的威胁。 当这类病毒或攻击行为泛滥时,几乎没有任何产品能够提供有效的防御。可以 说,应用级保护能力的缺乏明显降低了防火墙产品的效能。简单包过滤是对单 个包的检查,目前绝大多数路由器产品都提供这样的功能。由于这类技术不能 跟踪t c p 的状态,所以对t c p 层的控制是有漏洞的,比如当你在这样的产品上 配置了仅允许从内到外的t c p 访问时,一些以t c p 应答包的形式进行的攻击仍 然可以从外部透过防火墙对内部的系统进行攻击。简单包过滤的产品由于其保 护的不完善,现在在市场上已经绝迹了。 状态检测的包过滤利用状态表跟踪每一个网络会话的状态,对每一个包的 检查不仅根据规则表,更考虑了数据包是否符合会话所处的状态。因而提供了 更完整的对传输层的控制能力。同时由于一系列优化技术的采用,状态检测包 过滤的性能也明显优于简单包过滤产品,尤其是在一些规则复杂的大型网络上。 应用代理防火墙可以说就是为防范应用层攻击而设计的。应用代理也算是 一个历史比较长的技术,通常的表现形式是一组代理的集合。代理的原理是彻 底隔断两端的直接通信,所有通信都必须经应用层的代理转发,访问者任何时 候都不能与服务器建立直接的t c p 连接,应用层的协议会话过程必须符合代理 的安全策略的要求。针对各种应用协议的代理防火墙提供了丰富的应用层的控 制能力。可以这样说,状态检测包过滤规范了网络层和传输层行为,而应用代 理则是规范了特定的应用协议上的行为。 状态检测包过滤和应用代理这两种技术目前仍然是防火墙市场中普遍采用 的主流技术,但这两种技术正在形成一种融合的趋势。 2 2 2 流过滤技术概念 流过滤技术是在2 0 0 1 年产生的,它是在状态检测包过滤的架构上发展起来 8 的新一代防火墙技术,它带给用户最大的好处在于应用层的保护能力大幅度提 升,以包过滤的外部形态,提供了应用级的保护能力。 流过滤技术是一种以包过滤的形态提供高性能的应用级保护的防火墙技 术。它的核心部件是专门设计的t c p 协议栈,该协议栈根据t c p 协议的定义对 出入防火墙的数据包进行了完全的重组,并根据应用层的安全规则对组合后的 数据流进行检测。由于这个协议栈的存在,网络通信在防火墙内部由链路层上 升到了应用层。数据包不再直接到达目的端,而是完全受防火墙中的应用协议 模块的控制。 2 2 3 流过滤体系结构 流过滤防火墙的体系结构如图2 4 所示: 堡 目外部路由器e 二= 垒 主 :二 内部路由器e 二 机 防火墙 图2 4 流过滤防火墙体系结构 这种应用协议模块的工作方式非常类似于代理防火墙针对不同协议的代理 程序,代替服务器接受来自客户端的访问,再代替客户端去获取访问的结果, 所不同的是,这种模块不需要i p 地址和端口,并且能够支持更多的协议种类和 更大规模的并发访问。 基本的原理是以状态包过滤的形态实现应用层的保护。通过内嵌的专门实 现的t c p 协议栈,在状态检测包过滤的基础上实现了透明的应用信息过滤机制。 在这种机制下,从防火墙外部看,仍然是包过滤的形态,工作在数据链路层或 i p 层,在规则允许下,两端可以直接的访问,但是对于任何一个被规则允许的 访问在防火墙内部都存在两个完全独立的t c p 会话,数据是以“流”的方式从一 个会话流向另一个会话,由于防火墙的应用层策略位于流的中间,因此可以在 任何时候代替服务器或客户端参与应用层的会话,从而起到了与应用代理防火 墙相同的控制能力。比如防火墙对s m t p 协议的处理中,系统可以在透明网桥 的字符串下实现完全的对邮件的存储转发,并实现丰富的对s m t p 协议的各种 攻击的防范功能。 2 2 。4 流过滤特点 流过滤的特点概括起来主要有两点: 9 ( 1 ) 应用保护能力提高。首先看看应用代理与数据包内容过滤的不同。应 用代理之所以能够进行应用完整的保护,在于其借助操作系统的t c p 协议栈对 于出入网络的应用数据包进行完全重组,并从操作系统提供的接口中以数据流 的方式提取应用层数据:而数据包过滤防火墙中的数据包内容过滤仅能对当前 正在通过的单一数据包的内容进行分析和判断,这两者在保护能力上存在本质 的不同。 举个例子来说,一个携带攻击特征的u r l 访问可能有2 5 6 个字节,如果它们 在一个数据包中传送,那么两种技术的防火墙都能够发现并拦截,但是如果这 个u r l 被t c p 协议栈分解成1 0 个小的i p 数据包,并且以乱序的方式发送给目标 服务器,则包过滤防火墙根本无法识别这个攻击的企图。而应用代理则完全不 会受到干扰,依然能够识别并进行拦截,因为数据包在网关的t c p 协议栈中被 按照正确的顺序有效的重新组合成数据流后才到达防火墙的过滤模块,它看到 的仍然是完整的数据流。 基于流过滤技术的防火墙也能够提供等同于代理防火墙的应用层保护能 力,关键在于其“流过滤 架构中的专用t c p 协议栈。这个协议栈是个标准的 t c p 协议的实现,依据t c p 协议的定义对出入防火墙的数据包进行了完整的重 组,重组后的数据流交给应用层过滤逻辑进行过滤,从而可以有效的识别并拦 截应用层的攻击企图。 ( 2 ) 透明性好。代理防火墙的最大缺陷是必须改造网络的结构甚至应用系 统,在一个复杂的网络环境中部署一个代理防火墙产品常常是非常困难的,很 多时候甚至完全没有可能,所以虽然有很好的应用保护的能力,但是始终没有 被用户广泛地接受。流过滤则完全没有这些缺陷,它的关键部件是内部的专用 协议栈,这是一个不需要i p 地址和端口的专用的t c p 协议栈,它在行为上可以 完全代替通信的一端与另一端在会话层上通信,因此它对应用协议是完全透明 的。这意味着用户不需要为了获得应用层保护能力而改变网络结构和应用系统 的结构,甚至当用户改变防火墙的运行字符串时,也完全不需要调整应用层的 保护策略。 2 3 入侵防护系统介绍 防火墙是实施访问控制策略的系统,对流经的网络流量进行检查,拦截不 符合安全策略的数据包。入侵检测技术( i d s ) 通过监视网络或系统资源,寻 找违反安全策略的行为或攻击迹象,并发出报警。传统的防火墙旨在拒绝那些 明显可疑的网络流量,但仍然允许某些流量通过,因此防火墙对于很多入侵攻 击仍然无计可施。绝大多数i d 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 i p s ) 则倾向于提供主动防护【1 9 】【2 们,其设计宗旨是预先对入 侵活动和攻击性网络流量进行拦截,避免其造成损失,而不是简单地在恶意流 1 0 量传送时或传送后才发出警报。 i p s 不仅仅是i d s 的演化,它具备一定程度的智能处理功能,能实时阻截攻 击。传统的i d s 只能被动监视通信,这是通过跟踪交换机端口的信息包来实现 的:而i p s 贝j j 能实现在线监控,主动阻截和转发信息包。通过在线配置,i p s f l 邑 够基于策略设置舍弃信息包或中止连接;传统的i d s 响应机制有限,如重新设 t c p 连接或请求变更防火墙规则都存在诸多不足。 2 3 1i p s 工作原理 传统的i d s 能检测到信息流中的恶意代码,但由于是被动处理通信,本身 不能对数据流作任何处理。必须在数据流中嵌入t c p 包,以重置目标服务器中 的会话。然而,整个攻击信息包有可能先于t c p 重置信息包到达服务器,这时 系统才做出响应已经来不及了。重置防火墙规则也存在相同问题,处于被动工 作状态的i d s 台g 检测到恶意代码,并向防火墙发出请求阻截会话,但请求有可 能到达太迟以至于无法防止攻击发生。 i p s 是通过直接嵌入到网络流量中实现这一功能的,即通过一个网络端口接 收来自外部系统的流量,经过检查确认其中不包含异常活动或可疑内容后,再 通过另外一个端口将它传送到内部系统中。这样一来,有问题的数据包,以及 所有来自同一数据流的后续数据包,都能在i p s 设备中被清除掉。 2 3 2i p s 检测机制 入侵防护系统的检测机制如图2 5 所示: 回陬二一母二歹回 u 规则蠢、厂雹,一7 t c p - 雷f规则变舅p 、j1 p 8l 一一7 i 传感器i 匡 * 悃阻截圈 d t p q 蛤滑订由i 图2 5i p s 检测机制 i p s 实现实时检查和阻止入侵的原理在于i p s 拥有数目众多的过滤器,能够 防止各种攻击。当新的攻击手段被发现之后,i p s 就会创建一个新的过滤器。i p s 数据包处理引擎是专业化定制的集成电路,可以深层检查数据包的内容。如果 有攻击者利用l a y e r 2 ( 介质访问控制) 至l a y e r 7 ( 应用) 的漏洞发起攻击,i p s 能够从数据流中检查出这些攻击并加以阻止。传统的防火墙只能对l a y e r 3 或 l a y e r 4 进行检查,不能检测应用层的内容。防火墙的包过滤技术不会针对每一 字节进行检查,因而也就无法发现攻击活动,而i p s 可以做到逐一字节地检查数 据包。所有流经i p s 的数据包都被分类,分类的依据是数据包中的报头信息,如 源i p 地址和目的i p 地址、端口号和应用域。每种过滤器负责分析相对应的数据 包。通过检查的数据包可以继续前进,包含恶意内容的数据包就会被丢弃,可 疑的数据包则需要接受进一步的检查。 针对不同的攻击行为,i p s 需要不同的过滤器。每种过滤器都设有相应的过 滤规则,为了确保准确性,这些规则的定义非常广泛。在对传输内容进行分类 时,过滤引擎还需要参照数据包的信息参数,并将其解析至一个有意义的域中 进行上下文分析,以提高过滤准确性。 过滤器引擎集合了流水和大规模并行处理硬件,能够同时执行数千次的数 据包过滤检查。并行过滤处理可以确保数据包能够不问断地快速通过系统,不 会对速度造成影响。这种硬件加速技术对于i p s 具有重要意义,因为传统的软件 解决方案必须串行进行过滤检查,会导致系统性能大打折扣。 2 4 基于字符串匹配的深度包检测模型 2 4 1 深度包检测概述 深度包检测是当前防火墙技术发展的一个方向,它是指对数据报的分析深 入到内容,充分理解各种应用协议的流程以及脆弱性所在,以做出针对性的检 测和保护。深度包检测可以把多个数据报关联到一个数据流当中,在寻找攻击 异常行为的同时,保持整个数据流的状态。深度包检测要求以极高的速度分析、 检测及重新组装应用流量,以避免给应用带来延时【2 。 虽然是以包过滤的形式完成对数据包的检测,但深度包过滤还是不同于传 统包过滤,主要优势体现在以下几方面: ( 1 ) 理解更深层次协议。包过滤只是对数据包头进行分析来决定包的“命 运”,例如,分析i p 报头的源i p ,源端口,目的i p ,目的端口,传输层协议等, 符合规则的通过,不符合的丢弃并记录。而深度包过滤不同,不但可以对数据 包进行网络层的解析,还应该可以对数据包进行基于应用层协议的解析,清楚 地知道每个数据包在各个数据位上的含义,也正是因为这点,拥有深度包检测 的防火墙可以实现很多传统防火墙无法实现的功能。 ( 2 ) 漏检率更低。包过滤只是对一个个独立的数据包进行分析过滤,这种 只看部分不识整体的做法难免漏检。即使结合状态检测也可能存在漏检。因为 现在的状态检测只是网络层保护,而包含深度包检测的防火墙是一款真正的应 用级防火墙,它可以真正实现基于状态的数据包内容深度检测,可以提供二至 1 2 七层全面而完整的访问控制与防护。 ( 3 ) 更强的防御能力。传统包过滤型防火墙所谓的应用层过滤实际上只是 通过代理技术实现如u r l 过滤等功能,况且无法把单个数据包重组,过长的包 含u r l 字节数据流在单个包内就无法发现,无法满足全层次检测的要求。深度 包检测在包过滤的基础上执行了“数据重组”和“入侵过滤”有效的将应用层攻击 拒之门外。 2 4 2 深度包检测技术原理 深度包检测技术原理如图2 6 所示: 图2 6 深度包检测技术原理 如图2 。6 所示,负载均衡设备负责处理出入的数据流,这也常是防火墙所布 置的位置。把出入的数据流看成一个个数据包t c p i p 包,每个数据包都是独立 的。为了确保数据包的正确到达顺序,在进行数据分流重组之前要对数据包重 新排序。接着在负载均衡设备处对数据重组,解析深层次协议,分化数据流, 例如分为w e bj 艮务、数据库系统、安全系统、应用程序需求服务等。有了特定 含义的语境就能深入分析数据,检测从网络层到应用层的攻击,提供全面保护 体系。 该模型采用的总体思想是分而治之。先对数据流进行协议解析快速分类分 流,接着在每个检测模块入口处完成数据流重组工作和异常流量检测分析,最 后在检测模块中完成入侵特征的检测。 之所以采用分而治之而没有采用集中处理方式的原因如下: ( 1 ) 防火墙一般承担着负载平衡任务,采用集中检测的方式,显然会增加 防火墙的负载而且随着时间的发展,入侵特征库也越来越大,集中扫描一次特 征库是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水痘疫苗培训课件
- 杖类助行器腋拐山东医学高等专科学校康复医学教研室72课件
- 水电安装基础知识培训课件
- 2025版老房改造砌墙抹灰加固合同范本
- 二零二五年典当业务风险评估与应对咨询合同
- 二零二五年度工业地产项目开发商合同
- 二零二五年度车辆租赁续约合同:新能源车辆租赁服务
- 二零二五版建筑行业公对公借条及对公借款合同范本
- 2025版综合能源服务项目施工廉政监督协议
- 2025版环保设备制造分包合同样本
- JG/T 455-2014建筑门窗幕墙用钢化玻璃
- 一例胃癌患者的疑难病例讨论
- 《运动处方》课件-第一章 运动处方基础理论
- 四川省事业单位公开招聘工作人员公共科目〈综合知识〉笔试考试大纲笔试历年典型考题及考点剖析附带答案详解
- 2025年人教版山东省济南市九年级中考英语模拟试卷(含答案无听力音频及原文)
- 2025+CSCO非小细胞肺癌诊疗指南解读 课件
- 消毒供应中心培训课件
- 反应釜操作知识培训课件
- 2025年一级建造师《建筑工程管理与实务》试卷真题(附解析)
- 物业薪酬管理办法
- 2025年生猪屠宰兽医卫生检疫人员考试题(附答案)
评论
0/150
提交评论