IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 加密流量分类-论文1:Deep Learning for Encrypted Traffic Classification: An Overview -> 正文阅读

[人工智能]加密流量分类-论文1:Deep Learning for Encrypted Traffic Classification: An Overview

0、摘要

??这是篇关于加密流量分类的综述,加密流量分类的入门之作,流量分类应用范围广泛,从isp的QoS提供和计费,到防火墙和入侵检测系统的安全应用。从最简单基于端口的、数据包检测到经典的机器学习方法,到由于深度学习的兴起,神经网络成为加密流量分类的主流。本文介绍了常用的深度学习方法及其在流量分类任务中的应用。然后讨论了开放的问题和它们的挑战。
关键词:流量分类、深度学习、机器学习

1、介绍

简要介绍了加密流量分类方法的发展演变,具体如下:
1.1 基于端口(port)的流量分类

  • 优点:简单
  • 缺点:该方法的准确性一直在下降,因为较新的应用程序要么使用众所周知的端口号来掩盖其流量,要么不使用标准的注册端口号。

1.2 基于有效载荷或数据包检验(data packet inspection:DPI)
\qquad 原理是不同类型的网络流量之中有特定的字符流(也称之为指纹),只需要在数据包的任意位置匹配这些字符流,从而进行分类。

  • 优点:简单快速,只需要检测网络流的前几个数据包。
  • 缺点:方法仅适用于未加密的流量,且计算开销较大。

1.3 基于流量统计特征
\qquad 这些方法依赖于流量的统计或时间序列特性,能够处理加密和未加密的流量。通常采用经典的机器学习(ML)算法,如随机森林(RF)和k-最近邻(KNN)。

  • 优点:可以用于加密流量,不需解密。
  • 缺点:依赖于人类的特征提取工程,开销大,耗时长。

1.4 基于深度学习方法

  • 优点:深度学习可以通过训练自动选择特征,消除领域专家选择特征的需要,并且具有相当高的学习能力,因此可以学习高度复杂的模式,能够学习原始输入和相应输出之间的非线性关系,而不需要将问题分解为特征选择和分类的小子问题。
  • 缺点:黑盒子,可解释性弱。

2、网络流量分类流程框架

通用的流量分类流程图

2.1 问题定义

??定义分类目标,从哪个领域分类。如nlp中文本分类,一大段关于某个电影的评论文本,可以是情感分类的角度出发分为积极、消极、中性,也可以是影评的类型出发分为关于内容的评论、关于电影演员演技的评论、关于电影启示的评论等等。流量分类分类中,具体的,可以如下:

  • 关于网络协议:流量是何种协议
  • 关于应用程序:流量是何种app中的
  • 关于流量类型:流量是干什么的,如浏览,视频等等
  • 关于网站
  • 关于用户行为:用户是干什么导致此种流量产生
  • 关于浏览器
  • 关于操作系统

还可以分为:

  • 在线分类:要求实时性
  • 离线分类

2.2 数据收集

?? 对于大多数与流量相关的分类问题,还没有一个公认的数据集。可能的原因包括:

1)可能的流量类别数量巨大,一个数据集几乎不可能包含所有的流量类型;
2)没有普遍接受的数据收集和标记方法;
3)不同的收集方法和场景导致不同的特征可用性和分布。

2.3 数据集预处理

  • 在网络环境中,包重发、重复ack和无序包可能会改变应用程序的流量模式,需要去重
  • 另一个对深度学习方法性能至关重要的预处理步骤是数据归一化 。在这一步中,所有的输入特征都被缩放到[0,1]范围内的值。使得梯度下降计算时收敛更快,并均衡所有特征的重要性。

2.4 流量特征

  • 时间序列(Time Series):报文长度、到达时间和连续报文的方向等等。[加密依旧可用]
  • 头部(Header)
  • 负载数据(Payload Data)
  • 统计特征(Statistical Features):平均包长度、最大包长度、最小到达间隔时间等等。[加密依旧可用]

3 深度学习技术

3.1 多层感知机(MLP)

