Internet流量分类技术-清华大学qindonghong
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分类模型的构建 使用模型进行分类
基于ML分类法
网络流量分类中所采用的机器学习都是基于连 接层(如传输层)的“流”的统计特征进行分类。 流统计信息包括IP分组的平均大小、流的长度、 IP分组的数目等描述流的传输模式。 机器学习分类法根据一些预定义的流特征,利 用一些ML算法来将网络流实例映射到不同网络 流类型。
sim( f i , f j ) =
流fk的类别:
( xik − x jk ) 2 ∑
k =1
p
c( f k ) = arg min(| f k − fi |)
i
TDGs推理法
Iliofotou等使用了流量传播图(traffic dispersion graphs, TDGs) 作为一种分析和识别网络流量的抽象工具。在IP网络中, TDGs的节点对应于不同IP地址的实体, TDGs的边存在一种 隐含时序关系即显示了网络中相应节点交互次序。TDGs 边按不同的研究目的有多种不同的定义方式。 TDGs边按节点对之间交互类型(kind of interaction)的定义称 作“边过滤”(edge filtering)。TDGs边的交互类型包括以 下5种情况:
arg min
ω , d ,b , e
n 1 T J ( w , d , b , e ) = w w + d ∑ ei2 2 i =1
w为权值向量,b为标量,xi为样本,yi为类别,φ为核函数,ei为松弛 变量,d为正则化参数(或惩罚因子) 。
s .t .
y i = w T φ ( xi ) + b − ei , ei ≥ 0, i = 1, 2, ..., n
(1)交换分组的数目或字节数; (2)交换分组的类型和顺序; (3)传输层协议; (4)基于端口或端口范围的应用; (5)分组载荷的属性。
TDGs推理法
Iliofotou等研究了交互类型(4)即端口号定义边的情况,得 到了三种不同TDGs实例,如HTTP TDGs(端口80), DNS TDGs(端口53)和SMTP TDGs(端口25)。 为深入研究和定量分析TDGs的性质, Iliofotou还定义了一 些重要的TDGs特征或指标:
C ( X ) = a rg m a x
c
j
P (C = c
j
| X )
arg m ax
c
j
P ( x1 , x 2 ,L , x n | C = c j ) P (C = c j ) P (X ) P (C = c j )∏
i
P ( xi | C = c j )
arg m ax
c
j
P (X )
C为预测流的应用类型,cj为某应用类型,xi为流属性。
= 1 n
( r ) i
∑
x∈ S
( r ) i
x
, i =1,…,k
若 | Z i( r + 1) − Z i( r ) |< ς , i = 1, 2, ..., k ,
则聚类过程结束,否则转(2).
P维空间聚类法
Bernaille等提出了基于TCP连接的前p个报文来识别应用类 型的技术。 若流f用P维空间点来表示,则每个分组对应空间中一个维 度,第i维的坐标值代表了第i分组的大小(i=1,…,P)。则两 点距离代表了其相似度。 相似度计算公式:
(1)
(2)
(3)
已知K个类别,M个特征和N个训练数据点,每个 数据点由一对{Xj∈IRM,Gj∈{1,…,K}}构成,其中Xj 是特征向量,Gj是第j个数据点的类别。 然后通过学习算法得到分类规则或分类模型。分 类模型提供了映射G:IRM→{1,…,k}。 给定一个新的数据点,则根据该分类模型可以得 到它的类别。
K-means聚类
K-means聚类是Mac Queen提出的一种无监督的聚类算法,它在 最小化误差函数的基础上将样本集划分为预定的类数k。 聚类误差函数为误差平方和(error square sum, ESS)。根据训练集 自身的结构特性,算法将训练集划分成k个聚类并使得该误差函 数为最优。 K-means算法计算步骤如下:
最近邻法(nearest neighbor, NN) 线性判别分析(linear discriminate analysis, LDA)
基于ML分类法
机器学习(machine learning, ML)主要研究如何从一 些观测样本出发得出目前尚不能通过原理分析得 目前尚不能通过原理分析得 规律或知识,利用这些规律或知识去对未来 到的规律或知识 规律或知识 对未来 数据或无法观测的数据进行预测或分类。 数据或无法观测的数据 机器学习过程通常包括两个阶段:
应用领域
网络流量分类是认识和管理各种网络资源的重 要依据,广泛地应用于如下领域:
网络运行与管理 网络安全 QoS管理 容量规划 趋势分析 入侵检测 合法拦截 ……
结论
阐述了Internet流分类的意义。 详细介绍了四种流分类技术,以及若干具体算法:
传统流分类法 统计流分类方法 基于ML分类法 TDGs推理法
AutoClass K-means聚类 P维空间聚类法
NaïveBayes方法
训练阶段。计算训练集的统计特性包括两步: (1)统计训练集中各类型的先验概率P(C=c) (2)假设各属性相互独立,统计其条件概率P(xi|C=c) 分类阶段。若给定流实例X,则计算各类型在X下的条件概率 P(c|X),取最大值类型为X的预测类型。
AutoClass
Zander和McGregor提出了基于EA的AutoClass流分类方法, 它是一种无监督的分类方法。训练集中各样本的类型不是 预先定义的而是通过EM算法学习得到的。 使用的特征包括报文到达间隔,平均报文长度和方差,流 报文数目和流持续时间等。 算法评价-聚类的类内同质性H:
C和A为聚类和应用类型的数目,Nac是应用类型a被归到聚 类c的流的数目,Nc是聚类c中流的总数目,聚类c的类内同 质性H即为所有Hc的平均值。
平均度(average degree, AD) 最大度比率(max degree ratio, MDR) 方向性(directionality)。 GCC大小(giant connected component, GCC)。 深度(depth)
目前,利用TDGs来推理流量类型的研究还处于起步阶段, 要将它变成一种有效的网络监视和流分类工具,还有大量 研究要做……。
CERNET2010
Internet流量分类技术
秦董洪 清华大学网络中心 2010-10-28
内容提要
流分类意义 传统流分类法 统计流分类法 基于ML分类法 TDGs推理法 结论
流分类的意义
网络流分类是认识、管理、优化各种网络资源 的重要依据,对网络运行与管理、安全检测等 都有非常重要的作用。 流分类的过程:
阐述了流分类技术的应用领域。
Thanks
协议指纹分类法
Crotti等提出了协议指纹的概念,它代表了一种协议 所产生流的统计特性,可以用来识别这种协议的流 类型。 协议掩码M代表了该应用层协议的特征。
协议掩码M的生成 协议掩码 的生成
协议指纹分类法
协议指纹的计算:
(1)协议掩码Mp,即协议的概率分布函数PDF (2)协议阈值Tp,定义了某种协议流与其协议掩码M之 间的差异。
基于载荷分析的流分类法
基本原理:通过分析报文中的载荷来确定它们 是否含有已知应用的特征签名。例如,应用层 载荷含有特定签名GET * HTTP。 优点:准确度高。 缺点:
填充或加密技术导致了方法失效; 仅能识别签名有效的流量; 需要增加处理和存储开销; 分析流量的有效载荷会侵犯隐私和安全。
统计流分类法
任选k个初始聚类中心 Z 重算聚类中心 Z
( r + 1 ) i
(1 ) 1
, Zቤተ መጻሕፍቲ ባይዱ
(1 ) 2
,其中上标为迭代计算次数。 , L , Z k( 1 )
则 x∈Sr
i
第r次迭代,对训练集中任一样本x若 d ( x, Z i( r ) ) = min{d ( x, Z i( r ) ), i = 1, 2,..., k} ,
机器学习方法
ML算法分为有监督和无监督。 有监督算法:使用已经标签类别的训练集来学习生成 分类模型,然后使用该模型来预测新样本数据的类别 新样本数据的类别。 分类模型 新样本数据的类别
NaïveBayes方法 支持向量机SVM分类法
无监督(聚类)算法:根据特征值的相似度将网络流分 成不同的类别,这些类别不是预先定义的而是由算法 本身运算得到的,它反映了数据的内在统计特性 反映了数据的内在统计特性。 反映了数据的内在统计特性
协议指纹: ϕ
p
= {M
p
,T }
p
基于统计签名的分类法
流量特征包括:平均分组大小、流持续时间、流平 均字节数、流平均报文数。 签名特征的实时计算采用递推的公式:
均值: 方差:
µ k +1
σ
2 k +1
1 = µk + ( z k +1 − µ k ) k +1
2 k
简单模式分类
1 k =σ + [ ( zk +1 − µk ) 2 − σ k2 ] k +1 k +1
SVM分类法
支持向量机- support vector machine, SVM. SVM分类法基本思想是在样本空间中构造最优分类超平面,使 得超平面与不同类别的样本集之间的距离最大,从而达到最大 的泛化能力。 假设有m 类C={c1,c2, … ,cm}, 训练样本集为{(xi, yi), i=1,…, n},其 中yi∈C。SVM 模型就是一个分类超平面的优化问题:
统计流分类方法包括:
柱状图分类法 协议指纹分类法 基于统计签名的分类法
柱状图分类法
Trussell提出了统计分类的思想,利用了柱状图 对以太网报文大小建模,研究了其流量类型及 其含量:
a = ( E{B}) * E{h}
N k
−1
S .T .
∑a
= 1, a ∈ R , 0 ≤ ak ≤ 1
E{.}为均值运算,hM×1是网络流量的PSD,M是柱状 图的bin数目,BM×N由N个bM×1应用类型的psd构成, N为应用类型的数目;aN×1是每种应用类型的所占 权重,它代表在网络流量中各种应用类型所占比例。
异常向量A: A i ( Pi , M i ) = 协议异常S:
Sn (F , M ) = |
1 m a x ( ε , M i ( Pi ) )
n 1
∑
A i ( Pi , M i ) / n | − A m i n A m a x − A m in
协议阈值Tp:
Tnp = µ{S n ( F , M p )} + σ {S n ( F , M p )}
传统流分类方法
传统流分类方法包括:
端口号映射的流量分类 基于载荷分析的流量分类
端口映射的流分类法
工作原理:通过检查报文中的源端口和目的端 口的值来识别应用的类型。
例如,IANA预定义和分配的周知端口(1024以下的 端口),HTTP为80等。
优点:最简单,在过去很成功。 缺点:
动态端口的使用; 隧道(或加密隧道)的使用。
基于ML分类法
网络流量分类中所采用的机器学习都是基于连 接层(如传输层)的“流”的统计特征进行分类。 流统计信息包括IP分组的平均大小、流的长度、 IP分组的数目等描述流的传输模式。 机器学习分类法根据一些预定义的流特征,利 用一些ML算法来将网络流实例映射到不同网络 流类型。
sim( f i , f j ) =
流fk的类别:
( xik − x jk ) 2 ∑
k =1
p
c( f k ) = arg min(| f k − fi |)
i
TDGs推理法
Iliofotou等使用了流量传播图(traffic dispersion graphs, TDGs) 作为一种分析和识别网络流量的抽象工具。在IP网络中, TDGs的节点对应于不同IP地址的实体, TDGs的边存在一种 隐含时序关系即显示了网络中相应节点交互次序。TDGs 边按不同的研究目的有多种不同的定义方式。 TDGs边按节点对之间交互类型(kind of interaction)的定义称 作“边过滤”(edge filtering)。TDGs边的交互类型包括以 下5种情况:
arg min
ω , d ,b , e
n 1 T J ( w , d , b , e ) = w w + d ∑ ei2 2 i =1
w为权值向量,b为标量,xi为样本,yi为类别,φ为核函数,ei为松弛 变量,d为正则化参数(或惩罚因子) 。
s .t .
y i = w T φ ( xi ) + b − ei , ei ≥ 0, i = 1, 2, ..., n
(1)交换分组的数目或字节数; (2)交换分组的类型和顺序; (3)传输层协议; (4)基于端口或端口范围的应用; (5)分组载荷的属性。
TDGs推理法
Iliofotou等研究了交互类型(4)即端口号定义边的情况,得 到了三种不同TDGs实例,如HTTP TDGs(端口80), DNS TDGs(端口53)和SMTP TDGs(端口25)。 为深入研究和定量分析TDGs的性质, Iliofotou还定义了一 些重要的TDGs特征或指标:
C ( X ) = a rg m a x
c
j
P (C = c
j
| X )
arg m ax
c
j
P ( x1 , x 2 ,L , x n | C = c j ) P (C = c j ) P (X ) P (C = c j )∏
i
P ( xi | C = c j )
arg m ax
c
j
P (X )
C为预测流的应用类型,cj为某应用类型,xi为流属性。
= 1 n
( r ) i
∑
x∈ S
( r ) i
x
, i =1,…,k
若 | Z i( r + 1) − Z i( r ) |< ς , i = 1, 2, ..., k ,
则聚类过程结束,否则转(2).
P维空间聚类法
Bernaille等提出了基于TCP连接的前p个报文来识别应用类 型的技术。 若流f用P维空间点来表示,则每个分组对应空间中一个维 度,第i维的坐标值代表了第i分组的大小(i=1,…,P)。则两 点距离代表了其相似度。 相似度计算公式:
(1)
(2)
(3)
已知K个类别,M个特征和N个训练数据点,每个 数据点由一对{Xj∈IRM,Gj∈{1,…,K}}构成,其中Xj 是特征向量,Gj是第j个数据点的类别。 然后通过学习算法得到分类规则或分类模型。分 类模型提供了映射G:IRM→{1,…,k}。 给定一个新的数据点,则根据该分类模型可以得 到它的类别。
K-means聚类
K-means聚类是Mac Queen提出的一种无监督的聚类算法,它在 最小化误差函数的基础上将样本集划分为预定的类数k。 聚类误差函数为误差平方和(error square sum, ESS)。根据训练集 自身的结构特性,算法将训练集划分成k个聚类并使得该误差函 数为最优。 K-means算法计算步骤如下:
最近邻法(nearest neighbor, NN) 线性判别分析(linear discriminate analysis, LDA)
基于ML分类法
机器学习(machine learning, ML)主要研究如何从一 些观测样本出发得出目前尚不能通过原理分析得 目前尚不能通过原理分析得 规律或知识,利用这些规律或知识去对未来 到的规律或知识 规律或知识 对未来 数据或无法观测的数据进行预测或分类。 数据或无法观测的数据 机器学习过程通常包括两个阶段:
应用领域
网络流量分类是认识和管理各种网络资源的重 要依据,广泛地应用于如下领域:
网络运行与管理 网络安全 QoS管理 容量规划 趋势分析 入侵检测 合法拦截 ……
结论
阐述了Internet流分类的意义。 详细介绍了四种流分类技术,以及若干具体算法:
传统流分类法 统计流分类方法 基于ML分类法 TDGs推理法
AutoClass K-means聚类 P维空间聚类法
NaïveBayes方法
训练阶段。计算训练集的统计特性包括两步: (1)统计训练集中各类型的先验概率P(C=c) (2)假设各属性相互独立,统计其条件概率P(xi|C=c) 分类阶段。若给定流实例X,则计算各类型在X下的条件概率 P(c|X),取最大值类型为X的预测类型。
AutoClass
Zander和McGregor提出了基于EA的AutoClass流分类方法, 它是一种无监督的分类方法。训练集中各样本的类型不是 预先定义的而是通过EM算法学习得到的。 使用的特征包括报文到达间隔,平均报文长度和方差,流 报文数目和流持续时间等。 算法评价-聚类的类内同质性H:
C和A为聚类和应用类型的数目,Nac是应用类型a被归到聚 类c的流的数目,Nc是聚类c中流的总数目,聚类c的类内同 质性H即为所有Hc的平均值。
平均度(average degree, AD) 最大度比率(max degree ratio, MDR) 方向性(directionality)。 GCC大小(giant connected component, GCC)。 深度(depth)
目前,利用TDGs来推理流量类型的研究还处于起步阶段, 要将它变成一种有效的网络监视和流分类工具,还有大量 研究要做……。
CERNET2010
Internet流量分类技术
秦董洪 清华大学网络中心 2010-10-28
内容提要
流分类意义 传统流分类法 统计流分类法 基于ML分类法 TDGs推理法 结论
流分类的意义
网络流分类是认识、管理、优化各种网络资源 的重要依据,对网络运行与管理、安全检测等 都有非常重要的作用。 流分类的过程:
阐述了流分类技术的应用领域。
Thanks
协议指纹分类法
Crotti等提出了协议指纹的概念,它代表了一种协议 所产生流的统计特性,可以用来识别这种协议的流 类型。 协议掩码M代表了该应用层协议的特征。
协议掩码M的生成 协议掩码 的生成
协议指纹分类法
协议指纹的计算:
(1)协议掩码Mp,即协议的概率分布函数PDF (2)协议阈值Tp,定义了某种协议流与其协议掩码M之 间的差异。
基于载荷分析的流分类法
基本原理:通过分析报文中的载荷来确定它们 是否含有已知应用的特征签名。例如,应用层 载荷含有特定签名GET * HTTP。 优点:准确度高。 缺点:
填充或加密技术导致了方法失效; 仅能识别签名有效的流量; 需要增加处理和存储开销; 分析流量的有效载荷会侵犯隐私和安全。
统计流分类法
任选k个初始聚类中心 Z 重算聚类中心 Z
( r + 1 ) i
(1 ) 1
, Zቤተ መጻሕፍቲ ባይዱ
(1 ) 2
,其中上标为迭代计算次数。 , L , Z k( 1 )
则 x∈Sr
i
第r次迭代,对训练集中任一样本x若 d ( x, Z i( r ) ) = min{d ( x, Z i( r ) ), i = 1, 2,..., k} ,
机器学习方法
ML算法分为有监督和无监督。 有监督算法:使用已经标签类别的训练集来学习生成 分类模型,然后使用该模型来预测新样本数据的类别 新样本数据的类别。 分类模型 新样本数据的类别
NaïveBayes方法 支持向量机SVM分类法
无监督(聚类)算法:根据特征值的相似度将网络流分 成不同的类别,这些类别不是预先定义的而是由算法 本身运算得到的,它反映了数据的内在统计特性 反映了数据的内在统计特性。 反映了数据的内在统计特性
协议指纹: ϕ
p
= {M
p
,T }
p
基于统计签名的分类法
流量特征包括:平均分组大小、流持续时间、流平 均字节数、流平均报文数。 签名特征的实时计算采用递推的公式:
均值: 方差:
µ k +1
σ
2 k +1
1 = µk + ( z k +1 − µ k ) k +1
2 k
简单模式分类
1 k =σ + [ ( zk +1 − µk ) 2 − σ k2 ] k +1 k +1
SVM分类法
支持向量机- support vector machine, SVM. SVM分类法基本思想是在样本空间中构造最优分类超平面,使 得超平面与不同类别的样本集之间的距离最大,从而达到最大 的泛化能力。 假设有m 类C={c1,c2, … ,cm}, 训练样本集为{(xi, yi), i=1,…, n},其 中yi∈C。SVM 模型就是一个分类超平面的优化问题:
统计流分类方法包括:
柱状图分类法 协议指纹分类法 基于统计签名的分类法
柱状图分类法
Trussell提出了统计分类的思想,利用了柱状图 对以太网报文大小建模,研究了其流量类型及 其含量:
a = ( E{B}) * E{h}
N k
−1
S .T .
∑a
= 1, a ∈ R , 0 ≤ ak ≤ 1
E{.}为均值运算,hM×1是网络流量的PSD,M是柱状 图的bin数目,BM×N由N个bM×1应用类型的psd构成, N为应用类型的数目;aN×1是每种应用类型的所占 权重,它代表在网络流量中各种应用类型所占比例。
异常向量A: A i ( Pi , M i ) = 协议异常S:
Sn (F , M ) = |
1 m a x ( ε , M i ( Pi ) )
n 1
∑
A i ( Pi , M i ) / n | − A m i n A m a x − A m in
协议阈值Tp:
Tnp = µ{S n ( F , M p )} + σ {S n ( F , M p )}
传统流分类方法
传统流分类方法包括:
端口号映射的流量分类 基于载荷分析的流量分类
端口映射的流分类法
工作原理:通过检查报文中的源端口和目的端 口的值来识别应用的类型。
例如,IANA预定义和分配的周知端口(1024以下的 端口),HTTP为80等。
优点:最简单,在过去很成功。 缺点:
动态端口的使用; 隧道(或加密隧道)的使用。