




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12期刘兴彬等:基于Apriori算法的流量识别特征自动提取方法59基于Apriori算法的流量识别特征自动提取方法刘兴彬1,2,杨建华1,谢高岗1,胡玥1,2(1. 中国科学院 计算技术研究所下一代互联网研究中心,北京 100190;2. 北京科技大学 信息工程学院,北京 100083)摘 要:提出了一种基于Apriori算法自动提取协议识别特征的方法,该方法可以自动提取2种最常用的协议识别特征特征字符串和包长特征,提取特征的效率较传统方法有很大的提高。通过识别率、准确率、正误识别率和负误识别率等指标验证了所提取特征的准确性和完整性,并根据结果反馈指导特征提取的过程,保证了提取特征的可靠性。关键词:流量识别;自动提取协议识别特征;Apriori算法;深度包探测中图分类号:TP393.08 文献标识码:A 文章编号:1000-436X(2008)12-0051-09Automated mining of packet signatures for traffic identification at application layer with apriori algorithmLIU Xing-bin1,2,YANG Jian-hua1, XIE Gao-gang1, HU Yue1,2(1. Research Centre of Next Internet Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China;2. School of Information Engineering, Beijing University of Science and Technology, Beijing 100083, China)Abstract: Automatic and accurate extraction packet signatures are the foundation of the precise traffic identification at application level. A method which can automatically extract the packet signatures of characteristic string and packet length for traffic identification at application layer was proposed. The identification rate, accuracy rate, positive identification error rate and negative identification error rate have been verified with experiment on some traces to valid the mined signatures. Key words: traffic identification; automatically extracted signatures of protocols; Apriori algorithm; deep packet inspecting1 引言收稿日期:2008-08-20;修回日期:2008-11-18基金项目:国家重点基础研究发展计划(“973”计划)基金资助项目(2007CB310702);国家自然科学基金资助项目(90604015);中国科学院重大科研装备研制项目(YZ200824)Foundation Items: The National Basic Research Program of China (973 Program)( 2007CB310702); The National Natural Science Foundation of China (90604015); The Major Research Project to Develop Equipment of China Academy of Sciences (YZ200824)网络应用层流量识别对网络规划、网络管理、流量工程、安全检测等至关重要。传统的应用层协议流量识别方法主要基于IANA(Internet assigned numbers authority)定义的协议端口实现。然而,目前许多新的应用层协议为了逃避防火墙的过滤、避开主机的限制以及出于本身安全因素等原因1,逐渐开始采用动态端口号,甚至加密方式进行通信。Subhabrata Sen等分析发现Kazaa P2P 协议进行通信的流量中,仅30%的Kazaa流量是通过传输层的缺省端口号传输的,这表明仅使用固定端口号进行流量识别是很不准确的2。为解决此问题,研究者们提出了深层数据包探测技术(DPI, deep packet inspection)识别方法2和基于传输层流特征的检测技术(transport layer identification) 39。DPI(deep packet inspecting)方法通过找出数据包载荷中的特征字符串等特征,组成应用层协议识别特征库,采用特征匹配的方式进行流量识别。但DPI方法实现准确识别的前提是正确找出应用层协议特征,协议识别特征的准确性对识别率、准确率以及误识别率都有极大的影响。基于传输层流量特征的检测技术,研究人员运用统计学方法对协议的包长分布、流持续时间、平均包到达时间等数据进行分析39,得到协议流量的统计分布特征。由于统计特征存在一定的误差,识别的准确率不高,且一般不能把流量识别到具体的协议,实现精确的在线实时识别比较困难,所以目前实际应用中较少采用此方法。Haffner和Sen提出了一种自动提取协议应用层流量特征的方法,并附有FTP、SMTP、POP3、HTTP等几个协议的实验结果10。但是该方法对训练Trace中协议的识别方法仍采用传统的基于端口号的方法,因此无法识别采用动态端口通讯的应用层协议;文献10假设所测试的几种协议大部分仍采用静态端口通信,但在目前的网络环境下,这种前提假设已经非常不准确,例如目前有许多协议采用隧道机制用80端口进行传输,但并非采用80端口的都是HTTP协议。另外,其特征识别方法是基于Naive Bayes11, AdaBoost12,Maximum Entropy13等统计学的方法,而基于统计方法识别本身就存在一定的误差和不确定性,并且随着识别协议的增多误差将迅速增大。现有常用的应用层协议识别特征的提取方法2,1416分为以下2种:找到应用层协议的定义文档,根据文档的定义得到该协议的应用层特征;通过wireshark、tcpdump等捕包工具捕获协议通信过程的数据包,通过人工查看、对比每一个流相对应的数据包,发现该协议的应用层特征。目前很多新的应用层协议的协议定义文档并不公开,如PPlive协议。即使有些协议是公开的,其版本更新的频率也给协议识别特征的更新带来了巨大的挑战,更重要的是采用人工分析方法寻找协议识别特征的效率与可信度都较低。为解决上述问题,本文提出了一种基于Apriori算法的流量识别特征自动提取方法,该方法能够挖掘提取2种最常用的识别特征:特征字符串和包长特征。该方法的效率较人工分析方法有极大的提高,可以非常方便地实现特征库中每种协议识别特征的周期性更新。该方法是在对大量数据挖掘分析的基础上得到的特征,获得的应用层协议识别特征更完整、更完全。而人工分析方法只能发现部分明显的特征,特征的完整性和完全性没有保证。该方法在得到协议的最终识别特征前对多个可能的识别特征进行了多级过滤,并利用识别率、准确率、正误识别率和负误识别率这4个指标,对提取的识别特征的正确性和可靠性进行了验证,保证了特征的准确性和完全性。本文后续章节安排如下:第2节详细阐述方法各部分的实现与功能;第3节实验与结果分析,并根据实验结果对特征提取过程进行反馈修改;第4节为结束语。2 流量识别特征自动提取方法该方法首先捕获训练Trace,并假设此训练Trace是纯净的,即只包含用同一种应用层协议进行通讯的数据包;从训练Trace中提取信息,并对提取的应用层载荷编码;然后基于Apriori算法挖掘经过编码的数据的频繁项集;并对频繁项集进行过滤,以及基于频繁项集挖掘包长特征;最终生成识别应用层协议的特征文件。2.1 自动提取特征的基本思想方法以提取特征字符串为基础,提取特征字符串同时是提取包长特征的前提。定义1 特征字符串:一个在应用层载荷中固定位置出现的字节组合。特征字符串是最常用的一种识别特征,本文将特征字符串归纳为以下2种类型:应用层协议报头中的特征字符串,包括版本号、协议名称等,如BitTorrent协议的报头中第220字节的值是:BitTorrent Protocol字符串;协议控制信息中的特征字符串,包括命令代码、标识信息等。这2种类型的特征字符串在连接建立后传递的前几个数据包的前部分出现的概率较大,且在相同偏移的数据包内出现同一特征字符串的概率更大,如BitTorrent协议在连接建立后的第1个数据包的前N个字节大部分是BitTorrent Protocol,迅雷连接建立后第1个数据包的前4个字节大部分是0*39, 0*00, 0*00, 0*00或者0*38, 0*00, 0*00, 0*00,第7和第8字节为0*00, 0*00。一个连接建立后通信双方传递的第i个数据包称偏移为i的数据包,所有连接的偏移为i的数据包称为相同偏移i的数据包。所以本文从相同偏移的数据包的前N个字节中寻找特征字符串。2.2 数据提取与编码为从相同偏移的数据包的前N个字节中寻找特征字符串,首先需要提取具有相同偏移的数据包的前N个字节。具体提取方法如下:对训练Trace中有完整3次握手的TCP连接,提取以下信息:偏移为i的(1in)数据包的前N个字节,记为ITEM;该数据包的包长,记为PLEN;该连接的总字节数占训练Trace中所有完整TCP连接的总字节数的百分比BRATIO,该连接的总数据包数占训练Trace中所有完整TCP连接的总数据包数的百分比,证为PRATIO,将这4个数据作为一个事务T=ITEM,PLEN,BRATIO,PRATIO,并根据i值存储在数据库不同的表中。提取n个数据包是为了在从偏移为1的数据包挖掘得到的特征不足以有效识别协议时,迭代从偏移大于等于2的数据包中继续挖掘提取特征。对UDP连接提取信息的方法与TCP类同。根据实验分析发现,当N=20、n=3时,就可以挖掘几乎所有可能的特征,当增大这2个值时,识别率基本上没有升高;当降低这2个值时,有的协议会丢失部分特征,导致识别率下降。特征字符串与位置密切相关,如迅雷的一个特征字符串:应用层载荷的前4个字节是0*39, 0*00, 0*00, 0*00,第7和第8字节为0*00, 0*00。在报头或在控制信息中,不同位置表示的物理意义一般不同,如在FTP的控制信息中,只有以0*32, 0*32, 0*30(即220)开头的数据包表示服务就绪信息,而其他位置的0*32, 0*32, 0*30则表示其他意义或仅是一个凑巧的组合。为了将不同位置处的相同字节内容区分开,且同时使内容直接与位置相关联,本文提出了基于位置对应用层载荷进行编码的方法。此编码方法使得特征字符串直接与位置相联系,极大地提高了准确率,并使得字符串的匹配方式变成类似于散列方式,加快了识别速率。编码方法:将ITEM中的每个字节编码为一个项,此项用5个字符表示,从左边起第1个字符是I,第2和第3个字符表示该字节在应用层载荷中的位置的16进制表示,从零开始计数。第4和第5个字符是该字节的16进制表示值。经过编码后的ITEM表示形式为ITEM=I00xx, I01xx, I02xx, I0Nxx。2.3 频繁项集挖掘设I=I1,I2,Im是项的集合,其中的Ii称为项(item)。对任意X满足,称X为一个项集,如果X包含K个项,则称X为K项集。记D=T1,T2,Tn为I上的数据集或事务数据库,其中Ti=ITEMi,PLENi,BRATIOi,PRATIOi包含4个字段,称Ti为一个事务,其中ITEMi是一个数据包前N个字节经过编码后的表示,且。定义2 支持度(support):给定D和项集X,称为项集X在数据集D上的支持度(简记sup(X)),其中|D|为D中事务的总个数,|DX|为D中包含项集X的事务的个数。定义3 完全频繁项集(frequent item set):给定D、项集X和最小支持度min_sup(0,1),当sup(X)min_sup时,称项集X为D上的频繁项集,D上所频繁项集的集合称完全频繁项集,记为: 。Agrawal等在1994年提出的Apriori算法17是挖掘频繁项集最核心、最具有影响力的算法。Apriori算法使用逐层搜索的迭代方法,K项集用于探索(K+1)项集。首先,通过扫描事务数据库,累积每个项的计数,找出频繁1项的集合。该集合记作L1。L1用于寻找频繁2项集的集合L2,而L2用于寻找L3,依此类推,直到不能找到频繁K项集。在第K次循环中,算法先产生候选K项集的集合CK,CK中的每一个项集是对两个只有一个项不同的Lk1中的频繁项集来做一个(K2)阶连接来产生的。CK中的项集是用来产生频繁K项集的候选项集,频繁项集LK是CK的一个子集。对CK中的每个项集需在数据集D中进行验证以决定其是否将其加入LK,验证过程需要扫描一遍数据集D来计算CK中的每个项集的支持度。文献17中已经详细地描述了Apriori算法的执行过程,本文不再累述。在Apriori算法中最小支持度(min_sup)设置太大会导致特征丢失,min_sup设置太小会造成算法挖掘大量冗余和错误特征,本文根据分析与实验将最小支持度(min_sup)设定为0.02。因为理论上一个字节可以表示256个值,每个值出现的概率是1256,而0.02大约是1256的5倍,本文认为5倍于正常分布概率的事件已经是异常事件。虽然此值相对较小,但也会产生较多的冗余特征,但特征过滤步骤能将冗余特征过滤,当min_sup0.02时,可挖掘到更多的特征,但这些特征之间的冗余更多,且总体识别率并没有上升,算法的效率因挖掘过滤过多冗余特征而降低;当min_sup0.02时部分协议会丢失特征,所以权衡准确性和效率选定min_sup=0.02。基于Apriori算法和最小支持度min_sup,挖掘相同偏移数据包的经过编码的应用层载荷的完全频繁项集,记为FID,并对频繁项集中的项按位置从左到右递增排列。2.4 频繁项集过滤在得到的完全频繁项集FID中可能存在一些有包含关系的频繁项集,即,且,由性质1知,sup(Y)sup(X),如果sup(Y) =sup(X),表明即使频繁项集Y比频繁项集X包含的项少,但其支持度却和频繁项集X相同,频繁项集X的存在已经完全包含了频繁项集Y的存在。所以sup(Y) =sup(X)时将频繁项集Y其从FID中过滤以精简频繁项集的个数。当sup(Y)sup(X) 时,X的出现不能完全包含Y也出现,而最终结果不允许X和Y同时存在,因为同时出现将导致频繁项集X被自动屏蔽。此时选取Y作为特征字符串可以产生较高的识别率,选取X作为特征字符串可以保证低误识别率。通过对已有特征字符串分析发现,特征字符串起始位一般位于应用层载荷的前N个字节(尤其是前4字节),特征字符串之间的平均距离一般较小。基于该特征,本文提出了一种支持度修正和频繁项集过滤方法:当,且sup(Y)sup(X)时,若频繁项集X或Y包含项数小于等于4,则基于其起始位置以及频繁项集中项之间的平均距离修正其支持度,然后过滤掉支持度小的频繁项集。包含项数大于4的频繁项集支持度相对较低,且其造成误识别的最大概率为1240,对结果造成的影响较小,所以不修正其支持度。每个频繁项集至多进行一次频繁度修正。支持度修正的具体方法如下:1) 式(1)表示对频繁1项集X1的支持度修正方法(1)supnew(X1)表示频繁1项集X1经过修正后的支持度,sup(X1)表示修正前的支持度;posi表示频繁项集中第i个项的位置,i从零开始;K表示频繁项集中项的个数。项的位置从零开始编号;k1是一个常数,f1(x)是一个关于x(x0)的连续单调减函数。(定义下同)2) 对频繁24项集XK的支持度修正方法首先计算频繁项集XK中项之间的平均距离(avedist(XK),如式(2)所示。(2)式(3)表示对频繁24项集XK的支持度修正方法(3)f2(K)是关于K的单调增函数(K1),为使平均距离等于1时,包含项数多的频繁项集的频繁度升高更多,因为该频繁项集被认为更可靠。f3(x)和f4(x)是关于x的单调减函数(x0),且满足0f3(x)f4(x)1,f3(x)f4(x)1为使当平均距离相同时,起始不在前4位的频繁项集的频繁度降低更多,因为该频繁项集被认为相对不可靠。经过对式(1)、式(3)的修正,使得高度满足特征字符串位置分布的频繁项集的频繁度得到适当升高,不满足特征字符串分布的频繁项集的频繁度得到降低,然后过滤掉频繁度小的频繁项,该方法能够兼顾高识别率和低误识别率。过滤后剩余的频繁项集记为FFID。2.5 包长特征挖掘许多协议包含包长特征,而一个协议可能有多个版本或本身包含多种类型的数据包,不同的版本或不同类型数据包可能拥有不同的包长特征,这使得难以实现直接对协议挖掘包长特征。而从特征字符串角度来分析,协议的不同版本或不同类型包所对应的特征字符一般不同,而同一版本或同一类型的数据包所对应的包长特征一般相同,所以本文提出基于特征字符串挖掘包长特征。通过该方法使特征字符串与包长特征相组合,极大地提高了挖掘特征的准确性。通过实际分析,将包长特征分为:绝对包长特征和包长属性字段特征。定义4 绝对包长特征指满足某一个特征字符串的所有数据包,其包长相等。定义5 包长属性字段特征,指满足某一个特征字符串的所有数据包的包长并不全部相同,但包长与首部中包长属性字段的值的差值都相同。设, 称为D在X上的投影数据库,ITEMi =I00xx,I01xx,I02xx,I0Nxx,Ti=ITEMi,PLENi,BRATIOi,PRATIOi。挖掘绝对包长特征可通过挖掘DX中PLEN字段中支持度最高的频繁1项集实现,设PL是其中支持度最高的一级频繁项,若sup(PL)p2%(如95%),则称满足特征字符串X的协议同时满足绝对包长特征,将其与特征字符串相组合。若sup(PL)p2%,说明不满足绝对包长特征,再进行包长属性字段特征的挖掘。若满足某一特征字符串的数据存在包长属性字段,包长与首部中包长属性字段的值的差值是一个定值,所以可以通过挖掘包长与包长属性字段的差值来挖掘包长属性字段。且假设若存在包长属性字段,则满足该特征字符串的包长属性字段的位置相同。因包长属性字段的位置未知,所以对所有载荷位置进行挖掘。大多协议用2个字节表示包长属性字段,因其已经能够表示0, 65 535的值,足以涵盖各种最大传输单元MTU。所以本文假设所有协议都用2个字节表示包长属性字段,包长属性字段的值不一定等于包长,因有些协议的包长属性字段中值不包括报头的长度,所以可能会有一个差值,但差值应该在一个合理的范围内,本文只挖掘那些包长与包长属性字段差值在minus, +minus之间的属性,又因协议可能用大端序整数(big-endian)或小端序整数(little-endian)表示包长属性字段的值,所以对相邻2个字节组合成包长属性字段值时分2种情况分析。以下以将包长属性字段组合成大端序整数为例进行说明,组合成小端序方式与此类同。ITEMi=I00xx,I01xx,I02xx,I0Nxx,取ITEMi中任意两个相邻的项I0mx1x2,I0(m+1)x3x4,将其组合成一个大端字节序整数 ,PLENiTi表示包长,MViBm= PLENiPLm,若MViBmminus, +minus,则将MViBm编码为EMViBm=0mMViBm,其中前2位表示位置,其值与组合PL值的2个项的第1个项的位置相同,第3位表示符号,后面可变长位表示MViBm的值。并将EMViBm插入到EMViB中,EMViB是所有满足上述条件的EMViBm集合,将EMViB 作为DXB中的一条记录,DXB中存储DX中满足包长与所组合的大端序整数差值属于minus,+minus的经过编码的项。因为假设满足一个特征字符串的协议的包长属性字段位置相同,所以只有一个位置可能是包长属性字段,因此只用挖掘频繁1项集中支持度最高的一级频繁项,若其支持度大于某个阈值p1%(如95%),则认为满足该特征字符串的协议包含包长属性字段,其满足包长与包长属性字段差值为MViBm的特征,并将其与特征字符串相组合。否则说明该特征字符串不满足包长特征,直接返回。上述所挖掘的包长特征虽然不能提高识别率,但却极大地提高准确率。2.6 准特征过滤及生成特征文件经过频繁项集过滤和包长特征挖掘后的所有特征字符串及特征字符串与包长特征的组合称之为准特征集,准特征集中可能包含大量冗余特征和不可靠特征,所以要对其进行精简以提高准确率和识别速度,具体包括过滤冗余特征和弱特征。对准特征集中任意2个准特征X和Y,计算sup(X)、sup(Y)、sup(XY),如果sup(X)sup(Y)且sup(XY)sup(Y)p3%(如95%),则认为Y是冗余特征,因为Y是从挖掘X的事务中挖掘得到的,能挖掘到X已经隐含的包含了Y。弱特征只是频繁1项集的准特征,因为其出现的概率为1/256,会造成较高的误识别,所以要将其过滤;若过滤后的准特征集中所有准特征的字节识别率或数据包识别率之和小于p4%,则迭代挖掘所提取的偏移大于等于2的数据包的数据,直到总识别率达到p4%以上或者挖掘完所提取的所有相同偏移的数据包;根据现有准特征生成协议所对应的特征文件。对于那些挖掘了所有相同偏移数据包后识别率仍未达到p4%的协议进行分析发现,识别率低是因为采用了加密机制,特征字符串已经没有规律可寻,而不是因为提取的相同偏移数据少,没有包含所有的特征。至此就可以运行流量识别程序进行实时在线识别了。图1是迅雷的一个采用TCP通信的识别特征在特征文件中的表示,该识别特征是特征字符串和包长属性字段特征的组合。 表示一个识别特征的开始与结束。 之间表示包长属性字段系特征,图1中表示包长属性字段位于应用层载荷的第3和第4个字节,用大端序整数表示,其值等于数据包的包长减8。 之间表示具体位置的字节内容,offset表示位置,content表示内容,多个字节组成一个特征字符串。图1 迅雷的一个识别特征3 实验与结果分析本文用识别率、准确率、正误识别率和负误识别率4个指标从不同方面对自动提取的应用层协议识别特征进行实验验证。实验结果除了用来评价特征的各项指标之外,还可以作为调节识别特征提取过程的参数,以使自动提取的识别特征可以达到较高的识别率,同时又保证较高的准确率和较低的误识别率。表1列出了所用的测试集和训练集中各自应用的流量分布,其中HTTP和FTP的流量为混合在其他应用的Trace中的混杂流量,实验分别对自动提取的BitTorrent、Thunder等7种协议的识别特征进行了识别率、准确率和误识别率分析。表1 训练集和测试集中各应用的分布情况协议训练集测试集包个数字节数包个数字节数HTTP48 19530 773 45635 19822 724 529FTP12 216944 343106 48588 767 909BitTorrent997 733679 896 085858 638616 312 691POCO847 001516 957 1791 131 973685 220 963Thunder1 536 169805 376 0391 353 052704 543 351PPlive1 298 893626 197 6691 032 027445 627 705PPstream688 291438 204 962759 316391 267 378QQlive756 955392 545 572812 438436 814 360eMule813 096566 587 368646 142426 832 885测试过程分单协议测试环境和综合测试环境。单协议测试环境指特征库中只保留所测试协议的识别特征。综合测试环境指特征库中保留多种协议的识别特征,能够同时识别多种协议。3.1 识别率定义6 识别率:在单协议测试环境下,用自动提取的某种协议的识别特征所识别的流量占该协议总流量的百分比。流量可以用字节数或数据包数来度量,所以识别率又包括包识别率(PIR, packet identification rate)和字节识别率(BIR, byte identification rate)。该指标能够度量挖掘的协议识别特征的完全性。图2 各应用的识别率图2左边2列分别表示各应用在训练Trace中的包识别率(PIR)和字节识别率(BIR)。右边2列表示各应用在测试Trace中的包识别率(PIR)和字节识别率(BIR)。除了eMule外,其他几个应用的包识别率都达到96%以上,字节识别率都达到97%以上,eMule识别率低的原因是其TCP采用了加密机制,经过加密后的应用层载荷没有字符串特征,所以目前对eMule基于TCP通信的流量识别能力有限。对加密流量的识别是本文后续要研究的内容,就目前来说加密的协议还占少数,目前的识别方法在总体上还是能达到较好的效果。3.2 准确率定义7 准确率:在被识别为某种协议的流量中真正是该协议的流量所占的百分比。准确率包括包准确率(PAR, packet accuracy rate)和字节准确率(BAR, byte accuracy rate)。该指标能够度量挖掘的协议识别特征的正确性。在最初的实验过程中,用自动提取的协议识别特征进行识别虽然可以得到较高的识别率,但有几种协议的准确率却很低,误识别率也较高。通过分析发现,挖掘到的这几种协议的识别特征中同时含有HTTP和FTP协议以及全零特征字符串特征,且这3种协议识别特征所对应的流量也较大。不同协议同时挖掘出HTTP和FTP协议特征的原因是训练Trace不纯净,混合进了这2种协议的流量。虽然在捕获训练Trace时只打开一种应用软件,但由于目前许多软件很多都在页面上嵌入一些广告,这些广告采用HTTP协议传输,而且有些软件也同时支持基于HTTP协议或者FTP协议的文件下载或者数据传输,这导致虽然只采用一种软件进行通信,但却产生了不同协议的流量,并且这2种协议的流量占总流量的比例相对较大,如果不将其过滤掉,将会在挖掘本协议特征的同时挖掘出HTTP或FTP协议特征,导致了协议间严重的误识别。解决方法:在从训练Trace中提取数据前,首先过滤训练Trace中混杂的HTTP和FTP流量。在不同协议中同时挖掘出全零特征字符串特征的原因可能是很多协议采用零填充机制而导致数据中存在大量内容为零的字节。但全零特征字符串是不可靠的,因为其能够标识的信息相对较少,实际中不太可能被当作特征。且从多种协议中都挖掘到全零特征,不将其过滤会导致协议间的交叉误识别。过滤上述3种混合特征后,准确率依旧不高,进一步分析所挖掘协议的识别特征,发现存在一些特征在单协议测试环境下其所对应的字节识别率和数据包识别率都很低,而这些特征大多不是本协议的识别特征而是其他协议的特征,它与HTTP及FTP混合特征所不同的是: 混合特征在本协议的训练Trace中能够识别的流量很少; 混合特征只在其他所挖掘的少数几个协议特征中出现。所以这种特征会导致少数几个协议之间误识别。产生这种特征的原因仍旧是训练Trace中混有了少数其他协议的流量,但因不确定是哪种协议且混合流量所占的比例相对较少,所以不能用上述混合流量过滤方法将其过滤,但因其混合流量较少,可以对从训练Trace中所挖掘的特征所对应的字节识别率和包识别率设定一个阈值,将小于这个阈值的特征过滤。实验结果表示,过滤掉的字节识别率和数据包识别率都小于1%的特征后准确率有极大的提高(如图3所示),同时识别率基本上没有改变。图3 各应用的数据包准确率和字节准确率图3左边2列分别表示各应用在训练Trace中的包准确率(PAR)和字节准确率(BAR)。右边2列表示各应用在测试Trace中的包准确率(PAR)和字节准确率(BAR)。根据对准确率的分析,对识别过程进行了以下改进: 原先假设训练Trace纯净不成立,需要对训练Trace进行主要混杂流量过滤(由于篇幅所限,过滤方法不再详述),再从中提取信息; 在准特征过滤的过程中过滤掉全零字符串特征以及字节识别率和数据包识别率低于p5%的特征。3.3 误识别率误识别率包括正误识别率和负误识别率。定义8 正误识别率:在单协议测试环境下,用自动提取的某种应用层协议的识别特征,把不是该协议的流量识别为该协议流量的概率。正误识别率包括包正误识别率(PPIER, packet positive identification error rate)和字节正误识别率(BPIER, byte positive identification error rate)。该指标能够度量所挖掘的特征范围是否太宽而包含其他协议的特征,或者训练Trace的纯净度。定义9 负误识别率:在综合测试环境下,对某具体协议的Trace进行识别,该Trace中的流量被识别为其他协议的概率。负误识别率包括包负误识别率(PNIER, packet negative identification error rate)和字节负误识别率(BNIER, byte negative identification error rate)。此指标与正误识别率有很大的相似之处,引入它的主要目的是增强协议识别特征之间的独立性,使得不会因增加对新协议的识别而降低原有协议识别的准确率。当增加对新协议的识别时,正误识别率验证新增加的协议是否会识别其他协议的流量,而负误识别率可判断别的协议的特征是否会识别新协议对应的流量,若2个指标值都很低则认为新协议的特征可行,否则需进一步过滤,以此保证了增加对新协议的识别而不影响原有协议的识别结果。图4左边2列分别表示各应用在训练Trace中的包正误识别率(PPIEP)和字节正误识别率(BPIEP)。右边2列表示各应用在训练Trace中的包负误识别率(PNIER)和字节负误识别率(BNIER)。图4 训练TRACE下各应用的正误识别率测试Trace下各应用的正误识别率基本为0,负误识别率最大的只为0.0009%。4 结束语本方法自动从训练Trace中提取数据,基于Apriori算法挖掘处理所提取的数据,并对结果过滤和修正,把当前识别协议特征的人工分析过程转化为计算机自动挖掘处理的过程,提取协议识别特征的效率得到极大的提高,同时用4个指标监督指导挖掘处理全过程,保证了提取的协议识别特征的准确性、完全性和可靠性,这使得以前随着识别协议的增多,协议之间的误识别率增高的现象有很大的改变。该方法是基于Apriori算法寻找频繁项集的,Apriori算法得到每一级频繁项集前,都会产生候选频繁项集,随着频繁项的增长,累计产生的候选项集急剧升高,此外要对每个候选频繁项都扫描一次数据库,累计检查它的频繁性。例如,为发现长度为100的频繁项,必须产生2100个候选频繁项,这将导致Apriori算法本身效率不高。以后计划用频繁模式增长(FP-Growth)算法17替代Apriori算法寻找频繁项集,此方法不产生候选频繁项集,效率比Apriori算法有很大提高。对加密协议的特征的挖掘分析是本文的另一个深入研究方向。参考文献:1THOMAS K, ANDRE B, NEVIL B. File-sharing in the Internet: a Characterization of P2P Traffic in the BackboneR. UC, Riverside, 2003.2SUBHABRATA S, OLIVER S, WANG D M. Accurate, scalable in network identification of P2P traffic using application signaturesA. International World Wide Web ConferenceC. New York,2004.3KARAGIANNIS T, PAPAGIANNAKI K, FALOUTSOS M. BLINC: multilevel traffic classification in the darkA. Proc of ACM SIGCOMMC. Philadelphia, PA, 2005.4KARAGIANNIS T, BROIDO A, FALOUTSOS M. Transport layer identification of P2P trafficA. Proc of ACM SIGCOMM IMCC. Taormina, Sicily, Italy, 2004. 5ZANDER S, NGUYEN1 T, ARMITAGE1 G. Self-learning IP traffic classification based on statistical flow characteristicsA. Proc of PAMC. Boston, MA, 2005.6ZUEV D, MOORE A W. Traffic classification using a statistical approachA. Proc of PAMC. Boston, 2005.7HERN F, NOBEL A B, SMITH F D. Statistical clustering of internet communication patternsA. Proceedings of the 35th Symposium on the Interface of Computing Science and Statistics, Computing Science and StatisticsC. 2003.8MOORE A W, ZUEV D. Discriminators for se in Flow-Based ClassificationR. Intel Research, Cambridge, 2005.9MOORE A W, ZUEV D. Internet traffic classification using bayesian analysis techniquesA. Proc of ACM SIGMETRICSC. Banff, Alberta, Canada. 2005.10HAFFNER P, SEN S, SPATSCHECK O. ACAS: automated construction of a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议模板:离婚后共同子女抚养权与监护权合同
- 住宅小区扩建坟墓迁移与居民安置协议
- 劳务派遣三方合作协议:保障员工权益与合规操作
- 离婚双方关于人寿保险权益分割与执行协议
- 汽车美容店租赁合同(含技术支持及培训)
- 流动的旋律课件
- 植树方案制定课件
- 数学月饼统计课件
- 媒体技术职业测试题及答案
- 建设银行2025辽源市秋招笔试价值观测评题专练及答案
- 2025年保健按摩师(五级)资格理论必背考试题库(附答案)
- 抖音员工合同协议书模板
- DB32/T 3636-2019车用汽油中甲缩醛含量的测定多维气相色谱法
- 2025年部编版道德与法治六年级上册全册教案设计(共4个单元含有教学计划)
- 股东出资协议书合同
- 报考纪检公务员面试题及答案
- 生产考核奖惩管理办法
- 2025年度策划居间合作协议书样本
- DB45∕T 2789-2023 壮医药线点灸治疗护理技术操作规范
- 高分子化学6-离子聚合-阴离子聚合
- 行测5000题电子版2025
评论
0/150
提交评论