一种状态化应用的盲识别方法

文档序号:7955288阅读:292来源:国知局
专利名称:一种状态化应用的盲识别方法
技术领域
本发明属于网络技术领域,特别是涉及对网络中的应用层数据流的分类控制技术。
背景技术
传统的对网络中的数据流进行控制的方式,都是基于在网络层和传输层上的流的分类。最近已经发展到在应用层上的基于应用、内容和用户的分类。基于这种应用层的分类技术,可以对关键应用、关键内容和关键用户提供带宽保证,对抢占带宽型的应用和用户加以带宽限制,对非关键性应用进行动态带宽分配,以改善网络服务质量,并防范网络攻击。另一个重要发展是,在对协议的深层次分析的基础上,进行有状态的跟踪,即通过重新构建应用层流的状态,来跟踪分析各种复杂的协议,由此可以识别与传统的基于静态服务器端口的方式不同的动态端口应用(例如Smart Tunnel)、与传统的客户机-服务器方式不同的P2P应用、采用隧道方式的VPN/MPLS/L2TP应用、以及包含了IP话音(VoIP)和多媒体流协议等复杂关系的应用等。第三个重要发展是,提供专门的编程语言,使得可以对匹配规则进行定义,以适用于各种类型的应用以及将这种应用层的分类和控制技术扩展到新的协议和新的领域。
关键的技术是规则的定义和规则匹配技术。这些规则的定义主要依赖于厂家的预设和后续升级,适用于对标准通用的应用层协议的跟踪与识别。特殊类型的应用,则完全依赖于网络管理员对应用的理解和设置。由于主干网上的应用模式很多,且经常变化,许多非标准通用的应用模式无法事先获知,也不容易借助已有的规则来发现它们并提取其特征。因而这种工厂或人工预设的(也即静态的)规则定义和匹配方式,不适用于主干网上未知应用模式的发现、识别和分类。其次,现有的状态化跟踪技术,是建立在对现有600多种应用层协议的深刻理解的基础之上的,它必须能够预见协议过程中各种可能的情况,并找到其关键特征来实施状态化跟踪。但由于会话过程中的数据包来回路径可能不同,加上网络上各级缓存的影响(例如Web Proxy可能会响应部分请求)和数据包的丢失等,中间的监控设备可能无法观测到协议的全过程,因而有可能失去对状态的同步跟踪。在这种情况下,要求一个普通的网络管理人员,通过专门的编程语言来实现对某种新应用的状态化跟踪,显然是不现实的或者是高成本的。这种状态化跟踪方法更不适用于在主干网上对未知应用模式的状态化跟踪,因为主干网管理人员相比于企业网的管理人员,对新型非标准的应用更缺乏先验知识。
在现行的基于IPv4的Internet,特别是正在发展中的基于IPv6的下一代Internet上,新协议和新应用层出不穷。要有效地对这些新型业务流进行分析、分类、识别和控制,我们就需要有一个通用的方法来描述各种状态化的协议和应用,包括已知的和未知的,以适用于当前的和未来的各种业务,并可以将它应用于企业网和主干网,降低应用层协议分析的复杂性和设备的成本,减少人工管理的开销。它还要能够用通用的量来对各种协议过程和应用流进行统一的测量,以避免对不同协议过程的不同评估方法。

