已阅读5页,还剩47页未读, 继续免费阅读
(计算机软件与理论专业论文)高速网络环境下的应用层协议分析技术研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成 果。就我所知,除了文中特别加以杯注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果。与我一m 工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 作者签名:爿尢 日期:盈叮5 了f 关于论文使用授权的说明 中国科学院计算技术研究所有权处理、保留送交论文的复印件,允许论文被查阅 和借阅:并可以公俪论文的全部或部分内容,可以采用影印、缩印或其它复制手段保 存该论文。 作者签名:刊杰导师签名:承学蔹日期:2 沉歹j 7 j 摘要 协议分析投术在网络安伞钡域行若茕要的作用。本文首先对应用层的协议分析、 协议识别技术做了,深入研究,结介j 体协议分析系统,提出了一个协议处理模型。在 此模型的基础i 二我们采用插f ,i 办j 实现了一个高效、健壮、可扩展的应用层协议分析 系统。它可以快速分析目前常用的应用层协议,从而为后续的内容处理,入侵检测、 蠕虫扫描等提供支持。 由于系统足部署在高速网络蚪境下,针对具体的应用需求本文对该系统做了进一 步的研究和优化,它包括: 协议分析性能预测与控制。山f 高速网络环境下流量巨大、变化快,系统容 易出现丢包,这会导致系统性能急剧下降。通过系统模型的理论研究我们找 到了系统性能的峰值,该峰值在不丢包的l 晦界点上。在实际工程中,我们针 对流量变化的情况提d ) ,一种具体的性能控制策略,实验表明我们的控制策 略让高速网络环境下的系统性能有了明显改进。 、 我们对协议识别的方汇f r 总结、归纳。分析了一种最优的协议特征识别顺 序并结合嵌套自动机实观了协议识别模块。 针对骨卜网络中存在的) c 余流量,我们还引入了重复数据发现的策略a 它作 为对协议分析的补充,n r 以快速的分析网络中存在的重复数据,如网页、蠕 虫、垃圾邮件等。通过帚复特征可以发现一些有害信息。性能测试表明该模 块能适合骨干网络环境下商速检测的需要。 关键词:协议分析、协 义识别、高速网络、排队模型。 摘重 a b s t r a c t t h er e s e a r c ha n dr e a l i z a t i o no f a p p l i c a t i o nl a y e rp r o t o c o la n a l y s i s t e c h n i q u eu n d e rt t i g h s p e e dn e t w o r k i i uj i e directed b yc h e n gx u e - q i a n a l y s i ss y s t e ma tt h ea p p l i c a t i o nl a y e rp l a y sas i g n i f i c a n tr o l ei nn e t w o r k - s e c u r i t y a p r o t o c o l p r o c e s s i n gm o d e lw a sp m p o s c di n t h i sp a p e rb a s e do l lt h et e c h n i q u eo f p r o t o c o l - a n a l y s i sa n dp r o t o c o l i d e n t i f i c a t i o n i nt h i sm o d e l ,ah i g h - e f f i c a c y , r o b u s ta n d e x t e n d a b l es y s t e m 砒a p p l i c a t i o nl a y e ro fp r o t o c o l - a n a l y s i sw a sd e v e l o p e dw i t lp l u g i n t e e i m o l o g y t h i ss y s t e ms u p p o r t sf a s td e t e c t i o no fc o m m o np r o t o c o la ta p p l i c a t i o nl a y e r s f u r t h e rc o n t e n tp r o c e s s i n g ,a n dt h ew o r l ns c a ne t c i nt h eh i g hs p e e dn e t w o r k ,t h i sr e s e a r c h e rh a df o c u s e dt h ef o l l o w i n ga r e a sf o rf u r t h e r e x p l o r a t i o na n do p t i m i z a t i o no f t h ea p p l i c a t i o no f s y s t e m : d u et ot h ep a c k a g e l o s i n gu n d e rh i g hs p e e dn e t w o r kr e s u l t e df r o mt h eg i g a n t i ct r a f f i c a n dv a r i e t yo fi n f o r m a t i o n , t h ef u n c t i o no fs y s t e md e c r e a s e dr a p i d l y 。t h en e ws y s t e m i m p r o v e dt h ef u n c t i o nw i t ht h er e g u l a t i o no fr a t i o so fp a c k a g e - l o s i n g t h ep e a kv a l u eo f f u n c t i o no fs y s t e mh a db e e nc a l c u l a t e da n dt h ec r i t i c a l p o i n th a db e e ne s t a b l i s h e df o r p a c k a g e - l o s i n g w i t hc a l c u l a t i o na n de x p e r i m e n t f u a h e hap r a c t i c a ls t r a t e g yo f f u n c t i o n - c o n t r o lh a db e e ni m p l e m c n t e df o rt h et r a f f i cv a r i e t y , a n do b v i o u se n h a n c e m e n to f f u n c t i o nh a db e e no b s e r v e d t h em e t h o d so fp r o t o c o l i d e n t i f i c a t i o nw a ss u m m a r i z e da n dc l a s s i f i e d ,t h eb e s t s e q u e n c eo fp r o t o c o l - i d e n t i f i c a t i o nw a sa n a l y z e da n da ne m b e d d e da u t o m a c h i n ew a s r e a l i z e d c o p i n gw i t ht h er e d u n d a n c y t r a f f i ci nt h eb o n en e t w o r kas t r a t e g yh a db e e n d e v e l o p e df o rt h ed e t e c t i o no fr e p e a t e di n f o r m a t i o na sc o m p l e m e n to fp r o t o c o l a n a l y s i st o f a s td e t e c tt h er e p e a t e di n f o r m a t i o n ,s u c ha st h ew e bp a g e ,w o r ma n ds p a m e r e , p e r f o r m a n c et e s t e sp r o v e dt h a tt h em o d u l ec a nm e e tt h er e q u i r e m e n t so fh i g h s p e e d i n s p e c t i o nu n d e rt h eb o n en e t w o r ke n v i r o n m e n t k e yw o r d s :p r o t o c o l - a n a l y s i s ,p r o t o c o l i d e n t i f i c a t i o n ,h i g h s p e e dn e t w o r l c q u e u i n gm o d e l 3 第一章引言 1 1 研究背景 目前的互联网络上各种应用开渐丰富,网络与人类社会和人们同常生活的联系同 益紧密,网络上流动着同益复杂的信息。这些信息既可能是有价值的网页和其他各种 文档,也可能是蠕虫、病毒或其他网络攻击信息。理解这些信息在网络安全,网络管 理等领域中具有重大的现实意义。而协议分析技术可以有效地理解、分析网络信息从 而及时控制网络中有害信息蔓延,因而成为网络安全研究的基础技术点。 同时,随着网络技术,尤其是光纤技术的快速发展,光纤通信网络正迅速成为主 要的网络传输手段,使网络带宽不断提升。【王圣,苏会树2 0 0 4 】在高速网络环境 下,对于协议处理的性能需求表现为高吞吐量、低延迟、高带宽、低主机丌销和低存 储开销等特点。对于万兆以上高速网络,协议处理更是成为网络完全保障和可靠传输 的性能瓶颈,所以商性能的协议处理技术越来越成为信息安全的关键点。 本文所研究范围是高速网络环境下的协议分析技术。其中高速网络指的是具有 g b 级流量的主干网络,而对于协议分析中的具体协议,我们主要集中研究应用层的 协议。这是因为: ,一 l 、应用层协议分析在整个协议分析技术中占有重要的地位,发挥着重要作用。 对应用层协议分析的细致研究有助于二我们更好的理解网络中的海量信息。 2 、由于应用层协议非常复杂、种类繁多,应用层协议分析也足整个网络协议处 理中最困难的部分。结合我们的高速网络环境,该环境中的网络流量巨大、数掘复杂、 异常情况很多。这就要求协议分析速度快、功能完善、有异常处理能力。我们希望通 过本研究迸一步提高应用层协议分析系统的能力和性能,以更好的适应高速网络环境 的要求。 1 2 应用层协议分析技术的重要作用 首先应用层协议分析是网络信息分析领域的核心技术。由于互联网的无边界性和 管理困难,大量的有害信息通过各种应用层协议被传播。比如:每个网民每周可能收 到7 9 封垃圾邮件【第十三次中国匠联网发展状况统计报告】。这些垃圾邮件是通过 s m t p 、p o p 3 等邮件协议传输的:7 联网过滤评估机构估计,全球大概有4 2 0 万个 色情网站,占所有网站总数的1 2 平均每年全球色情网站的访问量是7 2 0 0 万 c h i n a b y t e 新闻稿】。这些色情信息被h r r p 协议所携带;一些非法文件可能被b t 、 e m u l 等p 2 p 协议共享传输;公o - - j 的些机密情报随时可能在即时通讯( m s n 、i c q 协议嗽件的聊天中被泄漏:而各种层出不穷的应用软件都会定制一套自己的应用层 通讯协议。为了有效控制和管理各种应用层协议和软件中传递的内容,必须对应用层 协议做细致的分析。 其次,在m 络安全领域,随着h 络技术的不断发展,网络攻击行为三经逐步向高 6 层转移,利用操f 1 :系统和网络设符小身安伞趣进行攻击的浪潮已经逐步降低人们 越束越将攻山的i l 丰,i 、转向岛从的i , j l i 。1 t o w a s p 2 0 0 3 】中叙述了 i6 i 最严t f 胸f 个应用层漏刹产t 的原因棚“返会足以后网络安全攻防的趋势。因此应月| 坛协议分 析技术作为庸爿联病毒、蠕虫的e 盟榆删f 段舀网络安全中起着重要作月j 。 值得注意的是,应用层协汶分析本身也会成为黑客攻击的目标。2 0 0 4 年3 月2 0 只一个名为w i t t y 的蠕虫病毒利于jj ,i s s 公i 】的防火墙的一个漏洞发动针对性攻击。全 球网络在短娩的# 个小时之内,t ! 经f f 3 0 0 0 多台服务器和个人电脑受到了未知病毒的 攻击而陷入瘫痪状态。事后发现这次漏州的出现的原因足由于公司防火墙等安全产 品在i c q 协议分析时对异常数抛处理的不好,导致缓冲溢出。而黑客或病毒要触发该 漏洞时,被攻击者的系统上并f i 需要运行i c q 。可见一个健壮的应用层协议分析过程 对网络安全至关重要。 1 :3 论文安排 本文重点研究应用层的协议分析技术,论文各章安排如下: 第二章首先介绍了协议分析技术的概念内涵、研究的具体内容和研究现状。其 中主要研究了协议识别的技术和优化方法。 为了对现有的协议分析产品做抽象研究。我们建它了一个通用的协议分析模型。 它是通过对底层输入抽象和上层处理抽象得到的。该模型是一个特殊的排队模型,我 们可以通过调整应用层连接接受的枞率柬调整系统服务率。 我们利用此模型对不同网络流黾f 系统性能变化进行了研究。我们从理论上预测 了系统性能的峰值点这个点是系统,f i 丕包的临界点。通过实验我们证明了理论预 测正确性。 第三章这章是系统实现部分,主要内容足介绍我们实现的协议分析系统。 首先对应于第二章的性能峰值预测,介绍了系统中性能控制的具体实施策略。实 验结果表明丢包情况下系统性能有了明显提高 对应于协议识别研究,我们介绍j ,系统中肋协议识别模块的实现。 最后,对系统中典型的协议给出了具体的实现过程。我们以f t p 为例介绍了协 议分析的处理基本流程和一些缓冲拷贝的优化技巧。然后又介绍了协议分析中比较有 特色的功能重复数据检测。 。 第四章文章最后总结并展颦j ,末柬的工作。 协试分析授掣卯冗 第二章协议分析模型研究 2 1 协议分析技术研究现状 2 1 i 协议分析技术介绍 计算机网络协议是在分南计算机系统中,将各个不同部分连接起来的通信管理规 则。o s l 模型以及其它任何网络且联模型,都只提供了计算机问通信的基本概念,而 模型本身并不提供特殊的通信方式。通讯足由各种网络协议来定义的。协议是一组正 式的规则、协定和数掘结构,山它们控制计算机以及其它网络设备如何进行信息交换。 两个数据通信设备要想互相通信必需能够了解、接收和使用协议当前,根掘o s i 七 层模型或类似的分层模型,协议部足设计为分层模式。所谓分层模式就是将协议设计 为许多小部分,每一部分完成各个具体的子任务,并通过一些明确的方式与其它协议 部分相合在没有组合扩展的情形f 。分层模式允许设计和测试部分协议,保持每个 设计相对简单。 协议分析技术是在传统的模弋匹配技术等基础上发展起来的一种安全技术。其研 究对象是计算机网络协议。它是利用网络数掘规范、格式化的特点,并结合了高速数 据包捕捉、协议解码、命令解码、会话重组技术,从协议数据的信息中分析通讯双方 交互的过程、并完成特定功能的技术。它所起作用在j 二:分析网络上的数掘流;按照 协议规范形成规则的数掘结构:依掘协议规范理解和检查协议会话的内容。 本文所研究的协议是应用从坍议,所以这哩所说的协议分析技术也上要是指应用 层协议的识别和分析。应用层协议分析是将一个协议会话的流量作为一个整体来考 虑,利用应用层协议数掘规范,对封装在传输层的负载数据进行反向工程,束理解并 恢复协议数据流原有的语义。应用层协议的分析过程不同于简单的包级别的协议的解 析过程,它具有自身的特点和流程。 在进行简单的包级别协议分析时通常只是对单个包进行协议解析,不需要多个包 的关联分折,这种协议结构简单。分析比较容易。 而应用层的协议具有上下文1 日关性、语义复杂,在协议分析中,应该保存酊面通 信的有用信息,以供后面的协议分折用,也称为基f 状态( 上下文) 的协议分析。上 下文的协议分秽了能够理解不同的应用层协议的结构,由此分析出这些协汉的流量、寻 找可疑的或者不正常行为。另外,对于每一种应用层协议,分析不仅仅依靠协议标准, 还和协议的具体实现有关,冈为很多应用层协议的实现偏离了协议标准。所以应用层 协议分析也应该具有寻找偏离丰,】、准、期望的行为的能力。 2 1 1 1 应用层协议分析的过程 由于应用层协议实现的基础足底层传输协议,同时我们的目的是分析协议中传输 的危险数据。所以我们的应用层m 议分析流稃增加了底层还原和后续数掘处理2 个环 节 这样,应用层协议分析的流柠1 要包括4 个步骤: l 、t c p i p 协议栈还原年- f 靠lj 二川jj ,:近披;z l 。r f “从蟓始的数瓠c 包捕扶剑还原 为传输层数掘一系列过程。返办址心川j ,:协汉分 l j 。伽,j l f r 将一个个高散的数 据包还原为一条条基本的数般:湍j 叮能 :流的j l ! = 础i 姐i j 进。步的分析和检测。这 一步的效牢也非常畦要,t c l ,川,坍议拽的还原迎皮和设,卒:r 丁接影响后续的分析速度 2 、应用层协议的关键信 i | u 5 刖。j 近 j 层协议数批 般他 占命令信息、状念信息 和内容信息,应用层协议对这3 炎f 二息部有明墒n 0 格规范。这一步主要足对应用层 协议的命令信息、状态信息做u 刖。n f ll j i j 的i n t c r n c l 蚪境f ,多数协议对这2 类信 息的传输都是明文传输,所以u 圳足1 1 j j 的。 3 、应用层协议的状态分析。我们利1 1 】第2 步父锄n j 1 的u 别,以进一步分析出 这个协议流在目前的状态。并儿h ! 求和追踪状念,从l m h i :确的珲解、定位协议内容。 各个应用层协议的命令执行和状态应答郡是有。定序列的,i 酊h 很多协议对于执行序 列有严格的要求,通过对状念序列的判断,我们“l 以 删这个协议足否符合r f c 标 准,并且识别出各种协议异常和协议攻。h 。 4 、后续操作。这部分主要和用厂,的需求f j 父系。比如山f 应用层协议所传输的 数据有很多是经过编码或者压缩的,l 而用户希挈柑剑址统一的明文内容另外,用户 还可能希望对明文进行蠕虫、瓶每tj 描。所以这部分”,能仃解码、解压、扫描、匹配 等操作。但是在理论分析时这个j l 、节我们统一用数训| 叠作束代替。在后面的模型分析 中我们会看到这个环节是和2 ,3 环节循环交轻j f 行们,并凡占掘了,大部分的开销。 所以当我们进行性能分析时,小能忽略这- 一部分。 在本文的后面的内容中,将应用层协议分析简f 6 :为协议分析,而协议分析过程中 1 、4 环节不是本文重点,将只做简竹介绍。 2 1 1 2 协议分析技术的作用 网络安全的传统检测方法足简巾使用模弋旺自i ! 的与式对网络流的内容进行检测, 其使用简单,但在对网络流内容i 堕行柃测时。特自投,l i 眦投术何2 个最根本的缺陷: 砂无法区别不同类型的网络:赢从l 玎r i 能对f f 个h 络洫做无区别的完全匹配 , 特征匹配的方法将所订h 铬流# 视为 :j 川的随机字市流,”这样数掘库的 每一个特征都要对每一个网络流做完个f r j l lp i 配。假定网络流为n ,数据 库内的特征规则为m ,对每个网络流匹叭一。:欠的代价为d ( h ) ,对所有数据库 特征匹配次的代价为o ( m ) o ( 1 0 9 m ) 之川,这样模式匹配的方法具有 0 + m ) 一o ( n + l o g m ) 的复杂度。随着刚络溉培的增加,性能会线性下降。 实际上,各个网络流都足仃右u j j 疆的k 圳的。最c 1 观的区别就是不问数掘的 传输协议不同。同时具体剑某个蝣虫、炳0 它也j i 足在某些协议中传输。 例如当检测某些邮件蠕虫铀征时就没有必匹亿h u p 流量中再匹配它。 无法保持相关网络包的上下丈状态,从l 巾尢j j 准确定位某些特征需要匹配的 。位置。网络信息虽然足逐包发送的,但址化n 0j :卜义足相关的。特征匹配技 术无法判断证在分析的州络包处j 二整个蚓络流的什么位胃。实际上,有很多 特征只是从某个协议的泉j ;寸j 定 节胃捉取j i ;_ :帆,【匕如很多h t t p 攻击特征 只是出现在h 1 v r p u r i ,段q 。时j 二返个1 _ j i i 水观我们只需要匹配h 竹p 的 第一个包就可以了。对l l i jp 流的所彳丁似肌 jp l 蚍小仪浪费计算能力而且可 能出现误判。 事实上,通讯协议不是个e f i j 【,殳换的7 盯浼1 山芷一个岛度规则的系统,数掘 包中的字节符合一套广泛并许l i | 1 0 觇| ! 【j 。完全町以利川j 【 ,的仃序性减少计算壁并且 提高准确性。这样。结合了协i 卫分h i 技术的特自lf :州斤:;上破f i 然的提出束j ,。 协成分析幢 研冗 这种检测方法中协议分 ! i 的f 1 一j 1 j 仃: 识别协议、理解协议内容。协议分析技术可以通过命令解析束识别一个命令, 理解所携带的内容的讲义,这样可以识别协议并理解内容。相对于对于简单 特征匹配束 既,虽然增j j j r 协议分析的丌销,f 黾是排除了不需要匹配的冗余 流量。 保持协议的上下文信息只降低误判。利用协议分析来检测某个包的时候,它 考虑了在这之前的数抛钮的内容,并且可以预见后续的数掘包。从而可以准 确定位需要匹配的位置1 和珲解现在的语义。这样减少了计算量也减少了误 判。 , j 由于网络协议繁多,协议分析系统的架构对协议分析的性能有很大影响。结合现 有的网络层次模型,日口人提出了几种协议分析的体系结构。 2 1 2 协议分析的体系结构 在【谭建龙2 0 0 3 】中总结j ,2 种协议分析的体系架构,包括分层的协议分析和 扁平的协议分析。其中分层的协议分析的主要特征是只有本层处理完数据后,才提供 给上层协议使用。例如在t c p 层的数据处理中,只有t c p 层计算出全部数掘的校验 和后,才发给上层的应用协议层分析这些数掘。扁平结构( i l p :i n t e g r a t e dl a y e r p r o c e s s i n g ) 的主要思想是把各个协议层的数掘处理函数集中到一个层次中处理,从 而减少内存访问次数、便于协议自动实现。它通过把一系列协议层( as e r i e s o f p r o t o c o l l a y e r s ) 集成到一个管道( p i p e l i n e ) 中,从而使访问数掘集中到c a c h e 罩。理论上,i l p 实现只需要从内存中读取一次数据,保存到寄存器或c a c h e 中,接着在一个i l p l o o p 中执行所有层次的数据处理,最后把通过全部协议层处理后的数掘保存回内存中。下 图是两种结构的比较图。 笛 分层拚议处理 扁f 协议分析处坪滴桴 图2i 协议分 - 的两种体系结构 0 幼“分析槿 邱宽 实现时,d j 二协议分析的放鼠一:n 心川坛,l f j j 电用从协议种类繁多数抛操作复杂 多变,使用分的结构具有比较f 的叮扩腱代,所以人们往往采用分层的协议分析架 构。 在分层结构的协议分析系统q j 存任着很多存储访问,这种操作会引发延时使c p u 空闲,比如数掘的拷贝、系统记录 志等。在高速网络环境下为了充分的利用c p u 的计算能力,研究人员通常采用二螳并行技术柬隐藏这些存储访问延时。【罗浩云 晓春方滨兴2 0 0 3 】介绍了口| ;i 的协议并行处理机制,它们包括:数据包级别并行 的方法、函数级别并行的方法、协议栈层次日j 并行的方法、连接级别并行的方法。 该文在连接级别并行基础上改进后的实验性能如下: 图2 2 并发协议栈的实验结果 实验表明在单线程下系统只能串行进行,因而无法发挥多处理器的能力。只有当 线程数量大于等于处理器的个数时j 能充分利用处理器的能力。在四个处理器的机器 上,4 个线程以上的协议栈的吞吐最可以达到原柬的4 倍。 在分层的协议分析结构中,当一个数据流还原到应用层时首先需要做的就是识别 出是什么协议,然后交给相应的应用层协议去处理。随着网络应用的增多,目前的应 用层协议并不是简单基于端口号束识别。由于应用层协议的包与包之日j 有上下文关 系。很多应用层协议要通过上下文的内容柬识别,h 前有很多协议分析产品,如 s n i f f e r , e t h e r a l 等软件,它们对应用协议的识别准确率不够。这主要是由于应用层 协议是基于流级别的,而这些分析器都足基于单个包解析的,没有流的上下文信息。 无法通过上下文来识别出非标准端口的应用层协议。可见应用层协议的识别有其特殊 性同时也有一定的难度。由于协议识别足应用层协议分析的起始部分,有着重要作用。 我们对现有的协议识别方法做了细致的研究和归纳。 2 1 3 协议识别研究 目前网络上主要的应用协议有:1 1 t t p 、p o p 3 、s m t p 、f t p 、t e u q e t 、s o c k s 代理协议等。还有种类众多的即时通讯协议( 包括q 1 c q 、i c q 、m s n 、y a h o om e s s e n g e r ) 和点对点通讯协议( b t 、e m u l e ) 等。协议分析首先遇到的问题是如何准确快速的 识别各种复杂的应用层协议。e j 前判定个协议可以有很多方法,最常见的就是利用 端口来判定协议,常规协议都有各e j 的默认监听端口。比如p o p 3 ,s m t p 协议,这 两种协议的默认端口分别是l l o 和2 5 。在实验中发现这2 个端口罩面的数掘都是对 应的协议数据,所以对这2 个协议叮以简单的进i f 端i 1 识别。端口识别判定简单,速 协“分析磋掣埘完 度快,然而只利用端f a 来判定i 办议仃欠硼确。如黟晦川奠服务不运行在枷准端口或者 别的协议也运行在扔、准端口f :的话。就会出现错判和漏判。比如h t t p 协议的默认端 口是8 0 但y a h o om e s s e n g e r 也使用8 0 端口传输数掘。 为了准确的判定一个协议,通常采用端口判定加上其他的判定手段来辅助,目i ;i 一些可以判定协议的途径包括以f 几种: 2 1 3 1 上下文内容特征匹配。 “ 内容匹配的协议识别按照内容柏征出现的位置又分为2 种。 1 对于具有简单内容特征协议的识别。 这种内容识别主要适用于在协议流的丌头( 一般在前十个字节内) 就具有明显的 协议特征的协议。这种方法识别准确。同时由于只需要识别前几个字节系统效率也不 会有太大影响。 例如根掘h t t p 协议的r f c 标准。客户端向服务端发请求的第一行格式为“h t t p 协议楚义的各种方法+ 空格+ 请求的资源u r l + 空格+ h r l l p 协议版本号”。而服务 端向客户端返回的消息第一行为“i 丁r p 协议版本号+ 空格斗状态码手空格+ 描述”。 要通过内容识别h t t p 协议,可以分为2 个半连接束识别对于客户端到服务端的半 连接,主要看内容丌头几个字节是否为h t t p 协议定义的方法( g e t 、p o s t 等) ; 对于服务端到客户端的半连接看丌头几个字节是否为h t t p ,l 即可。事实上对于大部 分的具有单一连接的应用协议都可以根掘协议的r f c 文档,在开头几个字节就识别 出协议来。这是因为各个协议制定中已经考虑到协议要尽快识别,所以各个协议的开 头一般都有很大不同。具体协议町以参照政协议的r f c 文档。 下表是几种常用协议在协议流中头几个字节的特征字段( 从第一个字节丌始) 。 寺征字段s - c 端特征字段 y m s g: i 悖q s 飞| h 丁r p l 二t 2 2 0 表2 一l 常用协议的特征字段 2 对于具有复杂内容特征的协议识别。 这种方法主要是针对那些特征不明显的协议做的协议识别。比如一些p 2 p 协议, 以及一些代理协议和协议隧道等。他们的识别通常要深入到协议中去发现特征字段。 这些情况包括: ( 1 ) p 2 p 的协议识别。 。 比如对于p 2 p 中的一种k a z a a 协议,它的特征是文件下载时t c p 连接头几个字节 为g e t 或者h t t p ,而后续的传输中有个字段是x - - k a z a a 为了识别这个协议就必 须搜索x - - k a z a a 字段。 ( 2 1 使用代理的协议识别。 用户在使用网络服务时有相当一部分都是使用了各种代理。应用层中的代理有 h r r p ,f t p ,s m t p 等各个应用协议的代理。他们共同的特征都是实现协议转发功能。 但需要对各个协议实现不同的流程。使用应用层代理时连接的数掘内容和没有使用代 理的时候差不多。只是在相关字段i - _ 有所修改。比如使用h 1 v r p 代理访问网络的话在 请求头上会出现p r o x y c o n n e c t i o n :k e e p - a l i v e 字段,而一般直接连接时只是出现 c o n n e c t i o n :k e e p a l i v e 。此时的协议识别和i f 常识别是一样的,唯一的变化是记录 的i p 地址:要么足客户和代理服务器的i p ,要么是代理服务器和网页服务器的i p 。 ( 3 ) 协议隧道和协议组合 现在很多软件在一个协议的数捌q ,”技另外一个协议。到了服务端冉解丌啭向的 协议数掘并转发。其目的足穿透防火端。比如在l 1 1 p 协议中封装即时通讯坍议的数 据。这类软件有s o c k s 2 h t t p ,”1 p p o r t ,i c q p r o x y 等等,他们共同的特点足需要 一个公共服务器柬接受请求并解机内部的协议数抛再转发数据。通过各种协议隧道软 件和各种代理软件的组合使用叮以构造出很复杂的协议流。这些流最终要经过2 次以 上的协议识别。 2 1 3 2 协议流关联分析 相对单连接的协议,f t p 协议情况又有所不纠。f t p 协议规定了2 条连接:一条 为控制连接,一条为数掘连接。控制连接足首先建立的,它有明显的内容特征,客户 端到服务端丌头是u s e r 和p a s s 命令,服务端到客户端丌头是2 2 0 状态码。根掘这 可以识别出控制连接,但是数据连接的建立是根掘控制连接中的p o r t 命令发起的。 数据连接没有特征,所以必须一直监视控制连接,看到p o r t 或者p a s v 命令后记下 端口号。以后发现在对应的端口号上有新连接建立的话就可以认为是f t p 的控制链 接。像f t p 这种有多条连接的协议还有很多,比如h 3 2 3 流媒体协议等。 另外,通常一个应用层协议会话会产,l 好几个单独的t c p 连接,当我们为了获 得完整的会话信息时也需要关联这几个连接,比如:对于网页中的邮件进行分析时, 邮件正文和邮件附件是2 个h 1 v r p 的协议流,为了识别出邮件附件属于那个邮件,我 们需要将邮件正文流和附件流联系,这时候就需要一个h a s h 表进行1 1 a s h 查询,来实 现2 含流的关联。在后面的系统中我们会介绍一个f i p 协议关联识别的实例 2 1 3 3 协议流行为分析 ” 互联网上的应用协议种类繁多,而且随时可能有新的协议出现,在未知协议特征 的情况下,我们可以通过对协议流的行为进行分析,最终识别这个协议。比如目前各 种p 2 p 协汶层出不穷,为了识别一幔未知的p 2 p 协议,我们可以通过分析p 2 p 文件 下载这个行为束识别。 【t 1 l o m a sk a m g i a n n i s ,a n d r eb r o i d o ,m i c h a l i sf a l o u t s o s ,k ec i a f r y2 0 0 4 】中提 出了一个p 2 p 协议的流行为识别的算法。 定义:一个主机中一个不刚的i p 和它不同的连接的端口称为一个i p 、端口对, 记做 i p ,p o r t 。比如一个i pa ,连接了一个端1 :3b ,记做 a ,b 。 。 7 算法:为了识别一些未知的p 2 p 协议,在一段时f b j 内统计( 5 分钟) : 1 检查源i p 和目的i p ,记录那些同时使用t c p 和u d p 协议传输的主机流量。 2 。检查 1 p ,p o r t 记录那峰满足“不同连接的i p 数日= 不同端口数目”的主机 , 流量。 3 排除掉m a i ls e r v e r s ,d n s 等知名端口的流量。最后可以得到各种未知的p 2 p 。 协议流量。 上面算法中第一步主要足出了:日前各种p 2 p 协议通常同时使用t c p 协议束传输 文件,使用u d p 协议来传输命令,所以认为同时使用t c p 和u d p 协议的流量就很 可能是p 2 p 流量。 第二步是因为p 2 p 协议在分白卜载各个文件的时候会出现:多个不刷的i p 连接 多个不同的端口的情况。如下图:当兰机a 丌始f 载_ 三机b ,c 中的文件的时候。就 有两个不同的i p 正在连接主机a 两个不同的端口。也就是不同i p 的数日等于不同 端口的数目。 最后排除目前已知的各种协议枕“r 以街到未知p 2 p 协议流量。 协“分析 ,埘屯 实验表明” i p ,p o n 的数i i 超过5 时的时1 f j 订 别的准确率就町以达到9 8 图2 3 演示了一个上机分布r 载文f ,j 时的i p 和端口一一配对的情况 c d fo f i g u m b e f o f d i s t m c li p oi np a i r si d 啪l u i i df a l 8 e l ya 毒p 2 p 才。 乒 = 二, :,。 7 7 7 ”如”。 卜1 , o n u t b e ro fd i o t i l c ti ,e 1 0 9o c 8 i e , 图2 4 实验结果:当i p 端口对超过5 个时,协议识别准确率达到9 8 2 1 3 4 协议特征识别优化方法 从上面研究可以看出协议的识别主要足通过一些协议特征识别束实现,由于协议 特征的差异协议分析过程也不相同。特征选取的差异会影响协议识别的速度。而在高 速网络环境的下,速度是我们最关心的问题。另外各个协议特征对于协议识别的区分 度也不相同,也会影响协议分炎的效率。而协议特征的区别度实际上就是协议特征在 所有连接中分白情况,综合这些因素考虑,我们需要尽可能的选取一些识别速度快、 区分度明显的协议特征。 。, 因此,我们需要对各种协议特征的识别作一个量化评估。为我们在协议识别中的 特征选取提供一个依掘。其评估的指标应该是包括对我们的协议分类速度的影响和对 协议的区分度2 个指标。 我们进行量化的协议特征t 要包括上述研究中的各种应用层协议特征:协议端口 特征、协议内容特征( 可能是义部或者中f h j 位7 5 ) ,协议关联特征、协议流行为特征 l x 夏) c 莳 竹“铲斩 o 州究 等识别过程。 为了统一某个特征( 端f l 成杯内容) 判定所需要的代价,我们假定一次端 】识别 的代价为l ,再假定一个字, j l - 1 1 u 内彳划定相r - m 次的端口判定。这样对j 二任何一 个协议的识别所需要的代价u j 以l 叮i 化为一个数值比如对于y m s g 的协议,它的特 征是识别y m s g 四个字符,i - ,以认为它的代价足4 m 。这样我们对f 每种协议的识别 过程所需要的代价町以赋予一个苹化后的数值,睨 另外在不j 刚络环境下各种心川, l 2 协议的产生的连接数也不同, 整个应用层连 接的比例也不同。反映到协议i j 别过程中也就是各个特征出现的概率不同只,足只。 对这些协议特征进行识z 0 时存在不刚的顺序,我们希望找到一个性能最优的协议 特征判定顺序,所谓性能最优卜要指、p 均情况下特征判定的次数最少,平均的特征判 定时间最少。 特征判定的权重w 是决定判定顺序的主要依据。但是由于网络环境不同每个特 征出现的概率p 不同,所以我们还希望在对这些协议特征的排序可以根掘网络环境下 各种特征的分粕情况而自动调整。所以我们要同时考虑w 和p 两个因素。 l , i , tu i 定义每个协议特征的权重为m ,= f 7 = - i 将最后获得的权重按照从小到大的顺序排 f 序 m 埘。) 最终这个升序序列就是我们的最优排序序列。 为了证明这个顺序就是最优的。我们构造一颗判定树束模拟应用层的协议识别过 程,我们将最终识别的协议判定结果作为叶子节点,将协议特征的识别过程作为分技 节点。假定这些特征识别的过秤h - 4 4 1 之间没有冲突,每个协议经过一次特定的特征识 别过程( 经过一个子节点) 就町以识别。那么对f 协议特征的判定结果只有y 和n 两个分支。这颗判定数的所有的分枝节点必然会有个叶节点作用其子节点。 我们需要识别的协议记做a ,a ,a 。,我们使用判定树来判断一个连接足否属于 某个协议a i 的时候,协议的判定代价足从节点a i 到根节点所经过的每个协议特征( 即 分枝节点) 的判定代价的总和。然后我们将每个特征识别的代价定义为从该分枝节点 到它的子节点的路径长度。这样每个协议的识别代价就转换为从该节点到根节点的路 径长度。相应的特征出现概率反映到判定数中也就是:各个协议的叶子节点具有一个 出现概率p ,其父节点的2 个分支路径具有不同概率分布p 和( 1 p ) ,各个概率总和为 i 。最终我们的协议特征排序模掣如下 脚议分析模掣蛐宅 图2 5 带权苣和概率的协议排序模型 这样,我们的最优协议特征判定顺序就转化为一棵概率分布下具有最短路径的判 定树。 1 l r 现在我们的判定数中的分支节点是按照肘= t t = _ i 的升序排列的。我们证明这种排 f 序的判定树是最优的。 首先我们证明一个最优判定树所具有的性质: 1 最优判定树根节点的f 树一定是最优判定树 证明: 判定树b 平均路径长度 w 。 图2 6 概率判定树最优证明l 上图是一个最优判定树m 它的子树路径长度为w ,他的平均路径长度为 幼歧分析镁 咒 只形4 - ( 1 一只) 4 - ( 1 一只) w彬 ( 1 一,j ) 。如禁m 小是最优别定f 埘,j j u 么存在 一个最优的f 树m ,严均路径k 膻为w ,使得w w 那么以这个刿定顺序作为一 个判定树,整个判定树的、i 7 均路径k 腹为彤+ ( 1 一以) 4 - ( 1 一只) 。这样b 就不是一个最优判定树,矛肝。所以命题成亟。 2 最优判定树任意节点的r 树一定是最优判定对 证明:对于一个n 层最优州定树考虑它的根竹点,根掘性质l ,他的第n - i 层子树是最优判定树。 依次炎推所以层次的子树都足最优判定树。命题成立 3 一个最优2 叉树的第一个协汉和第二个协议的识别顺序一定满足睾 孚 q 证明:如图,假定m l 为最优的判定树,那么m 1 的路径长度比m 2 短。 :w 平均路径为 子坷平均路径为w 判定擗m i 判定* m 2 图2 7 概率判定树最优证明2 计算2 个子树的路径长度,m l 的路径长度一m 2 的路径长度= 彤b 一只 0 。 1 rl v 即冬 。命题得证。 鼻丘 , 在这些性质的摹础上我们的箱征排序顺序的最优证明如下。 证明:考虑一个n 层的最优判定树的前2 层,根据性质3 一定满足m i m 2 ,考虑 它的第n 1 层判定树,根据性质2 一定也是最优判定树,根据性质3 一定满足m 2 li h 搿乜 f 图2 8“b m ”i d s 结构图 从结构图中可见,b r o 中有一个事件生成引擎。从l i b p c a p 获取的数掘包传递到 事件生成引擎,引擎首先对数掘包头做些合法性检查,生成一系列事件,这些事件都 会被提交给上层的策略脚本解释器,如果用户关一t l , 这些事件可以编写策略脚本定义相 应的事件处理例程束处理。在这一层,b r o 对于一些应用层协议做深层次的协议分析, 比如对于h 1 v r p 协议,引擎会进一步分析数据包是请求还是回应、访问的对象、请求 的方法等信息并生成相应的事件。日前的最新版本软件支持f i n g e r 、f t p ,h t t p 、 i d e n t 、p o r t m a p 、s m t p 等应用层协议的分析,随着软件的丌发会有更多的应用 层协议分析加入进来。 2 i42 协议状态分析在防火墙中的应用 传统的防火墙技术包括包过;:i :防火墙和应用代删防火墙,但足他们都仃各自的 缺点,包过滤防火墙安全住f i 黼,无法检查应用层信息。应用代理防火墙由f 所有的 数掘包都要经过防火墙t c p i i ,协议栈并返回因此处理速度较慢,不适用与高速网 络环境中为此人们引入了协议状念分析。 协议分析中状念分析能够眈拧和分析一个完整的通信或者会话中所发生的每件, 并能记录有效的信息,这就允钥盼火墙能发现一个会话过程中不同事件只j 的相关性, 检测出其他技术
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能语音交互设计-洞察与解读
- 足浴业政策调控路径分析-洞察与解读
- 纳米材料助力重金属钝化-洞察与解读
- 药物代谢酶调控-第4篇-洞察与解读
- 医患关系主题论文演讲
- 2025年护理考编面试题库及答案
- 低空经济负面清单2025制定与空域管理实践探索
- 生态与安全并重讲解
- 专业词汇专题知识讲座
- 警示教育培训试卷及答案
- 广东省深圳市罗湖区2024-2025学年八年级上学期11月期中考试数学试题(含答案)
- 医疗设备投放协议书
- 数据库备份恢复计划
- 招投标审计知识培训课件
- 2025年版会计继续教育试题及答案
- 2025年公共基础知识试题库附参考答案
- 基于16PF的保险业销售人员选拔与绩效预测:理论、实践与展望
- 2025年大数据行业营销策略创新方案可行性分析报告
- 2024年成人高等考试《政治》(专升本)试题真题及答案
- 2025年网络安全测评师考试试题及答案
- 《犟龟》课件 部编语文三年级上册
评论
0/150
提交评论