ET-BERT:一种带有上下文数据表示预训练Transformer的加密流分类

插播一篇加密流量分类的论文

This work has been accepted in Security, Privacy, and Trust track at The Web Conference 2022 (WWW'22)

论文题目:

ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for Encrypted Traffic Classification

论文地址:

https://arxiv.org/abs/2202.06335

摘要

加密流量分类需要从内容不可见、不均衡的流量数据中获取具有鉴别性和鲁棒性的流量表示,以便进行准确分类,这是实现网络安全和网络管理的一个挑战,但也是不可或缺的。现有解决方案的主要局限性是它们高度依赖于深度特征,而深度特征过度依赖于数据大小,并且很难对未见数据进行泛化。如何利用开放域无标记流量数据学习具有较强泛化能力的表示仍然是一个关键挑战。在本文中,我们提出了一种新的流量表示模型,称为来自Transformer的加密流量双向编码器表示(ET-BERT),它从大规模未标记数据中预训练深度上下文化数据报级表示。预训练的模型可以在少量特定于任务的标记数据上进行微调,并在五种加密流分类任务中实现最先进的性能,显著地将ISCX-VPN-Service的F1提高到98.9%(5.2%↑),跨平台(Android)的F1提高到92.5%(5.4%↑),CSTNET-TLS 1.3的F1提高到97.4%(10.0%↑),值得注意的是,我们通过分析密码的随机性提供了经验上强大的预训练模型的解释。它为我们理解加密流量的分类能力边界提供了新的思路。该代码开源在:https://github.com/linwhitehat/ET-BERT。

1介绍

网络流分类是网络管理和网络安全中的一项重要技术,旨在识别来自各种应用程序或web服务的流量的类别。近年来,流量加密技术被广泛应用于保护互联网用户的隐私和匿名性,然而,这也给流量分类带来了巨大的挑战,恶意软件流量和网络犯罪分子可以通过增强隐私的加密技术(如Tor、VPN等)逃避监控系统。传统的方法从有效载荷中捕获数据包中的模式和关键字,称为深度包检测(DPI),无法应用于加密流量。此外,由于加密技术的快速发展,针对特定加密流量的流量分类方法不能很好地适应新的环境或不可见的加密策略。因此,如何捕捉各种加密流量中隐含的、健壮的模式,支持准确的、通用的流量分类,是实现高网络安全性和有效网络管理的关键。

为了解决上述问题,加密流分类的研究随着时间的推移有了显著的发展,如图1所示。早期工作利用加密流量中剩余的明文(例如证书)构建指纹并进行指纹匹配以进行分类(图1(a))。然而,这些方法不适用于新出现的加密技术(例如TLS 1.3),因为明文变得更加稀疏或模糊。为此,有文献提取统计特征,采用经典的机器学习算法处理非明文的加密流量(图1(b))。这些方法高度依赖专家设计的特征,泛化能力有限。最近,深度学习方法自动从原始流量中学习复杂的模式(图1(c)),并取得了显著的性能提升。然而,这些方法高度依赖标记训练数据的数量和分布,容易造成模型偏差,难以适应新出现的加密技术。

近年来,预训练模型在自然语言处理、计算机视觉等广泛领域有了很大的突破, 基于预训练的方法采用大量无标记数据来学习无偏数据表示,通过对有限数量的标记数据进行微调,可以轻松地将此类数据表示传输到下游任务。在加密流分类领域,最新的工作直接应用了预训练技术,在VPN流分类方面取得了明显的改进,但缺少针对流量设计的预训练任务和合理的输入表示来说明预训练模型的效果。

在本文中,我们提出了一种新的用于分类加密流量的预训练模型,称为加密流量双向编码器表示从变压器(ET-BERT),它旨在从大规模未标记加密流量中学习通用流量表示(图1(d))。我们首先提出了一个原始流量表示模型,将数据报转换为类语言令牌进行预训练,每个流都由一个传输导向结构表示,表示为BURST,它作为输入。拟议的框架包括两个阶段:预训练和微调。其中,具有Transformer结构的预训练网络通过对大规模未标记加密流量的自监督学习获得数据报级通用流量表示。其中,我们提出了两个新的预训练任务来学习流量特定模式:掩码BURST模型(MBM)任务捕获同一BURST中不同数据报字节之间的相关关系,并通过上下文表示它们;SBP (Same-origin BURST Prediction)任务是对前一个BURST和后一个BURST的传输关系进行建模,然后,ET-BERT与特定的分类任务结合,并使用少量特定于任务的标记数据对参数进行微调。

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

2 .相关工作

2.1加密流分类

指纹构建 与明文流量下的包检查方法不同,当流量被加密时,这种方法会失败,一些研究建议使用未加密的协议字段信息。FlowPrint提取设备、证书、大小和时间特征来表示每个流,并通过聚类和交叉关联构建指纹库,实现高效的流量分类,然而,这些指纹在虚拟通信网络中很容易被篡改,失去正确的意义,而我们的模型不依赖于任何明文信息。

统计方法 大多数关于加密流量的研究都是利用流量的统计特性来独立于流量加密。AppScanner利用数据包大小的统计特征来训练随机森林分类器,而BIND也利用时间性的统计特征,然而,很难设计通用的统计特征来应对不断变得复杂的大规模应用程序和网站,而我们的模型不需要依赖于人为设计的特征。

深度学习模型 使用监督深度学习的加密流量分类已经成为一种流行的方法,它可以自动提取鉴别特征,而不是依赖于人工设计。DF使用卷积神经网络(cnn), FS-Net使用循环神经网络(rnn)自动从加密流量的原始数据包大小序列中提取表示,而Deeppacket和TSCRNN表征原始有效载荷,然而,这种方法依赖于大量的监督数据来捕获有效的特征,从而在不平衡的数据中学习有偏见的表示,而我们的模型不依赖于大量的标记数据。

2.2预训练模型

在自然语言处理中,基于transformer的深度双向预训练模型在多任务处理中达到最佳效果,利用这种表示类型和结构,RoBERTa使用动态掩蔽,ALBERT提出句子顺序预测,通过推进无监督任务来提高性能。预训练模型的扩展包括知识增强和模型压缩,ERNIE引入实体知识提高语言理解能力,而DistilBERT通过知识蒸馏技术减少网络层数和参数,显著加快模型训练速度,但性能略有下降。此外,预训练模型在视觉语言和计算机视觉等跨领域的广泛应用表明,它们在利用无标记数据帮助学习有限标记数据上的健壮特征表示方面具有优势。

在加密流量分类中,虽然有效载荷没有语义,但Sengupta等利用不同密文之间的随机性差异来区分不同的应用,这表明加密流量不是完全随机的,存在隐式模式。PERT首先应用预训练模型将ALBERT迁移到加密流分类,在F1上实现了ISCX-VPN-Service的93.23%性能。但是,根据我们在第4.2节的实证研究,它缺乏对加密流量表示的具体设计和相应的预训练任务,这限制了它对新加密技术(如TLS 1.3)的泛化能力。考虑到流量传输的结构模式和数据包有效载荷的双向关联,我们设计了两个预训练任务,然后使用两种微调策略来更好地拟合流量分类任务。

3 ET-BERT

3.1模型架构

在本文中,我们的目标是学习通用的加密流量表示,并在不同的场景中对它们进行分类(例如应用程序、加密协议或服务)。为此,我们提出的预训练策略包含两个主要阶段:使用大规模无标签数据学习通用加密流量表示的预训练,以及针对特定下游任务调整预训练模型的微调。在预训练阶段,给定未标记的流,预训练模型输出数据报级通用流表示,在微调阶段,给定目标特定的标记数据包或流,微调模型预测其类别。

加密流量与自然语言和图像有很大的不同,因为它不包含人类可以理解的内容和明确的语义单位,为了有效地利用预训练技术进行加密流量分类,我们在ET-BERT中主要提出了三个主要组件,如图2所示:(1)我们提出了Datagram2Token方法(章节3.2),将加密流量转换为模式保留令牌单元进行预训练;(2)然后提出了两个预训练任务,即掩码BURST模型(mask BURST Model)和同源BURST预测(Same-origin BURST Prediction),从转换上下文而不是语义上下文学习上下文化数据报表示(章节3.3);(3)为了适应不同的流分类场景,我们进一步提出了两种微调策略,即针对单个包分类的包级微调和针对单个流分类的流级微调(章节3.4)。

ET-BERT的主要网络结构由多层双向变压器块组成,每个块都由多头自注意层组成,它捕获了数据报中编码的流量单元之间的隐式关系,在这项工作中,网络架构由12个变压器块组成,每个自注意层中有12个注意头,每个输入令牌퐻的维数设置为768,输入令牌个数设置为512。

3.2 Datagram2Token流量表示

在真实的网络环境中,海量的流量包含了不同类别(如不同的应用、协议或服务)的不同流量,这使得我们很难对某一类流量进行稳定的、有区别的表示。因此,在表示流量之前,我们首先从轨迹中分离出具有相同IP、端口和协议的流。因此,每个分离的流都来自包含完整流会话的相同流量类别,为了进一步将流转换为类似于自然语言的单词状令牌,我们提出了一个Datagram2Token模块,该模块由三个过程组成:(1)BURST Generator在一个会话流中提取持续的服务器到客户端或客户端到服务器的数据包,称为BURST,以表示会话的部分完整信息。(2)然后BURST2Token过程通过bi-gram模型将每个BURST中的数据报转换为令牌特征,同时,该过程也将BURST分为两个部分,为预训练任务做准备。(3)最后,Token2Emebdding将每个token的token嵌入、位置嵌入和分段嵌入串联起来,作为预训练的输入表示。

3.2.1BURST发生器

BURST被定义为一组时间相邻的网络数据包,这些数据包来自单个会话流中的请求或响应。从应用层的角度来看,一连串的突发描述了网络流传输的模式。在应用程序层,web页面之间的文档对象模型(DOM)树变得多样化,这源于web服务的个性化。当客户端呈现过程将web数据划分为不同的对象(例如文本和图像)时,DOM结构会生成语义感知的片段,并在潜意识中影响客户端的资源请求。每个生成的片段形成一个BURST的网络,它包含了DOM结构中特定类型内容的完整部分。

我们提取burst作为预训练模型的输入,对于BURST,我们关心的是数据包的源和目的地,给定数据包捕获文件的跟踪序列是由源到目的数据包p组成的会话流,由一个五元组(IPsrc:PORTsrc, IPdst:PORTdst, Protocol)标识,BURST定义为:

其中m,n分别为源到目的和源到源的单向最大报文数。

3.2.2 BURST2Token

为了将BURST表示法转换为用于预训练的令牌表示法,我们将十六进制BURST分解为一个单元序列。

为此,我们使用一个双格来编码十六进制序列,其中每个单元由两个相邻的字节组成,然后,我们使用字节对编码来表示令牌,其中每个令牌单位的范围从0到65535,字典大小|V|的最大值表示为65536。此外,我们还为训练任务添加了特殊标记[CLS]、[SEP]、[PAD]和[MASK]。每个序列的第一个标记总是[CLS],与此标记相关联的最后一个隐藏层状态用于表示分类任务的完整序列,令牌[PAD]是满足最小长度要求的填充符号,BURST的子BURST对将由[SEP]分隔,令牌[MASK]在预训练期间出现,以学习流量的上下文。

如图2所示,我们将一个BURST平均划分为两个子BURST用于SBP任务,我们通过特殊标记[SEP]和段嵌入来区分子burst,并指示它属于段A还是段B,我们将段A表示为子bursta,将段B表示为子burstb

3.2.3 Token2Embedding

我们通过三种嵌入来表示在BURST2Token中获得的每个令牌:令牌嵌入、位置嵌入和段嵌入,一个完整的令牌表示是通过总结前面提到的三种嵌入来构造的。在这项工作中,我们将完整的标记化数据报作为原始输入,随机初始化第一组嵌入向量,其中嵌入维数为D = 768,经过N次的Transformer编码,得到最终的token嵌入。

令牌嵌入 如图2所示,从第3.2.2节查找表中学习到的令牌的表示形式称为令牌嵌入Etoken,输入令牌的最终隐藏向量Etoken∈RH,其中嵌入维数H设为768。

嵌入的位置 由于流数据的传输与顺序有很强的相关性,我们使用位置嵌入来确保模型学习关注相对位置的令牌的时间关系,我们为每个输入标记分配一个h维向量,以表示其在序列中的位置信息,我们将位置嵌入表示为Epos∈RH,其中嵌入维数H设为768。

段嵌入 如3.2.2节所述,子burst的段嵌入记为Eseg∈RH,其中嵌入维数H设为768,在优化阶段,我们将一个数据包或一个流表示为一个段进行分类任务。

3.3预训练ET-BERT

我们提出的两个预训练任务通过预测掩码令牌来捕获流量字节之间的上下文关系,并通过预测同源BURST来捕获正确的传输顺序,详细的流程显示在图2的中间。

掩码BURST模型 这个任务类似于BERT所使用的掩码语言模型,关键区别在于,没有明显语义的流量令牌被合并到ET-BERT中,以捕获数据报字节之间的依赖关系,在预训练过程中,输入序列中的每个令牌都被随机屏蔽,概率为15%,作为选择的令牌,我们以80%的几率将其替换为[MASK],或者选择一个随机令牌替换它,或者以10%的几率保持不变。

由于掩码令牌被特殊令牌[MASK]取代,ET-BERT被训练为基于上下文预测掩码位置的令牌,得益于此任务带来的深度双向表示,我们对输入序列X随机掩码k个令牌,我们使用负对数似然作为损失函数,并将其正式定义为:

同源BURST预测 在上一节中已经声明了突发在网络流量中的重要性,我们的目的是通过捕获突发中数据包的相关性来更好地学习流量表示,此外,我们考虑了BURST结构与web内容之间的紧密关系,这能够传达不同类别流量产生的BURST之间的差异。例如,对于具有不同DOM结构的社交网站,分别加载内容,例如按文本、图像、视频的顺序加载内容,以及按图像、文本、视频的顺序加载内容,就会产生流量差异,域内指纹的研究也证实了这一现象。

我们通过同源BURST预测(SBP)任务学习BURST内部数据包之间的依赖关系,对于这个任务,使用一个二进制分类器来预测两个子BURST是否来自相同的BURST起源。具体来说,当为每个sub-BURST对选择subBURSTA和sub-BURSTB时,50%的时间sub-BURSTB是subBURSTA之后的实际下一个sub-BURST, 50%的时间它是来自其他burst的随机sub-BURST。对于包含子burst对Bj = (sub-BAj, sub-BBj)及其地真值标签yi∈[0,1](0表示成对的子burst, 1表示未成对的子burst)的给定输入。

总的来说,最终的预训练目标是上述两个损失之和,定义为:

训练数据集 在这项工作中,大约30GB的未标记交通数据用于预训练,该数据集包含两部分:(1)来自公共数据集的约15GB流量;(2)中国科技网(CSTNET)被动采集流量约15GB。此外,数据集包含丰富的网络协议,如基于UDP传输的新型加密协议QUIC、传输层安全、文件传输协议、超文本传输协议、Secure Shell等,这些都是常用的网络协议。

3.4微调ET-BERT

微调可以很好地服务于下游分类任务,因为:(1)预训练表示与流类别无关,可以应用于任何类别的流表示;(2)由于预训练模型的输入是数据报字节级,因此需要对数据包和流进行分类的下游任务可以转换为相应的数据报字节令牌,由模型进行分类;(3)预训练模型输出的特殊[CLS]令牌模拟了整个输入流量的表示,可以直接用于分类。

由于微调和预训练的结构基本相同,我们将特定于任务的包或流表示输入预训练的ET-BERT,并微调端到端模型中的所有参数,在输出层,[CLS]表示被馈送到多类分类器进行预测。我们提出了两种微调策略来适应不同场景的分类:(1)分组级别作为输入,致力于实验ET-BERT是否可以适应更细粒度的流量数据,如ET-BERT(包);(2)流量水平作为输入,致力于公平客观地比较ET-BERT与其他方法,作为ET-BERT(流量)。这两个微调模型之间的主要区别是输入流量的信息量。我们使用流中M个连续数据包的拼接数据报作为输入数据,其中M在我们的方法中被设置为5,流量数据的处理详见4.1节。与预训练相比,微调的成本相对较低,单个GPU就足以完成微调任务。

4实验

在本节中,我们进行了5个加密流分类任务(章节4.1),以证明ET-BERT解决不同加密场景和数据分布不均衡问题的有效性。然后,我们将我们的模型与11种方法进行比较(第4.2节),并对模型的关键成分进行消融分析(第4.3节),我们进一步提供了ET-BERT所获得的显著性能的解释性分析(第4.4节),以及处理少量样本的能力(第4.5节)。

4.1实验设置

4.1.1数据集和下游任务

为了评估ET-BERT的有效性和泛化性,我们在六个公共数据集和一个新提出的数据集上进行了五个加密流量分类任务的实验,任务和相应的数据集如表1所示。

任务1:GEAC (General Encrypted Application Classification)任务旨在对标准加密协议下的应用流量进行分类,我们在跨平台(iOS)和跨平台(Android)上进行测试,分别包含196和215个应用程序。iOS应用和Android应用来自美国、中国和印度的前100款应用,这个数据集拥有最多的类别和长尾数据分布在所有类别。

任务2:EMC (Encrypted Malware Classification)是由恶意软件和良性应用程序组成的加密流量的集合。数据集USTC-TFC包含10类良性流量和10类恶意流量。

任务3:ETCV (Encrypted Traffic Classification on VPN)任务对使用VPN进行网络通信的加密流量进行分类,vpn在绕过审查和访问地理锁定服务方面很受欢迎,由于其协议混淆,很难检测到地理锁定服务。我们使用通常比较的ISCX-VPN,它由加拿大网络安全研究所在VPN和非VPN中捕获的6个通信应用程序组成。为了在服务和应用程序上测试ET-BERT,我们进一步按服务和应用程序对数据集进行分类,形成包含12个类别的ISCX-VPN-Service数据集和包含17个应用程序的ISCX-VPN-App数据集。

任务4:EACT (Encrypted Application Classification on Tor)任务旨在对使用Tor (Onion Router)进行通信隐私增强的加密流量进行分类。数据集称为ISCX-Tor,其中包含16个应用程序,这种流量通过分布式路由网络使发送方和接收方之间的通信变得模糊,从而进一步模糊了流量的行为,随着流量的模式提取变得更加困难,这对流量分类来说更具挑战性。

任务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中获得,我们通过服务器名称指示(SNI)标记每个会话流,在CSTNET-TLS 1.3中,由于TLS 1.3的兼容性,SNI仍然可以访问,ECH机制将在未来禁用SNI,并影响标记的准确性,但我们将在第5节讨论一些克服它的想法。

伦理方面的考虑 在这项研究中,咨询了IRB,没有使用任何鉴定,此外,收集是完全被动的,我们已经遵守了收集数据的公司网络的用户协议。

4.1.2数据预处理

我们删除了ARP (Address Resolution Protocol)和DHCP (Dynamic Host Configuration Protocol)的数据包,它们与传输内容的特定流量无关。为了避免包报头的影响,它可能会在具有强识别信息(如IP和端口)的有限集中引入偏置干扰,我们删除了以太网报头、IP报头和TCP报头的协议端口。在微调阶段,我们从所有数据集中的每个类中随机选择最多500个流和5000个包,每个数据集按照8:1:1的比例分为训练集、验证集和测试集。

4.1.3评价指标及实施细则

我们通过四个典型指标来评估和比较模型的性能,包括精度(AC)、精度(PR)、召回率(RC)和F1,通过计算每个类别的AC、PR、RC、F1的平均值,避免多类别数据之间不平衡导致的偏倚结果。在预训练中,批大小为32,总步数为50万。我们设置学习率为2 × 10−5,热身的比率为0.1,我们使用AdamW优化器进行了10个周期的微调,其中流量级的学习率设置为6 × 10−5,包级的学习率设置为2 × 10−5,批数为32,dropout率为0.5,所有实验均采用Pytorch 1.8.0和UER, NVIDIA Tesla V100S gpu进行。

4.2与现有方法的比较

我们将ET-BERT与各种最先进的(SOTA)方法进行了比较,包括:(1)指纹构建方法:FlowPrint;(2)统计特征方法:AppScanner、CUMUL、BIND、k-fingerprinting (K-fp);(3)深度学习方法:deep Fingerprinting (DF)、FS-Net、GraphDApp、TSCRNN、Deeppacket;(4)预训练方法:PERT,实验结果如表2和表3所示,其他比较研究见附录A.1。

GEAC 从表2可以看出,ET-BERT(packet)和ETBERT(flow)的性能都明显优于所有方法。我们的模型在跨平台(iOS)和跨平台(Android)上分别从现有的技术(例如PERT和FlowPrint)中获得了1.7%和5.4%的改进。FlowPrint利用包含证书字段的明文指纹构建多维指纹库,用于应用程序的识别,然而,ET-BERT在不依赖任何明文字段的情况下学习密文的上下文关系,此外,我们的模型学习了流量传输结构的模式,而PERT无法掌握。

EMC 从表3中USTC-TFC的结果可以看出,所有方法的性能都不如我们的模型。我们的模型在F1上达到了99.30%的最佳性能。我们观察到,该数据集中的恶意流量在应用层包含未加密的数据,这使得其他模型更容易利用这种明文进行分类。

ETCV ET-BERT在ISCX-VPN-Service和ISCX-VPN-App上实现了5.69%和1.72%的改进。这两个数据集都提出了不平衡的挑战,在ISCX-VPN-App上更加严重,我们的模型和Deeppacket通过学习包数据报之间的相关性来缓解不平衡数据的影响。此外,ET-BERT除PERT外的其他方法对F1的平均改进分别为25.55%和42.89%,这表明我们的模型即使在数据不平衡的情况下也具有很强的识别混乱流量的能力。

EACT 在ISCX-Tor上的结果如表3所示,ET-BERT比现有的TSCRNN的最佳结果提高了4.41%。Tor中的初始流量不仅是多层加密的,而且是对抗性混淆的,TSCRNN通过随机采样来丰富流量来训练模型,而我们利用数据包的内在关系来实现更好的分类。

EAC-1.3 我们的模型比现有的最先进的87.41%提高了10.0%,如表3所示的CSTNET-TLS 1.3的结果。TLS 1.3对FlowPrint和Deeppacket提出了新的挑战,一方面提高了传输的安全性,另一方面提高了传输的安全性。ET-BERT通过深度表示数据报,将F1推至97.41%。这表明TLS 1.3上的加密流量数据报仍然具有隐式模式,ET-BERT可以更好地利用这种模式进行分类。

4.3消融研究

我们展示了消融结果,以验证每个组件在广泛比较的ISCX-VPN-App上的贡献,为了公平地比较数据包和流级微调方法,我们从每个类中随机选择最多100个数据包和流作为训练数据集。在表4中,PT-p和PT-b分别表示输入是随机选择的相邻数据包和我们在预训练(PT)中提出的BURST数据包。FT-f、FT-cf和FT- p分别表示使用流、级联流和单个包进行微调(FT)。(1)在模型' 1-3 '中,我们评估每个任务的影响和预训练的输入。对于“1”和“2”,F1分别下降了3.97%和9.33%,这表明这两个自我监督任务都有利于为分类提供互补模式。此外,我们在“3”中输入packets而不是BURST, F1分数降低了1.37%,证明BURST结构可以学习报文之间的关系,从而更好地进行流分类。(2)在模型“4”和“5”中,我们评估了不同形式的微调流的效果。模型“4”使用连续的数据包作为输入,而模型“5”分别使用数据包作为输入,并在最后的编码器层连接输出,如PERT,当我们从流切换到串联流时,模型' 5 '的结果下降了4.26%,一个流的不同数据包是相互依赖的,我们对流进行分类的微调方法更有益。(3)去除预训练模型,以评估预训练的影响,根据模型' 6 ',我们通过直接训练Transformer模型对标记数据进行监督学习,F1分数与ET-BERT相比显著下降了37.57%。

4.4可解释性

4.4.1随机性分析

上述结果证明了ET-BERT算法的有效性和通用性,因为加密载荷密码的不完全随机性,理想的加密方案使生成的消息承载最大可能的熵,但是,由于不同的密码实现具有不同程度的随机性,这个假设在实践中是不成立的。我们通过15组统计检验来评估本文中的5个密码的强度,其中p-value = 1表示序列的完全随机性,如表5所示,这些密码确实不能达到完美的随机性。

4.4.2密码的影响

为了评估ET-BERT的不同密码的影响,我们分析了不同数据集的密码的使用,如图3所示,横坐标表示占前13种类型和其他类型的密码,纵坐标表示每种密码的百分比。ISCX-VPN、ISCX-Tor和USTC-TFC至少包含RC4和3DES等3个随机较弱的密码,而其他数据集主要由一个密码组成,从表2和表3可以看出,ET-BERT在随机性较弱且波动较大的数据集上达到了接近100%的F1, ETCV平均99.14%,EACT平均99.21%,EMC平均99.30%。

4.5少样本分析

为了验证ET-BERT在少数样本设置下的有效性和稳健性,我们在ISCX-VPN-Service上设计了不同数据比例的对比实验。我们设置每个类别的数据量为500,随机选取40%、20%和10%的样本进行少镜头实验。在图4中,对比结果表明,预训练方法受数据大小减小的影响最小,数据量为40%、20%、10%的ET-BERT(packet) F1分数分别为95.78%、98.33%、91.55%。

在所有方法中,我们的模型得到了最好的结果,相比之下,传统的有监督方法(如BIND, DF, FS-Net)在样本量减少时F1性能下降明显,如Deeppacket在样本量从全尺寸减少到10%时性能下降了40.22%,这表明,预训练方法更有效地解决了少量加密流量的分类问题。

5讨论

在本节中,我们将讨论这项工作的一些局限性,以及它可能对该领域的进一步研究产生的潜在影响。

可泛化性:由于互联网服务的内容随着时间的推移而变化,加密流量的可变性将挑战我们使用固定模式的能力,这种模式来自固定数据,并且随着时间的推移保持不变。随着TLS 1.3的使用和兴起,加密流量的标记将不可能通过SNI实现。我们通过两种方式缓解这一问题,以适应ECH机制,从而保证测试的通用性,包括主动访问和使用唯一的工艺标识符进行标记。

训练前安全性:虽然ET-BERT在各种加密流量场景下具有良好的鲁棒性和泛化能力,但它依赖于干净的训练前数据。当攻击者故意添加低频子词作为“有毒”嵌入时,可以生成一个带有“后门”的有毒预训练模型,迫使模型预测目标类别,最终在特定分类任务上欺骗正常微调的模型,然而,如何构建加密流量的“有毒”令牌还没有被研究。

6结论

在本文中,我们提出了一种新的加密流量表示模型ET-BERT,它可以从大规模的未标记数据中预训练深度上下文数据组级流量表示,然后通过对少量特定于任务的标记数据进行简单的微调,准确地对多个场景的加密流量进行分类。

我们综合评估了5个公开数据集和从CSTNET收集的TLS 1.3数据集上ET-BERT的泛化和鲁棒性,ET-BERT具有很强的泛化能力,对通用加密应用分类、恶意软件加密分类、VPN加密流量分类、Tor加密应用分类、TLS 1.3加密应用分类等5种加密流量分类任务均取得了新的先进性能,显著优于现有作品5.4%、0.2%、5.2%、4.4%、10.0%,在未来,我们希望研究ET-BERT预测新类别样本和抵抗样本攻击的能力。

展开阅读全文

页面更新:2024-03-31

标签:随机性   数据   令牌   上下文   应用程序   标记   流量   模型   类别   模式   方法

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top