首页 / 专利库 / 人工智能 / 机器学习 / 半监督学习 / 一种基于网络流引力聚类的流量识别方法

一种基于网络流引聚类的流量识别方法

阅读:880发布:2020-10-12

专利汇可以提供一种基于网络流引聚类的流量识别方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于网络流引 力 聚类的流量识别方法,该方法包括两阶段:1)训练阶段:选取网络流量的特征属性,对每条网络流做归一化处理后,形成流量训练集;由Z分数选取出孤立流,并将其隔离;在所有的非孤立流流量集中,利用半 监督学习 的网络流引力聚类原理和方法,对训练集的每条网络流进行 迭代 分类学习;最后完成对孤立流的分类,形成流量分类模型;2)识别阶段:形成待识别的网络流序列;依据引力聚类原理,对网络流量中的每条待识别网络流进行流量引力分类,由流量簇映射到具体网络流量业务类型,完成网络流量的识别。使用本方法发明,能识别未知和加密流量,解决聚类识别的局部最优解问题,提高识别的精确度。,下面是一种基于网络流引聚类的流量识别方法专利的具体信息内容。

1.一种基于网络流引聚类的流量识别方法,其特征在于包括以下两个阶段:
训练阶段:根据样本流量构建训练集,形成网络流引力分类模型;
识别阶段:依据引力聚类识别原理对网络流量进行业务类型识别。
2.根据权利要求1所述的流量识别方法,其特征在于所述训练阶段包括以下步骤:
步骤一,捕获网络流量后,选取网络流量的特征属性,对每条网络流做归一化处理后,
形成流量训练集;
步骤二,计算每条样本流在流量训练集中的场强,并由此计算出其在训练集的Z分数,
若Z分数的绝对值>2,则识别为孤立流,并将孤立流与其它样本流隔离;
步骤三,在所有的非孤立流流量集中,将流量集中分布较紧密的样本流预先归为一个
类簇,计算其流量簇的质心,作为流量集初始聚类质心;
步骤四,利用半监督学习的网络流引力聚类原理和方法,对训练集的每条网络流进行
迭代分类学习,并同时更新流量簇质心;
步骤五,完成对孤立流的分类,形成流量分类模型。
3.根据权利要求1所述的流量识别方法,其特征在于所述识别阶段包括以下步骤:
步骤一,由网络流量特征属性子集,形成待识别的网络流序列;
步骤二,根据训练阶段所获得的分类模型,利用引力聚类原理,对网络流量中的每条待
识别流进行流量引力分类,并同时更新流量簇质心;
步骤三,由流量簇映射到具体网络流量业务类型,完成网络流量的识别。
4.根据权利要求2所述的流量识别方法,其特征在于所述步骤一中,网络流量的特征
属性通过引入方差贡献率来衡量不同流量属性特征值和特征向量在决定该条网络流属于
何种业务类型的重要性,并使贡献率累积和到80%比例时,求取网络流特征属性子集。
5.根据权利要求2所述的流量识别方法,其特征在于所述步骤二中,通过计算样本流
在流量集的Z分数,并令其绝对值大于2的网络流作为孤立流。
6.根据权利要求2所述的流量识别方法,其特征在于所述步骤三中,将孤立流先行隔
离,然后将流量集中分布较紧密的样本流预先归为一个类簇,计算其流量簇的质心,将其设
定为初始聚类质心。
7.根据权利要求2或权利要求3所述的流量识别方法,其特征在于,以万有引力为模
型,构建出流量引力定律,并在计算流量引力时为防治某个流量簇的质量因过于庞大对其
它网络流发生“吞噬”作用而出现“黑洞”现象,改进流量引力计算式为: 其中C1,C2是网络流量中分属两种不同业务类型的流量簇质点所组成的类簇,M1,M2分
别是流量簇C1,C2的质量,O1,O2分别是流量簇C1,C2的质心。
8.根据权利要求2或权利要求3所述的流量识别方法,其特征在于,网络流归属于流量
簇的概率判定依据为该条网络流与流量簇引力间的比例大小;
例如已知某待识别网络流P与流量簇C1的流量引力是F1,与流量簇C2的流量引力是
F2;
若有 ,那么网络流P应为业务类C1的概率要大于应为业务类C2的概率。

