一种基于语义敏感的网络协议识别方法及系统的制作方法

文档序号:7819824阅读:232来源:国知局
一种基于语义敏感的网络协议识别方法及系统的制作方法
【专利摘要】本发明涉及一种基于语义敏感的网络协议识别方法及系统。在建模阶段,以特定应用协议的网络数据报文集合作为输入,利用Latent Dirichlet Allocation方法构建所分析协议的关键字模型;在训练阶段,依照协议关键字模型提取数据报文的分类特征信息,以获得的关键字特征向量作为输入,利用有监督机器学习方法对离线训练数据集学习训练,获得所分析协议的分类模型;在分类阶段,依照协议关键字模型提取数据报文的分类特征信息,利用协议分类模型对待测网络数据报文的协议属性做出判别,判断其是否属于目标协议的网络数据报文。本发明能够充分挖掘网络消息报文中潜在的协议语义信息,对多种网络协议进行有效的协议识别。
【专利说明】一种基于语义敏感的网络协议识别方法及系统

【技术领域】
[0001] 本发明属于网络【技术领域】,具体涉及一种基于语义敏感的网络协议识别方法及系 统。

【背景技术】
[0002] 协议识别技术,是将网络数据流与具体应用协议相对应的过程,在许多的网络和 安全领域中都有着十分重要的应用,例如网络测量、入侵检测与防范和僵尸网络行为检测 等。以其在入侵检测和防范系统中的应用为例,传统的入侵检测和防范系统将每个数据包 载荷部分视为一系列的字节序列,并将这些字节的序列信息与恶意程序(malware)的签名 (通常是由一组正则表达式来表示)进行匹配操作。这种粗粒度的签名检查机制由于其忽 视了数据包载荷部分的应用协议结构从而在可靠性上受到了极大的限制。
[0003] 现代化的入侵检测和防范系统正演变的更加语义敏感。具体地说,其依照应用协 议的信息格式来获得所分析应用协议的字段信息从而实现对网络数据包的合理解析。几种 类型的应用协议解析工具,如FlowSifter,UltraPAC,binpac,和GAPA,已经在此前的研宄 工作中提出。所有这些应用协议解析工具都需要所分析协议的协议规范信息,从而产生对 应于该协议的解析工具。然而,互联网中许多应用协议是私有协议,并这些协议没有公开可 得到的协议指纹规范信息。根据Internet2NetFlow组织对骨干网中流量的统计发现:超过 40%的网络数据流属于未识别的应用协议。被恶意程序(malware)和僵尸网络(botnet) 所使用的网络通信协议没有来自于其设计者的协议规范信息。为了解析未知应用协议网络 数据流,首先需要进行协议推断从而获得协议指纹信息。网络监控工具,例如Wireshark, NetDude,SNORT和BR0等也需要应用协议解析工具来实现他们的功能。
[0004] 网络协议识别方法根据其研宄对象的不同可划分为基于传输层端口、基于数据报 文载荷和基于网络数据流统计行为特征三种类别。本发明以网络数据报文的载荷作为基本 研宄对象。本领域的现有方法大致可划分为两中类别:(1)基于协议解析的方法;(2)基于 协议签名的方法。本发明属于第二类,基于协议签名的方法。基于协议签名的方法在分析 过程中只依赖于对数据报文载荷的分析,不依赖于应用程序的可执行代码。此前,关于协议 签名自动构建的研宄工作未使用存在于数据报文中的潜在语义信息,即数据报文中语法元 素之前的关联关系。值得注意的是此类研宄工作不能达到实现使用更少分类特征且达到更 高准确率的研宄目标。同时,相较于此前的研宄工作,本发明对所分析的网络协议本身作出 更少的前提假设。


【发明内容】

[0005] 本发明的目的在于设计并实现一种基于语义敏感的网络协议识别方法及系统,使 得在网络协议识别过程中,充分挖掘网络消息报文中潜在的协议语义信息;在保证较高的 识别准确率与召回率的前提下,在实践中同时具有较强的普适性与鲁棒性。
[0006] 本发明的发明动机来源于持续上升的多种多样的未知网络流量,设计的新颖的协 议识别方法及系统以最小人力需求为基本前提,实现特定应用协议识别过程的全面自动 化。
[0007] 具体来说,本发明采用如下技术方案:
[0008] -种基于语义敏感的网络协议识别方法,包括建模阶段、训练阶段和分类阶段;
[0009] 在建模阶段,以特定应用协议的网络数据报文集合作为输入,利用Latent Dirichlet Allocation方法构建所分析协议的关键字模型;
[0010] 在训练阶段,依照建模阶段得到的协议关键字模型提取数据报文的分类特征信 息,以获得的关键字特征向量作为输入,利用有监督机器学习方法对离线训练数据集学习 训练,从而获得所分析协议的分类模型;
[0011] 在分类阶段,依照建模阶段得到的协议关键字模型提取数据报文的分类特征信 息,利用训练阶段输出的协议分类模型,对待测网络数据报文的协议属性做出判别,判断其 是否属于目标协议的网络数据报文。
[0012] 进一步地,所述建模阶段的具体步骤包括:
[0013] 1)采集属于特定应用协议的网络数据报文,从而将网络数据报文划分为两种类 另IJ: 一类是属于所要分析的应用协议的数据报文集合;另一类是不属于所要分析应用协议 的数据报文集;
[0014] 2)利用n-gram模型将网络数据报文转化为以n-gram元素作为基本单元的网络数 据报文;所述n-gram模型是给定序列的n个连续元素的子序列;
[0015] 3)利用基于Latent Dirichlet Allocation方法构建所要分析协议的协议关键字 模型。
[0016] 进一步地,所述利用Latent Dirichlet Allocation方法构建协议关键字模型的 具体步骤包括:
[0017] 1)为包含有M个数据报文的集合D中的所有

