《一种基于BOW模型和统计特征的流量识别方法.pdf》由会员分享,可在线阅读,更多相关《一种基于BOW模型和统计特征的流量识别方法.pdf(12页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102571486 A (43)申请公布日 2012.07.11 C N 1 0 2 5 7 1 4 8 6 A *CN102571486A* (21)申请号 201110419267.0 (22)申请日 2011.12.14 H04L 12/26(2006.01) H04L 12/24(2006.01) (71)申请人上海交通大学 地址 200240 上海市闵行区东川路800号 (72)发明人陈凯 张寅 周曲 周异 杨小康 (74)专利代理机构上海汉声知识产权代理有限 公司 31236 代理人郭国中 (54) 发明名称 一种基于BoW模型和统计特征的流量识别方 法 。
2、(57) 摘要 本发明公开了一种基于BoW模型和统计特征 的流量识别方法,该方法采用了BoW模型,配合提 出的特征提取方法,训练采集到的网络流量特征, 从而获得每一个网络类别所对应的特征向量。对 于新来的网络流量,同样能够通过提取其流量特 征,利用BoW建模得到其相应的特征向量,然后依 次与先前建立好的每一个网络类别的特征向量进 行比较,取匹配度最高的特征向量所对应的类别 作为新来的网络流量的分类标签。本发明使用的 BoW方法是结合了非监督的k-means聚类方法以 及有监督的K-近邻方法,因而更适合于进行多分 类。由于Bow模型对于空间位置不敏感,因而在提 取特征时不需要按照特征的时序进行排。
3、列,方便 进行处理。 (51)Int.Cl. 权利要求书2页 说明书5页 附图4页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 附图 4 页 1/2页 2 1.一种基于BoW模型和统计特征的流量识别方法,包括以下步骤: (1)如果类别特征向量尚未建立,执行步骤(2),否则转入步骤(4); (2)采用特征采集方法获取训练集中各个网络流量对象的向量表示; (3)BoW模型第一步,先将这些训练集中的向量聚为k个中心点,即k个words; (4)BoW模型第二步,利用K-NN将对应类别的所有向量与这k个words进行近邻分析, 最终得出各个类别的特征。
4、向量; (5)利用得到的类别特征向量与待测网络流经过处理后得到的特征向量进行匹配,识 别出待测网络流的分类标签; (6)结束。 2.根据权利要求1所述的基于BoW模型和统计特征的流量识别方法,其特征是步骤 (2)中,首先必须从训练集中获取各个网络流量对象的特征,然后将其整理成为该流量对象 的向量表示,具体过程如下: 从每个网络流量对象当中提取前M个报文,每个报文包含N维的特征向量,目前是提 取前五个报文,每个报文是一个四维向量即源端口、目的端口、协议、报文长度; 将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数值大小; 训练集当中的数据流个数为X个,则这样总共得到XM个N维向量。 。
5、3.根据权利要求1或2所述的基于BoW模型和统计特征的流量识别方法,其特征是步 骤(3),首先随机选取训练集中的若干向量对聚类中心进行初始化,然后通过一个循环体不 断优化聚类结果,该循环体每一轮内嵌了两个子循环,具体过程如下: 对上述训练集中的XM个N维向量,第一个子循环用来循环考察每一个向量与各聚类 中心之间的距离,在该子循环的每一轮中,找出与所考察向量距离最近的聚类中心,并将所 考察向量置于与该聚类中心对应的集合之中; 然后第二个子循环用来重置所有的聚类中心,在该子循环的每一轮中,将与当前集 合中所有向量具有最小平均距离的向量作为新的聚类中心; 在第二个子循环结束以后,如果所有的聚类中心均。
6、未发生变化,则结束步骤(3),即 生成了k个words,否则返回第一个子循环继续聚类过程。 4.根据权利要求1所述的基于BoW模型和统计特征的流量识别方法,其特征是步骤 (4)中,具体如下: 对任一个类别的特征向量,初始化一个k维零向量; 假定某一类别的向量总数为m,则该类别共有mM个向量,计算每一个向量与k个 words之间的距离,选取最近的K个,这个参数K是由K-NN决定的,然后给这K个中心对应 的k维向量相应维度上的值加上相应的权值; 算完这mM个对象,就得到了该类别对应的k维特征向量。 5.根据权利要求4所述的基于BoW模型和统计特征的流量识别方法,其特征是所述给 这K个中心对应的k维。
7、向量相应维度上的值加上相应的权值,其权值为1。 6.根据权利要求1或2所述的基于BoW模型和统计特征的流量识别方法,其特征是步 骤(5),具体如下: 对于新来的未知流,同样采用步骤(2)方法处理,提取其前M个报文,每一个报文包 含了N维的特征向量,将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数 权 利 要 求 书CN 102571486 A 2/2页 3 值大小,对于这M个N维向量,采用步骤(4)的办法即向量总数m1,从而得到该新来的未 知流的k维向量; 最后将每一个类别的k维特征向量与该未知流的k维特征向量进行匹配,取匹配度 最高的类别作为该未知流的预测类别标签。 权 利 要 。
8、求 书CN 102571486 A 1/5页 4 一种基于 BoW 模型和统计特征的流量识别方法 技术领域 0001 本发明涉及一种对网络数据流进行识别的方法,特别是采用BoW(Bag of Words) 这一机器学习模型配合提出的特征提取方法来进行预测建模。 背景技术 0002 在20世纪90年代末、本世纪初,涌现出了一批又一批关于互联网流量分类技术的 实验和尝试,其中更包含有革命性的技术创新。科学技术研究的一大主要推动力即是实际 的应用需求,纵观整个互联网发展过程,流量识别主要在如下几个方面扮演着极其重要的 角色: 0003 互联网服务提供商们(ISPs)需要知道他们的用户正在使用哪些应用。
9、、或是获 取应用的发展趋势,从而实施各种商业目标。诸如为不同优先级别的用户动态分配网络资 源、提供特定的QoS服务,锁定使用了违反条例或相关法律的应用的特定用户,或者分析应 用发展趋势来规划未来的业务分布; 0004 充当入侵检测系统(IDS)的核心部件,通过模式匹配等方法帮助实时监测识别 出如拒绝服务攻击(DoS)、蠕虫(Worm)攻击等恶意网络行为; 0005 互联网流量识别也是政府基于ISP来监控、侦听网络的一种重要手段。 0006 目前在市面上广泛应用的流量识别技术是基于报文载荷内容的DPI识别技术,尽 管DPI技术精确度高,但是除了其分类速度慢且对于加密载荷无法识别以外,其对报文内 。
10、容的窥探也被普遍地诟病为是对用户隐私的侵犯。 0007 经检索,中国发明专利申请号:200910034643.7,公开号为101645806,该专利自 述为:“本发明公开了一种DPI和DFI相结合的网络流量分类系统及分类方法,包括DPI业 务识别系统和DFI流量识别系统两个模块结合而成;其中DPI模块又包括流表检测模块和 流量识别模块;DFI模块包括样本获取模块,分类器训练模块和分类器分类预测模块。样 本获取模块将DPI中的流量识别模块能够准确识别的数据流划分成几个大类,并且将其作 为样本对分类器训练模块进行训练,获得能对网络流量进行大类区分的分类模型,然后DPI 的流量识别模块无法识别的流量。
11、再通过DFI的分类器分类预测模块就能达到对DPI无法识 别的流量进行大类区分的目的。”但是同样的,该技术仍旧没有解决上述的问题。 0008 因此科研工作者们就转换思路,利用网络流量的特征来进行机器学习,构造流量 分类器来对数据流进行识别。因此本发明同样地继承了这一思路,利用目前十分常用的BoW 模型来对网络数据流进行识别。 0009 BoW(Bag Of Words)算法也称为词袋算法,起源于基于语义的文本检索算法,是一 种有效地基于语义特征提取与描述的物体识别算法。以文本检索为例,介绍一下BoW模型 的特性,BoW模型在进行信息检索时,假定对于一个文本,忽略其词序和语法、句法,将其仅 仅看做。
12、是一个词集合,或者说是词的一个组合,文本中每一个词的出现都是独立的,不依赖 于其他词的是否出现,或者说当这篇文章的作者在任意一个位置选择一个词汇都不受前面 句子的影响而独立选择。简而言之,就是BoW对于特征的顺序以及它们之间的逻辑关系不 说 明 书CN 102571486 A 2/5页 5 敏感。这在一些情况下可能会导致一些问题的出现,然而在流量识别领域,这反倒成为了一 个优势,使得在提取流量特征的时候不需要考虑按照特征的时序进行顺序排列,简化了特 征提取的过程。另外,由于本发明BoW模型结合了非监督的聚类方法以及有监督的K-近邻 方法,因而更适合于进行多分类。 发明内容 0010 本发明的目。
13、的在于针对当前网络流量识别过程中DPI方法的种种缺陷,提供一种 基于BoW模型和统计特征的流量识别方法,创造性地利用网络流量特征结合BoW方法,从而 实现对于网络流量快速、精确的识别。 0011 为实现上述目的,本发明方法采用了BoW模型,配合特征提取方法,训练采集到的 网络流量特征,从而获得每一个网络类别所对应的特征向量。对于新来的网络流量,同样能 够通过提取其流量特征,利用BoW建模得到其相应的特征向量,然后依次与先前建立好的 每一个网络类别的特征向量进行比较,取匹配度最高的特征向量所对应的类别作为新来的 网络流量的分类标签。 0012 本发明所述的基于BoW模型和统计特征的流量识别方法,。
14、包括以下步骤: 0013 (1)如果类别特征向量尚未建立,执行步骤(2),否则转入步骤(4); 0014 (2)采用预设的特征采集方法获取训练集中各个网络流量对象的向量表示; 0015 (3)BoW模型第一步,先将这些训练集中的向量聚为k个中心点,即k个words; 0016 (4)BoW模型第二步,利用K-NN将对应类别的所有向量与这k个words进行近邻分 析, 0017 最终得出各个类别的特征向量; 0018 (5)利用得到的类别特征向量与待测网络流经过处理后得到的特征向量进行匹 配,预测出待测网络流的识别标签; 0019 (6)结束。 0020 上述方法步骤: 0021 所述步骤(2)。
15、中,首先必须从训练集中获取各个网络流量对象的特征,然后将其 整理成为该流量对象的向量表示,具体过程如下: 0022 从每个网络流量对象当中提取前M个报文,每个报文包含N维的特征向量,目前 是提取前五个报文,每个报文是一个四维向量即源端口、目的端口、协议、报文长度; 0023 将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数值大小; 0024 训练集当中的数据流个数为X个,则这样总共得到XM个N维向量。 0025 所述步骤(3),首先随机选取训练集中的若干向量对聚类中心进行初始化,然后通 过一个循环体不断优化聚类结果,该循环体每一轮内嵌了两个子循环,具体过程如下: 0026 对上述训。
16、练集中的XM个N维向量,第一个子循环用来循环考察每一个向量与各 聚类中心之间的距离,在该子循环的每一轮中,找出与所考察向量距离最近的聚类中心,并 将所考察向量置于与该聚类中心对应的集合之中; 0027 然后第二个子循环用来重置所有的聚类中心,在该子循环的每一轮中,将与当 前集合中所有向量具有最小平均距离的向量作为新的聚类中心; 0028 在第二个子循环结束以后,如果所有的聚类中心均未发生变化,则结束步骤 说 明 书CN 102571486 A 3/5页 6 (3),即生成了k个words,否则返回第一个子循环继续聚类过程。 0029 步骤(4)中,具体如下: 0030 对任一个类别的特征向量,。
17、初始化一个k维零向量; 0031 假定某一类别的向量总数为m,则该类别共有mM个向量,计算每一个向量与k个 words之间的距离,选取最近的K个,这个参数K是由K-NN决定的,然后给这K个中心对应 的k维向量相应维度上的值加上相应的权值;权值一般为1。 0032 算完这mM个对象,就得到了该类别对应的k维特征向量。 0033 所述步骤(5),具体如下: 0034 对于新来的未知流,同样采用步骤(2)方法处理,提取其前M个报文,每一个报 文包含了N维的特征向量,将这N维向量进行离散化或是归一化处理,以用来平衡各维之间 的数值大小,对于这M个N维向量,采用步骤4的办法即向量总数m1,从而得到该新来。
18、的 未知流的k维向量; 0035 最后将每一个类别的k维特征向量与该未知流的k维特征向量进行匹配,取匹 配度最高的类别作为该未知流的预测类别标签。 0036 与背景技术相比,本发明具有的有益结果:本发明给出了一种基于BoW模型和统 计特征的流量识别方法,该方法基于BoW模型,对特征时序不敏感,简化了特征提取过程, 并且适合多分类,能够快速、准确地识别待测流量的类别,克服了DPI所带来的隐私和效率 问题。 附图说明 0037 图1是数据收集装置的工作流程图。 0038 图2是本发明方法步骤的流程图。 0039 图3是本发明使用的k-means聚类方法的训练流程图。 0040 图4是本发明基于聚类。
19、结果结合K-NN建立类别特征向量的流程图。 具体实施方式 0041 下面对本发明的实施例作详细说明,本实施例以本发明技术方案为前提,给出了 详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。 0042 如图1所示,真实网络上的流量数据存放于数据对象收集装置中(具体来说这个 装置就是一个个路由器或是交换机抑或是服务器,总之就是一系列网络的核心设置之中), 假设该装置中存储了N个数据流对象,同时用其他技术(例如DPI或是手工识别等)对每 一个数据流对象所属的网络流量类别(如WEB,P2P,VOIP等)进行标记,则这些流对 象就成为了机器学习的训练集数据对象了。之后通过预设的特征。
20、采集方法获取这些训练集 数据对象的向量表示,然后采用基于BoW模型的机器学习方法进行建模,如图2所示。该技 术采用了无监督的k-means聚类结合有监督K-近邻方法建立了各个类别的特征向量,最后 利用这些类别的特征向量与新的待测数据流的特征向量进行匹配,将匹配度最大的类别赋 予待测数据流,也就是预测出待测数据流的分类。 0043 本发明的方法步骤如图2所示。步骤1是起初动作。 0044 步骤2判断类别特征向量是否已经训练完毕,若训练好了则可以开始进行预测匹 说 明 书CN 102571486 A 4/5页 7 配了,执行步骤6;否则需要进行训练,执行步骤3。 0045 步骤3采用预设的特征采集。
21、方法获取训练集中各个网络流量对象的特征,具体来 说,从每个网络流量对象当中提取前M个报文,每个报文包含N维的特征向量,目前是提取 前五个报文,每个报文是一个四维向量(源端口、目的端口、协议、报文长度),最后将这N维 向量进行离散化或是归一化处理,以用来平衡各维之间的数值大小。由此,每一个数据流对 象X i 包含M个N维向量,即(其中代表网络流i中的数据 包a的第b个特征) 0046 步骤4中采用了无监督的k-means聚类,其详细说明如图3所示。这里简单地采 用欧式距离来度量两个向量之间的距离,此外k-means聚类过程中的参数k(聚类数目)由 经验值或根据实际需要实验人员决定,它决定了聚类的。
22、中心数以及最终类别特征向量的维 数(即维度等于聚类数目)。 0047 接着步骤5基于聚类所得的结果,采用K-NN的办法得到最终的类别特征向量,其 详细说明如图4所示,其中采用的K-NN中的K(近邻数目,与特征维度和聚类数目不同)也 由经验值或是实验人员决定。 0048 步骤6接受待测流对象并生成相应的特征向量,具体来说,就是从待测网络流对 象当中提取前M个报文,每个报文包含N维的特征向量,最后将这N维向量进行离散化或是 归一化处理,以用来平衡各维之间的数值大小(这个过程基本上与步骤3相似)。然后再利 用K-NN与训练集的k个聚类中心进行近邻比较,从而得到相应的k维特征向量(这个过程 基本上与步。
23、骤5相似)。 0049 步骤7使用训练所得的各个类别的特征向量与待测流对象的特征向量进行匹配, 这里的匹配度用余弦距离来表示。 0050 步骤8输出与待测流对象的特征向量匹配度最高(余弦距离最小)的类别作为待 测对象的最终类别;所述余弦距离 0051 最后步骤9结束待测流类别预测过程。 0052 图3给出了图2中步骤4的详细描述,具体说明了如何对本发明涉及的流对象向 量进行聚类,图中的k代表聚类的类别数而N代表的是空间中向量的总数。 0053 图3中的步骤400是起始状态,步骤401至步骤404构成一个循环体,在循环的每 一轮中从训练集S中随机选取一个向量M j 作为中心向量,用于初始化集合C。
24、 j 。向量的选取 过程采用非重复取样的方式,即先前选出的向量不再用于后续的向量选取过程。 0054 当上述的初始化过程完成了以后,步骤405至414构成一个循环体,用于实现聚 类过程。其中,该循环体还分别包含了两个子循环体,即步骤406至409以及步骤410至 413。在第一个子循环中,步骤407基于欧式距离找出与第i个向量距离最近的中心向量, 记为随后,步骤408将该向量V i 置于集合中。在该子循环完成以后,每个集合 说 明 书CN 102571486 A 5/5页 8 C j (1jk)均包含若干向量,每个向量对应于空间中的一个聚类。在第二个子循环中, 步骤412基于欧式距离找出集合C。
25、 j 的中心。该中心为与C j 中的所有向量具有最小平均距 离的向量,由此利用该向量来更新中心向量M j 并将C j 重置为仅包含该向量的集合。在第二 个子循环结束以后,步骤414判断是否所有的中心向量均再未更新过,如果否则返回步骤 405,如果是则转入结束状态。 0055 图4给出了图2中步骤5的详细描述,具体说明了如何基于聚类的结果得到最终 的类别特征向量。图中的k代表聚类的类别数,K代表K-NN中的近邻数,R代表类别总数, m i 代表某一类别的流总数,M i 代表该流取得的数据包个数,因此该类别总共有m i M i 个向量。 0056 图4中的步骤500是起始状态,步骤501至步骤51。
26、4是一个大循环,其中嵌套一个 子循环,为步骤503至512,而该子循环中又嵌套一个子循环,为步骤507至511,因此总共 是三重循环。第一重循环主要是针对类别进行循环,假设这时枚举的是类别i,那么就先为 类别i创建一个k维的零向量。第二重循环主要是对类别i中的向量进行枚举,枚举类别 i中的每一个向量计算其与k个中心向量之间的距离,假设这时枚举的是向量j。第三重循 环是对向量j的K-近邻的枚举,即枚举与向量j距离最近的K个中心点,然后将这K个中 心点对应地在k维向量的维度中加上相应的权值。第三重循环结束之后就得到了向量j对 于类别i的k维特征向量的更新,第二重循结束之后就得到了类别i的特征向量,。
27、第一重循 环结束了以后就得到了所有类别的特征向量了。 0057 本发明提出的方法,采用了BoW(Bag of Words)这一十分著名的模型,配合提 出的特征提取方法,训练采集到的网络流量特征,从而获得每一个网络类别(WEB,P2P, VOIP)所对应的特征向量。对于新来的网络流量,同样能够通过提取其流量特征,利 用BoW建模得到其相应的特征向量,然后依次与先前建立好的每一个网络类别的特征向量 进行比较,取匹配度最高的特征向量所对应的类别作为新来的网络流量的分类标签。本发 明使用的BoW方法是结合了非监督的k-means聚类方法以及有监督的K-近邻方法,因而更 适合于进行多分类。由于Bow模型。
28、对于空间位置不敏感,因而在提取特征时不需要按照特 征的时序进行排列,方便进行处理。 0058 熟知本领域的技术人员将理解,虽然这里为了便于解释已描述了具体的实施例, 但是可在不背离本发明精神和范围的情况下作出各种改变。因此,除了所附权利要求之外 不能用于限制本发明。 说 明 书CN 102571486 A 1/4页 9 图1 说 明 书 附 图CN 102571486 A 2/4页 10 图2 说 明 书 附 图CN 102571486 A 10 3/4页 11 图3 说 明 书 附 图CN 102571486 A 11 4/4页 12 图4 说 明 书 附 图CN 102571486 A 12 。