说明书全文

一种基于网络流引聚类的流量识别方法

技术领域

[0001] 本发明是一种基于网络流引力聚类的流量识别方法,主要用于解决当前网络流量识别方法所存在效率偏低、实时性较差、精确度和精细度不高的问题,属于网络安全管理领
域。
[0002]

背景技术

[0003] 当前网络安全管理的发展趋势之一就是提供区分服务并给予不同的服务质量保障,而其前提就是要对网络流量中的各种不同业务类型应用能够正确有效地识别。优秀
的业务识别技术不但可以极大提高网络管理的能力,还能从一定程度上预测网络的未知流
量。流量识别可运用于网络测量、网络管理、内容审计、舆情监控、服务质量管理等各个模
部分中。现有的流量识别方法主要有:端口识别法,DPI(Deep Packet Inspection,深度
包)识别法,DFI(Deep Flow Inspection,深度流)识别法,通信行为识别法和机器学习
别法。
[0004] 1.基于端口的识别方法端口识别法通过建立常用端口和网络应用的对应表,如表1所示,对网络流量的识别
只需完成一个映射过程。
[0005] 表1常用端口-应用表端口号 协议类型 应用类型
21 FTP 文件传输
23 Telnet 远程登录
25 SMTP 电子邮件
69 TFTP 简单文件传输(TrivialFTP)
80 HTTP 万维网(WWW)
110 POP3 远程电子邮件访问
161 SNMP 简单网络管理
443 HTTPS 安全超文本传输
基于端口的网络流量应用识别方法,没有复杂的算法过程,所以便捷迅速,对于传统流
量应用识别率高,但该方法有很多局限性:1)网络业务应用的端口号可能不在IANA注册端
口表中注册,并对公众保密;2)有些应用的通信端口未绑定因而可人工修改,或者虽在端口
表上有注册,但为了突破管辖限制,特意使用其它的端口号替代进行规避;3)有些网络流量
由于加密安全缘故是无法在IP层获取其端口信息的。
[0006] 2.基于DPI的识别方法一些网络流量包的内容存在与应用类型密不可分的字符串,收集这些内容字段,形成
流量业务特征库,就可建立网络业务类型和特征库的对应关系。DPI识别网络业务类型的方
法优点在于无需借助于协议端口映射表,故而能够识别端口动态变化和端口伪装的应用类
型。由于须探查应用层报文内容,搜索应用层特征库,在特征库体积很庞大或需频繁地更新
流量业务特征到库中时,算法复杂度较高,另外这种方法对于加密流量的识别也是无效的。
[0007] 3.基于DFI的识别方法不同的业务类型具有不同的会话连接或网络流状态,如VoIP流量在网络流状态上的
特征非常明显:网络实时传输(RTP)流量的包长相对固定,一般在130~220byte,连接速
率较低,为20~84kbit/s,同时会话持续时间也相对较长;而基于P2P下载的流量应用平
均包长均在450byte以上、下载时间长、连接速率高、首选传输层的协议为TCP。DFI技术正
是基于这一系列流量的行为特征,建立流量特征模型,通过分析会话连接流的包长、连接速
率、传输字节量、数据包与数据包之间的间隔等信息来与流量模型对比,从而实现识别应用
类型。DFI技术关注于网络流量的行为,而不似DPI采用逐包分析,然后进行模式匹配,因此
可以实现对加密网络业务和未知网络业务的识别,但目前该种方法识别的精确度不高,且
不够精细。
[0008] 4.基于网络流通信行为的识别方法基于通信行为识别方法,是一种类似人群社交理论的方法,网络流不再是孤立的个体,
而是要分析这条网络流与其它网络流、网络群体之间的联系,从这些联系中建立特征并以
此来识别流量类型。如图1、2、3所示,先观察单个主机的行为,并分析其与其它主机的通信
连接行为,然后从应用层(反映了传输层拓扑连接)、功能层(反映了服务提供者或消费者行
为)和社会层(反映了主机连通度)进行分析,最后将这些主机群行为模式与已知的网络
流量业务特征进行匹配,达到识别目的。该方法无需解析网络包负载,只是通过网络流量通
信的主机行为模式来对复杂的流量进行分类,故对加密流有效,但目前它只对特定少数类
型的流量识别有效,不具有通用性。
[0009] 5.基于机器学习的识别方法不同类型的网络流量业务,其流量属性如数据包进出速率、数据包个数、平均包大小、
字节数、网络流量的持续时间、流量包的到达间隔等各不尽相同,这些属性均可作为流量特
征统计的对象,由此可形成流量经验模型,用于机器学习。如图4,网络流量的分类识别算法
是通过机器学习算法对流量先形成流量分类模型进而进行识别的一种方法。目前基于聚类
算法进行流量识别的研究相当丰富,K-means聚类算法是其中常见和经常被使用的一种,其
特色在于算法轻巧简便影响力广泛,该算法的思想是把流量集中的目标样本聚类成K个不
同的流量簇,并通过不断的迭代步骤修正流量簇的内容,最后使得聚类准则函数的误差平
方差最小化来最大化流量簇内相似性,但其对于类簇的原始聚类中心的设定非常敏感,表
现为原始聚类中心随意设定将可能导致算法容易陷入局部最优解从而极大影响到类簇的
最终聚类效果,并且该方法在聚类时只考虑了距离因素,忽视了密度因素对聚类的影响。
[0010]

