PacketPatch:面向基于字节特征的加密流量分类的对抗性数据包实用化生成与部署

admin 2026-06-12 04:52:56 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 论文提出PacketPatch方案,通过基于BERT的扰动生成器和对称代理部署机制,解决现有加密流量分类对抗样本方法存在的假设不切实际、开销过大和破坏数据包可用性问题。核心创新包括改进的ET-BERT架构、连续掩码训练任务及可逆扰动策略,在三个公开数据集上验证其能有效降低五类B-ETC模型分类准确率(如LeNet在VPN数据集从86.01%降至14.97%),同时保持低带宽开销和协议兼容性。 综合评分: 87 文章分类: WEB安全,AI安全,数据安全,应用安全,网络安全


cover_image

PacketPatch:面向基于字节特征的加密流量分类的对抗性数据包实用化生成与部署

原创

陈家辉、许媛圆 陈家辉、许媛圆

安全学术圈

2026年6月10日 21:30 四川

在小说阅读器读本章

去阅读

原文标题:PacketPatch: Generating Adversarial Packets Against Traffic Identification Using BERT 原文作者:Yuwei Xu, Yuanyuan Xu, Yunpeng Bai, Jiahui Chen, Kehui Song, Jie Cao, Qiao Xiang, Guang Cheng 原文链接:https://www.sciencedirect.com/science/article/abs/pii/S016740482600163X 代码链接:https://github.com/xuyw-seu/PacketPatch 发表期刊:Computers & Security 笔记作者:陈家辉、许媛圆@安全学术圈 主编:黄诚@安全学术圈

1、背景介绍

随着人工智能技术的快速发展,基于深度学习的加密流量分类(Encrypted Traffic Classification, ETC)方法取得了显著进展。其中,基于字节特征的加密流量分类方法(Byte-feature-based ETC, B-ETC)借鉴自然语言处理(NLP)的思想,将结构化的数据包字节序列视为文本进行处理,能够同时捕获局部字节模式与长距离上下文信息,已成为该领域的主流技术路线。代表性工作包括将原始流量转换为灰度图像再使用2D-CNN进行分类的LeNet、使用1D-CNN处理完整MTU的DeepPacket、融合CNN与Bi-LSTM的TSCRNN,以及基于BERT预训练范式提取上下文化流量表征的ET-BERT等。

尽管通信内容受到加密协议的保护,B-ETC模型仍可通过多维度的流量特征推断用户行为,对个人隐私构成新的潜在威胁。在实际网络环境中,恶意攻击者可以部署高性能的B-ETC模型,从加密流量中推断出用户的访问行为等敏感信息,从而实施用户画像分析或网站指纹攻击。

受计算机视觉和NLP领域对抗样本研究的启发,生成能够逃逸B-ETC模型检测的对抗数据包,是降低用户隐私威胁的有效防御策略。然而,现有研究面临三个核心缺陷:依赖不切实际的前提假设(如白盒访问目标模型或已知用户历史行为)、引入过高的时间和带宽开销、以及破坏数据包在真实网络环境中的可用性。

2、问题分析

为了系统性地分析现有B-ETC对抗样本生成方法的局限性,本文作者从三个方面对现有方案进行了深入剖析,并在表1中给出了全面的对比总结。

1. 不切实际的前提假设

现有方法在生成对抗数据包时,常常依赖理想化的前提条件。梯度类方法(如P2I-Adv、ANT、UTAA)需要获取目标ETC模型的结构、参数和梯度信息,以白盒方式构造对抗扰动。其中,ANT还需要获取用户的过往网络行为(如曾经访问的网站或应用)来指导对抗扰动的优化。显著图类方法(如A-IOT、BYTEFLIPPING)虽然尝试通过特征替换来保持语义,但计算显著图或漏洞排序本质上也依赖对目标模型内部激活函数或概率输出的白盒访问。查询类方法(如MCTS-T、DeepPackGen、AdvTg)虽然在梯度不可访问时可用,但其依赖持续向目标模型发送查询并根据反馈调整扰动,这同样需要目标模型提供可响应的查询接口,并非严格的黑盒方法。在真实网络环境中,隐私保护方几乎不可能获取到如此完整的目标模型信息。

2. 过高的时间和带宽开销

查询类方法需要经过多轮查询迭代,反复调整扰动直至成功欺骗模型,这一交互式生成过程资源消耗大且响应延迟高,难以满足实时传输的要求。在带宽开销方面,UTAA和A-IOT等方法采用固定长度的扰动模板(784字节),在处理短数据包时强制填充大量冗余字节,导致不可接受的带宽消耗。AdvTg同样倾向于引入过度填充来保证逃逸效果,造成带宽效率方面的巨大代价。

