基于多级决策树的协议识别方法

文档序号:7980964阅读:343来源:国知局
基于多级决策树的协议识别方法
【专利摘要】本发明提供了一种基于多级决策树的协议识别方法,其特征在于,包括步骤:S1.对网络流统计特征进行l级分类;S2.根据所提取的网络流统计特征自身的分类特点,训练l级决策树;S3.利用训练得到的l级决策树识别背景流量中的协议。本发明的方法不仅能够合理地利用统计特征中蕴含的知识,提升协议识别系统的性能,还能够有效应对日益增多的网络协议带来的挑战,特别是对日益流行的交互式协议识别具有较好的效果。本发明的方法可以为高速网络中高性能流量分类系统、内容监控系统的设计和实现提供技术支持。
【专利说明】基于多级决策树的协议识别方法
【技术领域】
[0001]本发明属于网络技术中协议识别【技术领域】,尤其涉及一种基于多级决策树的协议识别方法。
【背景技术】
[0002]随着高速网络技术和多媒体技术的飞速发展,业界越来越多地提出了包括多媒体通信在内的综合服务要求。然而,急速增长的用户数量和网络流量不断降低网络性能,尤其是一些非商务应用(例如:P2P、多媒体和网络游戏)占据了大量带宽,严重影响了关键业务的正常使用。网络协议识别技术能够保障关键业务,解决网络拥塞,逐渐成为了国内外的研究热点。
[0003]最早出现的协议识别技术是基于端口映射的协议识别技术。该技术利用端口号对协议进行识别,方法简单,所需信息少,时空复杂度低。但由于新出现的协议都不在IANA中注册其端口号,算法所能识别的协议在总协议数量中所占的比重越来越少。此外,网络中的很多协议使用动态端口,也是导致该方法失效的原因。
[0004]针对基于端口映射的协议识别技术的问题,业界提出了利用数据包的载荷部分对协议进行识别的技术。基于数据包载荷的协议识别技术首先利用逆向工程将协议或软件分解或者解析,解明它们的结构、使用方法及目的、组成部件与要素技术的原理,并从中找出能够识别协议的数据包载荷关键字。之后,利用高效的模式匹配及正则表达式匹配算法,在背景流量中寻找关键字,以达到协议识别的目的。然而,随着网络环境的日益复杂,越来越多的应用层协议采用加密协议加密数据包载荷。在这种情况下,寻找数据包载荷关键的难度越来越大,最终导致基于数据包载荷的协议识别技术严重失效。此外,由于该技术需要第三方监听网络载荷内容,在被政府的隐私保护法规限制时,监听方法的功能和作用会被大大减弱。
[0005]近年来,基于统计特征的协议识别技术逐渐成为业界关注的热点。不同于基于数据包载荷的协议识别技术,基于统计特征的协议识别技术着眼于网络流,从网络流中提取大量统计特征,并利用这些统计特征实现协议识别。传统上把网络流定义为具有相同五元组(〈源地址,目的地址,源端口,目的端口,协议 >)的数据包的集合。基于统计特征的协议识别技术的假设前提是不同协议会有其特有的网络流统计特性,并以此来识别不同的加密协议。由于该技术引入了大量的统计信息作为基本参考因素,所以它不可避免地将机器学习的方法结合到了识别中,期望取得更好的协议识别性能。机器学习方法使计算机能够模拟人类的学习活动,识别和获取已有知识,建立和不断完善学习模型,并且能够根据已有知识对新的信息进行处理。机器学习方法于2004年被引入到协议识别技术中,根据流量具有的统计特性对协议进行识别。例如,网络流持续时间的分布特性,流空闲时间,包间隔时间,包长度等信息,对于协议识别来说,是特有的信息。它们都可以作为判别式的特征被机器学习模型利用进行协议识别。
[0006]随着网络技术的不断发展,新型应用层协议层出不穷,而不同的协议在不同的统计特征上体现不同。一方面,为了更好地识别协议,越来越多的网络流统计特征被提出来用于训练机器学习模型;另一方面,越来越多的统计特征也对机器学习模型提出了新的要求:首先,越来越多的统计特征势必会造成机器学习模型所处空间维数的增大,而多数机器学习算法都易受到空间维数的影响,在高维空间中的识别效果较差;其次,虽然统计特征均是从网络流中提取,这些特征本身也存在一定的分类。例如,对于某些交互式协议,我们可以按照协议所处的阶段对提取的统计特征进行分类。这些分类本身蕴含的知识能够进一步提升机器学习模型的性能。
[0007]合理利用大量的网络流统计特征进行协议识别,不仅能够极大地提升基于统计特征的协议识别系统的性能,还能够应对不断增多的协议带来的挑战。然而,目前大多数基于统计特征的协议识别方法仅是简单地将大量的统计特征输入到模型中进行训练和检测,并没有合理的利用统计特征中蕴含的知识,影响了协议识别系统的性能。特别是随着网络协议越来越丰富,协议识别系统需要处理更多的统计特征,使得基于统计特征的协议识别技术面临更大的挑战。
[0008]
【发明内容】

