【论文阅读】Deep Learning for Encrypted Traffic Classification: An Overview(深度学习方法进行加密流量分类综述)

原文:Deep Learning for Encrypted Traffic Classification: An Overview

Abstract

在abstract中,作者指出之前的基于端口号、DPI和经典的ML的流量分类方法在面对当下网络流量大面积加密的情况下准确率不高,接着介绍了本文的主要贡献:总结最近的DL模型在加密流量分类上的工作。最后,作者提出了几个目前在加密流量分类问题上面临的挑战。

1 INTRODUCTION

作者首先简要回顾流量分类问题上的各种方法:

  1. 基于端口:应用广泛,但准确率在逐步降低(因为较新的应用程序要么使用众所周知的端口号来伪装流量或不使用标准注册端口号)。
  2. 深度包检测(DPI):在数据包中查找模式或关键字,但仅适用于未加密的流量,并具有高计算开销。
  3. 基于统计特征的ML方法:依赖于统计或时间序列特征,使得它们能够处理加密和未加密的流量,但其高度依赖特征的选择(需要人工选择合适的特征)。
  4. 深度学习的方法:避免了人工选择特征,可以通过训练自动选择特征,是近年来的新方向。

最后,作者给出本文结构:
在本文中,我们将概述(加密)流量分类任务的一般框架。我们为分类任务提供一般指南,包括数据收集和预处理,功能选择和模型选择。此外,我们讨论了深度学习技术以及它们如何应用于流量分类任务。最后,讨论了open problem和未来的方向。

2 OVERVIEW OF CLASSIFICATION PROBLEMS ON COMPUTER NETWORK(计算机网络分类问题概述)

作者首先总结了流量分类问题的一般框架:
【论文阅读】Deep Learning for Encrypted Traffic Classification: An Overview(深度学习方法进行加密流量分类综述)_第1张图片
在本节中,首先介绍前四部分:

2.1 Problem Definition

构建网络流量分类器的第一步是清楚地定义分类的目标。典型目标包括

  • QoS供应资源使用规划计费系统定制入侵检测恶意软件检测

为了满足相应的目标,可以根据以下几个方向对流量进行标记:

  • 1)协议(例如UDP,TCP,FTP或HTTP)
  • 2)应用程序(例如Skype,WeChat或Torrent)
  • 3)流量类型(例如,浏览,下载或视频聊天)
  • 4)网站
  • 5)用户操作(例如发布评论或发送语音消息)
  • 6)操作系统
  • 7)浏览器

一个流通常由5元组确定:源IP,目标IP,源端口,目标端口和协议
此外,流量分类也可以分为两个子类:

  • 在线。在线分类通常是指流量尽可能快地归类的情况,通常在前几到几十个数据包内。例如,对于QoS供应和路由,分类需要在线,因为分类的输出直接用于对当前流程的决策。
  • 离线。例如计费系统,分类可以离线。

2.2 Data Collection

一个好的数据集是训练深度学习模型的前提,在流量分类领域,虽然有公开一些数据集,但并不能通用。作者认为主要有以下几点原因:

  • 1)可能的流量类的数量是巨大的,公共数据集几乎不可能包含所有流量类型
  • 2)目前没有公众都接受的数据收集和标记方法
  • 3)不同的收集方法和场景导致不同特征的可用性和分布差异

作者认为,一个合适的流量数据集应包含:

  • 1)正确的类标记
  • 2)可用的特征
  • 3)具有代表性,比如具有较多类且每个类的实例足够多

2.3 Dataset Pre-processing

作者认为,在利用ML算法训练模型时,一些影响流量特征分布的数据包应该被剔除,例如:重传包、重复ACK、失序包等。
在训练DL模型时,输入数据应该进行归一化。

2.4 Features

作者总结一些常用的特征:

  • 时序特征。包括分组长度,到达时间间隔和连续数据包的方向等。
  • 包头信息。例如IP、端口等
  • 有效载荷数据。例如TLS1.2握手包中的某些字段
  • 统计特征。例如平均分组长度,最大分组长度和最小的间隔时间等。(只能用于离线,因为需要对整个流进行统计)。

3 DEEP LEARNING TECHNIQUES

在本章,作者介绍了几种典型的深度学习模型(模型的具体细节不在此处介绍):

  • MLP(多层感知机)
  • CNN
  • RNN(LSTM等)
  • AE
  • GAN

总结如下:
【论文阅读】Deep Learning for Encrypted Traffic Classification: An Overview(深度学习方法进行加密流量分类综述)_第2张图片

3.1 Model Selection

作者介绍了几种模型和特征的组合,如下:
【论文阅读】Deep Learning for Encrypted Traffic Classification: An Overview(深度学习方法进行加密流量分类综述)_第3张图片

3.2 Training and Validation

训练和验证步骤类似于任何其他深度学习应用程序,其中调整模型的超参数以获得最佳精度。通常,DataSet分为三个单独的集:训练,验证和测试集。模型在训练集中训练,观察到验证集的准确性来调整模型的超参数。最后,通过使用测试集获得了无偏的精度。

3.3 Periodic Evaluation/Update

最后一步,定期评估/更新尚未全面研究过。在大多数与网络相关的应用程序中,类的流量特性始终在动态改变。此外,新的流量类称为零日应用程序,不断出现。只有有限数量的论文研究了这样的挑战,他们仍然是开放的问题,值得更全面的分析。

4 OPEN PROBLEMS AND OPPORTUNITIES

作者在本节中介绍了网络流量分类问题中面临的一些挑战(截止到2019)。

4.1 Stronger Encryption Protocols

新的加密程度更高的协议的分类问题,例如TLS1.3、QUIC等

4.2 Multi-label Classification

单个流可以包含多个类标签,称为多路复用流。例如,通过隧道传递的流量可能包含多个共享相同5元组的应用程序。流量分类或相关文献中没有方法可以处理这些情况,目前最困难的挑战是如何适当地收集和标记此类流量。

4.3 Middle Flow Classification

目前现有的分类方法基本都集中在使用流的前几个数据包来作为输入进行分类,对于流中任意位置采样进而分类的方法尚待研究。

4.4 Zero-day Applications

对于未出现在训练集中的类,如何对这些流量分类

4.5 Transfer Learning and Domain Adaptation

4.6 Multi-task Learning

你可能感兴趣的:(paper,流量分类,机器学习,paper,加密流量分类)