3. 破坏数据包可用性

与图像不同,网络数据包在格式和语义层面受到协议的严格约束。对数据包头部字段的修改可能破坏路由、连接维护和传输控制,而对载荷的修改则可能阻碍接收端正确解析应用层数据。然而,现有方法对此类协议约束考虑不足,例如P2I-Adv对数据包头部执行不可逆修改,导致接收端无法正常解析信息。

3、PacketPatch

针对上述现有工作的不足,本文作者提出了一种名为 PacketPatch 的实用对抗数据包生成与部署方案。如下图所示,该方案包含一个基于BERT的扰动向量生成器(PatchGenerator)和一种对称代理部署机制,在黑盒假设下有效保护用户隐私免受B-ETC模型的侵害。

3.1 整体架构

PacketPatch 的工作流程包含四个阶段,旨在实现从原始数据包到具有对抗效果的传输数据的全流程隐私保护:

  • 阶段一:PatchGenerator 训练。 基于 ET-BERT 架构设计 PatchGenerator,并设计两项定制化训练任务——同类别预测任务(SCP)和连续掩码字节建模任务(Span-MBM)。SCP 任务赋予模型判别流量类别差异的能力,Span-MBM 任务赋予模型基于上下文重建连续字节序列的生成能力。
  • 阶段二:PacketPatch 部署。 将训练好的 PatchGenerator 分别部署在客户端和服务器端。为保证扰动的可逆性,双方同步 PacketPatch 的配置文件,定义构建对抗数据包的关键参数。为降低对现有网络应用的侵入性,采用基于 SOCKS5 协议的代理架构实现。
  • 阶段三:对抗数据包构建。 由于网络流量的双向特性,用户端和服务器端交替充当发送方和接收方。发送方在传输数据前,利用部署的 PacketPatch 系统生成扰动向量并将其嵌入数据包载荷中,随后将构建的对抗数据包通过网络发送。
  • 阶段四:原始数据包恢复。 接收方收到对抗数据包后,根据同步的配置文件激活恢复流程,移除扰动向量以精确恢复原始数据包,随后按标准协议解析原始信息。

3.2 核心组件一:PatchGenerator 模型架构与训练

PatchGenerator 是 PacketPatch 的核心生成模块,采用 ET-BERT 作为基础架构。其模型结构如下图所示,包含输入层、嵌入层、编码器层和任务特定输出层四个组件。

模型架构设计:

  • 输入层: 将两个不同数据包的原始字节处理为离散 Token。沿袭 ET-BERT 的设计,每两个连续字节被视为一个输入单元,并通过字节对编码(BPE)进行 Token 化。与 ET-BERT 不同,PatchGenerator 将滑动窗口步长从 1 增加至 2,创建非重叠的输入单元,使模型能够覆盖更广的字节上下文。
  • 嵌入层: 采用三种嵌入方式捕获多维特征——Token 嵌入将字节 Token 的语义信息映射为稠密向量,位置嵌入编码 Token 的顺序信息,分段嵌入将 Segment A 分配给数据包1、Segment B 分配给数据包2,使模型能够区分每个 Token 的来源。三种嵌入共享 768 维,逐元素求和后输入编码器。
  • 编码器层: 由 12 个 Transformer 编码器块构成核心特征提取器。每块内输入先经过 12 头多头自注意力机制捕获全局依赖,再通过逐位置前馈网络。
  • 输出层: 包含两个任务特定头——SCP 头提取 [CLS] Token 表示,通过全连接层和 Tanh 激活预测两个数据包的类别一致性;Span-MBM 头提取被掩码 Token 状态,通过 Gelu 激活、层归一化和 Softmax 解码器生成词表概率分布。

输入表示优化: 标准 ET-BERT 采用步长为 1 的 bi-gram 编码,虽利于分类但存在 Token 重叠导致的严重内容冗余,限制了扰动生成能力。PatchGenerator 将步长调整为 2,带来三重优势:一是邻接输入单元不再共享字节,生成向量可直接解释为连续字节序列;二是在相同输入长度下,有效覆盖的字节数翻倍;三是保留了预训练特征的可迁移性。

训练任务设计:

