加密流量分类-论文6:Learning to Classify A Flow-Based Relation Network for Encrypted Traffic Classification

  • 0、摘要
  • 1、概念介绍
    • 1.1 流量加密背景
    • 1.2 流量分类技术的发展(综述部分)
    • 1.4 文章核心观点引入
  • 2、模型结构
    • 2.1总览
    • 2.2 集合分割
    • 2.3 致幻器(Hallucinator)
    • 2.4 编码器(Encoder)与解码器(Decoder)
    • 2.5 基于元学习的分类器
  • 4、实验
  • 5、总结与思考

Encrypted Traffic Classification)

0、摘要

加密流量分类的挑战性问题:

  • 网络数据的不平衡性
  • 模型对真实数据的泛化能力
  • 模型对数据大小的过度依赖。

1、概念介绍

1.1 流量加密背景

  加密技术虽然保护了互联网用户的自由、隐私和匿名性,但也用户避开了防火墙的检测,绕过了监控系统

  由此导致的问题:

  • 攻击者通过加密恶意软件流量来匿名入侵和攻击系统。
  • 犯罪分子使用隐私增强工具(例如Tor)穿透黑暗网络,在那里他们可以购买毒品、武器和伪造的文件(如护照、驾照、提供合同杀手的媒体)来吸引客户.

1.2 流量分类技术的发展(综述部分)

  1. 基于端口号
  2. 基于有效载荷,也就是DPI方法。1,2只能针对非加密流量
  3. 基于流统计特征的方法,分类性能取决于人类的特征工程
  4. 基于深度学习的方法:
    • 优点:端到端、具有相当高的学习能力
    • 缺点:
      • 不能解决数据中类的不均衡问题
      • 训练好的模型不能很好适用于真是流量环境,泛化能力差
      • 过分依赖数据集的大小与数据分布的好坏

1.4 文章核心观点引入

  对于一个新奇概念的样本,人类可以轻易根据对事物共同变化模式的了解,想象该样本在其他环境的样子。如果机器从辨别出在不同环境(原文这里称作幻觉(hallucination))下的同一样本,那么通过一个**致幻器(hallucinator)**产生额外的训练样本,理论上就可以在少量数据样本的情况下学习到不错的泛化能力。

  将从有限的数据中提取先验知识并将其转移到不可见的任务或者环境中,元学习是一种解决方案。(不是半监督模型预训练那一套)

  • 关于元学习(学习如何去学习):

    1. 元级(meta-level)学习器:在不同的训练任务以及对应的训练数据上进行学习,以此作为网络结构的先验知识,下图的F。

    2. 基础级(base-level)学习器:为特定任务设计的学习器。由F针对测试任务学习出来的f

  在元学习阶段,进行多任务学习,称作Training Task,每个任务都有自己的训练集与测试集,也称为支持集(support set)与查询集(query set),学习到一个F。在基础级学习阶段,进行特定任务的学习,称作Testing Task,将Testing task的给入F,得出学习到的f,然后在f上进行传统的训练测试,用f的表现去反映F的泛化能力好坏。

  • 分类粒度:基于流的分类(这里是原文:流序列作为唯一的原始流量信息。原始流可以表示为几个具有相同流长度和不同类型的序列(例如,消息类型序列和包长度序列)。一般我们把一种序列看作流序列,其他的序列也可以用同样的方法。)类似于FS-Net的输入,所以此模型输入应该是类似与FS-Net的输入,比如是取原始流的包长序列或者消息类型序列作为流序列信息,输入到模型

  • 分类目标:应用分类

  • 本文的分为训练集、支持集、测试集(支持集和测试集共享相同的标签空间,但训练集有自己的标签空间),原则上只需要支持集与测试集就可以了,但是支持集中缺乏标记样本,使用训练集上的元学习将提取的知识转移到支持集

  • 训练集合切割成为支持集与查询集???

2、模型结构

