【RNN+加密流量A】ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for...

文章目录

  • 论文简介
    • 摘要
    • 存在的问题
    • 论文贡献
      • 1. ET-BERT
      • 2. 实验
    • 总结
      • 论文内容
      • 数据集
      • 可读的引用文献
      • 参考连接

论文简介

原文题目:ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for Encrypted Traffic Classification
中文题目:ET-BERT:一种基于预训练转换器的数据报上下文化表示方法,用于加密流量分类
发表会议:WWW '22: The ACM Web Conference 2022
发表年份:2022-4-25
作者:Xinjie Lin
latex引用

@inproceedings{lin2022bert,
  title={Et-bert: A contextualized datagram representation with pre-training transformers for encrypted traffic classification},
  author={Lin, Xinjie and Xiong, Gang and Gou, Gaopeng and Li, Zhen and Shi, Junzheng and Yu, Jing},
  booktitle={Proceedings of the ACM Web Conference 2022},
  pages={633--642},
  year={2022}
}

摘要

加密流分类需要从内容不可见不平衡的流量数据中获取判别性和鲁棒性的流量表示,以实现准确的分类,这是实现网络安全和网络管理的一项挑战,但也是必不可少的。现有解决方案的主要局限是高度依赖深度特征,而深度特征过度依赖于数据大小,难以在未见数据上进行泛化。如何利用开放域未标记的流量数据学习具有较强泛化能力的表示仍然是一个关键的挑战。

在本文中,我们提出了一种新的流量表示模型,称为来自变压器的加密流量双向编码器表示(ET-BERT),它从大规模未标记数据中预训练深度上下文化数据报级表示。预训练模型可以在少量特定任务的标记数据上进行微调,并在五个加密流量分类任务中实现最先进的性能,显着将ISCX-VPN-Service的F1提高到98.9%(5.2%↑),跨平台(Android)提高到92.5%(5.4%↑),CSTNET-TLS的F1提高到1.3到97.4%(10.0%↑)。值得注意的是,我们通过分析密码的随机性提供了经验强大的预训练模型的解释。它为我们理解加密流量分类能力的边界提供了新的思路。

代码可从https://github.com/linwhitehat/ET-BERT获得。

存在的问题

  • 基于明文特征的指纹匹配[37]:不适用于新出现的加密技术(例如TLS 1.3),因为明文变得更加稀疏或混淆。
  • 基于统计特征的机器学习[27,36]:高度依赖专家设计的特征,泛化能力有限。
  • 基于原始流量特征的ML[21,22]:高度依赖于标记训练数据的数量和分布,容易造成模型偏差,难以适应新出现的加密。

论文贡献

  1. 提出了一种加密流量分类的预训练框架,该框架利用大规模未标记的加密流量来学习一系列加密流量分类任务的通用数据报表示
  2. 提出了两个流量特定的自监督预训练任务,如掩码BURST模型和同源BURST预测,它们捕获字节级和BURST级上下文关系,以获得通用的数据报表示
  3. ET-BERT泛化能力强,在通用加密应用分类、加密恶意软件分类、VPN上的加密流量分类、Tor上的加密应用分类、TLS 1.3上的加密应用分类等5个加密流量分类任务上实现了新的最先进的性能,显著优于现有作品5.4%、0.2%、5.2%、4.4%、10.0%。
  4. 同时,对预训练模型的强大性能进行了理论解释和分析。

论文解决上述问题的方法:

基于预训练的方法采用大量未标记数据来学习无偏数据表示。通过对有限数量的标记数据进行微调,可以轻松地将此类数据表示转移到下游任务。

  • 泛化能力增强
  • 不依赖专家知识
  • 能够识别新出现(训练数据中不存在)的加密流量
  • 不需要标记数据

论文的任务:

使用bert进行加密流量多分类,预训练模型没变,下游任务选的是单句预测

1. ET-BERT

【RNN+加密流量A】ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for..._第1张图片

  • Datagram2Token

    1. BURST生成器在一个会话流中提取持续的服务器到客户端或客户端到服务器的数据包,称为BURST[28,33],以表示会话的部分完整信息。

      BURST:一组时间相邻的网络数据包,这些数据包来自单个会话流中的请求或响应。
      在这里插入图片描述
      其中和分别表示源到目的和目的到源的最大单向包数。

      简单来理解:一个BURST代表了一个根据正反向流被切割好的会话中的一个流。如图所示,假设深蓝色为正向流,那么浅蓝色就是反向流。
      【RNN+加密流量A】ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for..._第2张图片

    2. 然后BURST2Token过程通过bi-gram模型将每个BURST中的数据报转换为token embedding。同时,这个过程也将BURST分成两个部分,为预训练任务做准备。

      1. 将BRUST中的流用16进制编码序列表示
      2. 使用bi-gram来编码16进制序列,即每个单元由两个相邻的字节单元组成。这样一来,每个单元的取值范围在0~65535,因此字典大小 ∣ V ∣ = 65536 |V|=65536 V=65536
      3. 将编码后的16进制序列平均分为两个子序列: s u b − B R U S T A sub-BRUST^A subBRUSTA s u b − B R U S T B sub-BRUST^B subBRUSTB
      4. 添加特殊token:[CLS]、[SEP]、[PAD]、[MASK]
        【RNN+加密流量A】ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for..._第3张图片
    3. 最后,Token2Emebdding将每个标记的标记嵌入、位置嵌入和分割嵌入连接起来,作为预训练的输入表示。

      我们通过三种嵌入来表示BURST2Token中得到的每个token:token embedding、position embedding和segment embedding。
      【RNN+加密流量A】ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for..._第4张图片

  • Pre-training

    • Masked BURST Model:这个任务类似于BERT b[6]使用的掩码语言模型。ET-BERT被训练来根据上下文预测屏蔽位置的token。损失函数如下:在这里插入图片描述

    • Same-origin BURST Prediction:对于该任务,使用二元分类器来预测两个子BURST是否来自相同的BURST。具体来说:

      • 50%的概率 s u b − B U R S T B sub-BURST^B subBURSTB是实际 s u b − B U R S T A sub-BURST^A subBURSTA后半部分(来自同一个BURST)
      • 50%的概率是一个随机 s u b − B U R S T sub-BURST subBURST

      损失函数如下:
      在这里插入图片描述
      其中 B j = ( s u b − B j A , s u b − B j B ) , y j ∈ [ 0 , 1 ] B_j = (sub-B_j^A,sub-B_j^B),y_j \in [0,1] Bj=(subBjA,subBjB)yj[0,1]

  • Fine-tuning
    由于微调和预训练的结构基本相同,我们将特定于任务的数据包或流表示输入到预训练的ET-BERT中,并在端到端模型中微调所有参数。在输出层,将[CLS]表示提供给多类分类器进行预测。我们提出了两种微调策略来适应不同场景的分类:

    • 将数据包级别作为输入,专门试验ET-BERT是否能适应更细粒度的流量数据,称为ET-BERT(packet)
    • flow level作为输入,致力于公平客观地比较ET-BERT与其他方法,称为ET-BERT(flow)。

    这两种微调模型的主要区别在于输入流量的信息量。我们使用流中连续数据包的拼接数据报作为输入数据,其中在我们的方法中被设置为5。第4.1节详细描述了流量数据的处理。