为赋予 PatchGenerator 对抗扰动生成能力,作者设计了两项训练任务:

  • SCP 任务(同类别预测): 训练模型判断两个输入数据包是否属于同一流量类别。输入构建采用三步策略——随机配对(50% 概率同类、50% 概率异类)、动态分区(随机截取数据包的头部或中间段)、序列组装(拼接为 [CLS] + 数据包A + [SEP] + 数据包B 格式)。利用 [CLS] 位置的隐藏状态,通过二元交叉熵损失优化模型判别能力。
  • Span-MBM 任务(连续掩码字节建模): 将掩码机制从独立 Token 扩展到连续片段,迫使模型利用长距离上下文合成连贯的字节序列。掩码构建分两步——首先生成不重叠的连续掩码片段,直至累积长度达到目标值;然后以整体单元为单位执行替换(80% 概率替换为 [MASK],10% 概率替换为随机噪声,10% 概率保持不变)。以负对数似然损失为优化目标。

最终,PatchGenerator 的总损失函数为两项任务损失之和:

通过联合训练,模型同时具备了判别流量类别差异的能力和基于上下文合成连续字节序列的生成能力。

3.3 核心组件二:扰动向量生成策略

在 PatchGenerator 训练完成后,本文通过精巧的扰动生成流程将其转化为对抗数据包生成工具。如下图所示,生成过程包括四个阶段:

(1) 输入准备: 将目标数据包分离为头部  和载荷 。扰动填充长度  默认为原始数据包长度的 10%。对于标准 MTU 为 1500 字节的数据包,扰动预算为 150 字节(对应 75 个 Token),确保掩码部分不超过总输入的 30%,为有效生成保留充足的上下文信息。

(2) 序列构建: 随机选取分割点 r ∈ [0, ],将 [MASK] 序列划分为 Pad1 和 Pad2 两段,在分割点处插入 [SEP] 作为段分隔符,随后插入一个从不同流量类别中随机采样的数据包头部 (仅含 IP 头与 TCP 头,固定 40 字节)。最终输入序列为:[CLS] +  + Pad1 + [SEP] +  + Pad2 + 。这种结构使 PatchGenerator 将输入视为两个逻辑上分段的数据包实体,同时利用原始数据包和随机数据包的上下文信息。

(3) 扰动生成: 将序列  输入 PatchGenerator,对两个段采用不同的选择策略以实现对抗效果——Pad1 应用 argmin 选择概率最低的 Token,通过选择与原始头部相关性最弱的字节来破坏特征连续性;Pad2 应用 argmax 选择概率最高的 Token,使生成字节与注入的随机头部强相关,模拟不同流量类别的特征。

(4) 向量组装: 最终扰动向量 v 由三个组件拼接而成:v = Pad1 +  + Pad2。随机头部  被保留以引入来自替代类别的真实特征模式。总扰动长度为  + 40 字节,确保原始数据包与对抗数据包长度之间存在唯一映射关系,便于接收端精确恢复。

3.4 对称代理部署机制

为确保对抗数据包在真实网络环境中的可用性,本文作者设计并实现了一套基于对称代理架构的原型系统。

系统架构: 采用基于 SOCKS5 协议的非侵入式对称代理架构,由客户端代理和服务端代理两个核心组件构成。客户端代理部署在用户主机上,拦截来自客户端应用程序的出站流量,嵌入扰动向量构建对抗数据包后转发至服务端代理;服务端代理部署在远程服务器上,接收对抗流量后移除扰动恢复原始载荷,再将数据转发至目标服务器。

关键技术优化: 为确保TCP流上精确的对抗数据包操控,实施了禁用 Nagle 算法(确保小数据包不被合并)和注入数据包分隔符(特定四字节序列 0xff, 0xfe, 0xfd, 0xfc,用于在连续 TCP 流中精确标识对抗数据包边界)两项工程优化。

对抗数据包构建流程: (a) 上下文获取——利用原始套接字并行嗅探线程获取目标流的传输层头部作为模型上下文;(b) 扰动生成——通过 TensorRT 加速的 FP16 精度 PatchGenerator 引擎执行单次前向传播生成扰动向量;(c) 封装传输——在载荷缓冲区注入分隔符和扰动向量,交由操作系统网络栈完成最终封装。

原始数据包恢复流程: (a) 边界识别——接收方扫描预定义的四字节分隔符定位对抗数据包起始位置;(b) 扰动长度推导——基于同步配置的长度映射规则动态计算嵌入扰动的精确长度;(c) 剥离转发——移除分隔符和扰动后,将原始载荷转发至目标应用服务器。

4、评估

4.1 实验设置