2.1总览

  本文提出基于流的关系网络分类模型(FlowBased Ralation Network,RBRN),从原始流序列学习特征,是端到端的分类模型。

  • 致幻器:产生额外样本(相当于一个数据增强器?)
  • 编码器:生成样本特征
  • 解码器:恢复输入序列,也进行特征的学习。编码器解码器都是多层CNN结构
  • 基于元学习的分类器:分类粒度,对应用程序的分类

2.2 集合分割

从训练集中选择跟支持集一样规模的作为集合S:假定支持集n个类,每个类m个样本,从训练集也随机选n个类,每个类选m个样本,剩余的作为查询集。

2.3 致幻器(Hallucinator)

  • Hallucinator的测试流程:

    1. 从原始数据集S中对每一个类别进行采样。

    2. 将采用后的样本添加噪声z,送入流产生器Flow(图中红色部分),输出数据增强后的样本Sg

    3. 将Sg与原始数据S合并为Saug,并作为最终的训练数据,送入h(分类算法)中进行预测

  • Hallucinator的训练流程:

    • 采用元学习的方法来训练Hallucinator与后面的分类器h,要求h对于Saug的元素可微,以便进行梯度下降,Hallucinator与后面的网络结构是同步进行训练学习的。

    • 这里目前还没有提及到关于元学习的多任务。

2.4 编码器(Encoder)与解码器(Decoder)

  • 编码器输入:Saug,输出压缩特征。
  • 体系结构:VGG16网络中的前13个卷积层,舍弃全连接层,理由:以便在最深的编码器输出处保留更高分辨率的特征映射(论文讲的理由)。
    • 这里说卷积后的特征应该存储起来,但是由于内存限制,采用存储池化层的索引
    • 即池化窗口的最大特征值的位置被存储起来
  • 解码器输入:编码器输出的压缩特征,输出提供给基于元学习的分类器。
    • 从相应解码器存储的最大池化层索引来进行采样
    • 卷积层的滤波器仍旧是可训练的

2.5 基于元学习的分类器

  1. 假设样本xj来自查询集Q,样本**xi来自增强后的数据集Saug
  2. 通过编码器-解码器输出后为zj=fencoder-decoder(xj)为zi=fencoder-decoder(xi)
  3. 定义样本通过特征抽取模块的输出为mj=fmeta-network(zj)和mi=fmeta-network(zi)**
  4. 将**mjmi**联结起来,通过关系模型 **Jrelation**计算两个样本之间的相关度
  5. 采用与最后查询集的实际类形成的独热向量之间的均方差作为损失,构建损失函数

4、实验

  • 在小样本学习有不错的表现:在Full ISCX vpn -非vpn流量数据集中,为每个应用程序选择1000条流量记录作为训练集,其他的作为测试集,仍旧有不错的效果。

  • 在数据不均衡样本集有不错的表现

  • 在复杂环境时能保证不错的泛化能力:在均衡样本集中训练,在非均衡上测试,对比其他模型,表现出不错的效果

    不太理解在均匀数据集上训练的模型在非均衡数据集上进行测试,如何能体现出泛化能力。

5、总结与思考

  • 从李宏毅老师学习到元学习的有关概念,感觉这里元学习作者没有太突出出来,我的理解是训练集很大,每次选一个子集合作为支持集,就相当于一个元学习任务了,这样多次选训练集子集,相当于对元分类器进行多任务训练。…不知道理解对不对。。。
  • 网络模型挺深,模块多,实验部分做了消融实验以此证明每部分都是有必要的。
  • 不太理解在编码器解码器中对于池化索引的记录的点,以及解码器的存在的意义,只需编码部分可不可以?

