已阅读5页,还剩55页未读, 继续免费阅读
(计算机应用技术专业论文)基于双重特征的协议识别方法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西南交通大学硕士研究生学位论文第f 页摘要随着i n t e r n e t 技术的发展,网络应用服务越来越丰富多彩。为了对互联网中各种各样的流量实施有效的监控,首先需要使用协议识别技术来分辨网络流量的不同应用类型,然后才能够有针对性的采取监管措施。由于网络环境的变化,越来越多的协议开始使用动态端口或者加密技术,使得传统的基于端口的协议识别方法无法保证识别的准确性。基于d p i 技术的协议识别方法和基于流量特征的协议识别方法是目前最常用的两种协议识别方法。前者具有实时性好、准确率高的优点,但不能识别加密协议;后者可以对加密协议和未知流量进行识别,但误识别率较高、实时性较差。本文在研究了现有协议识别方法的基础上,结合基于d p i 技术的协议识别方法和基于流量特征的协议识别方法双方的优点,提出一种基于双重特征的协议识别方法。该方法利用双重特征即p a y l o a d 特征和流量特征来检测流量,可以进行在线检测,支持对加密协议和未知流量的预测识别,并具有较高的识别率和合适的检测精度。同时,本文对p a y l o a d 特征和流量特征的选取方法进行了研究,定义了一种特征规则的语法格式,并使用s v m 工具创建了协议分类模型。最后,以模式匹配算法和s v m 工具为基础,设计并实现了一个基于双重特征的协议识别系统,并进行性能测试,实验结果表明基于双重特征的协议识别方法是有效的、可行的。关键词:协议识别;深度包检测;静荷;模式匹配;支持向量机西南交通大学硕士研究生学位论文第f i 页a b s tr a c tw i t ht h ed e v e l o p m e n to ft h ei n t e r n e t ,t h e r ea r em o r ea n dm o r ew e ba p p l i c a t i o ns e r v i c e sn o w a d a y s i no r d e rt oi m p l e m e n te f f e c t i v es u p e r v i s i o no fn e t w o r kt r a f f i c ,f i r s to fa l l ,t h ep r o t o c o li d e n t i f i c a t i o nt e c h n o l o g ys h o u l db eu s e dt oi d e n t i f yd i f f e r e n ta p p l i c a t i o nt y p e so ft h et r a f f i c ,t h e nw e l lt a r g e t e dr e g u l a t o r ym e a s u r e sc a nb et a k e n h o w e v e r ,t h et r a d i t i o n a lp o r t - b a s e dm e t h o df o rp r o t o c o li d e n t i f i c a t i o nw i l ln o tb ee f f e c t i v ea n ym o r e ,t h er e a s o ni st h a tm o r ea n dm o r ep r o t o c o l sb e g i nt ou s ed y n a m i cp o r t so re n c r y p t i o nt e c h n o l o g y t h et w om o s tc o m m o nu s e dm e t h o d sf o rp r o t o c o li d e n t i f i c a t i o na r ei d e n t i f i c a t i o nm e t h o dw h i c hb a s e do nd p ia n dt r a f f i cc h a r a c t e r i s t i c sr e s p e c t i v e l y t h e r ea r es o m eo b v i o u sa d v a n t a g e ss u c ha sr e a l t i m ea n dh i g ha c c u r a c yw h e nu s i n gt h ef o r m e ro n e ,b u tt h ee n c r y p t i o np r o t o c o lc a n tb ei d e n t i f i e db yi t t h es e c o n dm e t h o dc a ni d e n t i f ye n c r y p t i o np r o t o c o l sa n du n k n o w nt r a f f i c ,b u tw i t hg r e a t e rf a l s e i d e n t i f i c a t i o n r a t ea sw e l la sb a dp e r f o r m a n c eo fr e a l - t i m e b a s e do nt h es t u d yo ft h ee x i s t i n gm e t h o d sf o rp r o t o c o li d e n t i f i c a t i o na n dc o m b i n e da d v a n t a g e so ft h e s em e t h o d s ,t h i st h e s i sp r o p o s e sam e t h o df o rp r o t o c o li d e n t i f i c a t i o nb a s e do nt w o f o l dc h a r a c t e r i s t i c s t h em e t h o du s e st w o f o l dc h a r a c t e r i s t i c si n c l u d i n gp a y l o a dc h a r a c t e r i s t i c sa n dt r a f f i cc h a r a c t e r i s t i c st od e t e c tn e t w o r kt r a f f i c ,t h r o u g hw h i c ht h eo n l i n et e s t i n gi sf e a s i b l e ,a n de n c r y p t i o np r o t o c o l sa n du n k n o w nt r a f f i cc a nb ei d e n t i f i e dw i t hah i g hi d e n t i f i c a t i o nr a t ea n da na p p r o p r i a t ea c c u r a c y a tt h es a m et i m e ,t h i st h e s i sh a sm a d es o m ei n d e p t ha n a l y s i so nh o wt os e l e c tp a y l o a dc h a r a c t e r i s t i c sa n dt r a f f i cc h a r a c t e r i s t i c s d e f i n e dan e ws y n t a xf o r m a t o fr u l e so fc h a r a c t e r i s t i c s ,a n db u i l tp r o t o c o lc l a s s i f i c a t i o nm o d e l sb yu s i n gt h es v mt o o l s ap r o t o c o li d e n t i f i c a t i o ns y s t e mb a s e do nd o u b l ec h a r a c t e r si sd e s i g n e da tt h ee n do ft h i st h e s i s t h er e s u l t so fp e r f o r m a n c et e s t i n gs h o wt h a tt h en e wm e t h o df o rp r o t o c o li d e n t i f i c a t i o ni se f f e c t i v ea n df e a s i b l e k e y w o r d s :p r o t o c o li d e n t i f i c a t i o n ;d p i ;p a y l o a d ;p a t t e r nm a t c h i n g ;s v m西南交通大学学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权西南交通大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复印手段保存和汇编本学位论文。本学位论文属于1 保密口,在年解密后适用本授权书;2 不保密阻使用本授权书。( 请在以上方框内打“4 ”)学位论文作者签名:翻k - 交日期:b o 口华i 协旧斛棚弥瞅面e t 期:d 厶伽多,一西南交通大学硕士学位论文主要工作( 贡献) 声明本人在学位论文中所做的主要工作或贡献如下:( 1 ) 对p a y l o a d 特征的提取方法进行了研究,并定义了一种特征规则书写的语法格式;( 2 ) 对流量特征的提取和支持向量的训练方法进行了研究,并针对性的创建了s v m 协议分类模型;( 3 ) 结合基于d p i 技术的协议识别方法和基于流量特征的协议识别方法各自的特点,提出了一种基于双重特征的协议识别方法;( 4 ) 设计并实现了一个基于双重特征的协议识别系统,并对系统性能进行了测试。本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体己经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均己在文中作了明确说明。本人完全了解违反上述声明所引起的一切法律责任将由本人承担。学位论文作者签名:日期:西南交通大学硕士研究生学位论文第1 页1 1 引言1 1 1 研究背景第1 章绪论随着i n t e r n e t 技术的发展,网络应用服务越来越丰富多彩,互联网已经成为人们日常生活中重要的沟通和传播媒介。以信息获取、信息交流、信息共享为主的基础网络服务正逐步发展为以休闲娱乐、电子服务、电子商务三大类服务为主的扩展网络服务。然而,p 2 p 下载、在线视频、在线音乐、网络电话等高占用网络带宽日常应用在给人们的生活、工作和学习带来极大方便的同时,也造成了网络带宽资源的空前紧张。据统计,目前互联网上,p 2 p 用户毫无节制的下载行为占用了超过6 0 的带宽,高峰时甚至超过8 0 ,严重影响了互联网带宽资源的分配,造成了“宽带不宽”的局面,甚至影响了普通用户的上网体验。另一方面网络扩容压力随之增大,运行维护成本不断提高,运营商提供传输服务却无法收取相应的费用,这无疑给运营商带来巨大的损失。而v o l p 技术的广泛应用对电信运营商的固话业务产生了巨大的冲击,特别是国内、国际长途话费急剧减少,使电信运营商的正常话务业务受到严重影响;还有少数不法分子利用v o l p 的隐蔽性、难追踪性进行电话诈骗,社会危害度高、影响面广,涉及到群众根本利益【2 1 。针对目前城域网上的无限制的p 2 p 、无监管的v o l p 等有害业务,必须实施有效的检测及控制,合理分配网络带宽,为普通网络用户的上网速度提供保障,并对电信运营商的正常业务及其他资源提供者的合法利益进行保护。为了解决这些问题,网络运行维护部门需要对用户上网行为进行分协议类型的流量统计,在此基础上有针对性的对用户行为进行监控和管理,限制部分不合理的用户应用;同时可以详细分析各种应用类型流量下t o pn 用户的行为习惯和兴趣,从而提供网站访问t o pn 统计和热点网络业务t o pn 统计及趋势图,为运营商深度挖掘网络客户商业价值、开展增值业务提供强大的数据支撑【3j 。用户流量统计过程的关键环节是对流量进行分协议类型的识别。传统的协议识别方法是基于端口的检测方法【1 29 1 ,通过端1 2 1 号来确定协议类型,如使用8 0 端口的t c p 流量使用的是h t t p 协议,使用6 9 端口的u d p 流量使用的是t f t p 协议等等。然而伴随着i n t e r n e t 应用环境的变化,越来越多的应用服务采用了更加灵活多变的策略。例如除了使用默认端口之外,应用软件可以根据网络环境的不同临时改变通信端口,或者采用“端口跳跃”方式。这类应用软西南交通大学硕士研究生学位论文第2 页件如q q 即时通讯软件,不仅可以使用t c p4 4 3 端口、u d p8 0 0 0 端口、u d p4 0 0 0端口,为了能够成功穿透典型的防火墙还可使用t c p8 0 端口。中国移动飞信软件在“t c p 直接连接 方式下使用的是t c p8 0 8 0 端口,而在“h t t p 直接连接 方式下采用的是h t t p 承载方式,使用的是t c p8 0 端口。还有很多视频网站提供的h t t ps t r e a m i n g 影片可以完整下载到电脑中播放,也支持边下载边播放的功能,采用的也是h t t p 承载方式。在这样的形势下,传统的协议识别方法已经不能准确地识别协议了,如何能够克服新复杂协议及高速网络带来的困难并准确高效的识别协议成为新的协议识别方法必须要解决的问题。1 1 2 国内外研究现状由于越来越多的网络协议不再使用固定的端口进行通信,基于端口的协议识别准确性已经低于5 0 ,算法的错误率高于正确率。因此,协议识别方法的研究已经成为热点研究方向。2 0 0 3 年,j e a r l y 、c b r o d l e y 等提出了一种基于行为特征的协议识别技术,利用t c p 包的到达时间、包的平均大小等行为特征来识别h t t p 、s m t p 、f t p 、t e l n e t等应用层协议,其研究得出的识别准确率在8 5 + 以上【4 1 。2 0 0 4 年,s u b h a b r a t as e n 等提出一种基于应用签名的p 2 p 流量检测方法【5 】。该方法是一种基于特征码的协议识别方法,通过应用分析的协议相关文档和静态流量来确定其应用层特征串,然后对报文流的前几个报文进行净荷检测来判断是否为p 2 p 流量。其研究表明基于特征码的协议识别比基于端口的识别准确性要高,误报率和漏报率均低于5 。2 0 0 5 年,t h o m a sk a r a g i a n n i s 等仔细研究了p 2 p 流量在传输层所表现出来的两种一般性特征,结合传统的端口检测技术,并采用启发式方法,提出了一种基于传输层特征的p 2 p 流量检测方法【6 】。此方法能够有效地检测到新的p 2 p应用和加密的p 2 p 应用,但不能对p 2 p 应用进行准确分类。s e b e s t i a nz a n d e r 、t h u yn g u y e n 等提出了一种基于机器学习( m l ) 的协议识别技术【7j ,该技术选用对加密不敏感的特征作为协议识别的依据,能够准确地识别应用层数据加密的协议。国内的陈亮等通过对七种常见的应用层协议的相关文档进行研究,以协议交互过程中特有的固定字段为协议识别的依据 8 】:若固定字段唯一,就选取该字段作为协议的特征串;若固定字段有多个,则通过统计选取出现频率最高的字段作为协议的特征串。2 0 0 7 年,李明伟等通过深入分析b t 协议的交互过程,提出了采用增加协议识别的特征串的个数的方式来提高识别准确性的思想【9 】。其研究将b t 协议西南交通大学硕士研究生学位论文第3 页的特征串增加到7 个,识别的准确性得到了提高但识别效率有很大降低。陈曙辉、刘俊超、胥清化等研究了一种基于正则表达式的应用层协议识别方法 1 0 ,1 1 ,1 2 】。该方法也是一种基于内容的检测方法,其采用正则表达式描述协议应用层数据的特征,然后再报文体内容中寻找匹配项以确定报文所属的整个流所属的应用类型。其研究表明基于内容的协议识别可以在线处理并且能够精确区分应用类型而非大致分类。温超、郑雪峰等提出基于流量分析的协议识别方法【l3 1 ,根据以下4 个特征识别p 2 p 流量:p 2 p 主机的上下行流量基本相当;p 2 p 主机连接的主机数量较多;p 2 p 主机即是服务器又是客户机;p 2 p 主机监听端口的特点与非p 2 p 协议不同。此方法只需对报头信息进行检测,具有简单高效的特点,但只能分辨出p 2 p 流量和非p 2 p 流量,无法对流量按应用具体分类。张岩、盘善荣等对基于s v m 的协议识别方法进行了研究【1 4 15 1 。此方法以s v m 算法为工具,根据p 2 p 不同应用在连接、传输时表现的不同特征来识别分辨其具体的应用协议。杨岳湘等人提出两种基于s v m 进行p 2 p 流量检测的改良方法 16 】:一种通过迭代训练来压缩训练数据集和改善检测精度;另一种通过对数据进行平滑处理来减少问题的复杂度,从而提高s v m 训练速度及检测精度。邓河等将报文分成双向流,抽取与协议和端口无关的流特征形成特征向量,用s v m 方法构建了流量分类器,对b i t t o r r e n t 等四种网络流量进行分类,其得出的平均分类准确率为9 2 38 t j 。1 2 本文的研究内容与组织结构1 2 1 本文的研究内容( 1 ) 深入研究目前常用的协议识别方法对基于d p i 技术的协议识别方法和基于流量特征的协议识别方法以及它们使用的算法、工具分别进行深入研究,分析并总结这两种方法的优缺点及其适用范围。( 2 ) p a y l o a d 特征准确的提取和规则的书写d p i 深度包检测技术是基于p a y l o a d 特征的协议识别方法的基础。基于p a y l o a d ( 净荷) 的检测方法是通过分析和提取报文的p a y l o a d 特征然后进行模式匹配来识别具体应用协议的。因此,报文p a y l o a d 特征准确的提取是基于p a y l o a d 特征的协议识别方法能否正确快速识别协议的决定因素。提取出的p a y l o a d 特征需要按一定的语法格式表达出来,本文定义了一种特征规则书写的语法格式。( 3 ) 流量特征的提取和s v m 分类模型的创建西南交通大学硕士研究生学位论文第4 页流量特征是网络流量在一个通信阶段内所表现出来的行为特征,根据流量特征可以对数据流进行分类。要保证分类结果的高准确率和低误报率,需要对流量特征进行有效的特征选择。通过对选取的流量特征进行训练来获取支持向量,训练完成后即可利用创建的分类模型对网络流量进行预测分类。( 4 ) 基于双重特征的协议识别方法结合基于p a y l o a d 特征的协议识别方法和基于流量特征的协议识别方法各自的特点,本文提出一种基于双重特征的协议识别方法。此方法在满足协议识别实时性需要的前提下,能够提高协议识别率,并支持对加密协议的识别和未知流量的预测功能。本文最后设计并实现了一个基于双重特征的协议识别系统,对系统的检测能力进行了测试并对实验结果进行分析。1 2 2 本文的组织结构第1 章绪论。首先介绍协议识别方法研究的意义;然后探讨传统的协议识别技术的不足,概述国内外协议识别方法的研究现状;最后介绍本文的研究内容和组织结构。第2 章基于p a y l o a d 特征的协议识别方法。首先介绍d p i 深度包检测技术,然后对基于d p i 技术的协议识别系统及流程进行描述;然后介绍了串模式匹配算法,重点介绍a c 自动机多模式匹配算法;最后归纳总结了基于p a y l o a d特征的协议识别方法的特点。第3 章基于流量特征的协议识别方法。首先介绍基于流量特征的协议识别方法的主要思想和基于s v m 方法的流量特征协议识别流程及其优缺点;然后介绍了s v m 基本理论、线性分类原理和多类分类方法。第4 章基于双重特征的协议识别系统设计与实现。通过对前两章中介绍的两种协议识别方法的总结和对比,提出一种将两种识别技术结合的基于双重特征的协议识别方法;然后提出了p a y l o a d 特征的提取方法和特征选取的原则,并定义了一种特征规则书写的语法格式;接着描述了s v m 协议分类器的创建方法及流程:最后描述了基于双重特征的协议识别系统总体架构及具体模块的设计。第5 章实验验证与分析。本章对基于双重特征的协议识别系统的识别效果进行测试验证,并对实验结果进行分析。总结与展望。对本文的工作进行归纳总结,并对下一步的研究工作进行展望。西南交通大学硕士研究生学位论文第5 页第2 章基于dpi 技术的协议识别方法协议识别是指通过对捕获到的目标网络的数据码流进行分析之后得到的结果来确定目标网络所采用的协议类型。要对各种协议进行有效的识别,首先要对各协议有全面、深入的认识。互联网上使用的协议除了一些通用的标准协议之外,还有很多公司和机构自己开发的自定义协议,这些协议一般没有公开相应的r f c 文档,要掌握它们的语法、语义、时序等要素,就需要对它们进行分析。传统的协议分析方法是针对数据包头或者基于元数据进行的,利用五元组( 源i p 、目的i p 、源端口、目的端口、传输层协议类型) 对一个个独立的数据包进行分析,这种只看部分不识整体的做法难免会出现疏漏,无法满足全层次认知的要求。目前最常用的是基于d p i 技术的协议识别方法,该方法通过对数据包有效载荷( p a y lo a d ) 进行深入分析和检测来达到协议识别的目的。d p i技术能够将数据包组装到网络流量中,从流量内容中提取信息,是一项已经在流量管理、安全和网络分析等方面获得成功的技术。2 1 基于d pi 技术的协议识别方法2 1 1d pi 深度包检测技术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 引。通常在传输数据时,为了使数据传输更可靠,要把原始数据分批传输,并且在每一批数据的头和尾都加上一定的辅助信息,比如这一批数据量的大小、校验位等,就形成了传输通道中基本的传输单元,叫做数据帧或者数据包 2 1 】。流是这样一系列数据包的组合,是通信双方一次完整的通信过程,利用五元组可以唯一的确定一条流。d p i 技术首先能够将多个数据包关联到一个数据流当中,保持整个数据流的状态,接着进行数据处理( 包括t c p u d p 协议分类) ,然后检测出数据包的内容及有效负载并且能够从中提取出内容级别的信息特征。当i p 数据包、t c p或u d p 数据流通过基于d p i 技术的协议识别系统时,该系统通过深入读取i p包载荷的内容来对o s i 七层协议中的应用层信息进行重组,从而得到整个应用程序的内容,然后按照系统定义的管理策略对流量进行整形操作【l9 1 。流量重组西南交通大学硕士研究生学位论文第6 页和内容提取都需要大量处理能力,尤其是在高流量的数据流中。成功的d p i技术必须能够提供基本功能,如高性能计算和对分析任务的灵活的支持,以避免给应用带来延时。现在越来越多的网络安全功能需要有效载荷级别的知识,数据泄漏防护要求深度理解通过线路发送的实际内容,例如应用层防火墙和入侵检测系统i p s设备都要求能够为不同的应用程序提供深度数据包检测。在云计算中的安全服务提供商,如反垃圾邮件或者w e b 过滤服务等供应商,必须获取通过多个客户通信的实时可见的内容,以便迅速获取抵御威胁和攻击的信息,这样也要求内容级别的情报1 2 川。另一方面,d p i 能够提供关于用户流量、应用程序使用、内容传递和异常模式的情报信息。服务供应商使用d p i 来分离网络流量,可以更好的根据关键任务流量、非关键流量来优化资源并减少网络拥挤 22 1 。因为廉价的带宽,服务供应商可以增加增值服务来获得额外的收入,包括安全、高峰使用管理、内容计费和针对性的广告。目前很多网络设备生产商都推出了基于d p i 技术的流量监控和网络安全产品,如c i s c o 公司出品的s c e 设备组件( 思科服务控制解决方案) ,华为赛门铁克公司出品的s i g ( 业务监控网关) 系列等产品,产品特性能好,解决方案成熟,支持6 0 0 多种协议和应用的自动识别,涵盖了p 2 p 、i m ( 即时通讯) 、视频流媒体、v o i p 协议、网络游戏、炒股软件、企业内部核心应用等应用和协议,基本覆盖了目前主流的网络协议和应用类型,可为用户提供全面的、有效的协议识别支持。2 1 2 基于d pi 技术的协议识别方法2 1 2 1 基于p a yio a d 特征的协议识别p a y l o a d 特征指的是通过对通信报文p a y l o a dd a t a 进行深入分析,充分理解报文p a y l o a d 字段含义、结构及变化规律,从而归纳总结出的不同协议在有效载荷上表现出的固有特征。p a y l o a dd a t a ( 有效载荷数据) 指的是数据帧中记录信息的原始数据。“不同的应用通常会采用不同的协议,而各种协议都有其特殊的指纹,这些指纹可能是特定的端1 :3 、特定的字符串或者特定的b i t 序列”【”】。“协议特征是用于判定一段数据码流是否为某一协议的特征数据,这是协议识别模块判断该数据码流符合某协议类型的主要依据”【2 们。利用提取出的报文特征对应用流中数据报文内容进行探测,可以确认应用流的具体应用。基于p a y l o a d 特征的协议识别即是源于这样的思想,通过用预先定义好的表示协议特征的大量模式与报文的p a y l o a dd a t a 进行匹配,从而判断出其所属的应用层协议类型。西南交通大学硕士研究生学位论文第7 页根据具体检测方式的不同,基于p a y l o a d 特征识别技术可细分为固定特征位置匹配、变动特征位置匹配和状态特征字匹配三种方式。通过对指纹信息的升级,基于p a y l o a d 特征的识别技术可以扩展对新协议的检测。基于d p i 技术的协议识别系统一般采用p a y l o a d 特征检测为主,端1 3 、关联检测为辅的技术手段,与我们熟知的防病毒软件系统在某些方面比较类似,即其能识别的应用协议类型必须为系统已知的,也要维护一个应用协议特征数据库。当流量经过时,通过将解包后的应用信息与后台协议特征数据库进行比较来确定应用类型;而当有新的应用协议出现时,后台的应用协议特征数据库也要更新才能具有对新型应用协议的识别和控制能力。图2 1基于d p i 技术的协议识别流程如上图2 1 所示,基于d p i 技术的协议识别系统包含协议特征规则库和d p i 识别器两个关键部分。其中协议特征规则库用于存放协议原始特征经过处理后的数据结构表。协议特征是对不同协议进行区分的主要依据,协议规则库中的规则根据识别工具要求的不同而遵循一定的语法格式。d p i 识别器首先加载协议特征规则库,然后接收从网络中捕获到的报文并组织为流的形式,接着按报文到达的先后顺序进行d p i 检测。如果特征规则库中某条规则的全部特征都被匹配上,就输出该规则所代表的协议类型,即该流己被识别。如果该流的所有报文都没能完全匹配上任意一条规则的全部特征,则说明该流未被识别,那么存储该数据流,并对数据包内容进行深度分析,提取出特征后转化为相应的规则,经验证有效后存入特征规则库中,以后再有命中该规则的数据流到达时,就能够准确的识别出来。西南交通大学硕士研究生学位论文第8 页2 1 2 2 基于d pi 技术的协议识别方法的特点总体说来,基于d p i 技术的协议识别方法的优势在于t 识别的准确性和实时性好,适合在线识别应用的要求,易于理解,升级方便,维护简单。它的的缺点主要有以下几点:( 1 ) 对新协议的识别具有滞后性,可扩展能力差。在未升级特征库前无法检测新的协议,要保持特征规则库的全面、准确、有效和最新状态需要频繁、适时地更新,例如p p l i v e 等p 2 p 软件每进行一次版本升级或者功能的增加,其相应的数据包规则就有可能发生变化,要准确识别就需要重新分析提取规则,而这一类流行软件的升级是很频繁的。( 2 ) 缺乏灵活性。对协议特征尤其是有变化规律的或变长填充的协议特征的分析和提取,如果要面面俱到,也是难以做到的。( 3 ) 对加密协议的识别能力极其有限。目前很多常见的应用使用s s l ( s e c u r i t ys o c k e tl a y e r ) 加密数据,还有很多自定义的加密协议,例如s k y p e ,采用的就是加密后的v o l p 协议,要想破解其加密算法提取规则是很困难的,甚至是不可能的。一( 4 ) 算法性能与p a y l o a d 特征的复杂度有关。p a y l o a d 特征越复杂,检测代价越高,算法性能越差,而且随着协议特征库中规则条目总数的增加,系统开销会逐步增大。2 2 串模式匹配算法为了能够适应高速网络环境的实时性需要,协议识别系统必须保证其识别的速度和效率。此时,d p i 识别器采用的识别工具或算法成为关键因素。规则匹配最直观的方法就是用协议特征规则与数据码流进行逐比特或逐字节的比对。通过对协议特征进行分析可知,一般来说协议类型的识别有两种方式:一种是通过搜索特殊字节或关键字的位置来确认;另一种是比对特定区域的字段来确认。因此,可以将某条协议特征转化为一个特征模式串,从而将特征识别问题归结为串模式匹配问题,即对数码流组成的字符数组与模式串进行比对。在确定了协议特征后,考虑一种快速高效的串模式匹配算法就显得尤为重要。本节主要对串模式匹配算法进行介绍。2 2 1 串模式匹配算法概述串模式匹配算法( p a t t e r nm a t c h i n ga l g o r i t h m ) 是指查找模式串( p a t t e r n )在文本串( t e x t ) 中出现的第一个位置或全部出现位置的算法,即串的定位问西南交通大学硕士研究生学位论文第9 页题,典型函数为i n d e x ( s ,t ,p o s ) 。串模式匹配算法不仅仅局限于字符串,还可以进一步扩展到二进制串、数串或者一个更大的有复杂结构的信息单元。串模式匹配算法按照功能可分为三类:( 1 ) 精确匹配算法:精准度要求高,主要应用在文本检索、防火墙、入侵检测、计算机病毒特征码匹配、d n a 序列匹配等领域;( 2 ) 近似匹配算法:允许在匹配时有一定的误差,在病毒检测、语音识别、文件检索、多媒体检索、模式识别、o c r 纠错等许多领域有广泛应用;( 3 ) 正则表达式匹配算法:灵活性和表达能力强,常用于文本检索、表单验证、网页搜索等场合;这三类算法的产生与应用领域的需求直接相关,本节只对精确匹配算法进行研究。串精确模式匹配算法按检索符号序列的方式可分为三种模式:前缀模式、后缀模式和结合模式。这三种模式的匹配算法都可以看作是使用一个固定长度的窗口来搜索模式串,在窗口内检验模式是否匹配,然后从左向右或从右向左不断的移动窗口,直至扫描完整个目标串的过程。为了实现统计子串出现的个数,不仅需要从主串的第一个字符位置开始比较,而且需要从主串的任一给定位置检索匹配字符串。模式匹配算法根据同时进行匹配的模式串的数量,分为“单模式匹配算法”和“多模式匹配算法”两类,下面分别对它们进行介绍。2 2 2 单模式匹配算法单模式匹配算法的数学描述如下:已知:有限符号集合,大小为s 。模式串p = p l p 2 p 。,( p ,1 ,- m ) ,目标串t = t i t 2 j 。,( t ,1 s n ) ,其中n m 。求解:丁中p 出现的位置集合0 = f ) ,使得v i 0 ,t m = p 女( 1 k 聊) 。即根据建立在一个有限符号集合上的模式串和目标串,查找出目标串中与模式串完全相等的字串出现的所有位置。常用的单模式匹配算法有:1 ) b f ( b r u t e f o r c e ) 算法b f 算法是一种古典的、标准的、穷举的朴素模式匹配算法,它通过一个二重循环来求解单模式串匹配问题,内层循环检验与模式串长度相同的当前窗口内的文本是否与模式串相等,外层循环移,动窗口,每次向右移动一个字符或字节,直至遍历完整个目标串。b f 算法进行匹配时不需要任何预处理过程,并且除了模式串和目标串外西南交通大学硕士研究生学位论文第10 页不需要额外的数据结构。根据具体匹配情况,其最好时间复杂度为o ( n ) ,最坏时间复杂度为o ( m n ) 。由于涉及多次回溯,速度慢、效率低。2 )k m p ( k n u t h m o r r i s p r a t t ) 算法【2 6 1k m p 算法是一种改进的、支持从主串的任意位置开始搜索的匹配算法,其基本思想是:当程序在匹配窗口内从左向右匹配到模式串的第k + 1 个字符p 川处时,发现不匹配,则说明前k 个字符p 。,p 2 - - - p 。与目标串完全相等。此时,如果目标串中对应匹配子串p 。,p 川p 。+ 。的后缀中含有p ,p :见的最长可能的前缀p ,p :p ,【0 一 f _ 坏字符规则( b a dc h a r a c t e r )使用坏字符规则右移模式串尸时,距离计算函数公式如式( 2 1 ) :沈l t a l ( x ) = m , x p 雠蓄芝尝嚣器嚣弘,好后缀规则( g o o ds u f f i x )好后缀规则充分考虑到了坏字符规则没有考虑到的已经取得的部分匹配的情况,将k m p 算法和b m 算法的思想结合起来,在不失真的前提下确定一个新的移动距离,函数公式如式( 2 2 ) :d e l t a 2 ( j ) = m i n si ( p l ,+ 1 m j = 尸d s + 1 肌一sj ) i & &( p h i * p d s dd j ) ,( 2 2 )p b + 1 所j = e 1 1 m s ju s ) )匹配过程中取d i s t l 和d i s t 2 中的大者。其时间复杂度在理想情况下为o ( n m ) ,一般情况下为o ( n + m ) ,最坏情况下仍为o ( n m ) 。因此,b m 算法在实际中匹配效率高于k m p 算法。西南交通大学硕士研究生学位论文第11 页2 2 3 多模式匹配算法多模式匹配算法的数学描述如下:已知:有限符号集合,大小为s 。模式串集合p = 只,最只) ,模式串集中模式串的个数为其中e = p 1 2 p r f a ,1 j l ,模式串的长度为,z ,;目标串t = f l f 2 f 。,( t ,1 s n ) ,其中,z m ,。求解:通过对模式串集合尸的预处理,将r 与尸中全部模式串同时进行匹配,查找尸中所有模式串在r 中出现的所有位置的集合0 = n ,使得v i 0 ,t m = p ;( 1 k m ,) 。多模式匹配算法是建立在单模式匹配算法的基础之上的。单模式匹配算法一次只能对文本中的一个模式串匹配,如果有多个模式串同时进行匹配时,效率比较低。通常情况下协议识别进行匹配的模式串不可能只有一个,所以一般采用多模式匹配。目前多模式匹配算法主要有a h o c o r a s i c k 自动机算法,反向跳跃自动机算法,s b o m 算法,m g e r p 算法,m u l t i b d m 算法,b n d m 算法等等。下面主要对具有代表性a h o c o r a s i c k 自动机算法进行介绍。a h o c o r a s i c k 自动机算法( 简称a c 自动机) 是由贝尔实验室的a h o 和c o r a s i c k 于1 9 7 5 年提出的经典前缀算法,它将著名的单模式前缀匹配算法m p和k m p 算法的思想与自动机理论完美结合。a c 算法将模式集中所有的模式串预处理,生成一个f s a ( 有限状态自动机) 。f s a 状态的个数是有限的,且在任何一个状态下,满足一个条件时,只可能跳到一个状态【2 4 1 。a c 自动机的匹配过程是:从状态0 出发,每一个读入的文本串字符作为一个跳转条件,利用转向函数和失效函数使自动机改变一种状态。如果当前状态有该字符的跳转,就按这个跳转迁移到下一状态;没有找到读入的字符对应的跳转时,就按失败跳转迁移到下一个状态,循环执行这步操作直到找到该字符的跳转;到达下一个状态时,检查输出函数值,如果不为空则表示在文本中已找到该模式串,输出其值。这样只对文本扫描一次就可以找出与其匹配的所有模式串,不会重复也不会漏读。在预处理阶段,a c 自动机创建三个函数:转向函数g o t o 、失效函数f a i l u r e和输出函数o u t p u t 。在搜索查找阶段,通过这三个函数的交叉使用来扫描文本,定位出模式串在文本中出现的所有位置。如下图2 2 表示a c 自动机在模式集p = h e ,s h e ,h i s ,h e r s 下生成的有限状态自动机:西南交通大学硕士研究生学位论文第12 页图2 - 2 模式集p 的自动机( 1 ) 转向函数g o t o ( q , a ) 表示从状态q 匹配字符a ,它把一个由状态和字符组成的二元组映射成另一个状态或者一条失效消息。如g o t o ( o ,h ) = 1 表示从状态0 到1 匹配了字符h ,而g o t o ( 0 ,a ) = o 则表示从根结点出发但没有边被匹配上。( 2 ) 失效函数f a i l u r e :表示如果从上一个状态开始没有边被匹配上,应该跳转到哪个节点。所有第一层状态的失效函数值为o ,如f a i l u r e ( 1 ) = f a i l u r e ( 3 ) = o ;对于非第一层,设其状态为s ,其父状态为r ,则f a i l u r e ( s ) = g o t o ( f a i l u r e ( s * ) ,a ) ,其中s 木为追溯s 的祖先状态中第一个使g o t o ( f a i l u r e ( s 掌) ,a ) 存在的状态。由此,本例失效函数值如下表2 1 所示:表2 1 失效函数( 3 ) 输出函数o u t p u t :发现匹配时,输出该模式。如从状态0 到状态2 的路径拼写出了关键字“h e ”,即把输出“h e 和状态2 相关联,从而得到o u t p u t ( 2 ) = h e ) 。以此类推,o u t p u t ( 5 ) = o u t p u t ( 2 ) uo u t p u t ( 5 ) = s h e ,h e ) ,o u t p u t ( 7 ) = h i s ,o u t p u t ( 9 ) = h e r s 。a c 自动机在扫描文本时完全不需要回溯 40 1 ,匹配的时间复杂度为o ( n ) ,只和文本串长度相关,与模式串的数目、字符组成及长度无关。预处理阶段时间复杂度为o ( i p i ) ,i v l 指模式串集p 中所有模式串长度的总和。a c 自动机的优点在于逻辑清楚,实用性强,适用于实时处理。其进行模式匹配时只需要按照数据到达的前后顺序逐一进行比较,而不需要缓存数据。同时,其性能只与文本串长度有关,可以根据负载预先估计。a c 自动机的瓶颈在于内存空间的需求,随着模式串的增加,算法的自动机状态数会出现爆炸西南交通大学硕士研究生学位论文第13 页式的增长。基于p a y l o a d 特征的协议识别方法的识别效率和精度由特征规则库和识别工具或算法共同决定。特征规则库中为某一类型协议建立的特征规则条目越多,对此协议的识别结果精准度就会越高,但协议识别算法会更复杂从而引起识别效率的降低;反之规则条目越少,识别效率会更高但识别精度会下降。因此,需要选择适合的识别算法工具,根据需要合理的定义协议特征规则集。西南交通大学硕士研究生学位论文第14 页第3 章基于流量特征的协议识别方法流量特征包含了网络用户数据请求与服务器响应发送数据包过程中的各类行为要素,包括时间、频度、i p 、端口、包长、协议声明特征、发送指纹等。在统计分析中的流量特征上,不同协议类型的应用数据的传送过程之间具有很高的区分度,且不论内容如何均相对为固有特征【38 1 。因此,可以利用流量特征的差异对协议进行分类识别。3 1 基于流量特征的协议识别方法3 1 1 基于流量特征的协议识别方法及其特点基于流量特征的协议识别方法的主要思想是从研究采用不同协议的应用服务产生的网络流量特有的本质特征入手,基于对采集到的大量网络数据流量的统计、分析和计算,归纳出不同协议类型流量的特征,作为对其进行分类识别的识别模式 3 3 , 3 4 , 4 3 , 4 6 】。这些特征主要是指这些应用服务在网络层与传输层上体现的特征,可以是通信报文特征,也可以是具体的行为特征,或者是一些统计特征。与基于p a y l o a d 特征的协议识别方法相比,基于流量特征的协议识别方法有下列优点:( 1 ) 识别算法性能高。由于不需要对协议进行解析和还原,也不需要对应用载荷进行分析,因此计算开销和存储开销小。( 2 ) 易于识别加密协议。只关注流量特征,不关注具体负载数据特征,完全不受数据加密的影响。( 3 ) 可扩展性好。s v m 利用从观测数据( 样本) 获得的规律对未来数据可以进行预测 4 2 , 4 5 】。即使是经常版本升级的软件,其使用的协议一般不会有大的变化,大部分都只是小的修改,这样就可以通过其己统计出的流量特征进行预测。( 4 ) 通过智能识别的方法,不需要对每个数据包的净载进行匹配和深度探测,所以效率和安全性更高。它的缺点在于:识别精度受样本数据的影响较大,对样本的数量和覆盖面要求较高;存在误判问题;识别的实时性较差;在协议类型的细分上指向性差。基于流量特征的协议识别技术方法包括:t c p u d p 端口识别技术、网络直径分析技术、节点角色分析技术、协议对分析技术和地址端口对分析技术等h 4 1 。下面重点介绍t h o m a sk a r a g i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年校园迎新年活动计划方案
- 12.3 动滑轮专题复习和规律总结 课件 2025-2026学年人教版物理八年级下册
- 2026年幼儿园中班美术工作计划下学期
- 2026年奶茶开业营销活动方案策划
- 2026年机能实验创新性实验设计
- 2026年艺术团年度工作计划
- 三人开公司的君子协议书
- 淮安智能化造价咨询协议书
- 2026年人教版高二第二学期英语期末阅读专项测评试卷(附答案可下载)
- 放射科工作计划经典范文
- 全球供应链的重构与韧性建设
- 磨床操作培训课件
- 食品营养学(暨南大学)智慧树知到课后章节答案2023年下暨南大学
- 面向对象程序设计实习报告
- 诗词格律之对仗课件
- 公司治理基本原理及中国特色姜付秀课后参考答案
- 汽车电工电子技术PPT(高职)完整全套教学课件
- 人美版小学美术456年级教资面试试讲逐字稿试讲稿
- 辣椒初加工项目可研
- GB/T 11547-2008塑料耐液体化学试剂性能的测定
- 电缆敷设、接线技术方案
评论
0/150
提交评论