数据集选择。 为保证评估的广泛性和公平性,本文选取了 3 个公开数据集进行测试,覆盖四种代表性场景:

  • ISCX-TOR 数据集(TOR):包含通过 Tor 网络访问的 16 种应用流量,覆盖浏览、聊天、文件传输等典型服务类型。
  • ISCX-VPN 数据集(VPN):包含 11 种流量类型,其中 6 种经过 VPN 隧道封装,5 种为非 VPN 流量。
  • USTC 数据集(USTC):包含 20 类流量,其中 10 类为恶意软件流量、10 类为良性加密流量。

各数据集的类别分布和样本数量详见下表。

目标 B-ETC 模型。 选择 5 种代表性的 B-ETC 模型作为攻击目标:DeepPacket(1D-CNN,统一输入 1500 字节)、LeNet(2D-CNN,将前 784 字节重塑为 28×28 灰度图像)、DataNet(轻量级 MLP,输入归一化为 1500 字节)、TSCRNN(CNN+Bi-LSTM 混合架构,处理连续 15 个数据包的序列)、ET-BERT(预训练 BERT 架构,输入前 512 字节)。

对比基线。 与 3 种白盒基线方法(共 4 个版本)进行对比:ANT(含 ANT-e 尾部追加和 ANT-h 头部—载荷间注入两个版本,扰动预算 10%)、A-IOT(基于 CAM 显著图保留前 10% 关键字节并填充目标载荷)、UTAA(训练通用扰动向量添加到前 784 字节,避免修改头部)。所有基线方法均需获取模型梯度或内部状态信息。

评估指标。 除标准的分类准确率(Acc)、精确率(Pre)、召回率(Recall)和 F1 分数外,还引入防御成功率(DSR,衡量扰动后成功误导分类器的样本比例)和带宽开销(BWO,衡量扰动引入的额外数据量相对于原始数据包的比例)。

4.2 PacketPatch 的防御有效性分析

在对比实验中,5 种 B-ETC 模型在三个数据集上的基线表现均良好,多数场景下分类准确率超过 95%。添加 PacketPatch 扰动后,各模型的分类性能均出现不同程度的下降。

实验结果表明,相同强度的扰动的效果因数据集不同而存在显著差异:TOR 数据集的下降较为温和,而 VPN 和 USTC 数据集的下降更为剧烈(原因在于不同数据集的流量模式决定了扰动跨越分类决策边界的难度)。此外,不同模型对扰动的敏感度也不同——LeNet 下降幅度最大(VPN 数据集准确率从 86.01% 降至 14.97%),而 ET-BERT 表现出较高的鲁棒性(得益于在大规模流量数据上的预训练形成了更精确的决策边界,此外 PacketPatch 与 ET-BERT 共享相同架构和预训练权重也是原因之一)。

特别值得关注的是 TSCRNN 在 USTC 数据集上的表现——PacketPatch 将 TSCRNN 的准确率从 97.73% 降至仅 4.85%,DSR 高达 95.25%,体现出极强的攻击效果。

4.3 与基线方法的对比

将 PacketPatch 与三种白盒基线方法进行全场景对比,实验结果如下表所示。

在 3 个数据集 × 5 个识别模型的 15 个场景中,PacketPatch 对抗效果居首的次数位居第二:在 15 个场景中全面领先 ANT-e,在 10 个场景中领先 ANT-h,在 12 个场景中领先 A-IOT,在 8 个场景中领先 UTAA。作为唯一的黑盒方法,PacketPatch 展现出了超越多种白盒方法的竞争力。

值得注意的是,UTAA 在部分场景中取得了最佳攻击效果,这源于其扰动面最广(扰动向量添加至前 784 字节)。但 UTAA 的扰动强度与带宽开销不成正比,而 PacketPatch 等其他方法选择在数据包特定位置插入扰动向量,避免直接修改原始字节,保留了更多的数据包可用性。

4.4 扰动长度敏感性分析

为验证默认配置下 10% 扰动长度的合理性,本文作者固定随机头部 ,将 Pad1 与 Pad2 总长度从 0% 变化至 12% 原始数据包大小,观察其对 DeepPacket 分类性能的影响。

结果表明,随着扰动向量长度增加,各数据场景下识别准确率逐渐降低,攻击效果逐渐增强。当填充长度从 8% 增至 12% 时,各场景的扰动效果增长趋于平缓。这是因为 Pad1 与 Pad2 的总长度已接近训练期间最大 [MASK] 符号数,逼近 PatchGenerator 生成扰动向量的能力上限。该结果从实验角度验证了默认配置下 10% 扰动向量长度选择的合理性。

4.5 消融实验