2. 实验

  • 数据集

    【RNN+加密流量A】ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for..._第5张图片

    • 任务1:通用加密应用分类(GEAC):根据标准加密协议对应用流量进行分类。
    • 任务2:加密恶意软件分类(EMC):由恶意软件和良性应用[41]组成的加密流量集合。
    • 任务3:VPN加密流量分类(ETCV):对使用VPN进行网络通信的加密流量进行分类。
    • 任务4:基于Tor的加密应用分类(EACT):旨在对使用Tor路由器(Tor)的加密流量进行分类,以增强通信隐私。
    • 任务5:基于TLS 1.3的加密应用分类(EAC1.3):旨在对基于新加密协议TLS 1.3的加密流量进行分类。该数据集是我们从2021年3月到7月在CSTNET下收集的120个应用程序,命名为CSTNET- tls 1.3。正如我们所知,这是迄今为止第一个TLS 1.3数据集。应用程序是从部署了TLS 1.3的Alexa Top-5000[3]获得的,我们通过服务器名称指示(SNI)标记每个会话流。在CSTNET-TLS 1.3中,由于TLS
      1.3的兼容性,SNI仍然可以访问。ECH机制将在将来禁用SNI并损害标记的准确性,但我们将在第5节中讨论一些克服它的想法。
  • 数据预处理

    1. 删除了地址解析协议(ARP)和动态主机配置协议(DHCP)的数据包,它们与传输内容的特定流量无关。
    2. 为了避免包头的影响,包头可能会在具有强识别信息(如IP和端口[19,25,40])的有限集合中引入偏干扰,我们删除了TCP头中的以太网头、IP头和协议端口。
    3. 在微调阶段,我们在所有数据集中随机从每个类中选择最多500个流和5000个数据包。
    4. 每个数据集按照8:1:1的比例分为训练集、验证集和测试集
  • 参数:

    包级别:

    • batch_size = 32
    • learning_rate = 0.00002
    • ratio of warmup = 0.1
    • epoch = 10

    流级别:

    • batch_size = 32
    • learning_rate = 0.00006
    • dropout = 0.5
  • 效果

    【RNN+加密流量A】ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for..._第6张图片

  • 消融实验

    【RNN+加密流量A】ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for..._第7张图片

总结

论文内容

  1. 学到的方法

    理论上的方法:使用bert进行加密流量分类

  2. 论文优缺点

    优点:

    1. 为bert在网络安全方面的应用提供了思路

    缺点:

    1. 对bert的改动不足,基本上就是照搬,没有太多的创新
  3. 创新想法

    看能不能在下游任务上或者数据粒度(这里用的BURST)上有所修改

数据集

  • 预训练使用的数据集:公共数据集:[9,32]
    • cicids2018
  • 微调使用的数据集:公共数据集:[37,41,9,10]
    • Cross-Platform(IOS)、Cross-Platform(Android)
    • USTC-TFC
    • ISCX-VPN-Service、ISCX-VPN-App
    • ISCX-Tor
  • 中国科技网(CSTNET)下被动采集流量

可读的引用文献

加密流量检测:

  • FlowPrint: Semi-Supervised Mobile-App Fingerprinting on Encrypted Network Traffic
  • Robust Smartphone App Identification via Encrypted Network Traffic Analysis
  • Deep Fingerprinting: Undermining Website Fingerprinting Defenses with Deep Learning
  • TSCRNN: A novel classification scheme of encrypted traffic based on flow spatiotemporal features for efficient management of IIoT
  • Deep packet: a novel approach for encrypted traffic classification using deep learning
  • Exploiting Diversity in Android TLS Implementations for Mobile App Traffic Classification

预训练模型:

  • RoBERTa:RoBERTa: A Robustly Optimized BERT Pretraining Approach
  • ALBERT:ALBERT: A Lite BERT for Self-supervised Learning of Language Representations
  • ERNIE:ERNIE: Enhanced Language Representation with Informative Entities
  • DistilBERT:DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter

参考连接

  • 代码:https://github.com/linwhitehat/ET-BERT

你可能感兴趣的:(文献阅读,rnn,bert,人工智能)