MLP结构
一般输入的特征映射至高维,后面逐渐降为到输出类别的维度,层之间一般为全连接(Fully Connected,FC)

3.2 卷积神经网络(CNN)

CNN结构
卷积提取特征,池化降低数据量,一般通过若干个卷积与池化操作后,将向量展平通过一到两个FC层后映射到输出类别的维度。
CNN的三大特性:

  • 局部连接(感受野)
  • 权重共享(卷积)
  • 空间或时间上的下采样(池化)

一般方法:

  • 一维向量表示一个流(flow)或者会话(session),截取前N个字节数据,作为CNN的输入
  • 将网络流量的时序数据转换为二维图像,作为CNN的输入

3.3 循环神经网络(RNN)

在深度学习中,一般会使用RNN的两个变体:

  • 长短期记忆网络(LSTM)
  • 循环门控单元(GRU)
    RNN擅长处理序列数据,这两种变体解决了传统RNN的梯度消失或者梯度爆炸的问题,
    ??在流量分类上,混合模型(CNN+LSTM)优于纯LSTM或CNN模型。为了同时捕捉流的空间和时间特征,一些研究同时使用了CNN和RNN。

3.4 自编码器(AE)

AE

  • 编码器将输入特征映射到一个低维空间。
  • 解码器的目标则是将此低维向量解码成与原输入相近的特征。

??由此,低维向量中则“蕴含”了原先高维输入的所有信息,达到了抓住高维复杂信息的本质作用。AE是一种无监督学习方法,AE也有许多变体,如
去噪自编码器(DAEs),通过提取损坏的样本来迫使模型学习更健壮的特征,从而输出完整的输入样本。
变分自编码器(VAEs),旨在从目标分布生成虚拟样本。
可以叠加深层的,称为堆叠自动编码器(SAE)

3.5 对抗生成网络(GAN)

GAN

??GAN是一种无监督技术,它同时训练生成模型和判别模型。

  • 生成器(Generator)旨在生成目标分布的(假)样例,“骗过”鉴别器。输入一般为高斯分布的随机噪声,输出一个生成伪样本。
  • 鉴别器(Discriminator)模型旨在区分真实数据和生成数据。输入为真实样本与伪样本,判定真是样本与伪样本的真实性,如果鉴别器无力辨别真假,则模型可能收敛。
    ??这两个模型通常都是神经网络。首先通过鉴别器训练生成器,使其误差概率最大化。然后,固定生成器,训练鉴别器,使输入真实数据和生成数据的误差概率最小。这个过程一直持续到它收敛为止。

??生成模型可用于处理网络流量分类中数据集的不平衡问题。不平衡问题指的是每个类别的样本数量差异很大的情况。

3.6 模型选择

在这里插入图片描述

  • 特征选择直接影响神经网络输入结构和维度,这些维度影响计算复杂度和用于分类的数据包数量(内存复杂度)。
  • 根据所选择的特征选择合适的模型

3.6.1 时间序列(Time Series)+报头(Header)

?时间序列特性几乎不受加密的影响,基本经典的ML算法与MLP都可以适用,当然CNN等模型可以获得更好的效益与更好的结果。

3.6.2 负载(playload)+报头(Header)

?在当前加密的通信中,前几个包含握手信息的包通常是未加密的,它们已经成功地用于分类。但是负载中包含大量字节,导致数据维度较高,传统的ML与MLP不能很好适用,一般使用CNN或者CNN与LSTM结合的模型进行流量分类。

3.6.3 统计特征(Statistical Features)

?统计特征的数量是有限的,因此输入维度也是有限的。因此,大多数论文对这些特征使用了经典的ML方法,或在少数情况下使用MLP方法。
?虽然大多数研究通过观察整个流程来获得统计特征,但研究表明,根据数据集和统计特征的选择,从前10到180个数据包中获得统计特征可能足以进行分类
不适合在线快速分类,因为它需要捕获足够多的数据包来从一个流中获得可靠的统计特征。

3.7 训练与验证

