




已阅读5页,还剩101页未读, 继续免费阅读
(计算机系统结构专业论文)基于虚拟机的深度包检测防火墙研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着针对应用层的网络攻击以及拒绝服务攻击的日益频繁和复杂化,目前防 火墙技术面临的突出问题是:如何在提供复杂的应用层数据保护的同时,解决防 火墙软件的平台无关性和可移植性问题,在不断提高性能的同时,具备更强的安 全防护能力。 本文研究了防火墙的基本理论和虚拟机技术的基本理论。在此基础上,将虚 拟机技术应用到防火墙包过滤处理中,研究并实现了以包过滤虚拟机为核心的新 型包过滤引擎n p f e 。由于虚拟机技术的应用,在某种程度上,使防火墙软件具备 了平台无关性和可移植性。本文也将可编程技术应用到了防火墙的使用中,设计 了名为f i r e t i g e r 的包过滤语言,同时将现代编译优化技术应用到了包过滤程序的 编译上,开发了f i r e t i g e r 的优化编译器,提高了包过滤代码的质量,在通用p c 平台上兼顾了性能和功能的要求。同时虚拟机技术和可编程技术的应用,实现了 一种新的防火墙使用方式包过滤程序。 本文研究了深度包检测技术的基本问题,并详细研究了深度包检测的代表技 术流过滤技术。本文从t c p 报文处理的本质入手,研究了流过滤的功能和技 术特点,得到了实现要点,给出了与应用层协议无关的实现方案,并对其在原型 系统中的编码实现进行了详细描述。 本文研究了基于s y n f l o o d i n g 的拒绝服务攻击的原理和主机系统上的典型防 范技术,并在此基础上提出并在原型系统中实现了t c p 拦截技术。本文还研究了 基于算法时间复杂度的拒绝服务攻击的原理,并以哈希查找算法为具体研究对象, 提出了哈希函数构造结构化、参数化、随机化的技术思路,并在原型系统中实现 了基于全域哈希算法的解决方案。 为了验证、实验本文的研究工作,本课题以l i n u x 系统为实验平台,在充分研 究l i n u x 内核t c p i p 框架结构和n e t f i l t e r 实现机制的基础上,研究并实现了一个 名为f i r e n e t 的原型防火墙系统。 关键词;防火墙,虚拟机,深度包检测,流过滤,拒绝服务攻击 a b s t r a c t f a c i n gm o r ea n dm o r ea t t a c k st oa p p l i c a t i o nl a y e rd a t aa n dd o s ( d e n i a lo f s e r v i c e ) ,f i r e w a l l sc o m ea c r o s st w op r o b l e m sm a i n l y t h ef i r s to n ei sh o wt om a k e f i r e w a l ls o f t w a r em o r ep o r t a b l ea n di n d e p e n d e n tf r o mp l a t f o r mw h i l ep r o t e c t i n g a p p l i c a t i o nl a y e rd a t a t h eo t h e ro n ei sh o wt os t r e n g t h e nt h e i rd e f e n s ea b i l i t yw i t h o u t c o m p r o m i s et h e i rp e r f o r m a n c e t h i sd i s s e r t a t i o np r o p o s e sap r o t o t y p ef l r e w a l ln a m e df i r e n e t , w h i c hh a sa p o r t a b l ea n dp l a t f o r mi n d e p e n d e n ta r c h i t e c t u r e f u r t h e r m o r e ,f i r e n e tc a np r o t e c ti t s e l f a n dt h et r u s t e dn e t w o r kf r o mf o r e g o i n ga t t a c k s f i r e n e tm n si nl i n u xk e r n e la n dl e a d s t ot h ef o l l o w i n gc o n c l u s i o n s f i r e n c ti sb a s e do nt h et h e o r i e so ff i r e w a l la n dv i r t u a lm a c h i n e t h ea u t h o r i n i t i a t e sai l e wi d e at ov i r t u a lm a c h i n et e c h n o l o g yi n t ot h ed e s i g no ff i r e n e t sp a c k e t f i l t e r t h em o s ti m p o r t a n tc o m p o n e n to ff i r e n e ti st h en e wp a c k e tf i l t e re n g i n eo 妤f e ) , w h i c hb e a r sav i r t u a lp r o c e s s o ra si t sc o r e p r o g r a m m i n gt e c h n i q u ew a sa l s oi n t r o d u c e d f i r e n e t p r o v i d e s ap a c k e tf i l t e r p r o g r a m m i n gl a n g u a g en a m e df i r e t i g e ra n d c o r r e s p o n d i n gc o m p i l e r , w h i c hc o u l do p t i m i z en p f e so b j e c tc o d e sb a s e do nt h e a n a l y s i so fg l o b a ld a t af l o w i nt h i sa p p r o a c h , an e wk i n do ff i r e w a l l sa p p l i c a t i o n t h r o u g hp a c k e tf i l t e rp r o g r a mi sp r e s e n t e d f u r t h e r m o r e , t h ea u t h o re x p l o r e dt h ee l e m e n t so fd e e pp a c k e ti n s p e c t i o na n di t s t y p i c a lr e p r e s e n t a t i o n - - s t r e a mf i l t e r w i t hi n t e n s ea n a l y s i s0 1 1t h ee s s e n c eo ft h et c p h a n d s h a k i n gp r o c e d u r ea n dt h em a i np o i n t so fs t r e a mf i l t e r , as t r e a mf i l t e ri n d e p e n d e n t o fa p p l i c a t i o np r o t o c o li ss u g g e s t e d , w h o s em a i nc o d er e g a r d i n gt of i r e n e ti sa d d r e s s e d i nd e t a i li nt h i sd i s s e r t a t i o n a l s o , al i g h t w e i g h tt c pi n t e r c e p t o ra g a i n s t t h ed o sa t t a c k i n gb a s e do n s y n - f i n o d i n gi si n t r o d u c e d m o r e o v e r , w i t hap u r p o s e t od e f e n dt h ed o sa t t a c kv i at i m e c o m p l e x i t yo fh a s hs e a r c ha l g o r i t h m ,as o l u t i o ne m p l o y i n gt h eu n i v e r s a lh a s ha l g o r i t h m a si t sf o u n d a t i o ni sp r o p o s e d , w h i c he m b o d i e san e wi d e ab r i n g i n gh a s hf u n c t i o n p a r a m e t r i c a l ,s t r u c t u r a la n dr a n d o m k e y w o r d s :f k e w a l l , v i r t u a lm a c h i n e , d e e pp a c k e ti n s p e c t i o n ,s l r c a mf i l t e r , d o s 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 签名:毖主日期:叫年宄月乎日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 吼冲完月8 日 第一章前言 第一章前言 1 1 本课题研究的背景、动机和目的 随着互联网的日益普及,基于互联网的各种应用层出不穷。目前,不仅商业 应用已经在互联网上展开,政府机关、军队等要害部门的关键业务也更多的构建 在互联网的平台上。大量的关键数据、关键程序都存储、运行在各个部门的主机 系统上,以支撑基于互联网的关键业务开展。另一方面,互联网上的网络攻击和 破坏事件在不断地发生。如何有效保护这些网络资源,防御网络攻击和破坏,正 是网络安全要解决的主要问题。 网络安全主要通过实施不同的安全技术来提供不同的安全服务来解决安全问 题。网络安全提供的主要服务包括机密性、完整性和可用性。网络安全涉及到的 技术和设备主要包括密码技术、入侵检测、防火墙。其中,防火墙是应用最为广 泛的网络安全平台。由于防火墙部署在网络边界点,可以提供全部的安全服务, 也可以作为基本平台支持其他安全设备提供更高级的安全服务,所以,防火墙设 备已经成为互联网最重要的安全保障之一。 防火墙技术经过多年的发展,功能已经从简单包过滤过渡到提供完整的应用 层数据保护。目前越来越多的攻击出现在应用层,由于应用层协议较底层多而复 杂,有较大的发挥空间,大量的网络攻击利用应用系统的漏洞实现,这逐渐演变 为一种趋势,危害力也越来越大。在兼顾网络层和运输层的保护同时,对应用层 的安全检测也就变得至关重要,同时,其性能好坏成为衡量防火墙产品安全性能 的重要因素。 目前防火墙技术发展面临的主要问题有两个。 第一,在提供越来越复杂的应用层数据安全保护功能的同时,防火墙的实现, 越来越趋于模块化,对平台无关性、可移植性的要求越来越高。 第二,如何在有效地保护防火墙自身的同时,也有效的保护内网主机免受网 络攻击的危害。目前最为主要的网络攻击是拒绝服务攻击。当发生攻击时,首先 要求防火墙自身稳定可靠,表现出高可用性,同时,也要通过防火墙的阻断作用, 保护内网主机不受攻击。 本课题对上述两个问题进行了研究。本课题研究的主要目的是:1 通过研究 电子科技大学硕士学位论文 计算机体系结构和编译器的有关理论和技术,实现基于虚拟机的包过滤技术,在 兼顾功能的同时,尽可能地使防火墙实现技术满足平台无关性和可移植性。2 深 入研究东软提出的流过滤技术的本质,得出实现要点,并给出了与应用层协议无 关的实现方案,从而较好地实现深度包检测和过滤,高效地提供应用层数据安全 保护功能。3 研究能够防御典型的拒绝服务攻击的技术和算法。 1 2 本课题的研究内容、方法 本课题主要研究内容如下: 1 新型包过滤引擎( n p f e ) 的设计与实现。 2 包过滤程序设计语言及其编译器( f i r e t i g e r ) 的设计与实现,着重研究如 何将现代编译优化技术应用到f i r e t i g e r 编译器。 3 包过滤引擎和应用层程序之间的高效数据传输和通信问题。 4 基于流过滤的深度数据包检测技术的实现。 5 如何防御基于s y n - f l o o d i n g 的拒绝服务攻击和基于算法时间复杂度的拒绝 服务攻击。 本课题研究以p c 和l i n u x 操作系统作为基本实验平台,在广泛研究有关文献 和开源代码的基础上,开发出基于包过滤虚拟机的深度包检测防火墙原型系统: f i r e n e t 。 1 3 本课题研究的创新之处 第一,将虚拟机技术引入防火墙,使防火墙的实现满足某种程度的平台无关 性和可移植性。由于虚拟机技术的引入,可编程技术也自然地应用到了防火墙的 使用中,从而实现了一种新的防火墙使用方式包过滤程序。同时将现代编译 优化技术应用到了包过滤程序的编译上,提高了包过滤代码的质量,在通用p c 平 台上兼顾了性能和功能的要求。 第二,为了顺应软硬一体化发展的趋势,本文设计的包过滤虚拟机提供了数 据通路,其逻辑既能用软件实现,又为采用f p g a 等可编程硬件实现作好了准备。 第三,本文在实现流过滤时,构建了一个专门用于转发目的的t c p 栈,在进 行应用层数据检测时,能够做到与应用层协议无关。同时将流过滤和包过滤引擎 有机地结合了起来,成为一个整体用户对流过滤的使用,体现在包过滤程序的 2 第一章前言 语义中。 第四,本文研究并实现了一种轻量级的t c i 拦截技术,可以有效地防御基于 s y n f l o o d i n g 的拒绝服务攻击。 第五,本文研究了基于哈希查找算法时间复杂度的拒绝服务攻击,研究并实 现了哈希函数结构化、参数化、随机化的解决方案。 1 4 本文结构 全文共有八章。 第一章前言,阐述了本课题的研究背景、动机和目的,以及研究内容、方法 和研究结果的创新意义。 第二章防火墙和虚拟机技术理论基础,研究了防火墙技术的发展和在网络安 全体系中的地位。讨论了虚拟机的基本结构、分类和实现技术。本章为全文奠定 了理论基础。 第三章f h e n e t 防火墙总体结构设计,研究了l i n u x 操作系统内核t c i i p 框 架和n e t f i l t e r 机制,在此基础上给出了原型防火墙系统f i r e n e t 的总体设计,描述 了一个完整的工作情景。 第四章新型包过滤引擎,研究了处理器指令集体系结构的有关理论以及b p f 、 c s p f 等实现,然后设计了n p f e 的指令集体系结构和数据通路,并实现了n p f e 虚拟机。最后研究了n p f e 的内存管理以及和应用层程序通信问题。 第五章包过滤语言及其编译器,为n i f e 设计了一个包过滤语言,并应用多 种基于数据流分析的全局优化技术,得到了一个优化编译器f i r e t i g e r 第六章流过滤模块,研究了应用层数据保护的主要技术,对比代理技术,分 析得到了流过滤的实现要点,给出了具体实现方案,并对实现细节进行了阐述。 第七章防御拒绝服务攻击,研究了基于s y n f l o o d i n g 的拒绝服务攻击,设计 并实现了一种防御该攻击的轻量级的t c p 拦截技术,给出了实验验证。研究了基 于哈希查找算法时间复杂度的拒绝服务攻击,研究了哈希函数结构化、参数化、 随机化的解决方案,给出了对比实验结果。 第八章总结与展望,总结全文,指出未来迸一步的研究方向。 3 电子科技大学硕士学位论文 第二章防火墙与虚拟机理论基础 本章首先讨论了防火墙在网络安全服务中所扮演角色,对比分析了目前防火 墙采用的各项主要技术。然后讨论了虚拟机的基本结构、分类和实现技术。 2 1 网络安全体系结构 网络安全体系结构是关于网络安全需求、以及满足这些需求的方法的系统定 义和描述。其基本内容包括安全攻击、网络安全机制、网络安全服务,网络安全 体系结构描述了三者之间的关系:安全服务防御安全攻击、提供安全保护,而安 全机制实现安全服务。 2 1 1 网络攻击 网络攻击分为被动攻击和主动攻击。 1 被动攻击 被动攻击通过监听实现对敏感信息的获取。被动攻击又可以分为两种: 第一种是单纯地监听消息内容。 第二种是在监听的基础上,对被监听的内容进行流量分析,以获取某种模式 信息。 2 主动攻击 主动攻击在被动攻击的基础上,对数据流作出更改甚至伪造假的数据流。主 动攻击又可以分为四类:伪装、重放、篡改、拒绝服务。 伪装是指一个实体假装成另一个实体。重放是指被动的捕获数据流并按照原 来的顺序重新传送。篡改是指更改合法消息的一部分,活着延迟或重新排序消息, 以使非法信息进入系统。拒绝服务阻止了主机系统或者通信设备正常的使用和管 理。 2 1 2 网络安全服务 安全服务是指由通信系统的协议层提供的服务,这些服务能够确保为系统或 4 第二章防火墙与虚拟机理论基础 者数据传输提供足够的安全。以防御前面提到的网络攻击。这些安全服务包括: 认证服务、访问控制服务、数据机密性服务、数据完整性服务、抗抵赖服务、可 用性服务。 1 认证 认证服务与确保通信可信有关。认证服务的功能就是向接收者保证消息是来 自该消息所声称的源。有两类认证服务: 对等实体认证( p e e re n t i t y a u t h e n t i c a t i o n ) :在一次联系中确认对等实体 的身份。在建立连接时或者传输数据期间使用对等实体认证。以确保实体 不是伪装的,也不是未经授权而对前一次的重放。 数据源认证( d a t ao r i g i n a u t h e n t i c a t i o n ) :确认数据单元的源。这种认证 并不对数据单元的复制或者更改进行保护。这种类型的服务支持类似电子 邮件的应用,在这些应用中通信实体事先不存在交互。 2 访问控制 访问控制通过通信连接来限制和控制对主机系统和应用程序的访问。即控制 谁、在什么时候、可以对哪些资源作什么样的访问。 3 数据机密性 数据机密性服务应用密码技术保护传输的数据不受被动攻击。 4 数据完整性 数据完整性服务确保所接收的消息与发送的消息是一样的,没有受到复制、 篡改或者重放。完整性服务与主动攻击相关,主要关心的是检测而非预防。 5 抗抵赖 抗抵赖服务能够防止发送方或者接收方否认消息的传输。 6 可用性 当合法的用户发出请求,如果系统能够根据系统设计的要求提供服务,那么 就称这个系统是可用的。这种服务主要关注由拒绝服务攻击所引起的安全问题。 2 1 3 网络安全机制 机制是用来实现安全服务的。机制既可以实现于通信系统的不同协议层上, 也可以不针对特定的协议层。主要的安全机制包括:加密、数字签名、访问控制、 认证、数据完整性等。 2 1 ,4 网络安全模型 5 电子科技大学硕士学位论文 根据网络安全服务部署的位置的不同,网络安全模型分为网络通信安全模型 和网络边界安全模型。 图2 - 1 显示的是网络通信安全模型。 ( 密钥) ( 密钥) 盛一三l 6 第二章防火墙与虚拟机理论基础 杌系统上的信息发起攻击。病毒和蠕虫就是两种软件攻击的实例。对付有害访问 所需的安全机制广义上可以分为两大类。第一类称为看门人函数( g a t e k e e p e r f u n c t i o n ) 它包括基于密码的登录过程。第二类安全机制称为屏蔽逻辑( s c r e e n i n g l o g i c ) ,用来检测和拒绝病毒、拒绝服务和其他类似的网络攻击。 2 2 防火墙的基本理论 2 2 1 防火墙实现的安全功能 防火墙部署在驻地网络( 属于某部门的内部网络) 和互联网之间的边界处, 建立了驻地网络和互联网之间的可控链接,为驻地网络提供了一个安全的边界环 境。其目的式要保护驻地网络免受来自互联网的攻击,同时提供一个部署安全和 审计措施的阻塞点。防火墙主要提供访问控制安全服务,防火墙实现的安全机制 包括: 1 服务控制:确定可访问的互联网服务类型。 2 方向控制:确定特定的服务请求可以发起和通过的方向。 3 用户控制:控制特定用户对某些服务的访问权限。 4 行为控制:控制特定服务的应用方法。 2 2 2 防火墙的分类 1 包过滤防火墙 包过滤防火墙对单个t c p i p 报文进行检查,根据规则进行过滤。 2 内容包过滤防火墙 在包过滤防火墙的基础上,还要检查单个报文的应用层数据。 3 应用代理防火墙 工作在应用层,直接对完整的应用层数据进行检查。性能低下是其主要问题。 2 3 包检测技术分析 包检测技术主要应用于防火墙等包检测、认证设备,这些设备部署于网络边 界,适用于网络边界安全模型。通过包检测技术,可以实现访问控制( 包括空间 资源和时间资源的访问控制) 、认证等安全机制以及由这些安全机制提供的安全服 7 电子科技大学硕士学位论文 务。 具有层次结构的数据包包含有丰富的信息。通过在网络边界对数据包进行高 效、灵活地检测,可以识别出不同的数据流量信息,然后根据预先配置的安全策 略实施相应的安全控制。 因此数据包检测技术实际上包含这么几个方面:检测什么,怎么检测、安全 策略的配置和实施。 1 检测什么 根据所需要提供的安全服务的复杂性不同,检测的内容也就不同。例如,如 果仅仅需要区分不同的传输层逻辑连接,则只需要检测口头和传输层协议的头部。 如果还要保护应用层会话,则还要对应用层数据进行检测。如何有效地检测应用 层数据,是本文的一个重要的研究内容。 2 怎么检测 这是数据包检测本身在哪一层实施,如何实施的问题。 数据包检测技术主要应用于网络互连设备,则其实施的层次可以在链路层( 如 桥设备) 和口层( 如路由器等) ,或者同时在链路层和礤层。这主要由设备的应 用模式( 透明模式、路由模式混合模式) 决定。这里需要注意的是,在哪一层实 施数据包检测,跟检测哪一层的数据是没有对应关系的。 如何实施检测,主要是指由软件( 基于通用c p u ) 实现还是由专门的硬件( 如 n p 、f p g a 等) 实现。但是这只是影响检测的效率,不影响检测的能力。两者在 逻辑上是等价的。 3 安全策略的配置和实施 数据包检测终究只是手段和机制,不是目的。目的是要通过实施安全策略实 现安全服务。安全策略描述了数据包的特征和控制方法( 如通过、过滤、送往应 用程序、重定向等) 。如何高效、灵活、规模可伸缩的实现安全策略的描述、组织 和实施,是一个本文另一个主要的研究内容。 下面对目前主要的包检测技术进行分析。 2 3 1 静态包检测 静态包检测不考虑协议的上下文数据,不维护协议的状态,只是单纯地检测 数据包的协议头是否匹配预先配置的模式。这种技术的缺点主要是:强迫防火墙 静态地开放所有端口;无法识别协议的状态,如接收到一个a c k 数据包,就认为 8 第二章防火墙与虚拟机理论基础 这是一个已建立的连接,这就导致许多安全隐患。一些恶意扫描和拒绝服务攻击 就是利用了这个缺陷。对静态包检测技术的应用就是静态包过滤。 2 3 2 动态包检测 动态包检测根据协议的上下文状态动态检测通过防火墙的数据包,根据预先 配置的模式,动态地打开或者关闭某些端口。对动态包检测的应用是动态包过滤 ( d y n a m i cp a c k e tf i l t e r ) ,又称为状态包过滤( s t a t e f u lp a c k e tf i l t e r ) 。 与传统静态包检测技术只检查单个、孤立的数据包不同,动态包检测将数据 包的上下文联系起来,建立一种基于状态的包检测机制。对于新建的应用连接, 防火墙检查预先设置的安全规则,允许匹配规则的连接通过,并在内存中记录下 该连接的相关信息,这些相关信息构成一个状态表。这样,当一个新的数据包到 达,如果属于已经建立的连接,则检查状态表,参考数据流上下文决定当前数据 包通过与否;如果是新建连接,则检查静态规则表。 动态包检测通过在内存中动态地建立和维护一个状态表,数据包到达时,对 该数据包的处理方式将综合静态安全规则和数据包所处的状态进行。这种方法的 好处在于:由于不需要对每个数据包进行规则匹配,而是对一个连接的后续数据 包( 通常是大量的数据包) 通过散列算法,直接进行状态检查,从而使性能得到了 较大提高;而且,由于状态表是动态的,因而可以有选择地、动态地开通1 0 2 4 号 以上的端口,使安全性得到进一步地提高。 动态包过滤技术克服了传统包过滤仅仅孤立地检查单个数据包和安全规则静 态不可变的缺陷,使得防火墙的安全控制力度更为细致和灵活。 2 3 3 内容包检测 内容包检测在动态包检测的基础上,增加了检查、过滤应用层数据的功能。 对内容包检测技术的应用就是内容包过滤。 但是由于内容包过滤只孤立地检查单个t c p i p 报文的应用层数据,无法从分 散在各个报文中零散的应用层数据中恢复出完整的应用数据流,因而无法获得完 整的应用层数据的上下文信息,其内容检测和过滤能力非常有限。 2 3 4 深度包检测 2 3 4 1 深度包检测的基本问题 9 电子科技大学硕士学位论文 深度包检测技术深入检查通过防火墙的每个数据包及其应用载荷。虽然只检 测包头部分是一种更加经济的方式,但是很多恶意行为可能隐藏在数据载荷中, 通过防御边界在安全体系内部产生严重的危害。因为数据载荷中可能充斥着垃圾 邮件、广告视频以及企业所不欣赏的p 2 p 传输,而各种电子商务程序的h t m l 和 x m l 格式数据中也可能夹带着后门和木马程序在网络节点之间交换。所以,在应 用形式及其格式以爆炸速度增长的今天,仅仅依照数据包的第三层信息决定其是 否准入,实在无法满足安全的要求。 深度包检测可以基于指纹匹配、启发式技术、异常检测以及统计学分析等技 术的规则集,决定如何处理数据包。举例来说,检测引擎将数据包载荷中的数据 与预先定义的攻击指纹进行对比,以判定数据传输中是否含有恶意攻击行为,同 时利用已有的统计学数据执行模式匹配,辅助这种判断的执行。利用深度包检测 技术可以更有效的辨识和防护缓冲区溢出攻击、拒绝服务攻击、各种欺骗性技术 以及类似尼姆达这样的蠕虫病毒。 深度包检测的技术问题主要包括:1 需要对有效载荷知道得更清楚;2 也 需要高速检查它的能力。 简单的数据包内容过滤对当前正在通过的单一数据包的有效载荷进行扫描检 测。但是对于应用防御的要求而言,这是远远不够的。如一段攻击代码彼分割到 1 0 个数据包中传输,那么这种简单的对单一数据包的内容检测根本无法对攻击特 征进行匹配。要清楚地知道有效载荷,必须采取有效方法,将单个数据包重新组 合成完整的数据流。 应用层的内容检测要求大量的计算资源,带来的主要问题是性能的下降,这 就是所谓的内容处理障碍。为了突破内容处理障碍,达到实时地分析网络内容和 行为,需要重点在加速上采取有效的办法。通过采用硬件芯片和更加优化的算法, 可以解决这个问题。 2 3 4 2 流过滤技术 流过滤是东软集团提出的一种新型防火墙技术,该技术可以用以实现深度包 过滤。 流过滤在状态检测技术的基础上进行了改进。其基本原理是:以状态包检测 过滤的形态实现应用层的保护能力。通过内嵌的专门实现的t c p i p 协议栈,实 现了透明的应用数据过滤机制。 流过滤技术的关键在于其架构中的专用t c p i p 协议栈。这个协议栈对出入防 l o 第二章防火墙与虚拟机理论基础 火墙的数据包迸行了完整的重组,重组后的数据流交给应用层过滤逻辑进行检测 过滤,从而可以有效地识别并拦截应用层的攻击企图。 在这种机制下,从防火墙外部看,仍然是包过滤的形态,工作在链路层或口 层,在规则允许下,两端可以直接访问。但是,任何一个被规则允许的访问在防 火墙内部都存在两个完全独立的t c p 会话,数据以“流”的方式从一个会话流向 另个会话。由于防火墙的应用层策略位于流的中间,因此可以在任何时候代替 服务器或客户端参与应用层的会话,从而起到了与应用代理防火墙相同的控制能 力。 东软给出的描述流过滤技术的文献中,没有给出具体实现细节。同时,东软 描述的流过滤技术,具有应用协议相关的缺陷,其功能的扩展,需要针对不同的 应用层协议以插件的方式进行。本文在第六章研究了流过滤的本质特征,设计了 一个与应用层协议无关的实现方案。 2 4 虚拟机的基本理论 2 4 1 虚拟机的结构 随着软件平台无关性和可移植性要求的日益增长,虚拟机技术已经得到了广 泛地应用。 虚拟机是类似于计算机的一个软件,它可以通过虚拟化技术模拟真实处理器 取指、执行的过程。虚拟机和它所模拟的真实机器的区别在于,虚拟机的指令执 行是由软件完成的,而真实机器的机器的指令执行是由硬件完成的。 称被虚拟软件所模拟的真实计算机系统为g u e s t ,而运行虚拟软件的真实计算 机系统为h o s t 。虚拟软件和h o s t 一起,构成了虚拟机。g u e s t 系统和h o s t 系统可 以是同构的,也可以是异构的,但一般是异构的。虚拟机系统在本质上为g u e s t 系统的应用程序提供了运行环境。 三者的关系如图2 - 3 所示。 1 1 电子科技大学硕士学位论文 g u e s t 应用程序 虚拟软件 h o s t 计算机系统 虚拟机 系统 图2 - 3 虚拟机的构成关系 从上图可以看出,虚拟机的实现是在h o s t 的计算机系统上增加了一个软件层。 实现虚拟机的这个软件层和屏蔽复杂性、实现软件抽象的软件层的区别在于,虚 拟机软件并没有屏蔽复杂性,其复杂性和它所虚拟的对象g u e s t 系统具有相同的复 杂性。例如,h o s t 为i a 3 2 系统,通过虚拟软件,实现一个模拟m i p s 的虚拟机, 此虚拟软件的复杂性和m i p s 的复杂性是一一对应的。 2 4 2 虚拟机的分类和实现技术 根据虚拟机虚拟的层次和提供的功能不同,虚拟机可以分为两类,即系统虚 拟机和进程虚拟机。 2 4 2 1 系统虚拟机 第一类是系统虚拟机。此类虚拟机结构中的h o s t 只有硬件系统,不包括软件 系统。在此类虚拟机上运行操作系统等系统软件。、m w a r e 就属于这种类型。 这种类型的虚拟机需要对g u e s t 的整个硬件子系统进行模拟,包括指令集体系 结构( i s a ) 、内存、i o 、中断和异常等。换句话说,系统虚拟机是操作系统看 到的机器系统。 2 4 2 2 进程虚拟机 第二类是进程虚拟机。注意,此处的进程的含义并不单指操作系统中的进程 概念,在本质上,它是指一段可在g u e s t 系统上执行的程序。 此类虚拟机结构中的h o s t 包括了软件子系统,例如操作系统、编译器、运行 时环境等。虚拟软件作为h o s t 系统的一个应用程序,在h o s t 操作系统的支持下运 行。此时,虚拟机仅对g u e s t 的指令集体系结构进行模拟,为本来在g u e s t 系统上 运行的应用程序提供的虚拟的运行环境。换句话说,进程虚拟机,是应用程序看 1 2 ,_ 第二章防火墙与虚拟机理论基础 到的机器系统。 进程虚拟机的实现技术,主要包括解释执行( i n t e r p r e t i o n ) 、二进制翻译( b i n a r y t r a n s l a t i o n ) 。两种实现技术的共同点在于,都需要先将用高级语言编写的g u e s t 系统上的应用程序编译成g u e s t 处理器目标代码,然后虚拟机软件执行这个g u e s t 目标代码。 其不同点在于如何执行。采用解释执行技术的虚拟机软件对已经编译好了的 g u e s t 目标指令逐条解释执行,虚拟软件程序的主体是一个分派循( d i s p a t c hl o o p ) 和一个s w i t c h 语句结构,解释执行是通过查找分派表中的子例程的入口地址,进 而间接调用子例程,每个子例程解释一条g u e s t 指令的执行。采用二进制翻译技术 的虚拟软件,则在运行g u e s t 目标指令前,先将g u e s t 目标代码整体转换为h o s t 处理器的机器指令,然后把转换后的h o s t 指令交给h o s t 处理器运行。 圈2 4 和图2 - 5 分别显示了解释执行和二进制翻译执行的过程。 解释子例程 o u e s t 一一一一,1 l 源代码 图2 4 进程虚拟机解释执行的过程 h o s t 目标代码 o u e s t - 二进制翻译器卜一- 源代码 图2 - 5 进程虚拟机二进制翻译执行的过程 电子科技大学硕士学位论文 上面两个图中,实线箭头表示控制流,虚线箭头表示数据访问。 两种技术在性能上各有优劣。解释执行适合g u e s t 目标指令数量较少的情况, 而二进制翻译的开销主要在启动时,适合目标指令数量较多的情况。二者也可以 和混合使用。 但是从平台无关性和可移植性综合考虑,解释执行优于二进制翻译技术。因 为解释执行是通过查找子例程入口地址表,间接调用解释例程的,而子例程可以 直接用高级编程语言( 如c 语言编写) ,无需考虑运行虚拟机软件的h o s t 体系结 构的差异而二进制翻译技术,必须针对运行虚拟机软件的不同的h o s t 体系结构 编写不同的二进制翻译器,依赖于平台体系结构差异的开发工作量明显较大。所 以,解释执行比二进制翻译执行具有更强的移植性和平台无关性 本文实现的虚拟机属于进程虚拟机,采用的实现技术是解释执行。 2 5 小结 本章对包过滤防火墙的基本理论进行了研究,着重说明了深度包检测和过滤 的基本问题。此外,本章还对虚拟机的基本原理和类型作了研究和描述。本章的 内容,为本课题的研究奠定了理论基础。 1 4 第三章f i r e n e t 防火墙总体结构设计 第三章f i r e n e t 防火墙总体结构设计 本章给出了f i r c n c t 防火墙的设计目标,进行了总体结构的设计。本章首先研 究了l i n u x 操作系统内核( 版本2 6 1 5 ) 中t c p f l p 网络协议实现的体系结构,包 括其层次结构、关键数据结构和主要数据流程。然后分析了n e t f i l t e r 机制,该机制 作为l i n u x 操作系统内核中t c p i p 网络协议栈所实现的回调机制,向外部模块开 放了内核t c p i p 接口,是f i r e n e t 防火墙赖以工作的基础。 3 1l i n u xt o p i p 网络体系结构 和其他主流u n d ( 操作系统一样,i j n 酝操作系统内核中的t c p i p 网络子系 统仍然是基于传统的t c p i p 网络层次结构的。参考文献【2 】描述的t c p i p 网络层 次结构如图3 - 1 所示。 l 毳t t t 啦嘲en 和 m 氇m o d e , a p p l i c a t i o n ( h t r rs m t p s s h ) t r a n s p o r t ( t c p u d p ) i n t e r n e t ( 1 l v a | ,v 6 ) d a 协l i n k 8 0 2 。x 牛p p 致s l i p ) 图3 - 1t c p f l p 网络层次结构 简要描述如下: 数据链路层( d a t al i n k ) 又可以看作是网络接口层。通常由操作系统中的 网卡设备驱动程序和网卡共同实现,完成o s i 模型中链路层协议数据和物 理层数据的发送和接收。 网络互连层( i n t e r n e t ) ,实现m 协议,完成数据在网络中的寻址、路由和 电子科技大学硕士学位论文 转发。本文所研究开发的防火墙正是工作在这一层。 传输层( t r a n s p o r t ) ,为应用程序提供端到端的通信服务,建立应用程序 之间的逻辑通道。其中t c p 协议为应用程序提供了面向连接的可靠的端 到端通信服务,包括差错控制、拥塞控制等。 应用层( a p p l i c a t i o n ) 主要完成对用户数据的解释、转换等处理功能。在 应用层协议的支持下,可以开发许多基于i n t e r n e t 的分布式应用。 和其他实现相比较,t c p i p 协议栈在l i n u x 内核中的实现具有高度模块化、 接口开放的特点。同时,又充分利用l i n u x 操作系统内核提供的设施和机制,允许 进行扩展,提供了许多高效灵活的外部通信机制,例如n e t l i n k 、n o t i f i c a t i o nc h a i n 等。其中,n e t f i l t e r 作为一种重要的回调机制,为二次开发诸如防火墙之类的模块 提供了开放的接口,使外部内核模块有机会对数据包进行处理。 3 1 1 内核t o p i p 协议栈的层次结构 l i n u x 内核中的t c p i p 协议栈,在层次结构的框架下,采用了高度模块化的 设计思想。为了提高吞吐率,具体实现时充分利用了l i n u x 内核的延迟执行机制 软中断( s o f t i r q ) 作为t c p i p 协议实现的运行时机;同时,各个层次实体之 间的通信在程序上通过函数调用实现,而不是采用进程间通信的方式实现的,这 样既避免了大量的进程调度和上下文切换所带来的开销,又符合l i n u x 作为一个 u n i x 操作系统的变种,其内核是一体化结构的特点。 图3 2 是l i n u x 内核中t c p ,口协议栈的模块化层次结构图。 l i n u x 内核中t i :p ,m 网络予系统的设计和实现,具有如下特点: 1 模块化、高内聚、低耦合、信息隐藏;模块与模块间的接口多采用函数指 针。这样当一个模块发生很大变化时,另一个模块还具有很强的适应性。 2 模块独立性强。每个模块高度内聚,只做比较单纯的工作。例如,口模块 只做口报文的接收、发送、合法性判断和分片重组等工作,而路由维护和路由查 找等任务交给路由模块去完成。 3 广泛采用面向对象技术。在l i n u x 操作系统内核中,几乎所有的子系统都 采用了面向对象编程( o o p ) 技术。网络予系统也不例外,表现得较为典型的有 两个: 邻居表( s t r u c tn e i g h 。 内核中采用“邻居”的概念来管理相邻的_table)linux 计算机。这样不同的协议族如口( a r p ) 、a t m 、c l i p 等都采用相同的接 第三章f t r e n e t 防火墙总体结构设计 口来实现地址解析,从而实现对“邻居”计算机地址的管理。 s o c k e t o 。u n u x 内核共支持3 1 种协议族( 参阅内核代码文件i f _ e t h e r h ) , 每个协议族的具体形态都是不同的。但是内核向用户层提供一个统一的 s o c k e t 接口,应用程序采用不同的通信协议,但可以使用相同的系统调用 进行i o 操作。内核通过“s t m c ts o c k e t 、“s t r u c tp r o t o”和“ _ops s t r u c ts o c k 三个结构就将所有的通信协议抽象成一个s o c k e t 类。这个类的特性由 “s t m c ts o c k 表示,行为由“s t r u c tp r o t o _ o p s ”表示。每种通信协议只需要注 册并实现这三个结构即可。 阅 图3 - 2l i n u x 内核中t c t i p 协议栈的模块化层次结构 口模块和n e l f i l t e r 模块是本论文研究和设计的原型防火墙f i r e n e t 赖以工作的 基础。 1 7 电子科技大学硕士学位论文 3 1 2s o c k e tb u f f e r 数据结构s o c k e tb u f f e r 定义在 ,名字叫做s t r u c ts kb u f f 。 这个结构在本质上,是一个管理和控制网络协议报文存储的结构。s k _ b u f f 本身并 不存储网络报文,但是通过它的各个成员指针,它控制着实际的网络报文在内存 中的存储。从数据链路层到t c p 层,各层模块都要通过s k _ b u f f 的成员指针,来访 问和操作该层的报文数据。由于有了s k _ b u f f ,使得在各个层次之间的报文封装和 解封装操作只需移动有关指针,从而变得极为简单。同时各个层次间数据的传递, 实现了一次分配,多次使用,避免了大量的重复拷贝操作,提高了效率。 3 1 2 1 网络数据存储管理 s k _ b u f f 有五个成员字段直接用以管理和控制存储实际网络报文的内存区域。 他们是: u n s i g n e dc h a r 。h e a d u n s i g n e dc h a r + e n d u n s i g n e dc h a r + d a t a u n s i g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/TS 26762:2025 EN Design and operation of allocation systems used in gas productions facilities
- 【正版授权】 ISO 19690-2:2018/Amd 1:2025 EN Disc springs - Part 2: Technical specifications - Amendment 1: Durability chart for not shot peened springs (group 3)
- 【正版授权】 IEC 61300-2-5:2022+AMD1:2025 CSV EN Fibre optic interconnecting devices and passive components - Basic test and measurement procedures - Part 2-5: Tests - Torsion
- 【正版授权】 IEC 60614-2-1:1982 EN-D Specification for conduits for electrical installations. Part 2: Particular specifications for conduits. Section One: Metal conduits
- 校园食品安全知识培训
- 药学执业考试试题及答案
- 法院文职面试题及答案
- 骨科填空考试题及答案
- 海关模拟面试题及答案
- 2025年湖北省中考语文真题(含答案)
- 解除共管账户协议书
- 心胸外科麻醉管理
- 《鸿蒙HarmonyOS应用开发基础》课件 第1-3章 初识鸿蒙、ArkTS(上)、ArkTS(下)
- 2025年医院血透室人员培训计划
- 《消防员心理素质培养》课件
- 倍智tas人才测评系统题库及答案
- 公安机关办理行政案件程序规定课件
- 九年级全一册英语单词默写表(人教版)
- 教育培训项目的质量控制与保障措施
- 会籍顾问礼仪培训
- 中医药质量与安全管理制度
评论
0/150
提交评论