发明内容
本发明的目的在于提出一种通用的方法来描述各种状态化的协议和应用所产生的应用层的数据流,用于对当前的和未来的各种状态化协议和应用的识别,降低状态化协议和应用分析的复杂性;利用这种通用的识别方法,在没有先验知识的情况下,发现新的应用模式和新型网络攻击。
为了实现发明目的,采用的技术方案为构建一种状态化应用的盲识别方法,用于在没有先验知识的情况下对当前和未来的各种状态化应用的描述、分类和识别,以及发现新的应用模式和新型网络攻击,其特征在于采用应用层数据流的聚类分析方法、隐马尔可夫模型建模方法和自动识别方法对所述状态化应用及其隐含的状态化协议进行分析、建模、识别和控制。
所述状态化协议是任何能够用状态转移关系描述的网络协议,所述状态化应用是任何可以用状态转移过程来描述的网络应用。
具体来说,上述各种方法的技术方案如下所述应用层数据流的聚类分析方法具体如下(1)通过数据包重组应用层数据,并将会话过程中发送和接收这两个方向传输的应用层数据,按照它们出现的时间顺序交叉在一起组成应用层数据流;(2)利用会话过程中的交互关系、和/或时间间隔、和/或文件结尾标志将应用层数据流分割成段;(3)采用生物信息学中通用的最佳序列相似性分析方法计算任意两个段所包含的字符序列的相似度;(4)将一个数据流的段与另一个数据流的段的相似度组成一个m×n矩阵,设m≤n,并把矩阵每行的最大值的平均值作为这两个数据流的相似度;然后,按照这个相似度对数据流进行聚类分析,从而得到一至多个数据流类,每个数据流类代表一个不同的状态化应用类型;(5)对每个数据流类中的段的集合,按照段的相似度再进行聚类分析,形成一至多个段类;然后按照生物信息学中通用的序列相似性查询技术,对每个段进行频率变换;把每个段类中所有段的频率向量的平均向量作为该段类的参考中心;采用序列相似性查询技术定义段与段类参考中心的距离。
所述应用层数据流的聚类分析方法还包括对新采集到的应用层数据流进行模式识别,具体方法如下(A)对于新采集到的应用层数据流,采用上述步骤(2)所述分段方法将其分段;(B)通过步骤(5)计算新采集的段与任一数据流类TS中每一个段类的参考中心的距离;(C)将新采集倒的数据流的m个段与数据流类TS的n个段类的参考中心的距离组成一个m×n矩阵,把每行的最小值的平均值,作为该数据流与数据流类TS的距离;把该数据流分类归入到与它的距离最小的数据流类里面;所述隐马尔可夫模型建模方法,具体如下(a)将每个数据流类所包含的所有数据流作为其训练集,记为TS;统计TS中段类的个数M0、段类m的成员个数m0、从段类m中的段到段类n中的段的转移频率gmn、以及它们之间到达的时间间隔τ的分布fmn(τ),段w与段类m参考中心的距离dw的分布fm(dw);(b)令M是隐马尔可夫模型的状态数,amn代表从状态m到n的转移概率,pmn(τ)代表从状态m到n的转移时间为τ的概率,bm(w)代表在状态m时观测到段w的概率,πm代表初始状态概率分布;然后,给所有这些模型参数赋初值令M=M0,amn=gmn,pmn(τ)=fmn(τ),bm(w)=fm(dw),πm=m0,最后,对amn、bm(w)、pm(d)、πm进行归一化处理,使得Σnamn=1,]]>Στpmn(τ)=1,]]>Σwbm(w)=1,]]>Σmπm=1;]]>(c)定义前向变量αt(m)=Pr[o1t,st=m|Ω]]]>和反向变量βt(m)=Pr[ot+1T|st=m,Ω],]]>其中,Ω是给定的模型参数,st是在第t个段到达时的状态,ot=(wt,τt)代表第t个观测向量,即观测到段wt和该段与前一段的时间间隔τt,o1t是到t为止的观测向量序列,ot+1T是从t+1到T的观测向量序列,T是流中段的个数;(d)采用前向算法α0(m)=πm,αt(m)=Σnαt-1(n)anmpnm(τt)bm(wt),]]>1≤t≤T,得到{αt(m)};采用反向算法βT(m)=1,βt(m)=Σnamnpmn(τt+1)βt+1(n)bn(wt+1),]]>t=T-1,...,1,得到{βt(m)};(e)计算γt(m)=Pr[st=m|o1T,Ω]=αt(m)βt(m)Pr[o1T|Ω],]]>1≤t≤T,得到{γt(m)};计算ξt(m,n)=Pr[st=m,st+1=n|o1T,Ω]=αt(m)amnpmn(τt+1)bn(wt+1)βt+1(n)Pr[o1T|P],]]>得到{ξt(m,n)};(f)对训练集TS中每一个流i,采用步骤(4)和(5)计算{γt(i)(m)}和{ξt(i)(m,n)};(g)令a^mn=Σi∈TSΣtξt(i)(m,n)]]>p^mn(τ)=Σi∈TSΣt:τt=τξt(i)(m,n)]]>
b^m=Σi∈TSΣt:wt=wγt(i)(m)]]>π^m=Σi∈TSγ1(i)(m)]]>(h)对进行归一化处理,使得Σna^mn=1,]]>Στp^mn(τ)=1,]]>Σwb^m(w)=1,]]>Σmπ^m=1;]]>由此得到模型参数的一次估计;将估计得到的参数作为新的模型参数;(i)重复执行步骤(6)-(8)直到模型参数收敛;(j)用X=1Tlog2Pr[o1T|Ω]=1Tlog2Σm=1MαT(m)]]>计算每个数据流的熵X;记录这些熵的均值μ和均方差σ;将A=|X-μ|σ]]>的最大值Amax作为TS的参考偏差。
本发明所述的自动识别方法通过异常程度测量方法测量数据流与状态化应用模型符合的程度,所述异常程度测量方法具体如下(i)对于一个数据流和所对应的状态化应用模型,采用所述隐马尔可夫模型前向算法计算{αT(m)};(ii)计算它的熵X=1Tlog2Σm=1MαT(m);]]>再计算它相对于该状态化应用类型中该类应用中大多数正常流的异常程度A=|X-μ|σ;]]>(iii)如果A>Amax,则认为该流过于异常,有可能是一种新的应用模式或者攻击;(iv)由公式S^T=argmaxm∈SαT(m)]]>估计流的当前状态。
本发明还通过应用层数据流的控制方法,把在线进行的异常程度测量的结果用于对应用层数据流的基于异常程度的控制,所述应用层数据流的控制方法包括不同优先级服务、不同带宽分配、不同路径选择、攻击流过滤、基于状态的控制。
本发明的优点在于(1)揭示一个通用建模方法来描述各种状态化协议或者状态化应用,与传统的基于特征匹配的状态化跟踪方法相比,这是一种基于统计特征的隐马尔可夫模型建模方法,因而可以适用于当前的和未来的各种状态化协议和应用,降低了应用层协议分析的复杂性和人工设置匹配规则的开销,以及在没有先验知识的情况下,发现新的协议过程、应用模式和新型网络攻击,因而特别适用于在主干网上使用;(2)揭示了一种新的分类技术,它通过测量状态化应用与已知隐马尔可夫模型的符合程度来进行流的模式识别和分类;在分类的基础上测量流的异常程度,同时估计流的当前的状态;因此,通过这种多层次的分类,使得系统可以对各种流进行细粒度的分析,并在不同的层次上进行分类控制,包括按照状态化协议和应用的类型进行分类控制、按照当前状态进行控制、按照异常程度进行控制等;


