ET-BERT: A Contextualized Datagram Representation with Pre-training Transformers for Encrypted Traffic ClassificationET-BERT:一种基于预训练转换器的数据报上下文化表示方法,用于加密流量分类
ABSTRACT
加密流分类需要从内容不可见和不均衡的流量数据中获取判别性和鲁棒性的流量表示,以实现准确的分类,这是实现网络安全和网络管理的一项挑战,但也是必不可少的。
现有解决方案的主要局限是高度依赖深度特征,而深度特征过度依赖于数据大小,难以在未见数据上进行泛化。
如何利用开放域未标记的交通数据学习具有较强泛化能力的表示仍然是一个关键的挑战。
在本文中,我们提出了一种新的流量表示模型,称为来自Transformer的加密流量双向编码器表示(ET-BERT),它从大规模未标记数据中预训练深度上下文化数据报级表示。
预训练模型可以在少量特定任务的标记数据上进行微调,并在五个加密流量分类任务中实现最先进的性能,显着将ISCX-VPN-Service的F1提高到98.9%(5.2%↑),跨平台(Android)提高到92.5%(5.4%↑),CSTNET-TLS的F1提高到1.3到97.4%(10.0%↑)。
值得注意的是,我们通过分析密码的随机性提供了经验强大的预训练模型的解释。它为我们理解加密流量分类能力的边界提供了新的思路。
代码可从https://github.com/linwhitehat/ET-BERT获得。
1 INTRODUCTION
网络流量分类是网络管理和网络安全中的一项重要技术,旨在识别来自各种应用或web服务的流量的类别[4,32]。
近年来,流量加密被广泛用于保护互联网用户的隐私和匿名性。
然而,由于恶意流量和网络犯罪分子可以通过Tor、VPN等增强隐私的加密技术来逃避监控系统,这也给流量分类带来了很大的挑战。传统的从负载中抓取数据报文中的模式和关键字的方法,即深度包检测(deep packet inspection, DPI),无法应用于加密后的流量。此外,由于加密技术的快速发展,针对特定类型加密流量的流分类方法不能很好地适应新的环境或未知的加密策略[27]。因此,如何在多样的加密流量中捕捉隐式的、鲁棒的模式,支持准确的、通用的流量分类,是实现高网络安全性和有效网络管理的关键。
为解决上述问题,如图 1 所示,加密流量分类研究随着时间的推移发生了重大发展。早期的研究[35]利用加密流量中的剩余明文(如证书)构建指纹,并进行指纹匹配以进行分类(图 1(a))。然而,这些方法不适用于新出现的加密技术(如 TLS 1.3),因为明文变得更加稀疏或模糊。
为此,一些研究 [25, 34] 提取了统计特征,并采用经典的机器学习算法来处理无明文的加密流量(图 1(b))。这些方法高度依赖专家设计的特征,泛化能力有限。
最近,深度学习方法 [19, 20] 自动从原始流量中学习复杂的模式(图 1©),并取得了显著的性能提升。
但是,这些方法高度依赖标记训练数据的数量和分布,容易造成模型偏差,难以适应新出现的加密。
图1:四种主要的加密流分类方法:(a)基于明文特征的指纹匹配。(b)基于统计特征的机器学习。©基于原始流量特征的ML。(d)基于原始流量的预训练。
近年来**,预训练模型在自然语言处理[6]、计算机视觉[8]等广泛领域取得了重大突破[2,17]**。
基于预训练的方法采用大量未标记数据来学习无偏数据表示。通过对有限数量的标记数据进行微调,可以轻松地将此类数据表示转移到下游任务。
在加密流量分类领域,最新的工作[12]直接应用了预训练技术,在VPN流量分类上得到了明显的改进,但缺乏针对流量设计的预训练任务和合理的输入表示来证明预训练模型的效果。
本文的主要贡献如下:
(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 RELATED WORK
2.1加密流分类
指纹建设。与明文流量下的包检测方法不同,当流量被加密时,包检测方法会失败,一些研究建议使用未加密的协议字段信息。FlowPrint[35]提取设备、证书、大小和时间特征来表示每条流量,并通过聚类和交叉相关构建指纹库,实现高效的流量分类。然而,这些指纹在虚拟通信网络中很容易被篡改,失去其正确的含义,而我们的模型不依赖于任何明文信息。
统计方法。大多数对加密流量的研究都是利用流量的统计特性来独立于流量加密。AppScanner[34]利用数据包大小的统计特征来训练随机森林分类器,而BIND[1]也利用了时间性的统计特征。然而,很难设计通用的统计特征来应对不断变得复杂的海量应用程序和网站,而我们的模型不需要依赖于人为设计的特征。
深度学习模型。使用监督深度学习的加密流量分类已经成为一种流行的方法,它可以自动提取判别特征,而不是依赖于人工设计。DF[33]使用卷积神经网络(cnn), FS-Net[20]使用递归神经网络(rnn)从加密流量的原始数据包大小序列中自动提取表征,而Deeppacket[23]和TSCRNN[19]则表征原始有效负载。然而,这种方法依赖于大量的监督数据来捕获有效的特征,从而在不平衡数据中学习有偏见的表示,而我们的模型不依赖于大量的标记数据。
2.2 Pre-training Models
在自然语言处理中,基于Transformers的深度双向预训练模型在多任务下的效果最好。
利用这种表示类型和结构,RoBERTa[22]使用动态掩码,ALBERT[16]提出句子顺序预测,通过推进无监督任务来提高性能。
预训练模型的扩展包括知识增强和模型压缩,ERNIE[40]引入实体知识来提高语言理解,而DistilBERT[28]通过知识蒸馏技术减少了网络层和参数的数量,显著加快了模型训练,但性能略有下降。
此外,预训练模型在视觉语言和计算机视觉等跨领域的广泛应用证明了它们利用未标记数据来帮助在有限的标记数据上学习鲁棒特征表示的优势。
在加密流量分类中,虽然有效载荷没有语义,但 Sengupta 等人[29]利用不同密码文本之间的随机性差异来区分不同的应用,这表明加密流量并非完全随机,存在隐含模式。
PERT [12]首先应用预训练模型将ALBERT迁移到加密流量分类,并在ISCX-VPN-Service [9]的F1上取得了93.23%的性能。
然而,根据我们在第 4.2 节中的实证研究,它缺乏对加密流量表示的具体设计和相应的预训练任务,这限制了它对新加密技术(如 TLS 1.3)的推广能力。
考虑到流量传输的结构模式和数据包有效载荷的双向关联,我们设计了两种预训练任务,然后使用两种微调策略来更好地适应流量分类任务。
3 ET-BERT
3.1 Model Architecture
在本文中,我们的目标是学习通用的加密流量表示,并在不同的场景(例如应用程序、加密协议或服务)中对它们进行分类。
为此,我们提出的预训练策略包含两个主要阶段:
使用大规模未标记数据学习通用加密流量表示的预训练,以及针对特定下游任务调整预训练模型的微调。
在预训练阶段,给定未标记的流量,预训练模型输出数据报级别的通用流量表示。
在微调阶段,给定目标特定的标记数据包或流,微调模型预测其类别。
加密流量与自然语言和图像有很大的不同,因为它不包含人类可理解的内容和明确的语义单位。
为了有效地利用预训练技术进行加密流量分类,我们在ET-BERT中主要提出了三个主要组件,如图2所示:
(1)我们提出了Datagram2Token方法(章节3.2),将加密流量转换为模式保留令牌单元进行预训练;
(2)然后提出两个预训练任务,如掩码BURST模型和同源BURST预测,从转换上下文而不是语义上下文中学习上下文化的数据报表示(第3.3节);
(3)为了适应不同的流分类场景,我们进一步提出了两种微调策略,即针对单包分类的包级微调和针对单流分类的流级微调(章节3.4)。
ET-BERT的主要网络架构由多层双向Transformer块组成[36]。每个块由多头自关注层组成,捕获数据报中编码流量单元之间的隐式关系。
在这项工作中,网络架构由12个变压器块组成,每个自注意层有12个注意头。每个输入令牌H的维数设为768,输入令牌的个数设为512。
3.2 Datagram2Token Traffic Representation
datagram2令牌流量表示
在真实的网络环境中,海量的流量中包含了不同类别(如不同的应用、协议或服务)的各种流量,很难学习到一种稳定的、判别性的流量表示。
因此,在表示流量之前,我们首先从跟踪中分离出具有相同IP,端口和协议的流。
因此,每个分离的流都来自包含完整流会话的相同流量类别。
为了进一步将流转换为类似于自然语言的类词令牌,我们提出了一个Datagram2Token模块,该模块由三个过程组成:(1)BURST生成器在一个会话流中提取持续的服务器到客户端或客户端到服务器的数据包,称为BURST[26,31],以表示会话的部分完整信息。
(2)然后BURST2Token过程通过双图模型将每个BURST中的数据报转换为令牌嵌入。同时,这个过程也将BURST分成两个部分,为预训练任务做准备。
(3)最后,Token2Emebdding将每个标记的标记嵌入、位置嵌入和分割嵌入连接起来,作为预训练的输入表示。
3.2.1 BURST Generator
BURST被定义为一组时间相邻的网络数据包,这些数据包来自单个会话流中的请求或响应。
从应用层的角度来看,一系列的burst描述了网络流传输的模式。在应用层,由于web服务的个性化,网页之间的文档对象模型(DOM)树变得多样化。
由于客户端渲染过程将web数据划分为不同的对象(例如文本和图像),DOM结构生成语义感知的片段,并下意识地影响客户端的资源请求。每个生成的片段形成一个BURST网络,该网络包含来自DOM结构的具有特定类型的完整内容部分。我们提取burst作为预训练模型的输入。
3.3预训练ET-BERT
我们提出的两个预训练任务通过预测掩码令牌来捕获流量字节之间的上下文关系,以及通过预测同源BURST来捕获正确的传输顺序。图2中间显示了详细的流程。
掩码BURST模型。
这个任务类似于BERT使用的掩码语言模型[6]。关键的区别在于,没有明显语义的流量令牌被合并到ET-BERT中,用于捕获数据报字节之间的依赖关系。
在预训练过程中,输入序列中的每个标记以15%的概率被随机屏蔽。
作为选择的令牌,我们分别以80%的几率用[MASK]替换它,或者选择一个随机的令牌来替换它,或者以10%的几率保持不变。
由于屏蔽令牌被特殊令牌[MASK]取代,ET-BERT被训练来根据上下文预测屏蔽位置的令牌。得益于该任务带来的深度双向表示,我们对输入序列x随机屏蔽k个令牌。我们使用负对数似然作为损失函数,并将其正式定义为:
式中,表示ET-BERT的可训练参数集。概率P由变压器编码器用θ来建模。
是掩码后X的表示,MASKi表示掩码序列中第i个位置的掩码。
Same-origin BURST Prediction.
在前一节中已经声明了burst在网络流量中的重要性,我们的目的是通过捕获burst中数据包的相关性来更好地学习流量表示。
此外,我们考虑了BURST结构与网页内容之间的紧密关系,这能够传达不同类别流量产生的BURST之间的差异。
例如,对于DOM结构不同的社交网站,分别加载内容,比如按文字、图片、视频的顺序,按图片、文字、视频的顺序,在流量上存在差异。域内指纹识别的研究[37]也证实了这一现象。
我们通过同源BURST预测(SBP)任务了解BURST内部数据包之间的依赖关系。
对于该任务,使用二元分类器来预测两个子BURST是否来自相同的BURST起源。
具体来说,当为每个子burst对选择sub- bursta和sub-BURSTB时,50%的时间sub-BURSTB是subBURSTA之后的下一个子burst, 50%的时间它是来自其他burst的随机子burst。对于给定的输入包含子burst对Bj = (sub-B a j,sub-B Bj)及其真值标签yj∈[0,1](0表示成对的子burst, 1表示未成对的子burst)。
总的来说,最终的预训练目标是上述两个损失之和,定义为:
训练数据集。在这项工作中,大约30GB的未标记交通数据用于预训练。该数据集包含两部分:(1)来自公共数据集[9,30]的约15GB流量;(2)中国科技网(CSTNET)下被动采集流量约15GB。此外,该数据集还包含丰富的网络协议,如基于UDP传输QUIC的新型加密协议、传输层安全、文件传输协议、超文本传输协议、Secure Shell等,这些都是常用的网络协议.
3.4 Fine-tuning ET-BERT
微调可以很好地服务于下游分类任务,因为:
(1)预训练表示与流量类别无关,可以应用于任何类别的流量表示;
(2)由于预训练模型的输入是在数据报字节级别,因此下游需要对数据包和流进行分类的任务可以转换为相应的数据报字节令牌,由模型进行分类;
(3)预训练模型输出的特殊[CLS]令牌对整个输入流量的表示进行建模,可以直接用于分类。
由于微调和预训练的结构基本相同,我们将特定于任务的数据包或流表示输入到预训练的ET-BERT中,并在端到端模型中微调所有参数。
在输出层,将[CLS]表示提供给多类分类器进行预测。\
我们提出了两种微调策略来适应不同场景的分类:
(1)将数据包级别作为输入,专门试验ET-BERT是否能适应更细粒度的流量数据,如ET-BERT(数据包);
(2) flow level作为输入,致力于公平客观地比较ET-BERT与其他方法,称为ET-BERT(flow)。
这两种微调模型的主要区别在于输入流量的信息量。我们使用流中M个连续数据包的拼接数据报作为输入数据,其中M在我们的方法中被设置为5。第4.1节详细描述了交通数据的处理。
与预训练相比,微调的成本相对便宜,并且单个GPU足以完成微调任务。