【GNN+加密流量C】An Encrypted Traffic Classification Method Combining GCN and Autoencoder

论文简介

原文题目:An Encrypted Traffic Classification Method Combining Graph Convolutional Network and Autoencoder
中文题目:结合图卷积网络和自编码器的加密流量分类方法
发表会议:IPCCC
发表年份:2020-11-6
作者:Boyu Sun
latex引用

@inproceedings{sun2020encrypted,
  title={An encrypted traffic classification method combining graph convolutional network and autoencoder},
  author={Sun, Boyu and Yang, Wenyuan and Yan, Mengqi and Wu, Dehao and Zhu, Yuesheng and Bai, Zhiqiang},
  booktitle={2020 IEEE 39th International Performance Computing and Communications Conference (IPCCC)},
  pages={1--8},
  year={2020},
  organization={IEEE}
}

摘要

加密网络流量的来源和规模的增加给网络流量分析带来了巨大的挑战。如何在少量标记样本的情况下获得较高的分类精度是加密流量分类领域面临的挑战。为了解决这一问题,本文提出了一种新的从流量结构和流数据中学习特征表示的加密流量分类方法。我们构造了一个k -最近邻(KNN)流量图来表示流量数据的结构,它包含了更多的流量相似信息。我们利用两层图卷积网络(GCN)架构进行流特征提取和加密流分类。

我们进一步使用自编码器来学习流数据本身的表示,并将其集成到gcn学习的表示中,以形成更完整的特征表示。

该方法利用了GCN和自编码器的优点,可以在很少的标记数据下获得更高的分类性能。在两个公共数据集上的实验结果表明,与最先进的竞争对手相比,我们的方法取得了令人印象深刻的结果。

存在的问题

无论是基于ml的方法还是基于dl的方法,通常都只关注流量数据本身的特征,在进行流量分类时很少考虑到流量数据的结构。

论文贡献

  1. 提出了一种新的加密流量分类方法。该方法结合了GCN和自编码器的优点,可以在很少的标记数据下实现更高的分类性能
  2. 提出了一种KNN流量图来表示流量的结构,解决了传统流量图包含较少相似信息的问题
  3. 在真实网络流量数据上取得了出色的加密流量分类结果,优于几种最先进的方法

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

提出ACG基于攻击指纹对攻击加密流量进行分类

论文的任务:

节点分类任务

工作流程

  1. 数据预处理
  • 流量分割:

    1. 去掉pacp文件头的前24个字节,这24个字节只包含pacp文件的统计信息,对流分类没有帮助
    2. 将原始流量数据根据五个元组拆分为多个流量单元。将流量分为流集F = {f1, f2,…, fn},包集fi = {pi1, pi2,…, piq}
  • 流量净化:

    1. 删除了每个数据包p中的数据链路报头,因为它被两个MAC地址填充,这两个MAC地址包含无用的流分类特征
    2. 使五个元组为零来匿名化它们,因为这些信息可能会破坏特征提取过程。
    3. 删除了所有重复的和空的流文件
  • 长度统一:

    把所有的流处理成统一的长度。大于900字节的流被修剪为900字节,小于900字节的流的末尾添加0x00以补充到900字节。如果截断长度的值过大,则会导致模型的输入参数过多,增加模型训练的复杂性。如果该值过小,可能会降低分类的准确性,因为截断的内容可能包含有关流分类特征的信息。因此,我们将截断长度的值设置为900。

  • 数据规范化:

    因为一个字节可以转换为[0,255]范围内的整数,所以我们将900字节的流序列转换为900维的向量。然后,我们将流向量归一化到[0,1]的范围。这样可以提高分类模型训练的准确率和收敛速度。

  1. 流量图构建

    经过数据预处理,建立KNN图作为交通图,表示交通数据的结构。

    通过KNN来计算流相似矩阵:

    在这里插入图片描述
    在计算相似矩阵S后,我们选择每个流的topk个相似点作为其邻居,构建无向k近邻图。

    在这里插入图片描述

  2. 分类模型训练

    在这里插入图片描述

    • GCN的作用:提取结构特征
    • 自编码器的作用:为GCN隐层提供自编码器获得的隐层表示,防止过度平滑

    隐层表示:
    在这里插入图片描述

    损失函数:
    在这里插入图片描述

实验

  • 对比实验:

    在这里插入图片描述

  • 敏感性分析

    最近邻居数K的分析:本实验旨在测试最近邻居数K对构建KNN图(交通结构图)的影响。我们设置K ={1,3,5,7,10},并测量两个数据集的总体精度。表V的实验结果表明,当K= 3、K= 5或K=7时,我们的模型可以达到较好的准确率,但当K= 1和K= 10时,性能会明显下降。我们认为KNN图包含较少的结构信息,当K = 1时,GCN模块无法有效捕获流量的结构。当K = 10时,KNN图中的群落可能重叠。
    在这里插入图片描述

    参数 ϕ \phi ϕ 分析:参数 ϕ \phi ϕ 控制自编码器和GCN学习到的表示的贡献。我们设置了不同的 ϕ \phi ϕ ,并测量了所有数据集的总体精度。从表六中,我们可以找到最好的准确率出现在 ϕ \phi ϕ= 0.5,这表明GCN和自动编码器模块的表示对我们的分类模型同样重要。当 ϕ \phi ϕ的值趋近于0或1时,分类精度显著下降,这表明无论是GCN的表示还是单独的自编码器的表示都不能达到较高的精度。
    在这里插入图片描述

数据集

  • ISCX VPNnonVPN
  • USTC-TFC2016
  • HIKARI-2021:Generating network intrusion detection dataset based on real and encrypted synthetic attack traffic

猜你喜欢

转载自blog.csdn.net/Dajian1040556534/article/details/132822679
GCN