书签 分享 收藏 举报 版权申诉 / 12

一种基于BOW模型和统计特征的流量识别方法.pdf

  • 上传人:Y94****206
  • 文档编号:4322506
  • 上传时间:2018-09-13
  • 格式:PDF
  • 页数:12
  • 大小:541.32KB
  • 摘要
    申请专利号:

    CN201110419267.0

    申请日:

    2011.12.14

    公开号:

    CN102571486A

    公开日:

    2012.07.11

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H04L 12/26申请日:20111214|||公开

    IPC分类号:

    H04L12/26; H04L12/24

    主分类号:

    H04L12/26

    申请人:

    上海交通大学

    发明人:

    陈凯; 张寅; 周曲; 周异; 杨小康

    地址:

    200240 上海市闵行区东川路800号

    优先权:

    专利代理机构:

    上海汉声知识产权代理有限公司 31236

    代理人:

    郭国中

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种基于BoW模型和统计特征的流量识别方法,该方法采用了BoW模型,配合提出的特征提取方法,训练采集到的网络流量特征,从而获得每一个网络类别所对应的特征向量。对于新来的网络流量,同样能够通过提取其流量特征,利用BoW建模得到其相应的特征向量,然后依次与先前建立好的每一个网络类别的特征向量进行比较,取匹配度最高的特征向量所对应的类别作为新来的网络流量的分类标签。本发明使用的BoW方法是结合了非监督的k-means聚类方法以及有监督的K-近邻方法,因而更适合于进行多分类。由于Bow模型对于空间位置

    权利要求书

    1.一种基于BoW模型和统计特征的流量识别方法,包括以下步骤:(1)如果类别特征向量尚未建立,执行步骤(2),否则转入步骤(4);(2)采用特征采集方法获取训练集中各个网络流量对象的向量表示;(3)BoW模型第一步,先将这些训练集中的向量聚为k个中心点,即k个words;(4)BoW模型第二步,利用K-NN将对应类别的所有向量与这k个words进行近邻分析,最终得出各个类别的特征向量;(5)利用得到的类别特征向量与待测网络流经过处理后得到的特征向量进行匹配,识别出待测网络流的分类标签;(6)结束。2.根据权利要求1所述的基于BoW模型和统计特征的流量识别方法,其特征是步骤(2)中,首先必须从训练集中获取各个网络流量对象的特征,然后将其整理成为该流量对象的向量表示,具体过程如下:①从每个网络流量对象当中提取前M个报文,每个报文包含N维的特征向量,目前是提取前五个报文,每个报文是一个四维向量即源端口、目的端口、协议、报文长度;②将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数值大小;③训练集当中的数据流个数为X个,则这样总共得到XM个N维向量。3.根据权利要求1或2所述的基于BoW模型和统计特征的流量识别方法,其特征是步骤(3),首先随机选取训练集中的若干向量对聚类中心进行初始化,然后通过一个循环体不断优化聚类结果,该循环体每一轮内嵌了两个子循环,具体过程如下:①对上述训练集中的XM个N维向量,第一个子循环用来循环考察每一个向量与各聚类中心之间的距离,在该子循环的每一轮中,找出与所考察向量距离最近的聚类中心,并将所考察向量置于与该聚类中心对应的集合之中;②然后第二个子循环用来重置所有的聚类中心,在该子循环的每一轮中,将与当前集合中所有向量具有最小平均距离的向量作为新的聚类中心;③在第二个子循环结束以后,如果所有的聚类中心均未发生变化,则结束步骤(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维向量相应维度上的值加上相应的权值,其权值为1。6.根据权利要求1或2所述的基于BoW模型和统计特征的流量识别方法,其特征是步骤(5),具体如下:①对于新来的未知流,同样采用步骤(2)方法处理,提取其前M个报文,每一个报文包含了N维的特征向量,将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数值大小,对于这M个N维向量,采用步骤(4)的办法即向量总数m=1,从而得到该新来的未知流的k维向量;②最后将每一个类别的k维特征向量与该未知流的k维特征向量进行匹配,取匹配度最高的类别作为该未知流的预测类别标签。

    说明书

    一种基于BoW模型和统计特征的流量识别方法

    技术领域

    本发明涉及一种对网络数据流进行识别的方法,特别是采用BoW(Bag of 
    Words)这一机器学习模型配合提出的特征提取方法来进行预测建模。

    背景技术

    在20世纪90年代末、本世纪初,涌现出了一批又一批关于互联网流量分类
    技术的实验和尝试,其中更包含有革命性的技术创新。科学技术研究的一大主要
    推动力即是实际的应用需求,纵观整个互联网发展过程,流量识别主要在如下几
    个方面扮演着极其重要的角色:

    ●互联网服务提供商们(ISPs)需要知道他们的用户正在使用哪些应用、
    或是获取应用的发展趋势,从而实施各种商业目标。诸如为不同优先级
    别的用户动态分配网络资源、提供特定的QoS服务,锁定使用了违反条
    例或相关法律的应用的特定用户,或者分析应用发展趋势来规划未来的
    业务分布;

    ●充当入侵检测系统(IDS)的核心部件,通过模式匹配等方法帮助实时
    监测识别出如拒绝服务攻击(DoS)、蠕虫(Worm)攻击等恶意网络行
    为;

    ●互联网流量识别也是政府基于ISP来监控、侦听网络的一种重要手段。

    目前在市面上广泛应用的流量识别技术是基于报文载荷内容的DPI识别技
    术,尽管DPI技术精确度高,但是除了其分类速度慢且对于加密载荷无法识别
    以外,其对报文内容的窥探也被普遍地诟病为是对用户隐私的侵犯。

    经检索,中国发明专利申请号:200910034643.7,公开号为101645806,该
    专利自述为:“本发明公开了一种DPI和DFI相结合的网络流量分类系统及分类
    方法,包括DPI业务识别系统和DFI流量识别系统两个模块结合而成;其中DPI
    模块又包括流表检测模块和流量识别模块;DFI模块包括样本获取模块,分类器
    训练模块和分类器分类预测模块。样本获取模块将DPI中的流量识别模块能够
    准确识别的数据流划分成几个大类,并且将其作为样本对分类器训练模块进行训
    练,获得能对网络流量进行大类区分的分类模型,然后DPI的流量识别模块无
    法识别的流量再通过DFI的分类器分类预测模块就能达到对DPI无法识别的流
    量进行大类区分的目的。”但是同样的,该技术仍旧没有解决上述的问题。

    因此科研工作者们就转换思路,利用网络流量的特征来进行机器学习,构造
    流量分类器来对数据流进行识别。因此本发明同样地继承了这一思路,利用目前
    十分常用的BoW模型来对网络数据流进行识别。

    BoW(Bag Of Words)算法也称为词袋算法,起源于基于语义的文本检索算法,
    是一种有效地基于语义特征提取与描述的物体识别算法。以文本检索为例,介绍
    一下BoW模型的特性,BoW模型在进行信息检索时,假定对于一个文本,忽略
    其词序和语法、句法,将其仅仅看做是一个词集合,或者说是词的一个组合,文
    本中每一个词的出现都是独立的,不依赖于其他词的是否出现,或者说当这篇文
    章的作者在任意一个位置选择一个词汇都不受前面句子的影响而独立选择。简而
    言之,就是BoW对于特征的顺序以及它们之间的逻辑关系不敏感。这在一些情
    况下可能会导致一些问题的出现,然而在流量识别领域,这反倒成为了一个优势,
    使得在提取流量特征的时候不需要考虑按照特征的时序进行顺序排列,简化了特
    征提取的过程。另外,由于本发明BoW模型结合了非监督的聚类方法以及有监
    督的K-近邻方法,因而更适合于进行多分类。

    发明内容

    本发明的目的在于针对当前网络流量识别过程中DPI方法的种种缺陷,提供
    一种基于BoW模型和统计特征的流量识别方法,创造性地利用网络流量特征结
    合BoW方法,从而实现对于网络流量快速、精确的识别。

    为实现上述目的,本发明方法采用了BoW模型,配合特征提取方法,训练
    采集到的网络流量特征,从而获得每一个网络类别所对应的特征向量。对于新来
    的网络流量,同样能够通过提取其流量特征,利用BoW建模得到其相应的特征
    向量,然后依次与先前建立好的每一个网络类别的特征向量进行比较,取匹配度
    最高的特征向量所对应的类别作为新来的网络流量的分类标签。

    本发明所述的基于BoW模型和统计特征的流量识别方法,包括以下步骤:

    (1)如果类别特征向量尚未建立,执行步骤(2),否则转入步骤(4);

    (2)采用预设的特征采集方法获取训练集中各个网络流量对象的向量表
    示;

    (3)BoW模型第一步,先将这些训练集中的向量聚为k个中心点,即k
    个words;

    (4)BoW模型第二步,利用K-NN将对应类别的所有向量与这k个words
    进行近邻分析,

    最终得出各个类别的特征向量;

    (5)利用得到的类别特征向量与待测网络流经过处理后得到的特征向量
    进行匹配,预测出待测网络流的识别标签;

    (6)结束。

    上述方法步骤:

    所述步骤(2)中,首先必须从训练集中获取各个网络流量对象的特征,然
    后将其整理成为该流量对象的向量表示,具体过程如下:

    ①从每个网络流量对象当中提取前M个报文,每个报文包含N维的特征
    向量,目前是提取前五个报文,每个报文是一个四维向量即源端口、目的端口、
    协议、报文长度;

    ②将这N维向量进行离散化或是归一化处理,以用来平衡各维之间的数值
    大小;

    ③训练集当中的数据流个数为X个,则这样总共得到XM个N维向量。

    所述步骤(3),首先随机选取训练集中的若干向量对聚类中心进行初始化,
    然后通过一个循环体不断优化聚类结果,该循环体每一轮内嵌了两个子循环,具
    体过程如下:

    ①对上述训练集中的XM个N维向量,第一个子循环用来循环考察每一个
    向量与各聚类中心之间的距离,在该子循环的每一轮中,找出与所考察向量距离
    最近的聚类中心,并将所考察向量置于与该聚类中心对应的集合之中;

    ②然后第二个子循环用来重置所有的聚类中心,在该子循环的每一轮中,
    将与当前集合中所有向量具有最小平均距离的向量作为新的聚类中心;

    ③在第二个子循环结束以后,如果所有的聚类中心均未发生变化,则结束
    步骤(3),即生成了k个words,否则返回第一个子循环继续聚类过程。

    步骤(4)中,具体如下:

    ①对任一个类别的特征向量,初始化一个k维零向量;

    ②假定某一类别的向量总数为m,则该类别共有mM个向量,计算每一个
    向量与k个words之间的距离,选取最近的K个,这个参数K是由K-NN决定
    的,然后给这K个中心对应的k维向量相应维度上的值加上相应的权值;权值
    一般为1。

    ③算完这mM个对象,就得到了该类别对应的k维特征向量。

    所述步骤(5),具体如下:

    ①对于新来的未知流,同样采用步骤(2)方法处理,提取其前M个报文,
    每一个报文包含了N维的特征向量,将这N维向量进行离散化或是归一化处理,
    以用来平衡各维之间的数值大小,对于这M个N维向量,采用步骤4的办法即
    向量总数m=1,从而得到该新来的未知流的k维向量;

    ②最后将每一个类别的k维特征向量与该未知流的k维特征向量进行匹配,
    取匹配度最高的类别作为该未知流的预测类别标签。

    与背景技术相比,本发明具有的有益结果:本发明给出了一种基于BoW模
    型和统计特征的流量识别方法,该方法基于BoW模型,对特征时序不敏感,简
    化了特征提取过程,并且适合多分类,能够快速、准确地识别待测流量的类别,
    克服了DPI所带来的隐私和效率问题。

    附图说明

    图1是数据收集装置的工作流程图。

    图2是本发明方法步骤的流程图。

    图3是本发明使用的k-means聚类方法的训练流程图。

    图4是本发明基于聚类结果结合K-NN建立类别特征向量的流程图。

    具体实施方式

    下面对本发明的实施例作详细说明,本实施例以本发明技术方案为前提,给
    出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施
    例。

    如图1所示,真实网络上的流量数据存放于数据对象收集装置中(具体来说
    这个装置就是一个个路由器或是交换机抑或是服务器,总之就是一系列网络的核
    心设置之中),假设该装置中存储了N个数据流对象,同时用其他技术(例如
    DPI或是手工识别等)对每一个数据流对象所属的网络流量类别(如
    WEB,P2P,VOIP......等)进行标记,则这些流对象就成为了机器学习的训练集数
    据对象了。之后通过预设的特征采集方法获取这些训练集数据对象的向量表示,
    然后采用基于BoW模型的机器学习方法进行建模,如图2所示。该技术采用了
    无监督的k-means聚类结合有监督K-近邻方法建立了各个类别的特征向量,最
    后利用这些类别的特征向量与新的待测数据流的特征向量进行匹配,将匹配度最
    大的类别赋予待测数据流,也就是预测出待测数据流的分类。

    本发明的方法步骤如图2所示。步骤1是起初动作。

    步骤2判断类别特征向量是否已经训练完毕,若训练好了则可以开始进行预
    测匹配了,执行步骤6;否则需要进行训练,执行步骤3。

    步骤3采用预设的特征采集方法获取训练集中各个网络流量对象的特征,具
    体来说,从每个网络流量对象当中提取前M个报文,每个报文包含N维的特征
    向量,目前是提取前五个报文,每个报文是一个四维向量(源端口、目的端口、
    协议、报文长度),最后将这N维向量进行离散化或是归一化处理,以用来平
    衡各维之间的数值大小。由此,每一个数据流对象Xi包含M个N维向量,即
    X i = ( F i 11 F i 12 F i 13 · · · F i 1 N , F i 21 F i 22 F i 23 · · · F i 2 N , . . . , F i M 1 F i M 2 F i M 3 · · · F i MN ) ]]>(其中代表网络流i中的数据包a的第b个特征)

    步骤4中采用了无监督的k-means聚类,其详细说明如图3所示。这里简单
    地采用欧式距离来度量两个向量之间的距离,此外k-means聚类过程中的参数k
    (聚类数目)由经验值或根据实际需要实验人员决定,它决定了聚类的中心数以
    及最终类别特征向量的维数(即维度等于聚类数目)。

    接着步骤5基于聚类所得的结果,采用K-NN的办法得到最终的类别特征向
    量,其详细说明如图4所示,其中采用的K-NN中的K(近邻数目,与特征维度
    和聚类数目不同)也由经验值或是实验人员决定。

    步骤6接受待测流对象并生成相应的特征向量,具体来说,就是从待测网络
    流对象当中提取前M个报文,每个报文包含N维的特征向量,最后将这N维向
    量进行离散化或是归一化处理,以用来平衡各维之间的数值大小(这个过程基本
    上与步骤3相似)。然后再利用K-NN与训练集的k个聚类中心进行近邻比较,
    从而得到相应的k维特征向量(这个过程基本上与步骤5相似)。

    步骤7使用训练所得的各个类别的特征向量与待测流对象的特征向量进行匹
    配,这里的匹配度用余弦距离来表示。

    步骤8输出与待测流对象的特征向量匹配度最高(余弦距离最小)的类别作
    为待测对象的最终类别;所述余弦距离

    最后步骤9结束待测流类别预测过程。

    图3给出了图2中步骤4的详细描述,具体说明了如何对本发明涉及的流对
    象向量进行聚类,图中的k代表聚类的类别数而N代表的是空间中向量的总数。

    图3中的步骤400是起始状态,步骤401至步骤404构成一个循环体,在循
    环的每一轮中从训练集S中随机选取一个向量Mj作为中心向量,用于初始化集
    合Cj。向量的选取过程采用非重复取样的方式,即先前选出的向量不再用于后
    续的向量选取过程。

    当上述的初始化过程完成了以后,步骤405至414构成一个循环体,用于实
    现聚类过程。其中,该循环体还分别包含了两个子循环体,即步骤406至409
    以及步骤410至413。在第一个子循环中,步骤407基于欧式距离找出与第i个
    向量距离最近的中心向量,记为随后,步骤408将该向量Vi置于集合
    中。在该子循环完成以后,每个集合Cj(1≤j≤k)均包含若干向量,每个向量对
    应于空间中的一个聚类。在第二个子循环中,步骤412基于欧式距离找出集合Cj
    的中心。该中心为与Cj中的所有向量具有最小平均距离的向量,由此利用该向
    量来更新中心向量Mj并将Cj重置为仅包含该向量的集合。在第二个子循环结束
    以后,步骤414判断是否所有的中心向量均再未更新过,如果否则返回步骤405,
    如果是则转入结束状态。

    图4给出了图2中步骤5的详细描述,具体说明了如何基于聚类的结果得到
    最终的类别特征向量。图中的k代表聚类的类别数,K代表K-NN中的近邻数,
    R代表类别总数,mi代表某一类别的流总数,Mi代表该流取得的数据包个数,
    因此该类别总共有miMi个向量。

    图4中的步骤500是起始状态,步骤501至步骤514是一个大循环,其中嵌
    套一个子循环,为步骤503至512,而该子循环中又嵌套一个子循环,为步骤507
    至511,因此总共是三重循环。第一重循环主要是针对类别进行循环,假设这时
    枚举的是类别i,那么就先为类别i创建一个k维的零向量。第二重循环主要是
    对类别i中的向量进行枚举,枚举类别i中的每一个向量计算其与k个中心向量
    之间的距离,假设这时枚举的是向量j。第三重循环是对向量j的K-近邻的枚举,
    即枚举与向量j距离最近的K个中心点,然后将这K个中心点对应地在k维向
    量的维度中加上相应的权值。第三重循环结束之后就得到了向量j对于类别i的
    k维特征向量的更新,第二重循结束之后就得到了类别i的特征向量,第一重循
    环结束了以后就得到了所有类别的特征向量了。

    本发明提出的方法,采用了BoW(Bag of Words)这一十分著名的模型,配合
    提出的特征提取方法,训练采集到的网络流量特征,从而获得每一个网络类别
    (WEB,P2P,VOIP......)所对应的特征向量。对于新来的网络流量,同样能够通
    过提取其流量特征,利用BoW建模得到其相应的特征向量,然后依次与先前建
    立好的每一个网络类别的特征向量进行比较,取匹配度最高的特征向量所对应的
    类别作为新来的网络流量的分类标签。本发明使用的BoW方法是结合了非监督
    的k-means聚类方法以及有监督的K-近邻方法,因而更适合于进行多分类。由
    于Bow模型对于空间位置不敏感,因而在提取特征时不需要按照特征的时序进
    行排列,方便进行处理。

    熟知本领域的技术人员将理解,虽然这里为了便于解释已描述了具体的实施
    例,但是可在不背离本发明精神和范围的情况下作出各种改变。因此,除了所附
    权利要求之外不能用于限制本发明。

    关 键  词:
    一种 基于 BOW 模型 统计 特征 流量 识别 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种基于BOW模型和统计特征的流量识别方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4322506.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1