基于机器学习的加密流量分类研究
引言
随着互联网技术不断发展,网络规模逐渐增大,网络应用业务类型不断涌现。网络应用迅速
产生了大量流量,对网络业务的识别,监视,控制和安全管理方面带来巨大的挑战。互联网
各种应用类型有着自身的统计特征,通过分析这些特征,可以对网络流量进行有效分类,帮
助网络管理人员对网络流量进行控制。
传统的流量分类方案一般是基于数据包载荷信息,数据包头部信息,服务端口号等,但是随
着动态端口,加密,网络代理,多重封装等技术,例如,一些网络恶意攻击行为经常采用
web 默认 80 端口进行通信,因此传统分类方法受到很大挑战,因此采用机器学习方法进行
网络流量分类成为研究热点,根据网络流属性的统计特征,建立分类模型,可以有效规避上
述问题,取得了很好的分类效果,受到学术界广泛关注。
相关工作
目前,已经有大量的机器学习算法被应用于网络流量分类,其中有代表性的学习算法有:朴
树贝叶斯(NB),贝叶斯神经网络(BNN),C4.5 算法,支持向量机(SVM)等,通过对网络
流量的属性特征进行统计,运用机器学习算法建立分类模型,可以对未知流量进行分类或预
测。近期的相关研究工作的贡献如下:
2005 年,剑桥大学的 Moore 等人提出基于概率模型的朴素贝叶斯方法,该方法利用先
[1]
验概率和样本数据信息,计算出最大的后验概率值,从而得出样本类型,该方法具有较高的
分类精度,建模开销小的特点。但是该方法要求参与分类的各项属性条件独立而且遵循高斯
分布,然而在流量分类问题中,原始的网络流属性集合很难满足上述条件,因此该方法的实际
应用受到极大限制。Panchenko 等人采用包括总传输的字节数、总传输数据包个数、每个方
[2]
向数据包比例、html 文件的大小、及数据包的大小等特征作为候选属性集,利用 SVM(支持
向量机)算法进行分类,在样本总类 512 以下,有载荷加密,数据包填充,网络代理等防御
措施下,分类精度可以达到 80%,然而该方法只针对网页应用进行类型识别。Kevin P. Dyer
[3]
等人提出利用一条数据流的总传输时间、每个方向的带宽总消耗、bursts bandwith 等粗粒
度信息作为特征集而不考虑每个数据包信息(大小及方向)之类的细粒度特征,这样可以有
效降低数据包填充等防御措施对分类精度的影响,该方法取得了与 Panchenko 等人相似的精
度。
国内方面,国防科学技术大学的王锐等人率先将支持向量 SVM(support vector machine)
方法应用到 P2P 流的识别领域.他们利用网络连接数相关的统计属性将网络流简单划分为
P2P 流和非 P2P 流,然而他们所用的统计属性依赖于应用的连接模式,因此,该方法与基于传
输层行为的流量识别方法相似,分类结果的稳定性极易受到网络环境的影响。
本文研究的目的在于找到一种能够检测恶意网络行为的数据流量,提出了一种在现有
的传统分类模型的基础下,采用基于决策树算法的分类模型对流量进一步进行判别来检测出
异常流量的两层结构。
评论0
最新资源