附图1为本发明的一个实施例的系统结构图。
具体实施例方式
下面结合附图对本发明做进一步的说明。
本发明的系统结构如附图1所示。包括流采集模块,用于从数据包中提取应用层数据,并重组应用层数据流;通用建模模块,用于对采集的应用层数据流样本进行聚类分析和建模,并为模式识别模块提供参数;模式识别模块,用于在线对应用层数据流进行分类和测量,为对后续的数据包进行分类控制提供参考;控制模块,用于对应用层数据流进行实时的分类控制。
流采集模块包括数据包解析子模块、应用层数据流重组子模块、分段与时间间隔记录子模块、压缩子模块。
当从链路上接收到一个数据包时,数据包解析子模块对该数据包进行各协议层次的解析,得到应用层数据,并将它放到高速缓存内,与以前采集的数据一起进行应用层数据流的重组。应用层数据流通过源目IP地址、协议、源目端口号、TOS/DSCP等进行区分,并且会话过程中两个方向传输的应用层数据流,作为同一个流,按照出现的时间顺序交叉在一起。分段与时间间隔记录子模块,根据当前的数据包与该流的前一个数据包的传输方向及时间间隔的长短,进行分段,即当方向相反或者方向相同但时间间隔大于若干个来回时延RTT时,例如大于2RTT时,将已经积累的数据作为一个段,而当前采集的数据作为下一个段的开始;如果当前采集的数据尾部含有文件结尾标志,则将该数据与已有数据一起作为一个段。该子模块还负责记录段尾之间的到达时间间隔。新采集的段将放到队列内等待后续模块的处理。压缩子模块将段压缩后存储到存储空间内,并同时存储它的流的属性和它与前一段之间的时间间隔。
通用建模模块包括段的相似性分析子模块、流的聚类分析子模块、段模式提取子模块、HMM参数估计子模块。
当存储空间中存储的流的样本数目足够多时,例如大于1000,开始进行聚类分析与建模。先解压每个流的样本及其所包含的段。考虑到实际的状态化应用或者协议,往往是以关键词、状态码等作为属性和功能标记,而每个关键词或者状态码后面跟着的属性值或者具体内容可能会变化,因而本发明采用生物信息学中通用的最佳序列相似性分析方法,计算任意两个段所包含的字符序列的相似度。为此,段的相似性分析子模块将采用最佳序列相似分析方法,例如Needleman-Wunsch算法和Smith-Wateman算法等,计算段的相似度。
考虑到段在流中出现的顺序可能会变化,例如对网页浏览的顺序可能因人而异,所以在流的聚类分析中不必考虑段在流中出现的顺序。为此,流的聚类分析子模块将一个流的段与另一个流的段的相似度组成一个m×n矩阵,设m≤n,并把每行的最大值的平均值,作为这两个流的相似度;然后,按照流的相似度,对流进行聚类分析,例如按照使得最不相似的两个成员的相似度最大的原则进行聚类分析,由此得到一至多个流类,每个流类代表一个不同的状态化应用类型。
段模式提取子模块对每个流类中的段的集合,按照段的相似度进行聚类分析。这些段类代表流的各种可能的状态。然后,按照生物信息学中通用的序列相似性查询技术,例如MRS系统,对每个段进行频率变换,即将特定长度的字符串转换为字符串中各个字符出现次数的频率向量;把每个段类中所有段的频率向量的平均向量,作为该段类的参考中心,并按照序列相似性查询技术定义段与参考中心的距离,例如采用MRS的基于正负距离定义的对两个频率向量距离的定义。
在完成对状态化应用流的聚类分析以后,HMM参数估计子模块开始为每个类型的状态化应用进行隐马尔可夫模型(HMM)建模。即把每个类所包含的所有流样本作为该类或者说该状态化应用类型的训练集,记为TS。首先统计TS中各个有意义的量,包括段类的个数M0、段类m的成员个数m0、从段类m中的段到段类n中的段的转移频率gmn、它们之间到达时间间隔τ的分布fmn(τ),段w与段类m参考中心的距离dw的分布fm(dw)等。然后,定义HMM的框架,即令M是隐马尔可夫模型的状态数,amn代表从状态m到n的转移概率,pmn(τ)代表从状态m到n的转移时间为τ的概率,bm(w)代表在状态m时观测到段w的概率,πm代表初始状态概率分布。再给所有这些模型参数赋初值令M=M0,amn=gmn,pmn(τ)=fmn(τ),bm(w)=fm(dw),πm=m0,最后,对amn、bm(w)、pm(d)、πm进行归一化处理,即使得Σnamn=1,]]>Στpmn(τ)=1,]]>Σwbm(w)=1,]]>Σmπm=1;]]>在完成模型参数的初始化以后,估计各模型参数。首先定义前向算法和反向算法如下(1)定义前向变量αt(m)=Pr[o1t,st=m|Ω]]]>和反向变量βt(m)=Pr[ot+1T|st=m,Ω],]]>其中,Ω是给定的模型参数,st是在第t个段到达时的状态,ot=(wt,τt)代表第t个观测向量,即观测到段wt和该段与前一段的时间间隔τt,o1t是到t为止的观测向量序列,ot+1T是从t+1到T的观测向量序列,T是流中段的个数;(2)前向算法α0(m)=πm,αt(m)=Σnαt-1(n)anmpnm(τt)bm(wt),]]>1≤t≤T,最后得到{αt(m)};(3)反向算法βT(m)=1,βt(m)=Σnamnpmn(τt+1)βt+1(n)bn(wt+1),]]>t=T-1,...,1,最后得到{βt(m)};(4)再由{αt(m)}和{βt(m)},计算γt(m)=Pr[st=m|o1T,Ω]=αt(m)βt(m)Pr[o1T|Ω],]]>1≤t≤T,和ξt(m,n)=Pr[st=m,st+1=n|o1T,Ω]=αt(m)amnpmn(τt+1)bn(wt+1)βt+1(n)Pr[o1T|P],]]>得到{γt(m)}和{ξt(m,n)}。
然后,用反复迭代的方法来估计模型参数。这种反复迭代的过程已经证明是或然概率增长的过程。因此,当或然概率的增长变得很小的时候(例如小于1%),则认为参数估计过程已经收敛到最大或然概率。模型参数的反复迭代估计方法如下(1)对训练集TS中每一个流i,采用所述的前向-反向算法,计算得到{γt(i)(m)}和{ξt(i)(m,n)};(2)令a^mn=Σi∈TSΣtξt(i)(m,n)]]>P^mn(τ)=Σi∈TSΣt:τt=tξt(i)(m,n)]]>b^m(w)=Σi∈TSΣt:wt=wγt(i)(m)]]>π^m=Σi∈TSγ1(i)(m)]]>(3)对进行归一化处理,使得Σna^mn=1,]]>Στp^mn(τ)=1,]]>Σwb^mn(w)=1,]]>Σmπ^m=1;]]>由此得到模型参数的一次估计;将估计得到的参数作为新的模型参数;(4)重复执行步骤(1)-(3)直到模型参数收敛;(5)用X=1Tlog2Pr[o1T|Ω]=1Tlog2Σm=1MαT(m)]]>计算每个流的熵X;记录这些熵的均值μ和均方差σ;将A=|X-μ|σ]]>的最大值Amax作为TS的参考偏差。
整个通用建模模块采用离线运行的方式,因此不会影响系统的在线运行速度。它根据需要可以隔一段时间(例如4个小时)进行一次聚类分析和HMM建模,由此对已有模型进行更新和发现新的状态化应用模型。每次运行的结果,都为模式识别模块提供用于流分类和异常程度测量的模型参数等。
模式识别模块用于对应用层数据流的在线的模式识别。它包括流的分类子模块和异常程度测量子模块。
流的分类子模块负责逐个处理队列中的每一个新采集的段。对于每个新采集的段,它首先计算新采集的段与任一流类TS中每一个段类的参考中心的距离;然后将该流的m个段与流类TS的n个段类的参考中心的距离组成一个m×n矩阵,把每行的最小值的平均值,作为该流与流类TS的距离;由此把该流分类为与它的距离最小的流类。
异常程度测量子模块将对被分类了流进行异常程度测量和状态估计,具体方法如下(1)读取该流所对应的状态化应用类型的HMM模型参数,采用所述隐马尔可夫模型前向算法,利用当前的观测向量ot=(wt,dt),即当前获取的段和时间间隔,与前一次迭代计算的结果{αt-1(m)}一起计算{αt(m)};然后将{αt(m)}缓存用于在以后获得新段时的迭代计算;(2)计算它的熵Xt=1tlog2Σm=1Mαt(m);]]>再计算它相对于该状态化应用类型中大多数正常流的异常程度At=|Xt-μ|σ;]]>(3)如果At>Amax,则认为该流过于异常,有可能是一种新的应用模式或者攻击;(4)由公式S^t=argmaxm∈Sαt(m)]]>估计得到该流的当前状态。
所以,在经过异常程度测量子模块以后,对应的流被分类标记为不同的异常程度和状态。这些标记被存放到高速缓存内,用于控制模块对应用层数据流的分类控制。其中,基于异常程度的控制是对不同流的分类控制,也就是对每一个新收到的数据包,根据其流的属性查找高速缓存中记录的所属流的异常程度,再按照该异常程度值对该数据包进行相应的优先级服务、或者带宽分配、或者路径选择、或者攻击流过滤等,所以对当前数据包的控制,是基于对包括前一个段在内的流的测量结果;与基于异常程度的控制不同,基于状态的控制是对同一个流的不同时段的不同控制,也就是根据估计的当前状态 对状态化应用流进行控制。例如,当一个用户进入在线购物状态时,给予高的优先权享用带宽;反之,当用户处于一般浏览状态时,或者下载文件状态时,给予较低的优先权;另外,对于那些段数过少或者与现有各段类距离太远的流,因为还不能可靠分类,控制模块将分配一个速率受限的通道给这些流共享,使得这些不明类型的应用流不至于抢占和耗尽网络带宽。最后,当流的样本是从多个观测点采集并集中进行聚类分析和建模时,系统可以对分布式应用流进行分析测量,并实现网络范围的联合控制,也即通过各监控点(或者路由器)联合对分布式应用流进行优先级排队、速率限制、过滤、流量回推等控制。
权利要求
1.一种状态化应用的盲识别方法,用于在没有先验知识的情况下对当前和未来的各种状态化应用的描述、分类和识别,以及发现新的应用模式和新型网络攻击,其特征在于采用应用层数据流的聚类分析方法、隐马尔可夫模型建模方法和自动识别方法对所述状态化应用及其隐含的状态化协议进行分析、建模、识别和控制。
2.根据权利要求1所述的状态化应用的盲识别方法,其特征在于所述应用层数据流的聚类分析方法具体如下(1)从数据包重组应用层数据,并将会话过程中两个方向传输的应用层数据,按照它们出现的时间顺序交叉在一起组成所述应用层数据流;(2)利用会话过程中的交互关系、和/或时间间隔、和/或文件结尾标志将应用层数据流分割成段;(3)通过最佳序列相似性分析方法计算任意两个段所包含的字符序列的相似度;(4)将一个数据流的段与另一个数据流的段的相似度组成一个m×n矩阵,并把矩阵每行的最大值的平均值作为这两个数据流的相似度;然后,按照这个相似度对数据流进行聚类分析;得到一至多个数据流类,每个数据流类代表一个不同的状态化应用类型;(5)对每个数据流类中的段的集合,按照段的相似度再进行聚类分析,形成一至多个段类;然后按照序列相似性查询技术,对每个段进行频率变换;把每个段类中所有段的频率向量的平均向量作为该段类的参考中心;采用序列相似性查询技术定义段与段类参考中心的距离。
3.根据权利要求2所述的状态化应用的盲识别方法,其特征在于所述应用层数据流的聚类分析方法还包括对新采集到的应用层数据流进行模式识别,具体方法如下(A)对于新采集到的应用层数据流,用步骤(2)所述分段方法将其分段;(B)通过步骤(5)计算新采集的段与任一数据流类TS中每一个段类的参考中心的距离;(C)将新采集倒的数据流的m个段与数据流类TS的n个段类的参考中心的距离组成一个m×n矩阵,把每行的最小值的平均值,作为该数据流与数据流类TS的距离;把该数据流分类为与它的距离最小的数据流类。
4.根据权利要求1所述的状态化应用的盲识别方法,其特征在于所述隐马尔可夫模型参数估计方法具体如下(a)将每个数据流类所包含的所有数据流作为其训练集,记为TS;统计TS中段类的个数M0、段类m的成员个数m0、从段类m中的段到段类n中的段的转移频率gmn、它们之间到达时间间隔τ的分布fmn(τ),段w与段类m参考中心的距离dw的分布fm(dw);(b)令M是隐马尔可夫模型的状态数,amn代表从状态m到n的转移概率,pmn(τ)代表从状态m到n的转移时间为τ的概率,bm(w)代表在状态m时观测到段w的概率,πm代表初始状态概率分布;然后,给所有这些模型参数赋初值令M=M0,amn=gmnpmn(τ)=fmn(τ),bm(w)=fm(dw),πm=m0,最后,对amn、bm(w)、pm(d)、πm进行归一化处理,使得Σnamn=1,]]>Στpmn(τ)=1,]]>Σwbm(w)=1,]]>Σmπm=1;]]>(c)定义前向变量αt(m)=Pr[o1t,st=m|Ω]]]>和反向变量βt(m)=Pr[ot+1T|st=m,Ω],]]>其中,Ω是给定的模型参数,st是在第t个段到达时的状态,ot=(wt,τt)代表第t个观测向量,即观测到段wt和该段与前一段的时间间隔τt,O1t是到t为止的观测向量序列,Ot+1T是从t+1到T的观测向量序列,T是流中段的个数;(d)采用前向算法α0(m)=πm,αt(m)=Σnαt-1(n)anmpnm(τt)bm(wt),]]>1≤t≤T,得到{αt(m)};采用反向算法βT(m)=1,βt(m)=Σnamnpmn(τt+1)βt+1(n)bn(wt+1),]]>t=T-1,...,1,得到{βt(m)};(e)计算γt(m)=Pr[st=m|o1T,Ω]=αt(m)βt(m)Pr[o1T|Ω],]]>1≤t≤T,得到{γt(m)};计算ξt(m,n)=Pr[st=m,st+1=n|o1T,Ω]=αt(m)amnpmn(τt+1)bn(wt+1)βt+1(n)Pr[o1T|P],]]>得到{ξt(m,n)};(f)对训练集TS中每一个流i,采用步骤(4)和(5)计算{γt(i)(m)}和{ξt(i)(m,n)};(g)令a^mn=Σi∈TSΣtξt(i)(m,n)]]>p^mn(τ)=Σi∈TSΣt:τt=τξt(i)(m,n)]]>b^m(w)=Σi∈TSΣt:wt=wγt(i)(m)]]>π^m=Σi∈TSγ1(i)(m)]]>(h)对进行归一化处理,使得Σna^mn=1,]]>Στp^mn(τ)=1,]]>Σwb^m(w)=1,]]>Σmπ^m=1;]]>由此得到模型参数的一次估计;将估计得到的参数作为新的模型参数;(i)重复执行步骤(6)-(8)直到模型参数收敛;(j)用X=1Tlog2Pr[o1T|Ω]=1Tlog2Σm=1MαT(m)]]>计算每个数据流的熵X;记录这些熵的均值μ和均方差σ;将A=|X-μ|σ]]>的最大值Amax作为TS的参考偏差。
5.根据权利要求3或4所述的状态化应用的盲识别方法,其特征在于所述自动识别方法通过异常程度测量方法测量数据流与状态化应用模型符合的程度,所述异常程度测量方法具体如下(i)对于一个数据流和所对应的状态化应用模型,采用所述隐马尔可夫模型前向算法计算{αT(m)};(ii)计算它的熵X=1Tlog2Σm=1MαT(m);]]>再计算它相对于该状态化应用类型中该类应用中大多数正常流的异常程度A=|X-μ|σ;]]>(iii)如果A<Amax,则认为该流过于异常;(iv)由公式s^T=argmaxm∈SαT(m)]]>估计流的当前状态。
6.根据权利要求5所述的状态化应用的盲识别方法,其特征在于还通过应用层数据流的控制方法,把在线进行的异常程度测量的结果用于对应用层数据流的基于异常程度的控制,所述应用层数据流的控制方法包括不同优先级服务、不同带宽分配、不同路径选择、攻击流过滤、基于状态的控制。
全文摘要
本发明揭示一种状态化应用的盲识别方法,用于在没有先验知识的情况下对当前和未来的各种状态化应用的描述、分类和识别,以及发现新的应用模式和新型网络攻击,其特征在于提供一种通用的隐马尔可夫模型建模方法和自动识别方法对已知和未知的各种状态化应用及其隐含的状态化协议进行分析、建模、识别和控制。
文档编号H04L29/06GK101022403SQ200610037598
公开日2007年8月22日 申请日期2006年9月8日 优先权日2006年9月8日
发明者余顺争 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1