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

PEAN是一种基于Node.js、PostgreSQL、Express和AngularJS的软件架构模式,用于加密网络流量的细粒度分类。模型利用Transformer学习数据包间的深层关系,并通过无监督预训练增强字节表示。实验表明,PEAN在所有评价指标上优于其他基线模型,展示出在处理加密流量时的强大性能。尽管需要较高技术水平,但其端到端策略和多模式特征学习提升了流量分类的准确性。

一、背景

l 网络应用程序流量被加密
l 基于传统有效载荷交通分类方法和基于端口的流量分类方法不在有效
l 已有的模型不能用于更细粒度的操作

二、pean介绍

概括

PEAN模型是一种软件架构模式,它是基于Node.jsPostgreSQL的开发模式。PEAN模型中,P代表PostgreSQL数据库,E代表Express框架,A代表AngularJS前端框架,N代表Node.js,它们分别是构成PEAN模型的四个组成部分。PEAN框架使用原始字节和长度序列作为输入,并使用Self-Attention机制来学习 biflow 中网络数据包之间的深层关系。此外,引入了无监督的预训练,以增强PEAN表征网络数据包的能力。

特点

PEAN模型的主要特点是使用Node.js作为服务器端框架,Express作为Web框架,PostgreSQL作为数据库,AngularJS作为前端框架,同时还使用了一些其他的技术和工具,如BootstrapGruntBower等。

优点

  1. PEAN使用多模式端到端策略进行更深入的网络流量建模,从数据包内容和数据包长度视图学习流量信息,从而可以通过捕获多个视点中的模式来提高性能。
  2. Transformer用于PEAN中,以捕获数据包的顺序关系,并合并来自网络流量不同部分的信息。并且Transformer的多头自我注意机制的直觉可以从不同的角度关注数据的内容,这与我们上面提到的挑战相对应。
  3. PEAN引入了一种无监督的预训练方式来增强网络分组字节的表示,可以更好地了解字节之间的相互关系,对于识别加密的流量非常有用。

缺点

是需要较高的技术水平,对于初学者可能存在一定的难度。同时,由于使用了多种技术和工具,需要进行相应的配置和管理,这也会带来一定的复杂性。

三、具体架构

论文中提出的模型PEAN的体系结构有5层。

预训练层是学习字节嵌入模型的第一层,其中Transformer是核心组件,其多头自我关注机制允许其学习相互关系字节之间。预训练层的任务是通过无监督预训练获得表征字节的能力。第二层是分组编码层,其重用在第一层中学习的模型参数以获得分组级嵌入表示。第三层,顺序层使用另一个Transformer来学习不同包嵌入的相互关系,以获得网络流的嵌入表示。第四层是补充层,它使用分组长度序列执行简单的LSTM建模,以从第二模态学习模型的补充特征。最后一层分类层将来自顺序层和补充层的隐藏特征组合起来,以执行融合和分类。

问题定义

第一层:预训练层(Pre-Training Layer)

预训练的目的是训练一个具有字节编码能力的模型,帮助我们在后期的数据包编码层中将数据包编码为向量。

这样的预训练方式有以下优点:

  1. 在预训练阶段,每个字节的嵌入表示都与其他字节相关,因此整个数据包表示会有更强的统一性。
  2. 众所周知,收集网络流量很简单,但给它们贴上标签却很困难。由于预训练方法是无监督的,大量未标记的可以直接用于预训练,提高模型的包编码能力,便于未来模型的扩展和更新。

英译:

A. Pre-Training Layer :

The purpose of pre-training is to train a model with bytes encoding capability that can help us to encode a packet into a vector in the later Packet Encoding Layer。

Such a pre-training manner has the following advantages:

  1. In the pre-training phase, the embedding representation of each byte is related to other bytes, so the whole packet representation will have stronger unity.
  2.  As we all know, collecting network traffic is simple but labeling them is difficult. Since the pre-training method is unsupervised, a large amount of unlabeled can be directly used for pre-training to improve the model’s packet encoding ability, which is convenient for future model extension and updates.

 第二层:包编码层(Packet Encoding Layer)

 目的:利用在第一层学习到的模型改获得一个数据包的向量表示

 第三层:序贯层(Sequential Layer)

网络流量是一种具有时间序列关系的流型数据,相邻的数据包包含一定的相关性。

Network traffic is a stream-type data with time sequence relation, and the adjacent packets contain a certain correlation.

在此基础上,设计了一个序贯层来学习数据包之间的关系。因为这样的想法涉及对数据包的细粒度操作,许多基于统计或基于流程的方法是无能的,这是我们端到端框架的优势。

Based on this, we design a Sequential Layer to learn the relationship between packets . Because such a thought involves fine-grained operations on packets, many statistical-based or flow-based methods are incompetent, which is the advantage of our end-to-end framework.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值