加密流量分类-论文6:Learning to Classify A Flow-Based Relation Network for Encrypted Traffic Classification相关推荐

  1. 加密流量分类-论文1:Deep Learning for Encrypted Traffic Classification: An Overview

    加密流量分类-论文1:Deep Learning for Encrypted Traffic Classification: An Overview 0.摘要 1.介绍 2.网络流量分类流程框架 2. ...

  2. 加密流量分类-论文5:MATEC_A_lightweight_neural_network_for_online_encrypted_traffic

    加密流量分类-论文5:MATEC_A_lightweight_neural_network_for_online_encrypted_traffic 0.摘要 1.问题引入 2.流分类的相关工作(综述 ...

  3. 加密流量分类-论文11 FlowPic: A Generic Representation for Encrypted Traffic Classification and Applications

    FlowPic: A Generic Representation for Encrypted Traffic Classification and Applications Identificati ...

  4. 基于深度学习的网络加密流量分类与入侵检测框架

    写在前面: 本文翻译供个人研究学习之用,不保证严谨与准确 github链接:https://github.com/WithHades/network_traffic_classification_pa ...

  5. 【研究型论文】EC-GCN: A encrypted traffic classification framework based on multi-scale GNN

    文章目录 EC-GCN: A encrypted traffic classification framework based on multi-scale graph convolution net ...

  6. 一种用于加密流分类的多模态深度学习框架A Novel Multimodal Deep Learning Framework for Encrypted Traffic Classification论文

    一.背景 l 网络应用程序流量被加密 l 基于传统有效载荷交通分类方法和基于端口的流量分类方法不在有效 l 已有的模型不能用于更细粒度的操作 二.pean介绍 概括 PEAN模型是一种软件架构模式,它 ...

  7. 基于深度学习的SDN家庭网关加密网络流量分类

    写在前面: 本文翻译供个人研究学习之用,不保证严谨与准确 github链接:https://github.com/WithHades/network_traffic_classification_pa ...

  8. 流量分类方法设计(一)——参考论文整理

    流量分类方法设计(一)--参考论文整理 因为最近在做流量分类有关的工作,所以将整个工作思路整理下来,希望对以后进一步的学习和论文写作有所帮助. 这一篇主要整理一下最近有关流量分类的论文,介绍他们的设计 ...

  9. 《基于深度学习的加密流量识别研究》-2022毕设笔记

    参考文献: 基于深度学习的网络流量分类及异常检测方法研究_王伟 基于深度学习的加密流量分类技术研究与实现_马梦叠 基于深度学习的加密流量识别研究综述及展望_郭宇斌 基于深度学习的加密流量算法识别研究_ ...

最新文章

  1. NYOJ 679 The Weight of Tree 搜索+dp+邻接表
  2. k8s部署zkui 2.0
  3. boost::mpl模块contains相关的测试程序
  4. C#语法糖 Null 条件运算符 【?.】
  5. JavaFX其他事件
  6. 原生js设置div隐藏或者显示_10种JS控制DIV的显示隐藏代码
  7. cut\grep\sort\tr
  8. easymodbus_easymodbus4j基于netty的modbus协议快速开发工具
  9. html5语言在tr下下拉列表,5-HTML列表, table表格标签及其属性-Go语言中文社区
  10. Ubuntu安装Chrome的方法
  11. c语言程序如何编写选择题,c语言程序 如何编写挑选题
  12. IOS软键盘弹起,顶起页面使其脱离文档流,input失焦后,留下空白问题解决
  13. 操作系统之进程管理习题
  14. 干货课堂丨分享一种LCD驱动电路方案【飞凌嵌入式】
  15. 怎么用python编写心形图案,python编程爱心形状turtle
  16. 福利:工作经常用到的Mac软件整理
  17. (二)改掉这些坏习惯,还怕写不出优雅的代码?
  18. 经验解答:计算机专业是什么?这个专业的大学生以后能干嘛?
  19. 手动挡五个档位示意图_手动挡车档位介绍,手动挡挡位示意图
  20. Windows 10关闭快速启动的方法

热门文章

  1. 沃美小镇电闪雷鸣 广宇连夜而来
  2. WordPress彻底禁用上传媒体图片自动生成缩略图及多尺寸图片(亲测可用)
  3. Java swing的功能测试类库 FEST-Swing
  4. 测试cpu新旧软件,Revit2021 VS Revit2020新旧版本软件性能评测
  5. 声网如何处理直播 SEI 相关问题?
  6. 二叉树的度为2的节点和叶子节点的关系
  7. Flask学习笔记之g对象
  8. #一、股市预测数学概念
  9. ECMAScript6语法
  10. 用长微博工具发布长微博