[0009](一)要解决的技术问题
[0010]本发明所要解决的技术问题是:如何提供一种基于统计特征的协议识别方法,能够更好地利用蕴含在大量统计特征中的知识,提升基于统计特征的协议识别系统的性能,以应对迅速增多的协议所带来的挑战。
[0011](二)技术方案
[0012]为了解决上述问题,本发明提供了一种基于多级决策树的协议识别方法,其特征在于,包括步骤:S1.对网络流统计特征进行I级分类;S2.根据所提取的网络流统计特征自身的分类特点,训练I级决策树;S3.利用训练得到的I级决策树识别背景流量中的协议。
[0013]优选地,步骤SI包括:S1.1将未分类的网络流特征定为类别数为ci的第i级分类;S1.2将第i级分类中的每一个类别继续分类,分类后,对于第i级分类的第j个类别得到个分类;S1.3i加1,若i > 1,则执行步骤S2,否则,返回执行步骤S1.2 ;其中,变量i表示分类的级数,变量ci表示第i级分类的类别数。
[0014]优选地,i=l,且ci=l。
[0015]优选地,步骤S2包括:S2.1从训练集中提取网络流统计特征构造初始训练特征集;S2.2根据网络流统计特征的I级分类,使用初始训练特征集训练多级决策树。
[0016]优选地,训练集是一组包含需要识别协议流量的集合。
[0017]优选地,步骤S2.2包括:S2.21根据第I级分类,将初始训练特征集划分成若干个第I级训练子集;S2.22利用划分得到的第I级训练子集训练第I级决策树集;S2.23将第I级训练子集输入第I级决策树集,每个决策树负责处理各自的类别中的统计特征,计算得到该类别每一个统计特征向量的protocol和errate ;S2.24初始化计数变量k=l ;S2.25若l>k,则根据第Ι-k级分类,将第l-k+Ι级决策树集处理结果划分成若干个第Ι-k级训练子集,否则,执行步骤S3 ;S2.26利用划分得到的第Ι-k级训练子集训练第Ι-k级决策树集;
S2.27若l>k+l,则将第Ι-k级训练子集输入第Ι-k级决策树集,每个决策树负责处理各自的类别中的特征向量,计算得到该类别每一个特征向量的protocol和errate,否则,执行步骤S3 ;S2.28k加1,返回执行S2.25。
[0018]优选地,在步骤S2.21中,每个子集包含第I级分类中一个类别的统计特征,以及该特征对应网络流所属的协议。
[0019]优选地,在步骤S2.22中,每一个第I级训练子集训练一个第I级决策树,训练得到的决策树构成第I级决策树集。
[0020]优选地,在步骤S2.23中,protocol是一个第I级决策树判定该类别的一个特征向量所属的协议;errate是该决策树判定该特征向量是protocol的错误率,由下式计算得到
【权利要求】
1.一种基于多级决策树的协议识别方法,其特征在于,包括步骤: 51.对网络流统计特征进行I级分类; 52.根据所提取的网络流统计特征自身的分类特点,训练I级决策树; 53.利用训练得到的I级决策树识别背景流量中的协议。
2.如权利要求1所述的方法,其特征在于,步骤SI包括: S1.1将未分类的网络流特征定为类别数为ci的第i级分类; S1.2将第i级分类中的每一个类别继续分类,分类后,对于第i级分类的第j个类别得到6./个分类; 51.3i加1,若i>l,则执行步骤S2,否则,返回执行步骤S1.2 ; 其中,变量i表示分类的级数,变量ci表示第i级分类的类别数。
3.如权利要求2所述的方法,其特征在于: i=l,? ci=l。
4.如权利要求1所述的方法,其特征在于,步骤S2包括: 52.1从训练集中提取网络流统计特征构造初始训练特征集; S2.2根据网络流统计特征的I级分类,使用初始训练特征集训练多级决策树。·
5.如权利要求4所述的方法,其特征在于: 训练集是一组包含需要识别协议流量的集合。
6.如权利要求4所述的方法,其特征在于,步骤S2.2包括: S2.21根据第I级分类,将初始训练特征集划分成若干个第I级训练子集; S2.22利用划分得到的第I级训练子集训练第I级决策树集; S2.23将第I级训练子集输入第I级决策树集,每个决策树负责处理各自的类别中的统计特征,计算得到该类别每一个统计特征向量的protocol和errate ; S2.24初始化计数变量k=l ; S2.25若l>k,则根据第Ι-k级分类,将第l-k+Ι级决策树集处理结果划分成若干个第Ι-k级训练子集,否则,执行步骤S3 ; S2.26利用划分得到的第Ι-k级训练子集训练第Ι-k级决策树集; S2.27若l>k+l,则将第Ι-k级训练子集输入第Ι-k级决策树集,每个决策树负责处理各自的类别中的特征向量,计算得到该类别每一个特征向量的protocol和errate,否则,执行步骤S3 ; S2.28k加1,返回执行S2.25。
7.如权利要求6所述的方法,其特征在于: 在步骤S2.21中,每个子集包含第I级分类中一个类别的统计特征,以及该特征对应网络流所属的协议。
8.如权利要求6所述的方法,其特征在于: 在步骤S2.22中,每一个第I级训练子集训练一个第I级决策树,训练得到的决策树构成第I级决策树集。
9.如权利要求6所述的方法,其特征在于: 在步骤S2.23中,protocol是一个第I级决策树判定该类别的一个特征向量所属的协议;errate是该决策树判定该特征向量是protocol的错误率,由下式计算得到
10.如权利要求1所述的方法,其特征在于,步骤S3包括: S3.1提取背景流量中一个网络流的统计特征; S3.2初始化计数变量k=l ;S3.3根据第I级分类,将该网络流的统计特征进行分类,得到第I级统计特征向量子集; S3.4将第I级统计特征向量子集输入到第I级决策树集,若l>k,则计算每类的protocol和errate,否则,输出第I级决策树集的识别结果,并返回执行S3.1 ;S3.5根据第Ι-k级分类,将第l-k+Ι级识别结果进行分类,得到第Ι-k级特征向量子集; S3.6将第Ι-k级特征向量子集输入到第Ι-k级决策树集,若l>k+l,则计算每类的protocol和errate,否则,输出第l_k级决策树集的识别结果,并返回执行S3.1 ; S3.7k加1,返回执行S3.5。
【文档编号】H04L29/06GK103546441SQ201210246438
【公开日】2014年1月29日 申请日期:2012年7月16日 优先权日:2012年7月16日
【发明者】薛一波, 王大伟 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1