【权利要求】
1. 一种基于语义敏感的网络协议识别方法,其特征在于,包括建模阶段、训练阶段和分 类阶段; 在建模阶段,以特定应用协议的网络数据报文集合作为输入,利用LatentDirichlet Allocation方法构建所分析协议的关键字模型; 在训练阶段,依照建模阶段得到的协议关键字模型提取数据报文的分类特征信息,以 获得的关键字特征向量作为输入,利用有监督机器学习方法对离线训练数据集学习训练, 从而获得所分析协议的分类模型; 在分类阶段,依照建模阶段得到的协议关键字模型提取数据报文的分类特征信息,利 用训练阶段输出的协议分类模型,对待测网络数据报文的协议属性做出判别,判断其是否 属于目标协议的网络数据报文。
2. 如权利要求1所述的方法,其特征在于,所述建模阶段的具体步骤包括: 1) 采集属于特定应用协议的网络数据报文,从而将网络数据报文划分为两种类别:一 类是属于所要分析的应用协议的数据报文集合;另一类是不属于所要分析应用协议的数据 报文集; 2) 利用n-gram模型将网络数据报文转化为以n-gram元素作为基本单元的网络数据报 文;所述n-gram模型是给定序列的η个连续元素的子序列; 3) 利用基于LatentDirichletAllocation方法构建所要分析协议的协议关键字模 型。
3. 如权利要求2所述的方法,其特征在于,利用LatentDirichletAllocation方法构 建协议关键字模型的具体步骤包括: 1) 为包含有M个数据报文的集合D中的所有n-gramW= I,分配一 个随机的关键字索引号泛=;这里W(nu)代表数据报文m中,第i个 V 1 / m-1 n-gram,z(nU)是该n-gram的关键字索引号,Nm是数据报文m中n-gram元素的个数; 2) 用代表除ζ(π,η以外的所有其他n-gram的关键字索引号,在数值保 持不变的情况下,根据后验概率分布PwΛ ~为 IJ(K-An - ^ +^β) n-gramw(nU)通过采样的方法产生一个新的关键字索引号数值ζ(nU);其中α和β是给定 的超参数,代表n-gram字典中元素t分配给关键字k的次数,代表消息报文m中关 键字k出现的次数,W代表n-gram字典中n-gram元素的个数; 3) 根据Gibbs采样方法得到的z(nU)数值,对后验概率分布中的过期数值进行更新; 4) 对数据集合中的所有的元祖(m,i)都重复上述的采样操作,若达到Gibbs采样收敛 条件L,则算法中止,返回最终的关键字索引号^,否则重复步骤1)至3); 5) 利用通过步骤1)至4)得到的关键字索引号构建协议关键字模型
其中K代表协议关键字的个数,外.,Tv',!V(f/\ 7。 [τ^η)/-\ +Wβ)
4. 如权利要求2或3所述的方法,其特征在于:在产生数据报文n-gram时,只选择统 计频率较高的前W个n-gram元素,并形成其n-gram字典。
5. 如权利要求2或3所述的方法,其特征在于,所述训练阶段的具体步骤包括: 1) 数据采集,同建模阶段步骤1)的操作; 2) 数据报文n-gram产生,同建模阶段步骤2)的操作; 3) 对网络数据报文依照建模阶段步骤3)得到的协议关键字模型进行分类特征提取; 4) 利用有监督学习方法,依照提取得到的分类特征构建所分析应用协议的二值分类 器。
6. 如权利要求5所述的方法,其特征在于,所述建模阶段的具体步骤包括: 1) 数据报文n-gram产生,同训练阶段步骤2); 2) 特征提取,同训练阶段步骤3); 3) 根据步骤1)、步骤2)得到的分类特征向量和训练阶段步骤4)得到的分类模型对未 标识的网络数据报文进行协议类别判定。
7. 如权利要求1所述的方法,其特征在于,待测的网络协议为面向连接协议和/或面向 无连接协议。
8. -种采用权利要求1所述方法的基于语义敏感的网络协议识别系统,其特征在于, 包括: 建模单元,以特定应用协议的网络数据报文集合作为输入,利用LatentDirichlet Allocation模型构建所分析协议的关键字模型; 训练单元,依照建模单元得到的协议关键字模型提取数据报文的分类特征信息,以获 得的关键字特征向量作为输入,利用有监督机器学习方法对离线训练数据集学习训练,从 而获得所分析协议的分类模型; 分类单元,依照建模单元得到的协议关键字模型提取数据报文的分类特征信息,利用 训练单元输出的协议分类模型,对待测网络数据报文的协议属性做出判别,判断其是否属 于目标协议的网络数据报文。
【文档编号】H04L12/26GK104468262SQ201410652834
【公开日】2015年3月25日 申请日期:2014年11月17日 优先权日:2014年11月17日
【发明者】云晓春, 张永铮, 王一鹏, 周宇 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1