??通常,数据集被分为三个独立的集:训练集、验证集和测试集。该模型在训练集上进行训练,通过观察验证集的准确性来调整模型的超参数。最后利用测试集得到了无偏精度。
??简言之,训练集上进行梯度下降更新模型参数,验证集上选择最优超参数组合,测试集上进心模型评估。

3.8 定期评估/更新

??在大多数与网络相关的应用程序中,流量在变化,依此流量特性总是在变化的。因此需要更新模型,增加模型分类普适性、健壮性。

4 开放机遇与挑战

4.1 更强大的加密协议

??例如关于QUIC和TLS 1.3协议的流量分类,还没有得到很好的研究。以往对TLS 1.2的研究主要使用握手时的纯文本字段。但是,通过在TLS 1.3和QUIC中引入0-RTT连接,第一个包中只有少数字段保持未加密,不清楚它们是否足以用于分类。

4.2 多标签分类

??单个流可以包含多个类标签,称为多路复用流。最困难的挑战是如何适当地收集和标记这些多标签流量

4.3 中间流分类?(Middle Flow Classification)

??目前大部分的流量分类就是基于流的前几个数据包,因此,ISP需要存储所有流的前几个数据包,空间负担重。如果可以基于流中间的几个数据包,那么ISP就可以等待并且检测大象流(elephant flow),然后捕获流中间的几个数据包进行分类,能减少内存和计算开销

关于大象流、老鼠流:

  • 大象流(elephant flow):大象流是通过网络链路进行大量的,持续的传递数据的过程。
  • 老鼠流(mouse flow):老鼠流是通过网络链路进行少量的,短时间的数据传递过程。

?发邮件,看网页,聊微信,这些都属于老鼠流。而虚机的迁移,数据的迁移,MapReduce等等,属于大象流。

4.4 零日应用问题(Zero-day Application)

?零日应用是指新的流量类,它们的样本不存在于训练集中。已经表明,在某些情况下,零日应用程序可以在网络流量中占60%的流量和30%的字节。最近只有少数[14]研究提出了解决方案,通常依赖于检测未标记的簇,然后对它们进行标记。在ML社区中,主动学习(由模型选择哪些数据点应该被标记)已经被研究了多年。(聚类算法)

在最近一项对图像分类的研究中,强化学习和LSTM的结合被用于执行两种可能的操作之一:预测类别或要求一个新标签

4.5 迁移学习与领域自适应

??收集到足够大的代表性数据集是不容易的,通常更容易获得为其他任务捕获的大型数据集,这可能有助于模型提取公共特征。此外,训练一个深度模型通常耗费时间长,而对模型进行再训练通常收敛更快,因此最好是对已经为类似任务进行过训练的模型进行再训练。

  • 迁移学习允许在源任务上训练的模型用于不同的目标任务,并且假设源任务与目标任务输入分布相似。
  • 领域自适应处理的是任务相同,但源和目标的输入分布不同的情况。

4.6 多任务学习

??一个模型中有一个以上的损失函数被优化。研究表明,即使对于单任务问题,增加一些辅助任务也可以提高泛化能力和性能。然而,对于网络流量分类任务还没有进行过研究。可能有很多方法可以定义辅助任务,而不需要额外的标记。多任务学习在网络流量分类中的有效性还没有得到研究。

第一次写论文博客,很水,写给自己看顺便总结一下,如有理解错误的地方,谢谢指正。

  • 参考:
    [1].S. Rezaei and X. Liu, “Deep Learning for Encrypted Traffic Classification: An Overview,” in IEEE Communications Magazine, vol. 57, no. 5, pp. 76-81, May 2019, doi: 10.1109/MCOM.2019.1800819.
    [2].大象流老鼠流的解释:https://www.zhihu.com/question/50171430
    [3].王茂南. 基于深度学习的加密流量识别技术研究[D].北京邮电大学,2021.DOI:10.26969/d.cnki.gbydu.2021.000480.
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:12:01  更:2022-09-04 01:14:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:47:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码