【论文阅读】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(深度学习方法进行加密流量分类综述)
本节先介绍前四部分:

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(深度学习方法进行加密流量分类综述)

3.1 Model Selection

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

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

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2022年4月13日
下一篇 2022年4月13日

相关推荐