发明内容

[0011] 技术问题:本发明的目的是提供一种网络流量业务类型识别方法,通过优化聚类算法的局部最优解,主要解决流量识别精确度和精细度不高,难以识别未知流量和加密流
量问题。
[0012] 技术方案:本发明的方法是一种策略性的方法,如图5、6,流量的相似性与流量簇的距离和密度有很大关系,通过引入密度(即质量)思想,结合划分(即距离)思想,设计了基
于网络流引力聚类的流量分类识别方法,并通过对引力聚类中的孤立流处理和初始聚类质
心设定的操作来解决原聚类识别流量存在的局部最优解问题,使得流量的分类识别能力更
为准确。
[0013] 本发明方法包括以下两个阶段:训练阶段:根据样本流量构建训练集,形成网络流引力分类模型;
识别阶段:依据引力聚类识别原理对网络流量进行业务类型识别。
[0014] 本发明方法的训练阶段包括以下步骤:步骤一,捕获网络流量后,选取网络流量的特征属性,对每条网络流做归一化处理后,
形成流量训练集;
步骤二,计算每条样本流在流量训练集中的场强,并由此计算出其在训练集的Z分数,
若Z分数的绝对值>2,则识别为孤立流,并将孤立流与其它样本流隔离;
步骤三,在所有的非孤立流流量集中,将流量集中分布较紧密的样本流预先归为一个
类簇,计算其流量簇的质心,作为流量集初始聚类质心;
步骤四,利用半监督学习的网络流引力聚类原理和方法,对训练集的每条网络流进行
迭代分类学习,并同时更新流量簇质心;
步骤五,完成对孤立流的分类,形成流量分类模型。
[0015] 本发明方法的识别阶段包括以下步骤:步骤一,由网络流量特征属性子集,形成待识别的网络流序列;
步骤二,根据训练阶段所获得的分类模型,利用引力聚类原理,对网络流量中的每条待
识别流进行流量引力分类,并同时更新流量簇质心;
步骤三,由流量簇映射到具体网络流量业务类型,完成网络流量的识别。
[0016] 本发明方法的训练阶段中,步骤一中,网络流量的特征属性通过引入方差贡献率来衡量不同流量属性特征值和特征向量在决定该条网络流属于何种业务类型的重要性,并
使贡献率累积和到80%比例时,求取网络流特征属性子集。步骤二中,通过计算样本流在流
量集的Z分数,并令其绝对值大于2的网络流作为孤立流。步骤三中,将孤立流先行隔离,
然后将流量集中分布较紧密的样本流预先归为一个类簇,计算其流量簇的质心,将其设定
为初始聚类质心。
[0017] 本发明中,以万有引力为模型,构建出流量引力定律,并在计算流量引力时为防治某个流量簇的质量因过于庞大对其它网络流发生“吞噬”作用而出现“黑洞”现象,改进流
量引力计算式为: 其中C1,C2是网络流量中分属两种不同业务类型的流量簇质点所组成的类簇,M1,M2分
别是流量簇C1,C2的质量,O1,O2分别是流量簇C1,C2的质心。
[0018] 本发明中,网络流归属于流量簇的概率判定依据为该条网络流与流量簇引力间的比例大小。例如已知某待识别网络流P与流量簇C1的流量引力是F1,与流量簇C2的流量引
力是F2。若有 ,那么网络流P应为业务类C1的概率要大于应为业务类C2的概率。
[0019] 下面给出网络流引力聚类识别方法所使用到的定义和原理:流量簇质体:简称“流量簇”,是流量数据空间中具有“流量簇质量”的流量簇单元。它
是某些在重要属性空间中取值相似的网络流元素组成,具有两个最基本的属性:流量簇质
量和流量簇质心。
[0020] 流量簇质量:流量簇质体里面内含的网络流对象数目。
[0021] 流量簇质心:若X1,…,Xi,…,Xn(Xi=, )是d维流量空间S中的一组网络流序列, Cj是由X1,X2,…,Xe( , )组成的一个流量簇质体,
则Cj的流量簇质心Oj=为X1,X2,…,Xe在该流量数据空间中的几何中
心。
[0022] 原子流量簇质体:指仅包含一条网络流的流量簇质体,其流量簇质量是1,所以又可称为原子流量簇质点。
[0023] 流量引力:指网络流量业务类型之间的匹配程度。流量簇C1 和C2的引力如式(1):
(1)
当C2为仅含一条网络流时,式(1)转换为:
(2)
实际只需计算引力的相对大小,故引力常数G可忽略;另外,为防治某个流量簇质量因
过于庞大对其它网络流发生“吞噬”作用而出现“黑洞”现象,改进流量引力计算式(1)和
(2)为:
(3)
(4)
叠加原理:设p1,p2,…,pm是网络流量空间中属于同一种类型的m个流量簇质点,流量
引力Fl,F2,…,Fm是p1,p2,…,pm和另一条网络流分别作用形成,那么m个流量簇质点对
该条网络流的引力叠加计算如式(5)所示:
(5)
分类原理:如图7所示,设 C1,C2是网络流量中分属两种不同业务类型的流量簇质点
所组成的类簇。网络流P的类簇属性待求知,已知P与C1的流量引力是F1,P与C2的流量
引力是F2。若有 ,那么网络流量P应为业务类C1的概率要大于应为业务类C2的概
率。
[0024] 流量引力场:指流量簇质点由于流量引力的共同作用,所产生的充溢于整个流量空间的场。定义一条网络流在某一流量类簇中的场强是该类簇中全部流量簇质点作用于这
条流量的场强之和,一个流量簇质点作用于这条网络流的场强是它对只包含一条网络流的
原子流量簇质点的流量引力。
[0025] 本发明的改进之处体现在:改进一:网络流特征属性的选取。流量属性选取的不充分或者选取的属性关联度很高,
均会使得模型的识别率和正确率较低。在维持算法轻便性的同时,本发明使用先前研究所
概括的37种流量特征属性对不同业务类型的网络流进行描述,表示为x1,x2 , …,x37,也即
代表网络流量序列可以用一个nx37的矩阵X来表示:
(6)
式(6)中: 表示第i条网络流在第j个属性上的归一化取值,n为网络流的条数,则
由Xi所构成的协方差矩阵:
(7)
(8)
其中,网络流 的均值向量 ,U为由协方差矩阵C的特征向量u1,u2, …,u37
所构成的特征向量矩阵, 为由协方差矩阵C的特征值 所构成的特征值矩阵,
假设特征值满足 > …> 。引入方差贡献率 来衡量不同特征值和特征向量在决定
该条网络流属于何种业务类型的重要性,以此来降维。由式(9)中前d 种流量特征向量可
组成用于流量分类识别的特征属性子空间,该空间去除了部分冗余属性,反映了网络流量
集的基本特性,取 求得d 值,d即为最终流量特征属性子集的个数。
[0026] (9)改进二:孤立流处理。传统识别孤立流的方法为计算样本流与其他样本流的距离和,将
和值最大的 %条流标识为孤立流,这里的 值由人工随机设定,易造成结果的不准确性。
为消除这种人工取值的随机性,引入统计学中的Z分数来识别孤立流。
[0027] 在统计学中,变量值与所有变量平均数的差值除以标准差的值,称为Z分数,若统计数据分布较对称尤其是接近正态分布时,会产生如下准则:计算该组数据的Z分数,约有
68%的取值位于 ,95%的取值位于 ,99%的取值位于 。Z分数用标准差
的概念刻画了个体和团体均值之间的距离情况,其真实地度量了个体到团体中相对标准的
距离,同时克服人为指定阈值的不足。文中采用Z 分数的绝对值大于2的网络流作为孤立
流。设s[i][k]表示第i条流的第k维取值,网络流i在流量集的场强为:
(10)
d 为流量样本点的维数,n为网络流的条数。
[0028] 则样本流i的Z分数为:(11)
其中: 。
[0029] 改进三:初始聚类质心的设定。本发明的方法是将孤立流先隔离,然后将流量集中分布较紧密的网络流先粗糙地归为一个类簇,计算类簇质心,将其设定为初始聚类质心,如
此可确保其开始设定的合理性和在其周围空间网络流保持相对较强的相似性,降低聚类质
心的设定的随机和同质性所造成的误差累积和聚类效果的恶化。
[0030] 工作流程:基于网络流量引力聚类的流量识别方法,其流程如图8所示,分为训练阶段和识别阶
段:
训练阶段,根据样本流量构建训练集,形成网络流引力分类模型:
1.捕获网络流量后,选取网络流量的特征属性,对每条网络流做归一化处理后,形成流
量训练集。其中网络流量的特征属性选取方法如下:
使用先前研究所概括的37种流量特征属性对不同业务类型的网络流进行描述,表示
为x1,x2 , …,x37,也即代表网络流量序列可以用一个nx37的矩阵X来表示:

式中: 表示第i条网络流在第j个属性上的归一化取值,n为网络流的条数,则由
Xi构成协方差矩阵:

其中,网络流 的均值向量 ,U为由协方差矩阵C的特征向量u1,u2, …,u37
所构成的特征向量矩阵, 为由协方差矩阵C的特征值 所构成的特征值矩阵,
假设特征值满足 > …> 。引入方差贡献率 来衡量不同特征值和特征向量在决定
该条网络流属于何种业务类型的重要性,取 使用 公式求得d 值,d
即为最终流量特征子集的个数。
[0031] 2.计算每条样本流在流量训练集中的场强,并由此计算出其在训练集的Z分数,若Z分数的绝对值>2,则识别为孤立流,并将孤立流与其它样本流隔离。
[0032] 3.在所有的非孤立流流量集中,将流量集中分布较紧密的样本流预先归为一个类簇,计算其流量簇的质心,作为流量集初始聚类质心。
[0033] 具体方法描述如下:输入:流量簇数目K,含N条已隔离孤立流的流量集
输出:初始聚类质心
For i =1:K-1
1)计算样本集 中每条样本流的引力场,取场强最小值的那条网络流,记为 ;
2)求流量集 中与 引力最小的网络流,记为 ;
3)求流量集 的每条网络流与 的引力最大的前N-1/K条样本流(这些样
本流较其它样本流而言与 较接近)归为类 ;
4)求出类 的聚类质心,作初始聚类质心 ;
5)剩余样本集 ,含 条样本流。
[0034] End把集合 中剩下的网络流归为类 ,同时也求出类K的聚类质心 。
[0035] 4.利用半监督学习的网络流引力聚类原理,对训练集的每条网络流进行迭代分类学习,并同时更新流量簇质心。其中在计算流量引力时,为防治某个流量簇质量因过于庞大
对其它网络流发生“吞噬”作用而出现“黑洞”现象,改进流量引力计算式为:

5.完成对孤立流的分类,形成流量分类模型。
[0036] 识别阶段, 依据引力聚类识别原理对网络流量进行业务类型识别:1.由网络流量特征属性子集,形成待识别的网络流序列。
[0037] 2.根据训练阶段所获得的分类模型,利用引力聚类原理,对网络流量中的每条待识别流进行流量引力分类,并同时更新流量簇质心。其中网络流归属于流量簇的概率判定
依据为该条网络流与流量簇引力间的比例大小。
[0038] 3.由流量簇映射到具体网络流量业务类型,完成网络流量的识别。
[0039]有益效果
针对基于聚类识别网络流量存在局部解的缺陷问题,设计了一种基于网络流引力聚类
的流量识别方法,然后从流量特征属性的选取、对孤立网络流的处理、初始聚类质心的设定
环节对这种流量引力聚类方法进行了适应性的处理,这种流量识别方法识别效果更好,识
别率更高,识别算法收敛得更快。
[0040]附图说明
[0041] 图1 是HTTP连接模式图。
[0042] 图2 是DNS业务类型连接模式图。
[0043] 图3 是典型P2P应用连接模式图。
[0044] 图4 是基于机器学习的识别方法示意图。
[0045] 图5 是流量相似性与距离的关系示意图。
[0046] 图6 是流量相似性与质量的关系示意图。
[0047] 图7 是基于流量引力的网络流量分类。
[0048] 图8 是本发明流量识别方法工作流程图
[0049]