PacketPatch 生成的扰动向量由三个组件构成:模型生成的 Pad1 和 Pad2,以及分隔两者的随机数据包头部 。为评估各组件的贡献,作者以 DeepPacket 为目标模型设计了 7 个模型变体进行消融实验。

实验结果显示:Pad2 在 ISCX-TOR 数据集中贡献更大,而 Pad1 在 ISCX-VPN 和 USTC 数据集中效果更显著。这种差异源于扰动向量的结构——Pad1 通过 [SEP] Token 与  分隔,导致 PatchGenerator 将其视为独立实体,缺乏与头部的语义关联;而 Pad2 基于随机头部和原始载荷生成,建立了较强的特征依赖。关于  的作用,单独使用随机数据包头部能产生一定扰动效果但在 ISCX-TOR 中有限;将  加入 Pad2 可显著提升攻击效果,这进一步证实了 Pad2 与  之间的结构关联。

尽管专用变体在各自主导场景中取得了略优于默认配置的效果,但默认配置在三个数据集上始终保持了有竞争力的 DSR(25.33%、57.37%、69.59%),提供了通用性和有效性之间的稳健平衡。

4.6 运行效率与资源开销

作者分别计算了 PacketPatch 应用过程各阶段的时间消耗,结果汇总于下表。

整个对抗数据包构建过程的平均耗时约为 10.078 ms,其中主要开销在扰动向量生成阶段(9.626 ms),即模型单次前向传播的时间。该延迟远低于实时网络传输的可接受阈值(20 ms),充分证明了 PacketPatch 在实时应用场景中的可行性。在带宽开销方面,作者对比了不同方法在各数据集上的实际带宽消耗。

ANT 的两个版本具有相同的 BWO。相比之下,A-IOT 的 BWO 显著高于其他方法,因其强制将数据包填充至固定模板长度;UTAA 同样需要将较小数据包填充至 784 字节。PacketPatch 的 BWO 略高于 ANT(归因于其扰动向量中包含额外的数据包头部 h_r),但整体水平较低,在保证攻击效果的前提下有效控制了带宽开销。

4.7 可用性验证

为严格验证对抗数据包在真实网络环境中的可解析性和可恢复性,作者基于对称代理架构搭建了原型系统进行端到端测试。实验由用户端设备(i9-12900 CPU + RTX 3080 GPU)、服务端代理(i9-10900 CPU + RTX 2060 GPU)和应用服务器(Ubuntu,i5-10500T)三台物理节点组成。客户端应用以 0.5~5 ms 的随机间隔向应用服务器连续发送 1000 个数学计算问题,正确收到计算答案作为验证可用性的金标准——这要求对抗数据包能够通过协议完整性校验(可解析性)且服务端代理能够精确还原原始载荷至比特完整状态(可恢复性)。实验结果确认 1000 个计算任务全部成功,验证了 PacketPatch 生成的数据包满足真实部署的严格要求。

以具体数据包为例:原始数据包大小为 584 字节,生成的扰动向量为 98 字节(由 PatchGenerator 生成的 58 字节和 40 字节的  组成,以红色虚线分隔)。扰动向量被插入到原始数据包的头部与载荷之间,插入后重新计算 IP 头中的数据包长度字段、IP 头部校验和以及 TCP 头部的校验和,确保接收方可正确解析并移除扰动。

5、总结

本文作者针对 B-ETC 模型带来的用户隐私威胁,提出了 PacketPatch 这一实用的对抗数据包生成与部署框架。通过设计基于 BERT 的黑盒扰动向量生成器 PatchGenerator,不依赖目标模型的梯度信息和用户历史行为,在真实黑盒条件下生成有效扰动。通过 SCP 和 Span-MBM 两项定制化训练任务,赋予模型判别流量类别差异和上下文感知连续字节合成能力。通过单次前向传播生成扰动和动态调整扰动长度,将生成延迟控制在约 10 ms 内,同时有效控制带宽开销。通过对称代理部署机制,确保对抗数据包能够通过协议完整性校验并在接收端精确恢复原始信息。实验表明,PacketPatch 在 3 个数据集上对 5 种 B-ETC 模型的攻击效果超越了 4 种前沿白盒基线方法,原型系统端到端任务成功率达 100%,为面向加密流量分类的隐私保护提供了一种全新的实用范式。

安全学术圈招募队友-ing 有兴趣加入学术圈的请联系 secdr#qq.com



免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全学术圈 陈家辉、许媛圆 陈家辉、许媛圆《PacketPatch:面向基于字节特征的加密流量分类的对抗性数据包实用化生成与部署》

评论:0   参与:  0