网络流量分类方法调研

网络流量分类方法调研

传统的网络流量分类方法

基于端口

最初的标准协议都分配有固定的端口,如HTTP服务的端口号为80,SMTP(简单邮件传输协议)服务的端口号为25等。在解析出数据包的端口信息后,可以据此推断网络流量所属协议类型
问题:随着动态端口、伪装端口及不标准端口号的出现,该方法的识别准确率显著下降。

基于有效负载

基于有效负载的方法,如深度包检测,通过在IP包的有效负载中搜索应用程序的签名,能够在一定程度上避免动态端口问题。
问题:
-当加密流量出现时,该方法很难实现且计算开销很高
-面对快速发展的网络,需要不断地更新和维护协议特征库

基于流量统计

依据流量的一些外部统计特征,如包间时间、总包数、流量持续时间等,多采用机器学习方法实现流量的分类
常用的机器学习算法有:
-机器学习中的经典算法:随机森林、SVM、朴素贝叶斯、C4.5等、各种聚类算法
-深度学习模型:神经网络CNN、RNN等;去噪自编码器
特点:对动态端口和加密流量等具有高适应性,是当前流量分类领域的研究热点。

流量分类框架

监督学习

利用一组已标记的数据样本训练一个流量分类器,将未识别流量划分到所能识别的已知类别中,目前准确率基本可达到98%以上。

无监督学习

通过聚类等无监督学习算法对一组无标记样本自动进行分类,然后在DPI等工具的帮助下为聚类结果打上相应的标签。

该领域可用的公开数据集

  1. WIDE数据集:http://mawi.wide.ad.jp/mawi/
    该数据集进行了脱敏处理,只包含IP包头部分,且没有标注过

  2. CIC数据集:https://www.unb.ca/cic/datasets/
    主要是一些入侵检测、恶意软件的数据集
    其中VPN-nonVPN traffic dataset (ISCXVPN2016)数据集中包含7种加密流量
    本数据集未经过任何处理

上述两个是流量分类领域论文写作的常用数据集

流量数据预处理方法

1.以单条流或单会话流为最小识别单位
-提取每条流的外部统计特征(如包间时间、字节数等)组成特征向量来表示每个流样本
-提取每条流all层或者应用层的前784字节或1024字节,或者提取每条流的前多少包,每个包提取前多少字节,从而将每个样本表示成一个灰度图像(矩阵)

特点:特征信息充足,无论是流统计特征还是负载特征,皆能有效地表示特定的协议类型信息
缺点:提取特征的过程耗时长且复杂,不易于实现
可用的特征处理工具:nDPI、nfstream

2.以单个数据包为最小识别单位
每个数据包取应用层负载部分前30或36个字节组成特征向量来表示一个样本
常用的特征表示方法:n-gram或BoW模型

目前流量分类领域的发展方向

  1. 如何在当前网络环境急速更新交替的环境下,对网络流量进行实时分析,达到精准分类

  2. 提高识别和提取未知应用程序产生的网络流量的准确性和识别效率

  3. 对加密流量的识别分析

你可能感兴趣的:(协议分析,网络,人工智能)