具体实施方式

[0050] 根据图7场景图,有23条样本流,标号从为1,2,…,23,分属于两种不同业务类型1和业务类型2,P为待识别的网络流,网络流的原始特征属性有37种,表示为x1,x2 , …,
x37。结合图8的流程图给出以下训练过程和识别过程:
1.训练过程:
1)统计每条网络流在原始特征属性属性上的取值,形成流量训练集:
其中 表示第i条样本流在第j个属性上的归一化取值,则由样本流Xi构成协方差矩
阵 并转换成 形式,U为由协方差矩阵C的特征向量u1,
u2, …,u37所构成的特征向量矩阵, 为由协方差矩阵C的特征值 所构成的特
征值矩阵,令特征值满足 > …> 。由 中 求出d=11,即样本
流的属性取为前11种。
[0051] 2)计算每条样本流在流量训练集中的场强和它们的Z分数,由Z 分数的绝对值大于2的网络流作为孤立流,选取出孤立流1、6和23,并将孤立流与其它样本流隔离;
3)在所有的非孤立流流量集中,采用改进的初始聚类质心设定方法来计算流量集初始
聚类质心,令为 , ;
4)利用所设计网络流引力聚类方法,对训练集的每条样本流(除去流1、6和23)进行
迭代分类学习,并同时更新流量簇质心;
5)最后完成对孤立流1、6和23的分类,形成流量簇C1和C2,分别对应流量业务类型1
和2。
[0052] 2.识别过程:1)计算网络流在前11种流量特征属性的取值,然后做归一化处理,形成待识别的网络
流;
2)根据训练阶段所获得的分类模型,利用引力聚类原理,计算网络流P与流量簇C1的
流量引力是F1,与流量簇C2的流量引力是F2,若有 ,则将P归为流量簇1,否则归为
流量簇2,并同时更新流量簇质心 , ;
3)由流量簇映射到具体网络流量业务类型,完成网络流量的识别。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