一、背景
二、pean介绍
概括
PEAN模型是一种软件架构模式,它是基于Node.js和PostgreSQL的开发模式。PEAN模型中,P代表PostgreSQL数据库,E代表Express框架,A代表AngularJS前端框架,N代表Node.js,它们分别是构成PEAN模型的四个组成部分。PEAN框架使用原始字节和长度序列作为输入,并使用Self-Attention机制来学习 biflow 中网络数据包之间的深层关系。此外,引入了无监督的预训练,以增强PEAN表征网络数据包的能力。
特点
PEAN模型的主要特点是使用Node.js作为服务器端框架,Express作为Web框架,PostgreSQL作为数据库,AngularJS作为前端框架,同时还使用了一些其他的技术和工具,如Bootstrap、Grunt、Bower等。
优点
- PEAN使用多模式端到端策略进行更深入的网络流量建模,从数据包内容和数据包长度视图学习流量信息,从而可以通过捕获多个视点中的模式来提高性能。
- Transformer用于PEAN中,以捕获数据包的顺序关系,并合并来自网络流量不同部分的信息。并且Transformer的多头自我注意机制的直觉可以从不同的角度关注数据的内容,这与我们上面提到的挑战相对应。
- PEAN引入了一种无监督的预训练方式来增强网络分组字节的表示,可以更好地了解字节之间的相互关系,对于识别加密的流量非常有用。
缺点
是需要较高的技术水平,对于初学者可能存在一定的难度。同时,由于使用了多种技术和工具,需要进行相应的配置和管理,这也会带来一定的复杂性。
三、具体架构
论文中提出的模型PEAN的体系结构有5层。
预训练层是学习字节嵌入模型的第一层,其中Transformer是核心组件,其多头自我关注机制允许其学习相互关系字节之间。预训练层的任务是通过无监督预训练获得表征字节的能力。第二层是分组编码层,其重用在第一层中学习的模型参数以获得分组级嵌入表示。第三层,顺序层使用另一个Transformer来学习不同包嵌入的相互关系,以获得网络流的嵌入表示。第四层是补充层,它使用分组长度序列执行简单的LSTM建模,以从第二模态学习模型的补充特征。最后一层分类层将来自顺序层和补充层的隐藏特征组合起来,以执行融合和分类。
问题定义

第一层:预训练层(Pre-Training Layer)
预训练的目的是训练一个具有字节编码能力的模型,帮助我们在后期的数据包编码层中将数据包编码为向量。
这样的预训练方式有以下优点:
- 在预训练阶段,每个字节的嵌入表示都与其他字节相关,因此整个数据包表示会有更强的统一性。
- 众所周知,收集网络流量很简单,但给它们贴上标签却很困难。由于预训练方法是无监督的,大量未标记的可以直接用于预训练,提高模型的包编码能力,便于未来模型的扩展和更新。
英译:
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:
- 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.
- 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.

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

4757

被折叠的 条评论
为什么被折叠?



