(计算机应用技术专业论文)深度包检测技术的研究与设计.pdf_第1页
(计算机应用技术专业论文)深度包检测技术的研究与设计.pdf_第2页
(计算机应用技术专业论文)深度包检测技术的研究与设计.pdf_第3页
(计算机应用技术专业论文)深度包检测技术的研究与设计.pdf_第4页
(计算机应用技术专业论文)深度包检测技术的研究与设计.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)深度包检测技术的研究与设计.pdf.pdf 免费下载

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

文档简介

贵州大学硕士学位论文 摘要 随着网络应用技术的飞速发展,人们对数据包的安全性检查已经不在局限于 传输层以下的数据,对数据包中包含的应用层数据的检查显得越发重要:且以特 征模式串描述内容检查安全规则的方式面对日益增长的网络应用也变得无能为 力。因此基于多正则表达式匹配算法的深度数据包检测技术已经成为现代防火墙 的主要技术,但由于实现正则表达式匹配所采用的d f a ( d e t e r m i n i s t i cf i n i t e a u t o m a t a ) 方式的计算性能主要取决于存储访问速度,而其巨大的存储开销,限 制了这一技术的应用。因此,本文在前人研究的基础上,设计了一种基于d f a 的多正则表达式匹配算法s s d f a ( s i m i l a rs t a t ed f a ) ,该算法大量减少了使用 d f a 表示多正则表达式造成的巨大存储开销,保证了多正则表达式模式的高速 匹配。并最后提出了一种以s s d f a 算法为核心检测技术的深度包检测系统模型。 关键词:深度包检测,h a s h ,d f a ,正则表达式 中图分类号t p 3 9 3 0 8 嚣度包捻测技术的研究;躞j s u m m a r y a sn e t w o r ka p p l i c a t i o nt e c h n o l o g i e sg r o w i n gs of a s t ,p a c k e ts e c u r i t yn o to n l yr e l a t et op a c k e t h e a ds c a n n i n g ,b u ta l s oc o n t e n to fa p p l i c a t i o nl a y e rs c a n n i n gw h i c hh a sb e c o m ee x t r e m e l y i m p o r t a n t , i na d d r i o n , c o n t e n ts e c u r i t yr o l e sb a s e do i le x p l i c i ts t r i n gp a t t e r n si n t h ef a c e o f g r o w i n gn e t w o r ka p p l i c a t i o n sh a v eb e c o m ep o w e r l e s s s ot h a t , d e e pp a c k e ti n s p e c t i o nb a s e do n r e g u l a re x p r e s s i o nm a t c h 堍a l g o r i t h mt e c h n o l o g yh a sb e c o m et h e m a i nm o d e mf i r e w a l l t e c h n o l o g y b u td u e 协d f a ( d e t e n n i n i s t i cf i n i t ea u t o m a t a ) r e p r e s e n t a t i o n s ,w h i c ha r ct y p i c a l l y u s e dt oi m p l e m e n tr e g u l a re x p r e s s i o n s ,r e q u i r eh u g ea m o u n t so fm e m o r ya n dt h e i rc o m p u t i n g p e r f o r m a n c ed e p e n d sl a r g e l yo nm e m o r ya c c e s ss p e e d 1 i m i t i n gt h e i ra p p l i c a t i o n 1 nt h i sp a p e r , w e i n u o d 嗽a 玎删p a t t e r nm a t c h i n ga l g o r i t h mb a s e do i ld f ar e p r e s e n t a t i o no fr e g u l a re x p r e s s i o n s , c a l l e ds s d f a ( s i m i l a rs t a t ed f a ) , w h i c hr e d u c e sm e m o r yc o s to fd f ar e p r e s e n t a t i o no fr e g u l a r e x p r e s s i o n s ,a tt h es a m et i m e ,r e m a i n sh i g hm a t c h i n gs p e e d f i n a l l y , ad e e pp a c k e ti n s p e c t i o n s y s t e mm o d e lb a s e do i ls s d f aa l g o r i t h mw a sg i v e n k e yw o r d s :d e e pp a c k e ti n s p e c t i o n ,h a s h ,d f a ,r e g u l a re x p r e s s i o n s 4 贵州尺学坝卜 :- 。7 - - 位论义 附:学位论丈原创性声明和关于学位论文使用授权的声明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究在做出重要贡献的个人和集体,均已在文中以明确 方式标明。本人完全意识到本声明的法律责任由本人承担。 论文作者签名:壶! 缸 日 期: 2 q 壁堡生笠旦 关于学位论文使用授权的声明 本人完全了解贵州大学有关保留、使用学位论文的规定,同 意学校保留或向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅;本人授权贵州大学可以将本学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:翻! 坠导师签 乃 日期:2q q 里生囱 贵州人学硕士学位论义 1 课题选题背景 - 一 刖声 随着互联网发展和盯技术的普及,网络和信息技术已经日渐深入到日常生 活和工作当中,社会信息化和信息网络化,突破了应用信息在时间和空间上的障 碍,使信息的价值不断提高,并使信息系统在各大企事业单位的应用得到不断深 入,逐渐实现信息系统内网和外网的信息共享、互连互通。许多企事业单位的业 务完全依赖于信息系统安全运行,才能得以正常进行,因此信息安全重要性日益 凸显,但信息安全事件是有发生,造成企事业单位业务的重大损失。例如网页篡 改、计算机病毒、系统非法入侵、数据泄密、网站欺骗、服务瘫痪、漏洞非法利 用等信息安全隐患逐渐成为企事业单位信息系统应用的顽症。虽然各个单位不断 投入大量的人力、物力、财力构建自己的信息安全防范体系,但由于r r 技术的 更新、信息安全人才的缺乏、安全防范体系的不完善等等因素,使企事业单位网 络安全事故从来没有停止过,不断造成企事业的损失。据c n c e r t c c 统计,2 0 0 7 年上半年,c n c e r t c c 共发现8 3 6 1 个境外控制服务器对我国大陆地区的主机 进行控制。美国计算机应急响应小组( c e r t ) 发布的数据显示,2 0 0 6 年安全研究 人员共发现了8 0 6 4 个软件漏洞,与2 0 0 5 年相比增加2 0 7 4 个。面对信息安全的 严峻考验,企事业单位需要与时俱进,不断更新安全防范知识,不断的吸收网络 安全方面的最新成果,从而用最新的技术保障信息系统的安全,避免突发事故带 来的损失,降低信息系统运行的成本,保障系统的健康正常运行。 1 1 r 技术的不断发展,带来了社会和产业革命,信息已经成为各企事业单位中 的重要资源,也是一种整个社会的“无形财富”在未来竞争中谁获取信息优势, 谁就掌握了竞争的主动权。从宏观角度来讲,信息安全己成为影响国家安全、经 济发展、社会稳定、个人利害的重大关键问题,是构建和谐社会的保障。 作为近年来新兴的保护计算机网络安全技术性措施,防火墙( f i r e w a l l ) 是一种 隔离控制技术,在某个机构的网络和不安全的网络( 如i n t e r a e t ) :之_ _ f a 设置屏障,阻 止对信息资源的非法访问,也可以使用防火墙阻止专利信息从企业的网络上被非 法输出。防火墙是一种被动防卫技术,由于它假设了网络的边界和服务,因此对 深度包捡测技术的研究j 改汁 内部的非法访问难以有效地控制,因此,防火墙最适合于相对独立的与外部网络 互连途径有限,网络服务种类相对集中的单一网络。 作为i n t e r n e t 网的安全性保护软件,f i r e w a u 已经得到广泛的应用。通常企业 为了维护内部的信息系统安全,在企业网和i n t e r n e t 间设立f i r e w a u 软件。企业 信息系统对于来自i n t c r n e t 的访问,采取有选择的接收方式。它可以允许或禁止 一类具体的i p 地址访问,也可以接收或拒绝t c p i p 上的某一类具体的应用。如 果在某一台i p 主机上有需要禁止的信息或危险的用户,则可以通过设置使用 f i r e w a l l 过滤掉从该主机发出的包。如果一个企业只是使用i n t e m e t 的电子邮件和 w w w 服务器向外部提供信息,那么就可以在f i r e w a l l 上设置使得只有这两类应 用的数据包可以通过。这对于路由器来说,就要不仅分析i p 层的信息,而且还 要进一步了解t c p 传输层甚至应用层的信息以进行取舍。 但随着网络的广泛应用和普及,网络入侵行为、病毒破坏、垃圾邮件的处理 和普遍存在的安全话题也成了人们日趋关注的焦点,作为网络边界的第一道防 线,由最初的路由器设备配置访问策略进行安全防护,到形成专业独立的防火墙 产品,已经充斥了整个网络世界。作为保护网络边界的安全产品,防火墙技术也 已经逐步趋于成熟,并为广大用户所认可。但是防火墙所暴露的问题也慢慢的凸 现出来,面对未来高端防火墙的发展趋势,无论是从用户还是产品供应商,都不 可避免的推向了一种对新型防火墙技术需求的角度。 。目前在防止安全攻击上,使用最广泛的是状态检测防火墙,状态检测防火墙 工作于网络层,其判断允许还是禁止数据流的依据不仅仅是依靠源i p 地址,目 的i p 地址,源端口,目的端口和通讯协议等数据包信息,而是基于会话信息做 出决策的。状态检测防火墙验证进来的数据包时,判断当前数据包是否符合先 前允许的会话,并在状态表中保存这些信息。状态检测防火墙还能阻止基于异常 t c p 的网络层的攻击行为。网络设备,比如路由器,会将数据包分解成更小的数 据帧,因此状态检测设备,通常需要进行i p 数据帧的重组,按其原来顺序组 装成完整的数据包。 但是在当初设计状态检测技术时,并没有专门考虑w e b 应用程序的攻击, 在应用格式以爆炸速度增长的今天,数据载荷中可能充斥着垃圾邮件、广告视频 以及企业所不欣赏的p 2 p 传输,而各种电子商务程序的h t m l 和x m l 格式数 6 贵 人学颀l 二学位论文 据中也可能夹带着后门和木马程序在网络节点之白j 交换。盯权威机构g a r t n e r 认 为,虽然应用程序代理不是阻止未来黑客攻击的关键,但是防火墙应能分辨并阻 止数据包的恶意行为,包检测技术需要有新的发展。于是,新一代的深度检测防 火墙技术( d e e pp a c k e ti n s p e c t i o n ) 便应运而生。 深度检测防火墙将状态检测和应用防火墙技术结合在一起,以处理应用程 序的流量,防范目标系统免受各种复杂的攻击。结合了状态检测的所有功能,深 度检测防火墙能够对数据流量迅速完成网络层级别的分析,并做出访问控制决: 对于允许的数据流,根据应用层级别的信息,对负载做出进一步的决策。深度包 检测技术可以更有效的辨识和防护缓冲区溢出攻击、拒绝服务攻击、各种欺骗性 技术以及类似尼姆达这样的蠕虫病毒。从本质上来讲,深度包检测将入侵检测 ( i d s ) 功能融入防火墙当中i 从而使我们有条件创建一种一体化的安全设备。 近来,可编程a s i c 技术的发展以及更有效的规则算法的出现,大大增强了 深度包检测引擎的执行能力,让这项技术在性能方面的压力得到了缓解。而将防 火墙与入侵检测系统的功能封装在单个设备中也可以使得管理方面的负担得到 减轻,所以应用了深度包检测技术的产品受到了相当一部分管理员的好评。一些 主要的防火墙供应商,包括c h e c k p o i n t 、c i s c o 、n e t s c r e e n 、s y m a n t e c ,都在不 断增加其防火墙产品中的应用数据分析功能。 2 本文的创新工作 考虑到未来的安全需要,现有的基于特征模式串的多模式匹配技术( 现在i d s 入侵检测系统普遍采用的主要内容检测技术) 以不能满足需要。采用正则表达式 描述检查规则比基于特征串的检查规则具有更高的灵活性,并提供强大的特征描 述能力,这是原有特征模式串所不能做到的。 目前研究的深度包检测技术主要结合协议一致性检查技术与基于正则表达 式的多模式匹配技术的内容过滤技术,以达到深度数据包检测技术的要求,保障 应用层安全。其中协议一致性检查技术已经比较成熟,而基于正则表达式的多模 式匹配技术研究才刚刚开始。 而基于正则表达式的多模式匹配技术,现有的最佳解决方案是采用f i n i t e a u t o m a t a ( 有限自动机) 实现多模式匹配。最初,人们采用n f a ( n o n d e t e r m i n i s t i c 7 深度包f :;= 测技术的研究0i 殳汁 f i n i t ea u t o m a t a ) 来实现,但后来经过大量的实验,最终人们发现采用d f a ( d e t e r m i n i s t i cf i n i t ea u t o m a t a 一) 比n f a 具有更高的处理效率,因此提出了基于 d f a 的一系列多正则表达式匹配算法。由于d f a 需要记录大量的状态与转移, 因此其计算性能主要取决于存储访问速度,通常将其应用于有限空间的高速存储 设备上;但d f a 的高存储开销。多正则表达式的相互影响,加大了d f a 方式的 应用成本,从而限制了这种技术的发展与应用。因此,提出适合应用层安全,并 决绝d f a 的空间爆炸问题,解决多正则表达式的高效集成,并保持d f a 的高速 处理速度成为目前的主要研究方向。 本文在现有研究的基础上,作了如下创新性研究: ( 1 ) 根据网络实现的具体环境,在现有基于d f a 的正则表达式的多模式匹配 技术的基础上设计了一种具有高速匹配速度、较低存储开销的正则表达式多模式 匹配算法。 ( 2 ) 给出新算法的形式化理论基础,对算法关键技术进行形式化证明,并对 算法进行详细描述。 ( 3 ) 根据现有深度包检测技术的实现方案,结合当前网络信息安全状况,设 计了一种基于新算法的深度包检测技术的应用系统模型。 3 本文结构 本文旨在研究分析现有深度包检测技术研究与应用情况,提出更有效的实现 方案,从而提高服务质量与安全性。 第一章,深度包检测技术研究综述。主要介绍深度包检测技术基本概念,包 括包检测技术的概念与发展,深度包检测技术的目的、任务与功能,深度检测技 术的主要技术,以及深度包检测技术未来的发展方向。 第二章,深度包检测特征识别技术。该部分主要介绍深度检测技术中的核心 部分,特征检测技术。并介绍了现有的多种特征检测技术,包括“特征字符串 模式匹配技术与“正则表达式”模式匹配技术。并且分析了这些技术的特点与应 用时的要求。通过分析得出未来的特征识别技术主要采用“正则表达式”模式匹 配技术。 第三章。s i m i l a rs t a t ed f a 。通过第二章的研究分析发现,“正则表达式”模 贵州人学颂j :学位论文 式匹配技术在应用上还存在许多困难。因此,本文在前人研究的基础上,创新性 的提出了基于s s d f a 的正则表达式模式匹配技术。该部分详细叙述了s s d f a 的 提出的动机,设计思路,形式化定义与实现算法。最后实现基于s s d f a 的正则 表达式模式匹配技术,并进行性能评测。 第四章,基于s s d f a 的深度包检测技术应用系统模型。该部分给出了基于 s s d f a 模式匹配技术的深度包检测技术应用系统模型,包括系统的体系结构、 功能模块与处理流程设计。 第五章,总结本文所做的工作,并展望进一步的研究工作。 本文的最后是参考文献以及致谢。 9 采度包愉洲拽术的研究t ,设汁 1 1 引言 第一章深度包检测技术研究综述 今天,通过全球范围内互联合作来提高效率,已经成为许多商业活动或研究 项目所普遍采用的方式。各种用户,包括商业人员,技术人员、客户、机构等, 在他们需要的时候,都可以通过网络来访问他们所需要的资源。而实现这一目标 的基础设施和技术,比如互联网,专门由网络或者i t 管理员和技术人员来管理, 主要为了提高给用户更好的服务,同时减少开销。但是,与此同时,也使得网络 易于受到安全上的威胁。因为在提高服务质量的同时,也给那些企图盗取、修改、 破坏重要资源的人有了可乘之机。所以,对于现在的网络技术管理人员来说,最 大的挑战就是既最保证网络的服务质量,同时,也要防止非法的、恶意的行为。 通常,最为直接的网络安全实施方案就是部署防火墙。防火墙主要用于访问 控制与流量控制。在2 0 0 3 年的c s 班m i 的计算机犯罪与安全调查中发现,有9 8 的参与调查者都会选择部署防火墙。但是为什么在这样的环境下,安全威胁事件 却越来越多呢? s e c u r 岫i n d d e n t sl k p 时龟e d 9 0 0 0 0 8 0 0 0 0 7 0 0 0 0 6 0 0 0 0 5 0 0 0 0 4 0 0 0 0 3 0 0 0 0 2 0 0 0 0 1 0 0 0 0 o 台r 渣= o e a t c “斟瞄r _ 嘲o 矗孵j n 缸 图1 - 1 近年来安全事件发生情况 从图中可以看出,到:2 0 0 0 年以前,传统防火墙能够很好的保护网络安全。 但最近几年中,安全攻击变得越发复杂与精密,这些攻击常常使用各种手段对网 络资源进行攻击。而这些攻击几乎都来自于对应用层协议的攻击,这恰恰超过了 1o 贵州人学硕上学位论文 传统防火墙所采用的数据包检测技术的防御范围。而要防范来自应用层的攻击, 最简单而有效的办法就是对应用层的数据进行安全检测。因此对内容,也就是对 具体应用协议的数据进行有效的安全检查,成为现在和未来数据包检测技术的发 展方向。【1 l 1 2 包检测技术及其发展 “包 ( p a c k e t ) 是t c p i p 协议通信传输中的数据单位,也叫分组。在t c p i p 协议中,数据被送入协议栈中。然后逐个通过每一层直到被当作一串比特流送入 网络。t c p i p 协议是工作在o s i 模型第三层( 网络层) 、第四层( 传输层) 上的,它 将上层协议数据封装成t c 聊p 数据报,但由于网络环境的情况,它将t c p i p 数 据报分成更小的数据单元包,并传输到网络中。 i p 头部t c p 头部应用数据 - i p 数据报 i 以太网头部i p 头部t c p 头部 应用数据以太网尾部 _ 一以太网帧一 图1 - 2 数据封装结构 更准确地说,口数据报是指口层端到端的传输单元( 在分片之前和重新组 装之后) ,数据包是网络层和链路层之间传送的数据单元。数据包既可以是一个 完整的i p 数据报,也可以是i p 数据报的一个片( f r a g m e n t ) 。【2 1 卜一i p 数据报一 卜_包一卜包一 图l oi p 数据报结构 罔嫡;:马一 匝孑 采发包降删披术的研究o j 设计 包检测技术通过对网络中传输的数据包进行安全性检查,包括包头和负载数 据的检查,防止安全威胁或攻击事件的发生。 包检测技术被普遍应用于防火墙技术与入侵检测技术中。包检测技术就是对 网络中的数据包进行安全检测,般使用安全规则作为检测标准。主要经历了三 个阶段:传统包检测阶段、动态包检测阶段、与深度包检测阶段。每个阶段从不 同的层次和深度对数据包进行安全检查。1 3 l 1 2 1 传统包检测 传统包检测技术主要通过检查包的源目的i p 地址,检查包的传送协议形式。 也就是说主要检测o s i 中的网络层和传输层的数据。 传统包检测一般深入到操作系统的核心,其作用是在操作系统或路由器转发 数据包之前拦截和检查所有出入的数据包。传统包检测技术的基本模型如下图所 示。 传统包检测技术的执行过程为:首先验证数据包是否符合安全规则,并记录 数据包的情况,对不“安全”的数据包进行报警或通知管理员:对决定拒绝的数 据包将按照安全规则处理,或发返回消息或不发,避免攻击者利用拒绝包的类型 猜测安全规则进行攻击。【4 l 图l _ 4 传统包检测的一般检测流程 传统包检测的检查内容一般是网络层的i p 头和传输层的t c p 头。具体的检 查项目有: ( 1 ) i p 源目的地址。 ( 2 ) 协议类型( t c p 、u d p 、i c m p 等传输层或网络层协议) 。 贵州人学顺i j 学位论文 ( 3 ) t c p 。或u d p 的源目的端口。 ( 4 ) i c m p 消息类型 ( 5 ) t c p 报头中的a c k 位等。 除此之外,还有t c p 的序列号、确认号、i p 检验和、分割偏移等选项。 传统包检测技术具有实现简单、处理速度快、对应用透明等优点。但是,它 只对每个数据包进行检查,不能对数据流传输进行判断;而且安全策略也只局限 与较低层次,不能预防来自应用的安全威胁。【5 l 1 2 2 动态包检测 动态包检测又称为状态包检测( s t a t e f u lp a c k e ti n s p e c t i o n ) ,是在传统包检测基 础之上发展起来的,最先由c h e c k p o i n t 提出。1 6 】 动态包检测的工作原理是:对每一个通过数据包都要进行检查,判断数据包 是否已经允许通过,并且正在进行连接的会话,或者基于一组安全规则集对数据 包进行处理。状态包检测的逻辑流程如下图所示。它与传统包检测技术的区别主 要在数据包的检方式上。 图1 5 状态检测的般检测流程 状态检测的执行过程如下: ( 1 ) 检查数据包是否是一个已建立并正在使用的通信流的一部分。通过查看 深度包检测技术的研究j 设汁 这种正在使用的合法连接表来判断数据包的特征是否满足表中连接的匹配要求。 该连接表至少包括:源i p 地址、目的i p 地址、传输层的源目的端口号以及序列 号等。以此判别数据包是否属于一个正在使用的t c p 连接对话。 ( 2 ) 使用协议不同,对数据包的检查程度也不同。为了避免攻击,对包含有 数据包使用的协议,还要查看数据包的数据部分,以此内容决定是否转发该数据 包。 ( 3 ) 在检查过程中,若数据包和连接表的各项均不匹配,那么就要检测包与 规则集是否匹配。 ( 4 ) 每个数据包经源目的i p 地址、源端e l 及协议和数据内容的检测后,将 允许通过的数据包转发到它的目的地址,并在其连接表中建立对话连接或更新一 个连接项,该连接项可用来对返回的数据包进行效验。 当然,状态检测还可以对t c p 包中被设置为f i n 位的内容进行检测,或通 过记时器等决定何时从连接表中删改某连接项的内容。 状态检测的安全反面的优点在于: ( 1 ) 使用连接表可以大大减低把数据包伪装成为一个正在使用的要连接的对 象的一部分的可能性,使防火墙能在维护了这张连接表后,利用更多的信息来决 定是否允许一个数据包是否通。克服了传统数据包检测易受到t c p 包欺骗,且 无法识别u d p 或i c m p 包的状态缺陷。 ( 2 ) 能够对特定类型的数据包中的数据进行检测。比如可以检测f r p 协议和 s m t p 协议类型的数据包中的数据来判定命令是否正确。 但是,与此同时,状态检测还是不能预防大多数来自应用层的安全威胁。【3 l 1 2 3 深度包检测技术 随着网络技术的飞速发展,网络应用层的数据安全也越来越受到人们的注 视。数据包检测技术正在从状态检测向深度包检测转变,即对数据包检查已经不 在只限于网络层与传输层,对数据包内容的检查将是未来安全检测技术的重要手 段深度包检测。当前已经有不少厂商宣布他们的新防火墙产品采用基于正则 表达式匹配的深度包检测技术。如n e t s c r e e n ,j u n i p e r ,c i s c o 等,同时,入侵检 测技术中大名鼎鼎的s n o r t 也从原有的基于特征字符串的内容检查转换成基于正 1 4 则表达式的多模式匹配技术上来。1 7 l 本为将针对深度包检测技术进行详细地研究与讨论。 1 3 深度包检测技术简介 1 3 1 什么是深度包检测 d p i 全称为“d e e pp a c k e ti n s p e c t i o n ”,称为“深度包检测”。所谓“深度 是和普通的报文分析层次相比较而言的,“普通报文检测”仅分析i p 包的层4 以 下的内容,包括源地址、目的地址、源端口、目的端口以及协议类型,而d p i 除 了对前面的层次分析外,还增加了应用层分析,识另l j 各种应用及其内容,基本概 念如下图所示: i p 耋盍摇妥p 数嚣内餐 l 2 - - l 4 糊羼! 曼囊箩 l 7 柱捌 r 络层墨知应用层露知 图l _ 6 应用层数据在i p 数据报中位置 深度包检测技术的分类技术关键是高效的识别出网络上的各种应用。 普通报文检测是通过端口号来识别应用类型的。如检测到端口号为8 0 时, 则认为该应用代表着普通上网应用。而当前网络上的一些非法应用会采用隐藏或 假冒端口号的方式躲避检测和监管,造成仿冒合法报文的数据流侵蚀着网络。此 时采用l 2 一l 4 层的传统检测方法己无能为力了。 深度包检测技术的主要任务就是通过对应用流中的数据报文内容进行探测, 从而确定数据报文的真正应用。因为非法应用可以隐藏端口号,但目前较难以隐 藏应用层的协议特征。要实现这一目的,不是单纯使用某一种技术是无法实现的, 而是要靠多种技术相互支持与协作来完成。f 7 1 1 3 2 深度包检测主要实现技术 深度包检测技术的主要实现技术的主要有以下几大类: ( 1 ) 基于“特征”的识别技术 1 5 深度乜检测技术的研究与设汁 不同的应用通常依赖于不同的协议,而不同的协议都有其特殊的指纹,这些 指纹可能是特定的端口、特定的字符串或者特定的b i t 序列。基于“特征”的识 别技术通过对业务流中特定数据报文中的“指纹”信息的检测以确定业务流承载 的应用。 根据具体检测方式的不同,基于“特征”的识别技术又可以被分为“特征字 符串模式”识别技术与“正则表达式模式”识别技术。前者对特征的描述简单, 易于实现,但描述能力较差:而后者具有更强的描述能力,但性能较差。 + 通过对“指纹”信息的升级,基于特征的识别技术可以很方便的进行功能扩 展,实现对新协议的检测。 如:b i t t o r r e n t 协议的识别,通过反向工程的方法对其对等协议进行分析, 所谓对等协议指的是p e e r 与p e e r 之间交换信息的协议。对等协议由一个握手开 始,后面是循环的消息流,每个消息的前面,都有一个数字来表示消息的长度。 在其握手过程中,首先是先发送1 9 ,跟着是字符串“b i t t o r r e n tp r o t o c o l ”。那么 “1 9 b i t t o r r e n tp r o t o c o l ”就是b i t t o r r e n t 的“特征字刀。1 8 】 ( 2 ) 应用层网关识别技术 某些业务的控制流和业务流是分离的,业务流没有任何特征。这种情况下, 我们就需要采用应用层网关识别技术。 应用层网关需要先识别出控制流,并根据控制流的协议通过特定的应用层网 关对其进行解析,从协议内容中识别出相应的业务流。 对于每一个协议,需要有不同的应用层网关对其进行分析。 如s i p 、1 4 3 2 3 协议都属于这种类型。s i p h 3 2 3 通过信令交互过程,协商得到 其数据通道,一般是r t p 格式封装的语音流。也就是说,纯粹检测r t p 流并不 能得出这条r t p 流是通过哪种协议建立的。只有通过检测s i p ,l 2 3 的协议交互, 才能得到其完整的分析。 ( 3 ) 行为模式识别技术 行为模式识别技术基于对终端已经实施的行为的分析,判断出用户正在进行 的动作或者即将实施的动作。行为模式识别技术通常用于无法根据协议判断的业 务的识别。例如:s p a m ( 垃圾邮件) 业务流和普通的e m a i l 业务流从e m a i l 的 内容上看是完全致的,只有通过对用户行为的分析,才能够准确的识别出 1 6 炎州人掌硕i j 学位论义 s p a m 业务。| 9 1 1 4 深度包检测技术的主要功能 利用深度包检测技术的分类技术在i p 网络中部署深度包检测技术的分类系 统可实现网络运营中的业务识别、业务控制和业务统计三大功能。 ( 1 ) 业务识别 一般而言,对于业务识别有两种方法,一种是对运营商开通的合法业务,另 外一种是运营商需要进行监管的业务。 前者可以通过业务流的五元组来标识,如v o d 业务,其业务流的地址是属 于v o d 服务器网段的地址,其端口是一个固定的端口。系统一般采用a c l 的 方式,识别出该类业务。 后者需求深度包检测技术的分类技术,通过前述的业务识别方法,通过对i p 数据包的内容进行分析,通过特征字的查找或者业务的行为统计,得到业务流的 类型。 ( 2 ) 业务控制 通过深度包检测技术的分类技术识别出各类业务流之后,根据网络配置的 组合条件,如用户、时间、带宽、历史流量等,对业务流进行控制。控制方法包 括:正常转发、阻塞、限制带宽、整形、重标记优先级等。 为了便于业务的运营,业务控制策略一般集中配置在策略服务器中,用户上 线后动态下发。 ( 3 ) 业务统计 深度包检测技术的分类的业务统计功能是为了直观的统计网络的业务流量 分布和用户的各种业务使用情况,从而更好的发现促进业务发展和影响网络正常 运营的因素,为网络和业务优化提供依据。如:发掘对用户有吸引力的业务、验 证业务提供水平是否达到了用户的服务等级协议s l a 、统计分析出网络中的攻 击流量占多少比例、多少用户正在使用某种游戏业务、哪几种业务最消耗网络的 带宽和哪些用户使用了非法v o i p 等等。1 9 l l l o l 【1 1 l 1 7 深度包检测技术的研究与设计 1 5 深度包检测技术的发展与挑战 可以看出,深度包检测技术的分类的检测技术和网络上非正常应用的反检测 是矛和盾的关系。前面谈到的深度包检测技术的分类技术不是静止不变的,随着 检测技术的发展,非正常应用的隐藏技术也在演进。如对数据部分加密、隐藏特 征字和通过隧道技术躲避检测等等。 深度包检测技术的分类技术在发展中将不断调整上述的检测方法,从而达到 比较高的检测精度。但由于深度包检测技术的目的是为了实现更高的安全性,因 此,在处理流量与成本上会较传统的包检测技术有所增加。随着网络技术的发展, 深度包检测技术不仅仅要提高安全性与检测精度,同时也要提高计算处理能力, 以免成为网络传输的瓶颈,影响网络服务质量。 近来,可编程a s i c 技术的发展以及更有效的规则算法的出现,大大增强了 深度包检测引擎的执行能力,让这项技术在性能方面的压力得到了缓解。而将防 火墙与入侵检测系统的功能封装在单个设备中也可以使得管理方面的负担得到 减轻,所以应用了深度包检测技术的产品受到了相当一部分管理员的好评。一些 主要的防火墙供应商,包括c h e c k p o i n t 、c i s c o 、n e t s c r e e n 、s y m a n t e c ,都在不 断增加其防火墙产品中的应用数据分析功能。1 1 2 j 总之,深度包检测技术的分类技术将逐渐在安全、业务控制等方面广泛应 用。为运营商精细控制和运营网络提供一种利器。i i 引 1 8 贵州大学颂j j 学位论文 第二章深度包检测特征识别技术分析 2 1 模式识别技术基础 特征识别技术实际上就是模式识别技术。模式识 j j j ( p a t t e mr e c o g n i t i o n ) 是人 类的一项基本智能,在日常生活中,人们经常在进行“模式识别”。随着2 0 世纪 4 0 年代计算机的出现以及5 0 年代人工智能的兴起,人们当然也希望能用计算机 来代替或扩展人类的部分脑力劳动。( 计算机) 模式识别在2 0 世纪6 0 年代初迅速 发展并成为一门新学科。, 模式识别是指对表征事物或现象的各种形式的( 数值的、文字的和逻辑关系的) 信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信 息科学和人工智能的重要组成部分。 模式还可分成抽象的和具体的两种形式。前者如意识、思想、议论等,属于概 念识别研究的范畴,是人工智能的另一研究分支。我们所指的模式识别主要是对 语音波形、地震波、心电图、脑电图、图片、照片、文字、符号、生物的传感器 等对象进行测量的具体模式进行分类和辨识。 模式识别研究主要集中在两方面,一是研究生物体( 包括人) 是如何感知对象 的,属于认识科学的范畴,二是在给定的任务下,如何用计算机实现模式识别的理 论和方法。前者是生理学家、心理学家、生物学家和神经生理学家的研究内容, 后者通过数学家、信息学专家和计算机科学工作者近几十年来的努力,已经取得 了系统的研究成果。 应用计算机对一组事件或过程进行鉴别和分类。所识别的事件或过程可以是 文字、声音、图像等具体对象,也可以是状态、程度等抽象对象。这些对象与数 字形式的信息相区别,称为模式信息。 在深度包检测技术中,人们通过描述包含攻击或安全威胁行为的数据包的特 征得到模式信息,检查数据包中潜在的安全隐患,最终将数据包进行分类,以确 定哪些数据包可以通过, 而哪些数据包是潜在的威胁。 深度包检测技术采用的模式识别技术,主要是基于文本字符的模式识别技 1 9 深度包愉测披术的i i j f 究t i 设汁 术,因此主要分为:特征字符串模式匹配技术与正则表达式模式匹配技术。f 1 4 i 2 2 特征字符串模式匹配技术 特征字符串匹配也称关键词匹配,它研究从大量数据中快速匹配多个关键词 ( 多个模式) 的技术。多关键词匹配算法目前被广泛用于网络信息过滤、入侵检测 和生物信息计算的基因序列比较等工作中。这些任务的共同特点足需要处理的数 据量大,待匹配的关键词集合大,这些对多关键词匹配算法的处理能力提出了更 高的要求。 2 2 1a h o c o r a s i c k 算法 a h o c o r a s i c k 算法是基于有穷状态自动机的,在进行匹配之前,先对模式串 集合进行预处理,构建树型有限状态自动机f s a ( f i n i t es t a t ea u t o m a t a ) ,然后,依 据该f s a ,只需对文本串t 扫描一次就可以找出与其匹配的所有模式串。预处 理生成3 个函数:g o 畎转移) 函数、f a i l u r e ( 失效) 函数和o u t p u t ( 输出) 函数。转移函 数g o t o 表明,在当前状态下读入下一个待比较文本的字符后到达的下一个状态。 失效函数f a i l u r e 用来指明在某个状态下,当读入的字符不匹配时应转移到的下一 个状态。输出函数o u t p u t 的作用是,在匹配过程中,当出现匹配时输出匹配到的 模式。 a h o - c o r a s i c k 算法的匹配过程是:从初始状态o 出发,每次取出文本串中的一 个字符,根据当前的状态和扫描到的字符,利用g o t o 或f a i l u r e 函数进入下一状 态。当某个状态的o u t p u t 函数不为空时,表明达到该状态时找到了匹配的模式, 于是输出其值。 下面首先介绍3 个预处理函数的构建。为了构造g o t o 函数,首先要根据模式 构建g o t o 图,设置一个初始状态o ,然后依次扫描各个模式,根据模式逐步为这 个图添加新的边和顶点,构造出自动机:从状态o 出发,由当前状态和读到的下 一个字符决定下一状态。如果有从当前状态出发并标注该字符的矢线,则将矢线 所指的状态赋为当前状态;否则,添加一个标号比已有状态标号大1 的新状态, 并用一条矢线从当前状态指向新加入的状态,并将新加入的状态赋为当前状态; 所有模式串处理完毕后,再画一条o 状态的自返矢线,标注的字符为不能从0 开 贵州大学颂l :学位论文 始的字符集。这样,每个模式都可以由一条从初始状态出发的路径标识出来。对 模式串集合 s h e ,h e ,h e r s ,h i s 松j 建的g o t o 图如下图所示。 n o th ,s f - h 一 e ,一 r ,一一、 s ,一、 。、( 0 ,卜一i 广叫2 卜叫8 卜1 9 ) r ? 、一 1 。 i i i is叫6 7 ) ( 3 卜4h5 ) 一 、 图2 - 1 模式串集合 s h c ,h e ,h e r s ,h i s ) 对应的a c 算法模型 失效函数f 是逐层构造的,设某个状态的层深度为初始状态到该状态的最短 路径长度。令第1 层状态的f a i l u r e 函数值为0 ,如f ( 1 ) = f ( 3 ) = 0 ;对于非第1 层状 态s ,若其父状态为r ,即存在字符a 使g ( r ,a ) = s ( 这里,s 的层深度比r 少1 ) , 则f ( s ) = g ( f ( s 奎) ,a ) ,其中,状态s 宰为追溯s 的祖先状态得到的第1 个使g ( f ( s 幸) , a ) 存在的状态,如 f ( 4 ) - g ( f ( 3 ) ,h ) = g ( 0 ,h ) = l ,f ( 5 ) = 瓿f ( 4 ) ,e ) = 甙1 ,e ) = 2 。 输出函数o u t p u t 的作用是在匹配过程中输出匹配到的模式串。o u t p u t 的构造 分两步:第1 步是在构造转移函数g 时,每处理完一个模式串,则将该模式串加 入到当前状态s 的输出函数中,如o u t p u t ( 2 ) = h e ,o u t p u t ( 5 ) = s h e 。第2 步是在 构造失效函数f 时,若f ( s ) = s ,则0 u t p u t ( s ) = o u t p u t ( s ) uo u t p u t ( s ) ,如 o u t p u t ( 5 ) = o u t p u t ( 5 ) uo u t p u t ( 2 ) - - s h e ,h e 。 构造完3 个函数以后,就可以依次扫描文本,逐个读取输入字符。从状态o 开始,根据当前状态和输入的字符,采用g o t o 和f a i l u r e 函数转移到下一个状态, 当到达状态的o u t p u t 函数不空时输出匹配模式。 a h o c o r a s i c k 算法模式匹配的时间复杂度是0 ( n ) ,而且与模式集中模式串的 个数和每个模式串的长度无关。无论模式串p 是否出现在t 中,t 中的每个字符 都必须输入状态机中,所以,无论是在最好情况还是最坏情况下,a h o c o r a s i c k 算法模式匹配的时间复杂度都是o ( n ) 。包括预处理时间在内,a h o c o r a s i c k 算法 总时间复杂度是o ( m + n ) ,其中,m 为所有模式串的长度总和。1 1 5 l 深度包检测投术的j j f 究j j 设计 2 2 2w u m a n b e r 算法 w u m a n b e r 算法采用了跳跃不可能匹配的字符策略和h a s h 散列的方法,加 速匹配的进行。该方法需要对所有模式进行预处理,构建s h i f t ,h a s h 和 p r e f i x 这3 个表,便于后续处理。s h i f t 表用于在扫描文本串的时候,根据读 入字符串决定可以跳过的字符数,如果相应的跳跃值为o ,则说明可能产生匹配, 就要用到h a s h 表和p r e f i x 表进一步判断,以决定有哪些匹配候选模式,并 验证究竟是哪个或者哪些候选模式完全匹配。下面首先介绍预处理过程。 假设模式集合p 中最短的模式长度为m ,那么,后续讨论仅仅考虑所有模式 的前m 个字符组成的模式串,即要求所有匹配的模式长度相等。为了加快比较 速度,对长为i n 的串进行分组,以b 个长度的字符串为基本单位,每次比较长 度为b 的子串。对于b 的选取,原文给出了指导公式计算出一个合适的b 值:b = l o g c 2 m 。这里,m = k i n ,k 是模式的数目;而c 表示字符集的大小即c :l i 。 设x = x l x b 为t 中的待比较的长度为b 的子串,通过h a s h 函数映射得到 一个索引值i n d e x ,以该索引值作为偏移得到s h i f t 表中的值,该值决定读到当 前子串x 后可以跳过的位数。假设x 映射到s h i f t 表的入口为i n d e x 的表项, 即i n d e x = h a s h ( x ) : 甲t i n d & 】;监= 需x 篆k 麒p i j 苎b 州,v k , 1 k 蚋胞含模式 。 i

温馨提示

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

最新文档

评论

0/150

提交评论