实时盲对抗扰动下击败基于DNN的流量分析系统

实时盲对抗扰动下击败基于DNN的流量分析系统

Defeating DNN-Based Traffic Analysis Systems in Real-Time With Blind Adversarial Perturbations

作者机构email
Milad NasrUniversity of Massachusetts Amherstmilad@cs.umass.edu
Alireza BahramaliUniversity of Massachusetts Amherstabahramali@cs.umass.edu
Amir HoumansadrUniversity of Massachusetts Amherstamir@cs.umass.edu
来源级别年份
usenix信息安全顶会2021

摘要

深度神经网络( DNN \text{DNN} DNN)通常用于各种流量分析问题,如网站指纹识别和流量关联,因为它们的性能远超传统(例如,统计学)技术。然而,深度神经网络众所周知容易受到对抗性示例的攻击:由于微小的对抗性扰动,模型会错误地标记对抗输入。在本文中,我们首次展示了对抗方如何通过在实时网络流量的模式上应用对抗性扰动来击败基于 DNN \text{DNN} DNN的流量分析技术。
在流量分析分类器上应用对抗性扰动(示例)面临两大挑战首先,扰动方(即对抗方)应能够在实时流量上应用对抗性网络扰动,无需缓存流量或对即将到来的网络包有一些先验知识。我们设计了一种系统方法来创建与目标网络连接无关的对抗性扰动,因此可以实时在实时流量上应用。因此,我们称这种对抗性扰动为盲扰动
其次,与图像分类应用不同,扰动流量特征并非直截了当,因为这需要在保持依赖流量特征的正确性的同时进行。我们通过引入重映射函数来解决这一挑战,我们使用这些函数在创建盲对抗扰动时强制执行不同的网络约束。
我们的盲对抗性扰动算法是通用的,可以应用于各种类型的流量分类器。我们通过实现一个 Tor \text{Tor} Tor 可插拔传输来演示这一点,该传输在实时 Tor \text{Tor} Tor 连接上应用对抗性扰动,以击败基于 DNN \text{DNN} DNN 的网站指纹识别和流量关联技术,这两种是最常研究的流量分析类型。我们展示了我们的盲对抗性扰动甚至可以在不同的模型和架构之间转移,因此可以由黑盒对抗方(blackbox adversaries)应用。最后,我们展示了现有对策对盲对抗性扰动的表现不佳,因此,我们引入了一种量身定制的对策。

1 引言

流量分析是一种从网络流量模式(与数据包内容相对)中推断敏感信息的技术,特别是数据包的时间和大小。在网络流量被加密的情况下,流量分析尤为有用,因为加密并不会显著改变流量模式。特别是,之前的研究已经研究了流量分析算法,这些算法要么妥协加密流量的隐私(例如,通过链接匿名通信[37, 50]),要么通过对恶意、混淆的连接进行指纹识别来增强其安全性(例如,踏石攻击[23, 37, 63])。

近期在流量分析方面的进展是利用深度神经网络( DNN \text{DNN} DNN)来设计分类器,这些分类器在效率和可靠性上比传统的流量分析技术显著提高(在某些情况下,提高了几个数量级)。特别是,最近的网站指纹识别工作 Deep Fingerprinting \text{Deep Fingerprinting} Deep Fingerprinting[50]在分类网页方面超越了所有以前的指纹技术,而 DeepCorr \text{DeepCorr} DeepCorr [37]流量关联技术能够以远超以往流量关联技术两个数量级的准确度链接匿名流量流。鉴于在流量分析应用中 DNNs \text{DNNs} DNNs 的使用日益增加,我们提出以下问题:通过对抗性地扰动——实时——流量模式,基于 DNN \text{DNN} DNN 的流量分析技术能否被击败?

注意,对抗性扰动是图像处理应用中各个领域的一个活跃研究领域[10, 14, 18, 22, 31, 35, 36, 45, 54](称为对抗性示例)。然而,对网络流量应用对抗性扰动并非易事,因为它面临两个主要挑战。首先,扰动实体,即对抗方[1],应能够在实时网络流量上应用其对抗性扰动,无需缓存目标流量或知道即将到来的网络包的模式。这是因为在大多数流量分析应用中,如将会介绍的,对抗方不能影响目标流量的生成,但他只能拦截目标流量的数据包并在传输中扰动它们。在本文中,我们是第一个设计技术,通过对抗性扰动实时网络流量来击败基于 DNN \text{DNN} DNN 的流量分类器;我们称我们的方法为盲对抗性扰动。我们的技术在数据包出现在线路上时就对实时数据包应用对抗性扰动。我们对抗性扰动算法的关键思想是,它通过解决特定的优化问题,生成与目标输入[2]独立的“盲”扰动。我们为流量分析应用中常用的关键特征设计了对抗性扰动机制:我们的对抗性扰动包括改变数据包的时间和大小,以及插入虚拟网络数据包

在流量分析应用中应用对抗性扰动的第二个挑战是,任何对网络流量的扰动机制都应保留流量模式的各种约束,例如,不同流量特征之间的依赖关系,底层协议预期的时间/大小的统计分布等。这与传统的对抗性示例研究(在图像处理的上下文中)不同,后者单独修改图像像素值。因此,人们不能简单地借鉴传统对抗性示例的技术。因此,我们设计了各种重映射函数和正则化器,我们将它们整合到我们的优化问题中,以强制执行这样的网络约束。如将展示的,大多数情况下约束是不可微分的,因此我们仔细设计定制梯度函数来近似它们的梯度

评估(Evaluations):我们的盲对抗性扰动算法是通用的,可以应用于各种类型的流量分类器。我们通过将我们的技术作为一个 Tor \text{Tor} Tor可插拔传输[46]实施,称为 BLANKET \text{BLANKET} BLANKET,并在最先进的网站指纹识别[3, 50]和流量关联[37]技术上评估它,这两种是最常研究的流量分析类型。我们的评估显示,我们的对抗性扰动可以通过小的、实时的对抗性扰动有效地击败基于 DNN \text{DNN} DNN的流量分析技术。例如,我们的扰动仅通过增加 10 % 10\% 10%的带宽开销就可以将最先进的网站指纹识别[3, 50]工作的准确度降低 90 % 90\% 90%。同样,我们的对抗性扰动可以通过应用带有50ms抖动标准差的微小延迟,将最先进的流量关联技术[37]的真阳性率从 0.9 0.9 0.9降低到 0.3 0.3 0.3

我们还展示了我们的盲对抗性扰动可以在不同的模型和架构之间转移,这表明它们具有实际重要性,因为它们可以由黑箱对抗方实施。

对策(Countermeasures):我们通过研究针对我们的对抗性扰动的各种对策来结束。我们首先利用图像分类文献中针对对抗性示例的现有防御,并将它们适应到流量分析场景。我们展示了这样适应的防御对我们的网络对抗性扰动不有效,因为它们没有考虑到流量特征的特定约束。受此启发,我们为我们的网络对抗性扰动设计了一个量身定制的对策,我们证明它比适应的防御更有效。我们对策的关键思想是进行对抗性训练,并使用我们的攻击作为一个正则化器来训练健壮的流量分析模型

2 预备知识

2.1 问题陈述

流量分析是指从网络流量模式(即数据包的时序和大小)中推断敏感信息。因此,许多研究调查了在流量内容被加密的各种场景下使用流量分析的情况。特别是,流量分析已被用于通过各种类型的攻击破坏匿名通信系统的匿名性,具体来说,网站指纹识别[3, 6, 19, 27, 40, 41, 47, 50, 51, 57-60],以及流量关联[12,23,24,33,37,38,38,49,53,64]。流量分析还被用于追踪通过跳板中继混淆其身份的网络犯罪分子[23, 24, 37, 63]。我们的问题是:打败基于 DNN \text{DNN} DNN的流量分析算法。最先进的流量分析技术使用深度神经网络,提供了比之前技术更高的性能。例如, DeepCorr \text{DeepCorr} DeepCorr[37]在给定设置中提供了96%的流量关联准确度,相比之下基于统计的系统如 RAPTOR \text{RAPTOR} RAPTOR[53]的准确度为4%。此外, Var-CNN \text{Var-CNN} Var-CNN[3]利用深度学习技术执行网站指纹攻击,在封闭世界设置中达到98%的准确度。然而,深度学习模型因容易受到各种对抗性攻击的影响而臭名昭著,其中对抗方手通过对输入添加微小的扰动来误导深度学习模型。这类技术在图像处理领域被称为对抗性示例,但在流量分析领域尚未被调查。在这项工作中,我们研究了通过对抗性扰动打败基于 DNN \text{DNN} DNN 的流量分析技术的可能性。

在我们的设置中,一些流量分析方(traffic analysis parties)使用基于 DNN \text{DNN} DNN 的流量分析技术进行各种目的,如破坏 Tor \text{Tor} Tor的匿名性或检测网络犯罪分子。另一方面,流量分析对抗方(traffic analysis adversary(ies))旨在通过对抗性地扰动他们拦截的连接的流量模式,干扰流量分析过程。为此,流量分析对抗方扰动他们拦截的流的流量模式,以降低流量分析方使用的基于 DNN \text{DNN} DNN 的分类器的准确度。为了进一步明确玩家之间的区别,在流量关联设置中,流量分析“方”可以是一个恶意的 ISP \text{ISP} ISP,通过分析他们的 Tor \text{Tor} Tor连接来去匿名 Tor \text{Tor} Tor 用户;然而,流量分析“对抗方”可以是一些(良性的) Tor \text{Tor} Tor 中继,它们扰动其连接的流量模式以打败潜在的流量分析攻击。

挑战(Challenges):请注意,我们的问题与图像分类的对抗性示例设置相似。然而,在网络流量上应用对抗性扰动呈现了两大挑战。首先,对抗方应能够在实时网络连接上应用对抗性扰动,其中即将到来的网络包的模式对对抗方来说是未知的。这是因为在流量分析应用中,对抗方并不负责生成流量模式。例如,在流量关联场景中,流量分析的对抗方是一个良性的 Tor \text{Tor} Tor中继,它截获并(轻微地)扰动 Tor \text{Tor} Tor用户生成的流量。应用网络对抗性扰动的第二个挑战是,它们应保留网络流量的各种约束,例如,不同流量特征的依赖关系

我们的方法概述(Sketch of our approach):在这项工作中,我们设计了盲对抗性扰动,一套技术,用于执行克服上述两个挑战的网络对抗性扰动。为了解决第一个挑战(在实时流量上应用),我们设计了与其目标连接无关的盲扰动向量,因此,它们可以应用于任何(未知的)网络流。图1展示了我们的盲对抗方与传统的(非盲)扰动技术相比所需的内容。

图1

图1:与传统的对抗性扰动技术不同,我们的盲扰动方法不需要知道即将到来的数据包的特征

请注意,盲对抗方可能仍需了解其目标网络协议的一些通用信息(如典型的噪声模型、典型包大小的分布等),以及来自同一底层分布的流样本(例如,样本 Tor \text{Tor} Tor流)但他不需要知道将到达目标连接以受到扰动的实际流量包。我们通过解决一个特定的优化问题来生成这种盲对抗性扰动。我们通过使用各种重映射函数和正则化器来解决第二个挑战(强制网络约束),这些函数和正则化器调整扰动的流量特征以遵循所需的约束。根据应用,我们的扰动技术可能需要在多个端点上部署,例如,我们的 BLANKET \text{BLANKET} BLANKET技术(第6.5节)需要在 Tor \text{Tor} Tor 客户端及其对应的 Tor \text{Tor} Tor 桥上运行,它们使用一个带外频道来交换一些用于协作生成扰动所需的参数。

2.2 威胁模型

我们对对抗性扰动的使用旨在仅防御“基于 DNN \text{DNN} DNN”的流量分析机制;因此,非 DNN \text{DNN} DNN 流量分析技术,例如,流水印 [23–25] 和基于流量量的流量分类器 [4],超出了我们的范围。未来的工作可以研究将我们的防御与针对这类非DNN机制的防御措施相结合。此外,我们的工作仅考虑使用流量模式(即数据包的时间、大小和方向)进行分类的基于DNN的流量分析技术,而不考虑使用数据包内容的技术。这种基于模式的流量分析技术(通常简称为流量分析)因其适用于加密网络流量而日益受到欢迎和重视。因此,使用数据包内容签名的恶意软件分类器超出了我们的范围。我们的对抗性扰动技术可以应用于任何使用原始流量特征进行分析的(基于模式的)流量分析技术,例如数据包时间、数据包间隔延迟、方向、流量量、数据包计数等。这包括绝大多数基于模式的流量分析系统 [2,3,6,37,38,53,60,61]。另一方面,我们的技术可能无法简单地应用于使用流量特征的不可微分和不可逆函数的流量分析算法,例如时间哈希或数据包内容熵;这代表了一类非常小的流量分析算法。将我们的技术应用于这样的系统需要提出特定的重映射函数或近似梯度函数

2.3 对抗方模型(Adversary Model)


对抗方对目标流量的了解。我们假设对抗方没有关于即将被扰动的目标连接的网络数据包模式的先验知识。然而,对抗方可能需要了解其目标网络协议的一些通用统计信息(例如,抖动的分布),以及目标协议的规范(例如, Tor \text{Tor} Tor 数据包的格式);这些信息是为了确保应用的扰动在统计上和语义上是不可检测的。

对抗方对模型的了解。我们从对抗方拥有白盒访问目标模型开始,即,他知道目标 DNN \text{DNN} DNN 模型的架构和参数(第 4 节)。然后,在第 9 节中,我们将我们的攻击扩展到黑盒设置,其中对抗方没有目标模型的架构或参数的知识,通过利用我们技术的可转移性。

对抗方对训练数据的了解。我们假设对抗方知道与目标模型的训练数据集相同分布的一组样本。例如,在网站指纹识别应用中,对抗方可以浏览要误分类的目标网站以获得这样的训练样本。

攻击的目标我们考虑四种类型的攻击,即 ST-DT \text{ST-DT} ST-DT ST-DU \text{ST-DU} ST-DU SU-DT \text{SU-DT} SU-DT SU-DU \text{SU-DU} SU-DU,基于对抗方的源和目标定义如下:

  • a) 目标定向/非定向( DT/DU \text{DT/DU} DT/DU:如果对抗方的目标是使模型将任意输入误分类为特定的目标输出类,则称该攻击为目标定向( destination-targeted DT)。另一方面,如果目标是将输入误分类为任意(不正确的)输出类,则称该攻击为目标非定向(destination-untargeted DU)。
  • b) 源定向/非定向( ST/SU \text{ST/SU} ST/SU源定向(source-targeted ST)的对抗方目标是让来自特定输入类的输入被流量分析模型误分类。相比之下,源非定向(source-untargeted SU)的对抗方是旨在使任意输入类别被误分类的对抗方。

3 背景

3.1 深度学习

深度神经网络由一系列线性和非线性函数组成,这些函数被称为层。每个层都有一个权重矩阵 w i w_i wi和一个激活函数。对于给定的输入 x x x,我们用以下方式表示 DNN \text{DNN} DNN 模型的输出:

f ( x ) = f n w n ( f n − 1 w n − 1 ( ⋯ f 1 w 1 ( x 1 x ) ⋯   ) ) f(x) = f^{w_n}_{n}(f^{w_{n-1}}_{n-1}(\cdots f^{w_1}_{1}(x1\bold x)\cdots)) f(x)=fnwn(fn1wn1(f1w1(x1x)))

其中 f i w i f^{w_i}_{i} fiwi是深度神经网络的第 i i i层(注意我们使用粗体字母表示向量,如 x \bold x x)。我们关注的是监督学习,其中我们有一组标记过的训练数据。设 X X X为目标 d − d- d维空间中的一组数据点,其中每个维度代表输入数据点的一个属性。我们假设有一个 o r a c l e   O oracle\ O oracle O,它将数据点映射到它们的标签。为了简单起见,我们只关注分类任务。

训练的目标是找到一个分类模型 f f f,将 X X X中的每个点映射到其在类集合 Y Y Y中的正确类别。要获得 f f f,需要定义一个下界有界的实值损失函数 l ( f ( x ) , O ( x ) ) l(f(\bold x), O(\bold x)) l(f(x),O(x)),它衡量每个数据点 x \bold x x O ( x ) O(\bold x) O(x)和模型预测 f ( x ) f(\bold x) f(x)之间的差异。因此, f f f的损失函数可以定义为:

L ( f ) = E ( x , y ) ∼ Pr ( X , Y ) [ l ( f ( x ) , y ) ] (1) L(f) = \mathop{\mathbb{E}}\limits_{(\bold x,y) \sim \text{Pr}(X,Y)}[l(f(\bold x), y)]\tag{1} L(f)=(x,y)Pr(X,Y)E[l(f(x),y)](1)

训练的目标是找到一个 f f f,使这个损失函数最小化。由于 P r ( X , Y ) 【 1 】 Pr(X,Y)^{【1】} Pr(X,Y)1并不完全可用于训练实体,实际上,用它的一个样本集,称为训练集 D train ⊂ X × Y D^{\text{train}} \subset X \times Y DtrainX×Y,来训练模型[56]。因此,机器学习算法不是最小化 (1) ,而是最小化模型在其训练集D上的预期经验损失

L D train ( f ) = 1 ∣ D train ∣ ∑ ( x , y ) ∈ D train l ( f ( x ) , y ) (2) L_{D^{\text{train}}}(f) = \frac{1}{|D^{\text{train}}|} \sum_{(\bold x,y) \in D^{\text{train}}} l(f(\bold x), y)\tag{2} LDtrain(f)=Dtrain1(x,y)Dtrainl(f(x),y)(2)

因此,通过调整其权重参数以最小化其经验损失函数,训练深度神经网络 f f f,针对一组(大量的)已知输入-输出对(x, y)。这通常使用梯度下降算法的一个变体来执行,例如,反向传播[16]。

3.2 对抗性示例

对抗性示例是经过刻意制造的输入,它欺骗目标分类器或回归模型做出错误的分类或预测对抗方的目标是通过向输入数据属性添加最小扰动来生成对抗性示例。因此,可以通过解决以下优化问题来制造对抗性示例 x ∗ x^* x

x ∗ = x + argmin { z : O ( x + z ) ≠ O ( x ) } = x + δ x (3) \bold x^* = \bold x + \text{argmin}\{\bold z : O(\bold x + \bold z) \neq O(\bold x)\} = \bold x + \bold \delta_x \tag{3} x=x+argmin{z:O(x+z)=O(x)}=x+δx(3)

其中 x \bold x x是一个非对抗性的输入样本, δ x \bold \delta_x δx是添加到它的对抗性扰动, O ( ⋅ ) O(·) O()代表其输入的真实标签,如前一节所定义。对抗方的目标是添加最小扰动 δ x \delta_x δx以迫使目标模型错误分类输入 x x x。在图像分类应用中,常常研究对抗性示例,其中寻找对抗性示例的一个约束是添加的噪声对人眼应该是不可察觉的

在本文中,我们将探讨对抗性示例在具有不同 不可察觉性约束的网络连接上的应用。

先前的工作[14, 18, 32, 35]提出了几种生成对抗性示例的方法。快速梯度符号方法(Fast Gradient Sign Method,FGSM)[18]通过计算给定模型 f f f和损失函数 l l l的以下扰动来生成一个对抗性样本:

δ x = ϵ × Sign ( ∇ x l ( f ( x ) , y ) ) (4) \delta_x = \epsilon \times \text{Sign}(\nabla_{\bold x} l(f(\bold x), y))\tag{4} δx=ϵ×Sign(xl(f(x),y))(4)
其中 ∇ x l ( f ( x ) , y ) \nabla_{\bold x} l(f(\bold x), y) xl(f(x),y)是模型对输入 x x x的损失梯度, y y y是输入的标签。因此,对抗性扰动是模型损失梯度相对于输入 x x x和标签 y y y的符号。此外, ϵ \epsilon ϵ 是控制扰动幅度的系数。因此, FGSM \text{FGSM} FGSM 中的对抗性扰动是模型梯度的符号。对抗方将扰动添加到 x x x以制作一个对抗性示例。Kurakin等人[32]提出了FGSM的目标版本,其中对抗方的目标是欺骗模型将输入分类为期望的目标类(与 FGSM \text{FGSM} FGSM 中的任意类相反)。Kurakin等人还引入了一种迭代方法来提高生成示例的成功率。Dong等人[14]表明,使用动量方法可以改善Kurkain等人的迭代方法。此外,Carlini和Wagner[9]设计了一组攻击,可以在对抗方有各种范数约束(例如, l 0 , l 1 , l ∞ l_0, l_1, l_\infty l0,l1,l)时制造对抗性示例。其他对抗性示例的变体[15, 52]被引入以制造考虑不同约束集或提高对抗方成功率的对抗性示例。

Moosavi-Dezfooli等人[35]引入了通用对抗性扰动,其中对抗方生成的对抗性示例独立于输入。

3.3 流量分析技术

我们概述了两大类流量分析技术,我们将使用这些技术来展示我们的网络对抗性扰动。

流量关联(Flow correlation):流量关联旨在通过关联其流量特征(即数据包时间和大小[2, 23, 37, 38])来链接混淆的网络流。特别是, Tor \text{Tor} Tor 匿名系统已成为流量关联攻击的目标,其中对抗方旨在通过关联流量特征来链接Tor连接的入口和出口段。传统的流量关联技术主要使用标准统计相关性指标来关联跨流的流时间和大小向量,特别是互信息[12, 64]、皮尔逊相关性[33, 49]、余弦相似性[24, 38]和斯皮尔曼相关性[53]。最近,Nasr等人[37]设计了一种基于 DNN \text{DNN} DNN 的流量关联方法,称为 DeepCorr \text{DeepCorr} DeepCorr 。他们展示了 DeepCorr \text{DeepCorr} DeepCorr 在很大程度上优于统计流量关联技术。

网站指纹识别(Website Fingerprinting):网站指纹识别( WF \text{WF} WF)旨在通过加密通道(如 VPNs \text{VPNs} VPNs Tor \text{Tor} Tor 和其他代理[3, 6, 19, 27, 40, 41, 47, 50, 51, 57–60])检测访问的网站。这种攻击是由一个被动的对抗方执行的,他监控受害者的加密网络流量,例如恶意的 ISP \text{ISP} ISP 或监视机构。对抗方将受害者观察到的流量流与一组预先记录的网页轨迹进行比较,以识别正在浏览的网页。网站指纹识别与流量关联不同,因为对抗方只观察连接的一端,例如,客户端与 Tor \text{Tor} Tor 中继之间的连接。网站指纹识别在 Tor \text{Tor} Tor 流量分析的背景下得到了广泛研究[3, 6, 19, 27, 40, 41, 47, 50, 51, 57, 59]。

多种机器学习分类器已用于 WF \text{WF} WF ,例如使用 KNN \text{KNN} KNN [58]、 SVM \text{SVM} SVM [40]和随机森林[19]。然而,最先进的WF算法使用卷积神经网络来进行网站指纹识别,即Sirinam等人[50]、Rimmer等人[47]和Bhat等人[3]。

防御(Defenses):请注意,我们的盲对抗性扰动技术作为一种防御机制对抗流量分析分类器(因为它旨在愚弄底层分类器)。文献提出了其他防御措施,用于对抗网站指纹识别和流相关性攻击[5,11,28,61]。与我们的工作类似,这些防御措施通过操纵流量特征(即数据包时间、大小和方向)来工作。

在7.5节中,我们将比较我们的盲对抗性扰动与最先进防御措施的性能,显示我们的技术在击败流量分析方面超越了所有这些技术。

此外,请注意,一些最近的工作已经考虑使用对抗性扰动作为对抗流量分析的防御。特别是,Mockingbird[26]生成对抗性扰动以击败网站指纹识别,而Zhang等人[62]应用对抗性示例来击败使用流量分析的视频分类。然而,这两项工作都是非盲的,即对抗方需要事先知道目标流的模式;因此,我们认为它们在典型的流量分析场景中不可用。相比之下,我们的盲扰动技术修改实时网络连接

4 盲对抗性扰动

在本节中,我们介绍生成盲对抗性扰动的关键公式和算法。

4.1 一般公式

我们将盲对抗性扰动问题表述为以下优化问题

argmin δ ∀ x ∈ D S : f ( x + δ ) ≠ f ( x ) (5) \mathop{\text{argmin}}\limits_{\delta} \forall \bold x \in D^S : f(\bold x + \delta) \neq f(\bold x)\tag 5 δargminxDS:f(x+δ)=f(x)(5)

其中目标是找到一个(盲)扰动向量 δ \delta δ,使得当它加到目标输入域 D S D^S DS中的任意输入上时,将导致底层的DNN模型 f ( ⋅ ) f(\cdot) f()分类错误。在源定向( ST \text{ST} ST)攻击中(参见2.3节中的定义), D S D^S DS包含来自目标类的输入,这些输入将被误分类,而在源非定向( SU \text{SU} SU)攻击中, D S D^S DS将是来自不同类别的大量输入的集合。

注意,由于目标模型 f ( ⋅ ) f(\cdot) f()是一个非凸的机器学习模型,即深度神经网络,因此不能为这个优化问题找到封闭形式的解决方 案 【 2 】 案^{【2】} 2。因此,可以将(5)重新表述如下,使用经验近似技术数值解决问题

argmax δ ∑ x ∈ D S l ( f ( x + δ ) , f ( x ) ) (6) \mathop{\text{argmax}}\limits_{\delta} \sum_{\bold x \in \mathcal{D}^S} l(f(\bold x + \delta), f(\bold x))\tag6 δargmaxxDSl(f(x+δ),f(x))(6)

其中 l l l是目标模型的损失函数, D S ⊂ D S \mathcal{D}^S \subset D^S DSDS是对抗方的网络训练数据集。

注意,之前的工作由Moosavi-Dezfooli等人[35]研究了为图像识别应用生成通用对抗性扰动。然而,我们在生成盲扰动方面采取了不同的方向:与在[35]中找到最大化损失函数的扰动向量 δ \delta δ不同,我们旨在找到一个扰动生成器模型 G G G。这个生成器模型 G G G提供随机触发参数 z z z时将生成对抗性扰动向量(我们将相应的对抗性扰动表示为 δ z = G ( z ) \delta_z = G(z) δz=G(z)),即我们能够在不同的随机 z z z上生成不同的扰动。因此,我们优化问题的目标是优化扰动生成器模型 G G G的参数(与在[35]中优化扰动向量 δ \delta δ相反)。使用生成器模型提高了攻击性能,正如之前所示[1, 20]并通过我们的实验验证。因此,我们将我们的优化问题表述为:

argmax G E z ∼ uniform ( 0 , 1 ) [ ∑ x ∈ D S l ( f ( x + G ( z ) ) , f ( x ) ) ] (7) \mathop{\text{argmax}}\limits_G \mathop{\mathbb{E}}\limits_{z \sim \text{uniform}(0,1)} \left[ \sum_{\bold x \in \mathcal{D}^S} l(f(\bold x + G(z)), f(\bold x)) \right]\tag7 Gargmaxzuniform(0,1)E[xDSl(f(x+G(z)),f(x))](7)

我们可以使用现有的优化技术(我们使用了 Adam \text{Adam} Adam [29])来解决这个问题。在训练的每次迭代中,我们的算法从训练数据集选择一个批次和一个随机的触发器 z z z,然后计算目标函数。

4.2 结合流量约束

针对图像识别应用的对抗性示例研究[14, 18, 32, 35]仅单独修改图像像素值。然而,由于需要在应用扰动时保留各种网络流量的约束,因此在网络流量上应用对抗性扰动要困难得多特别是,数据包之间的延迟应该是非负值;目标网络协议可能需要遵循特定的数据包大小/时序分布;不应从连接中删除数据包;并且,在注入新数据包后应调整数据包编号

根据底层网络协议,可以添加其他网络约束。我们使用重映射和正则化函数在创建盲对抗性扰动时强制执行这些领域约束重映射函数调整扰动的流量模式,使其符合一些领域约束。例如,当对抗方在位置 i i i向流量流中添加一个数据包时,重映射函数应该移动所有连续数据包的索引。因此,我们通过包含重映射函数 M \mathcal{M} M重新表述我们的优化问题:

argmax G E z ∼ uniform ( 0 , 1 ) [ ∑ x ∈ D S l ( f ( M ( x , G ( z ) ) ) , f ( x ) ) ] (8) \mathop{\text{argmax}}\limits_G \mathop{\mathbb{E}}\limits_{z \sim \text{uniform}(0,1)} \left[ \sum_{\bold x \in \mathcal D^S} l(f(\mathcal{M}(\bold x, G(z))), f(\bold x)) \right]\tag8 Gargmaxzuniform(0,1)E[xDSl(f(M(x,G(z))),f(x))](8)

此外,我们在损失函数中添加了一个正则化项,以便对抗方可以强制执行额外的约束,这将会讨论。因此,以下是我们完整的优化问题:

argmax G E z ∼ uniform ( 0 , 1 ) [ ( ∑ x ∈ D S l ( f ( M ( x , G ( z ) ) ) , f ( x ) ) ) + R ( G ( z ) ) ] (9) \mathop{\text{argmax}}\limits_G \mathop{\mathbb{E}}\limits_{z \sim \text{uniform}(0,1)} \left[\left( \sum_{\bold x \in \mathcal D^S} l(f(\mathcal M(\bold x, G(z))), f(\bold x)) \right) + R(G(z)) \right]\tag9 Gargmaxzuniform(0,1)E[(xDSl(f(M(x,G(z))),f(x)))+R(G(z))](9)

我们对目标定向(DT)攻击调整(9),通过用 − l ( f ( M ( x , G ( z ) ) ) , O T ) -l(f(\mathcal M(\bold x, G(z))), O_T) l(f(M(x,G(z))),OT)替换 l ( f ( M ( x , G ( z ) ) ) , f ( x ) ) l(f(\mathcal M(\bold x, G(z))), f(\bold x)) l(f(M(x,G(z))),f(x)),其中 O T O_T OT是目标输出类。同时,回想一下,对于源定向攻击, D S \mathcal D^S DS仅包含目标类别(target classes)的样本。

4.3 算法概述

算法1

算法1:生成盲对抗性扰动(下面还有中文伪代码版本)

算法1 生成盲对抗性扰动

输入:

  • D S ← D^S \leftarrow DS 对抗方训练数据
  • f ← f \leftarrow f 目标模型
  • L f ← \mathcal{L}_f \leftarrow Lf 目标模型损失函数
  • M ← \mathcal{M} \leftarrow M 领域重映射函数
  • R ← \mathcal{R} \leftarrow R 领域正则化函数
  • G ( z ) ← G(z) \leftarrow G(z) 初始化盲对抗性扰动模型参数( θ G \theta_G θG)
  • T ← T \leftarrow T 迭代次数
  • D T ← DT \leftarrow DT 目的目标类别,在其他情况下为false
  • S T ← ST \leftarrow ST 源目标类别,在其他情况下为false

算法
过程:

  1. 对于每个迭代 t ∈ { 1 … T } t \in \{1 \dots T\} t{1T}
    • 对于 D S \mathcal{D}^S DS 中的所有小批次 b i b_i bi
      • 如果 S T ST ST 为真,则
        • b i ← b_i \leftarrow bi 仅选择具有 S T ST ST 类标签的实例
      • z ∼ Uniform z \sim \text{Uniform} zUniform
      • 如果 D T DT DT 为真,则
        • J = − ( 1 ∣ b i ∣ ∑ x ∈ b i l ( f ( M ( x , G ( z ) ) ) , f ( x ) ) ) + R ( G ( z ) ) J = -\left(\frac{1}{|b_i|} \sum_{\bold x \in b_i} l(f(\mathcal{M}(\bold x, G(z))), f(\bold x))\right) + \mathcal{R}(G(z)) J=(bi1xbil(f(M(x,G(z))),f(x)))+R(G(z))
      • 否则
        • J = ( 1 ∣ b i ∣ ∑ x ∈ b i l ( f ( M ( x , G ( z ) ) ) , D T ) ) + R ( G ( z ) ) J = \left(\frac{1}{|b_i|} \sum_{\bold x \in b_i} l(f( \mathcal{M}(\bold x, G(z))), DT)\right) + \mathcal{R}(G(z)) J=(bi1xbil(f(M(x,G(z))),DT))+R(G(z))
      • 更新 G G G 以最小化 J J J
  2. 返回 G G G

算法1总结了我们生成盲对抗性扰动的方法(图2展示了我们算法的主要组成部分)。
在这里插入图片描述

图2:我们的盲对抗性扰动技术的模块图

在每次迭代中,算法1计算给定输入的目标函数相对于盲扰动的梯度,并通过朝梯度方向移动来优化它。该算法使用各种重映射和正则化函数来强制执行领域约束。我们采用迭代小批量随机梯度上升[16]技术

5 扰动技术

(基于模式的)流量分析文献使用三个主要特征来构建流量分析分类器:1) 数据包时间[3, 37],2) 数据包大小[37],以及3) 数据包方向[3, 47, 50, 58]。我们的盲对抗性扰动技术利用这些特征来敌对地扰动流量。这些特征可以通过延迟数据包、调整数据包大小或注入新的(哑)数据包来修改(删除数据包不是一个选项,因为它会破坏底层应用)。我们描述了如何执行这样的扰动。

5.1 操纵现有数据包

对抗方可以修改目标网络连接的现有数据包的时间和大小(但不是方向)。我们将网络连接表示为特征向量: F = [ f 1 , f 2 , . . . , f n ] F = [f_1, f_2, ..., f_n] F=[f1,f2,...,fn],其中 f i f_i fi可以代表第 i i i个数据包的大小、时间、方向或这些特征的组合。对抗方设计一个盲对抗性扰动模型 G G G,如第4节所介绍的,使其输出一个与 F F F大小相同的扰动向量 G ( z ) = [ g 1 , g 2 , . . . , g n ] G(z) = [g_1, g_2, ..., g_n] G(z)=[g1,g2,...,gn]对抗方将 G ( z ) G(z) G(z)加到原始流量模式中,因此 F p = F + G ( z ) = [ f 1 + g 1 , f 2 + g 2 , . . . , f n + g n ] F^p = F + G(z) = [f_1+g_1, f_2+g_2, ..., f_n+g_n] Fp=F+G(z)=[f1+g1,f2+g2,...,fn+gn]是扰动连接的模式。主要挑战是扰动后的流量特征 F p F^p Fp不应违反目标网络应用的领域约束。

扰动时间:我们首先介绍如何扰动时间特征。我们使用数据包之间的延迟(IPDs)来表示数据包的时间信息对时间特征的一个重要约束是对抗方不应该对数据包引入过多的延迟,因为过多的延迟会干扰底层应用(例如,Tor中继不愿意引入大的延迟)或暴露对抗方。我们使用重映射函数 M T M^T MT如下控制对抗方添加的延迟量

M T ( x , G ( z ) , μ , σ ) = x + G ( z ) − max ⁡ ( G ( z ) ‾ − μ , 0 ) − min ⁡ ( G ( z ) ‾ + μ , 0 ) std ( G ( z ) ) min ⁡ ( std ( G ( z ) ) , σ ) M^T(\bold x, G(z), \mu, \sigma) = \bold x + \frac{G(z) - \max(\overline{G(z)} - \mu, 0) - \min(\overline{G(z)} + \mu, 0)}{\text{std}(G(z))} \min(\text{std}(G(z)), \sigma) MT(x,G(z),μ,σ)=x+std(G(z))G(z)max(G(z)μ,0)min(G(z)+μ,0)min(std(G(z)),σ)
  (10) \ \tag{10}  (10)

其中 G ( z ) ‾ \overline{G(z)} G(z)是扰动 G ( z ) G(z) G(z)的均值, μ \mu μ σ \sigma σ分别是延迟的最大允许平均值和标准差。使用这个重映射函数,我们可以控制添加到数据包的延迟量。

时间特征的第二个约束是扰动后的时间应该遵循目标协议期望的统计分布。为此,我们利用正则化器 R \mathcal R R来强制盲扰动上的期望统计行为。我们的正则化器强制网络抖动遵循拉普拉斯分 布 【 3 】 布^{【3】} 3,如先前工作[38]所建议的,但它可以强制任意分布。为此,我们使用生成对抗网络 GAN \text{GAN} GAN)[17]:我们设计一个判别器模型 D ( G ( x ) ) D(G(x)) D(G(x)),试图将生成的扰动与拉普拉斯分布区分开。然后,我们使用这个判别器作为我们的正则化函数,使得制作的扰动的分布类似于拉普拉斯分布。我们同时训练盲扰动模型和判别器模型。这在算法 2 2 2中总结。
算法2

算法2:基于GAN的时间(中文伪代码如下)

算法 2 基于 GAN 的时间正则化器

D S \mathcal D^S DS ← 对抗训练数据
f f f ← 目标模型
G G G ← 盲对抗扰动模型
D D D ← 判别模型
µ , b µ,b µ,b ← 目标所需的拉普拉斯分布参数

  • 对于每个 t ∈ { 1 , 2 , ⋅ ⋅ ⋅ , T } t ∈ \{1,2,··· ,T\} t{1,2,⋅⋅⋅,T} 执行:
    • z’ ∼ Laplace ( µ , b ) \text{z' ∼ Laplace}(µ,b) z’ ∼ Laplace(µ,b)
    • z ∼ Uniform() \text{z ∼ Uniform()} z ∼ Uniform()
    • 使用 G ( z ) G(z) G(z) 的输出作为正样本(标签为 1 1 1),并使用从拉普拉斯分布中采样得到的 z ′ z' z作为负样本(标签为 0 0 0)训练 D D D
    • D S \mathcal D^S DS上使用正则化器 D D D 训练 G G G
  • 返回 z z z

扰动大小对抗方可以通过增加数据包大小(通过附加哑位)来扰动数据包大小。然而,修改后的数据包大小不应违反底层协议的预期最大数据包大小以及大小的预期统计分布。例如, Tor \text{Tor} Tor数据包预期有特定的数据包大小。

我们使用重映射函数 M S \mathcal{M}^S MS,如算法 3 3 3所示,来调整大小修改的幅度以及强制期望的统计分布。

算法3

算法3:大小重映射函数(中文伪代码如下)

算法 3 大小重映射函数
a ← G ( z ) a ← G(z) aG(z)
x \bold x x ← 训练输入
N N N ← 增加尺寸的最大总和
n n n ← 每个数据包增加的最大尺寸
s s s ← 单元尺寸

  • for i in  a r g s o r t ( − a ) \text{for i in } argsort(-a) for i in argsort(a) 执行 :
    • 如果 N ≤ 0 N ≤ 0 N0 则:

      • 跳出循环
    • δ = ⌊ min ⁡ ( s ∗ a [ i ] s , n , N ) ⌋ δ = \lfloor\min(s * \frac{a[i]}{s}, n, N)\rfloor δ=min(ssa[i],n,N)⌋

    • N = N − δ N = N − δ N=Nδ

    • x [ i ] = x [ i ] + δ \bold x[i] = \bold x[i] + δ x[i]=x[i]+δ

  • 返回 x \bold x x

算法3的输入是盲对抗性扰动( G ( z ) G(z) G(z))、添加的流量的期望最大字节数( N N N)、单个数据包添加的期望最大字节数( n n n)和底层网络协议的期望数据包大小分布( s s s)(如果网络协议没有任何特定的大小约束,则 s = 1 s = 1 s=1)。算法3开始时从对抗性扰动的输出中选择最高值并将它们添加到流量流中,直到达到N字节由于算法 3 3 3不是可微的,我们不能简单地使用算法 1 1 1。相反,我们为算法 3 3 3定义了一个自定义梯度函数,允许我们训练盲对抗性扰动模型。给定目标模型损失相对于算法3输出的梯度(即 ∇ x M S ( x , G ( z ) ) \nabla_\bold x \mathcal{M}^S(\bold x, G(z)) xMS(x,G(z))),我们修改扰动模型的梯度为:

∇ G ( z ) = ∑ x ∈ b i ∇ x M S ( x , G ( z ) ) (11) \nabla_{G(z)} = \sum_{\bold x \in b_i} \nabla_\bold x \mathcal{M}^S(\bold{x}, G(z))\tag{11} G(z)=xbixMS(x,G(z))(11)

其中 b i b_i bi是选定的训练批次。我们不需要对数据包大小进行正则化。

5.2 注入对抗性数据包

除了扰动现有数据包的特征外,对抗方还可以在特定时间向目标连接注入具有特定大小的哑数据包以进行扰动(注意,通过在 TCP \text{TCP} TCP的应用层注入随机数据来创建一个哑数据包,该数据包将由传输层加密)。我们的对抗方的目标是确定注入数据包的最具对抗性的时间和大小值。我们设计了一个重映射函数 M I M^I MI(算法 4 4 4),用以获取注入数据包的顺序及其特征值。
算法4

算法4:数据包插入重映射函数(中文伪代码如下)

算法4:数据包插入重映射函数

l ← G ( z ) l ← G(z) lG(z)
x x x ← 训练输入
n n n ← 添加的数据包数量
p = l p = l p=l的绝对值的 top n \text{top n} top n 的索引

  • for i in p \text{for i in p} for i in p :

    • 如果 l [ i ] > 0 l[i] > 0 l[i]>0,则在 x x x的位置 i i i处插入 + 1 +1 +1,否则插入 − 1 -1 1,并移动其他特征
  • 返回 x x x

与之前的攻击类似,算法4不是可微的,我们不能简单地将其用于算法1。相反,我们为算法4使用一个自定义梯度函数,允许我们训练我们的盲对抗性扰动模型。我们描述了如下不同类型特征的梯度函数定义。

注入对抗性方向:虽然对抗方无法改变现有数据包的方向,但他可以通过添加数据包来注入对抗性方向。连接的数据包方向可以表示为一系列-1(下行)和+1(上行)值。然而,用二进制值生成对抗性扰动并不直接。

我们生成一个与目标连接大小相同的扰动向量 G ( z ) G(z) G(z)。这个向量的每个元素显示在该特定位置插入数据包的效果(即算法4中的 l l l)。我们选择绝对值最大的位置进行数据包注入;所选位置的符号决定了注入数据包的方向。最后,我们修改扰动模型的梯度为:

∇ G ( z ) = ∑ x ∈ b i ∇ x M I ( x , G ( z ) ) (12) \nabla_{G(z)} = \sum_{\bold x \in b_i} \nabla_\bold x \mathcal{M}^I (\bold x, G(z))\tag{12} G(z)=xbixMI(x,G(z))(12)

注入对抗性时间/大小:与数据包方向不同,对于时间和大小特征,我们需要同时学习添加数据包的位置和值。我们设计扰动生成模型以输出两个向量,一个用于添加数据包的位置,另一个用于所选特征(时间或大小)的值。我们使用定义在(12)中的梯度函数来确定插入数据包的位置。我们使用算法 5 5 5来计算插入数据包值的梯度。
算法5

算法5:值向量梯度(中文伪代码如下)

算法5:值向量梯度

l , a ← G ( z ) l, a ← G(z) l,aG(z)
∇ M ( x , G ( z ) ) ∇\mathcal M (\bold x, G(z)) M(x,G(z)) ← 关于 M ( x , G ( z ) ) \mathcal M (\bold x, G(z)) M(x,G(z))的梯度
∇ G ( z ) ∇G(z) G(z) 0 ⃗ \vec 0 0
n n n ← 添加的数据包数量
p = l p = l p=l 的前n个最大值的位置

  • for i in p \text{for i in p} for i in p 执行:

    • ∇ G ( z ) [ i ] = ∇ M ( x , G ( z ) ) [ i ] ∇G(z)[i] = ∇\mathcal M (\bold x, G(z))[i] G(z)[i]=M(x,G(z))[i]
  • 返回 ∇ G ( z ) ∇G(z) G(z)

注入多个对抗性特征:要注入同时扰动多个特征的数据包,我们修改扰动生成模型 G G G以输出一个向量来确定注入数据包的位置,以及每组要扰动的特征集的一个向量。我们使用算法 5 5 5来计算每个向量的梯度。此外,我们不能使用(12)来计算位置向量的梯度,因此,我们取所有不同输入特征向量的梯度的平均值。

6 实验设置

在这里,我们讨论我们实验的设置以及实现我们技术的一个 Tor \text{Tor} Tor可插拔传输的设计。我们的 DNN \text{DNN} DNN技术使用 PyTorch \text{PyTorch} PyTorch [44]实现,而我们的可插拔传输则使用 Python \text{Python} Python实现。

6.1 指标

对于给定的盲对抗性扰动生成器 G ( ⋅ ) G(·) G()和测试数据集 D t e s t \text D_{test} Dtest,我们定义攻击成功指标为:

A = { 1 ∣ D t e s t ∣ ∑ ( x , y ) ∈ D t e s t 1 [ f ( x + G ( z ) ) ≠ y ] D U 1 ∣ D t e s t ∣ ∑ ( x , y ) ∈ D t e s t 1 [ f ( x + G ( z ) ) = t ] D T (13) \mathcal{A} =\begin{cases} \frac{1}{|\mathcal D_{test}|} \sum_{(\bold x,y)\in \mathcal{D}_{test}} 1 [f(\bold x +G(z)) \neq y] & DU \\ \frac{1}{|\mathcal{D}_{test}|} \sum_{(\bold x,y)\in \mathcal{D}_{test}} 1[f(\bold x +G(z)) = t] & DT \end{cases} \tag{13} A={Dtest1(x,y)Dtest1[f(x+G(z))=y]Dtest1(x,y)Dtest1[f(x+G(z))=t]DUDT(13)

其中 DU \text{DU} DU DT \text{DT} DT分别代表目标非定向和定向攻击场景(如第2.3节所定义)。对于源-目标( ST \text{ST} ST)案例, D t e s t \text D_{test} Dtest仅包含来自目标源类的实例。同时,在我们对目标攻击( ST \text{ST} ST DT \text{DT} DT)的评估中,我们仅报告最小和最大攻击准确性的目标类。例如,“最大 ST \text{ST} ST- DT \text{DT} DT”表示源和目的地目标攻击的最佳结果,我们使用 TargetDest ← TargetSrc \text{TargetDest ← TargetSrc} TargetDest ← TargetSrc表示法来展示目标类,这意味着类 TargetDest \text{TargetDest} TargetDest是目标目的地类(targeted destination class),而 TargetSrc \text{TargetSrc} TargetSrc是目标源类(targeted source class)。最大准确性显示了目标模型的最坏情况场景,而最小准确性显示了对抗方成功率的下限。如果有多个类导致最大/最小准确性,我们只提及其中一个。

注意,虽然我们可以使用 A \mathcal A A在各种设置中评估攻击成功,但对于流量关联实验,我们使用更具体的指标(因为流量关联分类器只有两个输出类)。具体来说,我们通过目标流量关联算法的真阳性率和假阳性率的降低来评估我们攻击的成功程度

6.2 目标系统

我们在三个最先进的基于 DNN \text{DNN} DNN的流量分析系统上展示了我们的攻击。

DeepCorr DeepCorr \text{DeepCorr} DeepCorr [37] 是最先进的流量关联系统,它使用深度学习来学习 Tor \text{Tor} Tor等特定网络设置的流量关联函数。 DeepCorr \text{DeepCorr} DeepCorr使用数据包间延迟( IPDs \text{IPDs} IPDs)和数据包大小作为特征 DeepCorr \text{DeepCorr} DeepCorr使用卷积神经网络从原始的时间和大小信息中提取复杂特征,并且其性能显著优于传统的统计流量关联技术。由于 DeepCorr \text{DeepCorr} DeepCorr使用数据包的时间和大小作为特征,我们对 DeepCorr \text{DeepCorr} DeepCorr应用基于时间和基于大小的攻击。正如前面提到的,非盲的对抗性扰动[26, 62]在流量关联设置中是无用的,因为对抗方不知道目标连接中即将到来的数据包的特征。因此,我们的盲扰动在这种设置中是适用的。

Var-CNN Var-CNN \text{Var-CNN} Var-CNN [3] 是一个基于深度学习的网站指纹( WF \text{WF} WF)系统,它使用手工和自动化的特征提取技术,即使是在训练数据很少的情况下也能工作 Var-CNN \text{Var-CNN} Var-CNN使用带有扩展因果卷积的 ResNets \text{ResNets} ResNets [21],作为其基础结构的最先进的卷积神经网络。此外, Var-CNN \text{Var-CNN} Var-CNN显示,与以往的 WF \text{WF} WF攻击相比,结合数据包时间信息( IPDs \text{IPDs} IPDs)和方向信息可以提高 WF \text{WF} WF对抗方的性能。除了数据包 IPDs \text{IPDs} IPDs和方向外, Var-CNN \text{Var-CNN} Var-CNN还使用网络流的累积统计信息作为特征。因此, Var-CNN \text{Var-CNN} Var-CNN结合了三种不同的模型,两个 ResNet \text{ResNet} ResNet模型用于时间和方向信息,以及一个用于元数据统计信息的全连接模型作为最终结构。 Var-CNN \text{Var-CNN} Var-CNN考虑了封闭世界和开放世界场景。

与流量关联设置类似, WF \text{WF} WF对抗方将无法使用传统的(非盲)对抗性扰动[26, 62],因为他将不会知道目标连接中即将到来的数据包的模式。因此, WF \text{WF} WF是盲扰动的一个自然应用。由于 Var-CNN \text{Var-CNN} Var-CNN使用 IPD \text{IPD} IPD和数据包方向特征进行指纹识别,我们使用基于时间和基于方向的技术生成我们的对抗性扰动。

Deep Fingerprinting(DF) Deep Fingerprinting(DF) \text{Deep Fingerprinting(DF)} Deep FingerprintingDF[50] 是一个基于深度学习的 WF \text{WF} WF攻击,它使用 CNNs \text{CNNs} CNNs Tor \text{Tor} Tor上进行 WF \text{WF} WF攻击。 DF \text{DF} DF部署了自动化的特征提取,并使用方向信息进行训练。与 Var-CNN \text{Var-CNN} Var-CNN不同, DF \text{DF} DF不需要数据包序列的手工特征。与 Var-CNN \text{Var-CNN} Var-CNN类似, DF \text{DF} DF考虑了封闭世界和开放世界场景。Sirinam等人[50]展示了 DF \text{DF} DF在击败 WTF-PAD \text{WTF-PAD} WTF-PAD[28]和 W-T \text{W-T} W-T[61]的 WF \text{WF} WF防御方面优于之前的WF系统。

代码Codes。由于我们在 PyTorch \text{PyTorch} PyTorch中执行我们的攻击,我们使用 DeepCorr \text{DeepCorr} DeepCorr DF \text{DF} DF Var-CNN \text{Var-CNN} Var-CNN模型的原始代码,并将它们从 TensorFlow \text{TensorFlow} TensorFlow转换为 PyTorch \text{PyTorch} PyTorch。然后,我们使用这些论文的数据集来训练这些模型。

6.3 对抗方设置和模型

虽然我们的技术可以应用于任何流量分析场景,我们在这里介绍针对流行的Tor应用程序的设置

对抗方的截取点:我们的对抗方拥有与传统 Tor \text{Tor} Tor 流量分析工作[47, 50, 59-61]相同的部署位置。对于 WF \text{WF} WF(网站指纹)场景,我们假设对抗方正在操纵 Tor \text{Tor} Tor 客户端与第一个 Tor \text{Tor} Tor 跳(即 Tor \text{Tor} Tor桥[13]或 Tor \text{Tor} Tor 守卫中继)之间的流量。因此,我们的盲对抗性扰动可以作为 Tor \text{Tor} Tor 可插拔传输[46]来实现,在这种情况下,盲扰动由 Tor \text{Tor} Tor 客户端软件和 Tor \text{Tor} Tor桥同时应用。在流量关联设置中,类似于文献中的描述,流量操纵是由 Tor \text{Tor} Tor 入口和出口中继执行的(因为流量关联攻击者截取出入 Tor \text{Tor} Tor 连接)。在我们的评估中,我们展示了即使仅在入口流上应用我们的盲对抗性扰动也足以击败流量关联攻击,即与WF设置相同的对抗方部署。

对抗性扰动模型:如第4节提到的,我们设计了一个深度学习模型来生成盲对抗性噪声。对于每种扰动类型,对抗模型是一个具有500个节点的隐藏层的全连接模型,以及一个 ReLu \text{ReLu} ReLu 激活函数。对抗模型的参数在表1中呈现。
表1

表1:对抗模型和判别器模型的调整参数

对抗模型的输入和输出大小等于目标流中的特征长度。在前向函数中,对抗模型接受给定输入,基于攻击方法操纵它,并输出一个制作版本的输入。在训练的每次迭代中,我们根据第4节介绍的损失函数更新对抗模型的参数。我们使用学习率为0.001的 Adam \text{Adam} Adam优化器来学习盲噪声。

判别器模型:如第4节提到的,我们使用 GAN \text{GAN} GAN 模型来强制执行我们修改的网络流的时间约束。为此,我们设计了一个包含两个隐藏的 FC \text{FC} FC 层(每层 1000 1000 1000节点)的全连接判别器模型。判别器模型的参数在表1中呈现。这个模型的输入和输出大小等于盲对抗性噪声的大小。在训练过程中,我们使用学习率为0.0001的 Adam \text{Adam} Adam 优化器来学习判别器模型。

6.4 数据集

我们使用以下数据集为我们的实验创建网络流;这些是我们目标应用程序最大的公开可用数据集。

Tor流量关联数据集:对于流量关联实验,我们使用 DeepCorr \text{DeepCorr} DeepCorr [37]的公开可用数据集,其中包含7000个用于训练的流和500个用于测试的流。这些流是捕获的 Tor \text{Tor} Tor 流,来自 Alexa \text{Alexa} Alexa 排名前列的网站,并包含它们的时间和大小。然后,这些流被用来创建一大组流对,包括关联流对(属于同一 Tor \text{Tor} Tor 连接的流)和非关联流对(属于任意 Tor \text{Tor} Tor 连接的流)。每个关联流对标记为1,每个非关联流对标记为0。

Tor网站指纹数据集 Var-CNN \text{Var-CNN} Var-CNN 使用了一个包含2500个迹线的900个监控站点的数据集。这些站点是从 Alexa \text{Alexa} Alexa 最受欢迎网站列表中编译的。  Var-CNN \text{ Var-CNN}  Var-CNN 输入不同的特征集来代表给定的迹线;基于方向的 ResNet \text{ResNet} ResNet 模型采用一组1和-1作为每个包的方向,其中1表示出站包,-1表示入站包。基于时间的 ResNet \text{ResNet} ResNet 使用迹线的IPD作为特征。元数据模型接受七个浮点数作为迹线的统计信息。为了与之前的WF攻击[47, 50, 59, 60]保持一致,我们使用给定迹线的前5000个值作为方向和时间特征。

DF \text{DF} DF 使用与 Var-CNN \text{Var-CNN} Var-CNN 不同的数据集。对于封闭世界设置,他们收集了95个顶级  Alexa \text{ Alexa}  Alexa网站的迹线,每个网站访问1000次。 DF \text{DF} DF 使用与 Var-CNN \text{Var-CNN} Var-CNN 相同的表示法来表示包的方向信息。由于  CNN \text{ CNN}  CNN 只接受固定长度的输入, DF \text{DF} DF 考虑每个流的前5000个值。

6.5 BLANKET Tor可插拔传输

为了展示我们技术的可部署性,我们将对抗性扰动应用于实时 Tor \text{Tor} Tor 流量上。具体来说,我们已经将我们的对抗性扰动技术实现为一个 Tor \text{Tor} Tor 可插拔传输[46],我们称之为 BLANKET \text{BLANKET} BLANKET

我们使用 BLANKET \text{BLANKET} BLANKET来扰动使用上述数据集生成的不同目标系统的 Tor \text{Tor} Tor 连接。为了强制实现其时间不可区分性约束, BLANKET \text{BLANKET} BLANKET 需要测量其客户端的抖动 BLANKET \text{BLANKET} BLANKET的目标是通过在实时 Tor \text{Tor} Tor 连接上应用对抗性扰动,来击败基于 DNN \text{DNN} DNN的流量分析攻击(特别是,网站指纹识别和流量关联)。我们已经使用 Twisted \text{Twisted} Twisted框架用 Python \text{Python} Python实现了我们的可插拔传输,可在https://github.com/SPIN-UMass/BLANKET上找到。

BLANKET \text{BLANKET} BLANKET 有两个操作阶段。

会话初始化:与其他可插拔传输一样, BLANKET \text{BLANKET} BLANKET 需要由 Tor \text{Tor} Tor 客户端和它连接到的 Tor \text{Tor} Tor 桥同时安装。在每个会话开始时,客户端和桥将协商一组对抗性噪声向量(由客户端使用生成器函数 G G G 创建),它们将用于流量扰动(噪声向量包括扰动所需的包的时序和大小),以及一对 AES \text{AES} AES 密钥来加密流量(类似于其他可插拔传输)。这种协商可以集成到 Tor \text{Tor} Tor 的常规客户端-桥握手中,或者通过带外渠道交换(例如,电子邮件、一个前置域服务器等)。 BLANKET \text{BLANKET} BLANKET 当前的实现是带外协商的。

流量扰动:图3展示了 BLANKET \text{BLANKET} BLANKET 如何修改实时 Tor \text{Tor} Tor 连接以应用我们在第4节介绍的对抗性扰动。
图3

图3:我们的 BLANKET Tor \text{BLANKET Tor} BLANKET Tor可插拔传输概览,它对实时 Tor \text{Tor} Tor 连接应用盲对抗性扰动(图中仅显示从客户端到桥的操作;从桥到客户端的操作方式类似)

具体来说, BLANKET \text{BLANKET} BLANKET 应用两种类型的扰动:它扰动现有包的时序/大小(即时)或者向流中注入新的(虚拟)包。为了注入虚拟包, BLANKET \text{BLANKET} BLANKET 简单地在传输层添加新包及其特定的时序/大小;这保持了底层协议( TCP/IP \text{TCP/IP} TCP/IP )未被修改且语义正确。在我们可插拔传输的接收端,传输层将在把它们传递给上游应用(例如,下一个 Tor \text{Tor} Tor 中继)之前移除注入的虚拟包;结果是上游包也将保持未被修改且语义正确。为了即时扰动一个现有包,BLANKET会如下改变包的时序和大小:为了改变一个包的大小,发送者的BLANKET会用随机字节填充该包,这些字节会被接收者的BLANKET移除(注意,发送者和接收者都知道填充和虚拟包的确切索引,因为扰动向量在初始化过程中在它们之间共享)。与填充相似,操纵包大小不会影响底层和更高协议的正确性,因为这是在传输层执行的。

注意,与像 obfs \text{obfs} obfs [39]这样的最新可插拔传输一样,所有包内容都使用在初始化期间协商的 AES \text{AES} AES 密钥加密;因此,只要加密协议是安全的,就不可能将 BLANKET \text{BLANKET} BLANKET的虚拟或填充包与良性Tor区分开来

最后,包的时序通过发送者的 BLANKET \text{BLANKET} BLANKET 延迟来修改。我们的时序扰动不会影响底层/上游协议的正确性,因为扰动的顺序是毫秒级的,远小于 TCP/IP \text{TCP/IP} TCP/IP HTTP/S \text{HTTP/S} HTTP/S(或 Tor \text{Tor} Tor )协议的超时值(秒级的顺序)。

7 实验结果

我们使用BLANKET来评估我们对第6.2节中目标系统的盲对抗性干扰。我们使用三个关键流量特征及其组合来进行评估,并将我们的攻击与传统攻击进行比较。

计算成本:我们的干扰模型 G G G是在线下训练并在干扰实时连接前生成的;因此,训练干扰模型不会引入任何运行时开销。另外,请注意, G G G只需要为每个安装生成一次;在我们的NVIDIA TITAN X GPU上训练 G G G 需要5小时。

7.1 对抗性干扰方向

如第4节所述,对抗方不能改变现有数据包的方向,但他可以插入具有对抗性方向的数据包。我们针对不同的对抗方设置和强度评估了我们对 Var-CNN \text{Var-CNN} Var-CNN [3] 和 DF \text{DF} DF [50](使用方向特征的)的攻击。我们使用 10 10 10 epochs和 Adam \text{Adam} Adam 优化器以 0.001 0.001 0.001的学习率训练盲对抗性干扰模型。表2和表3显示了我们的攻击(使用方程( 13 13 13)中的 A \mathcal {A} A)在 DF \text{DF} DF Var-CNN \text{Var-CNN} Var-CNN上的成功情况,

表2

表2: DeepFingerprinting \text{DeepFingerprinting} DeepFingerprinting [50] WF \text{WF} WF 方案的方向扰动攻击(92% WF 准确率)
表3
表3: Var-CNN \text{Var-CNN} Var-CNN [3] WF 方案的方向扰动攻击(93% WF 准确率)

当它们仅使用数据包方向作为特征时。可以看到,当对抗方仅注入少量数据包时, DF \text{DF} DF Var-CNN \text{Var-CNN} Var-CNN对对抗性干扰攻击非常脆弱。具体来说,我们能够生成针对性的干扰,仅用25%的带宽开销就使每个输入误分类到目标类别。

7.2 对抗性干扰时序

我们考虑了生成对抗性时序干扰的两种情景:带有和不带有不可见性约束。在这两种情景中,我们限制了对抗方的能力,使得添加到数据包时序的噪声具有最大均值和标准差,如第4节所解释的。对于不可见性约束,我们强制添加的噪声具有与自然网络抖动相同的分布,后者遵循拉普拉斯分布 [37]。我们模型的详细参数在表1中展示。

图4显示了我们的攻击在仅操纵数据包时序时对 DeepCorr \text{DeepCorr} DeepCorr的性能。

图4

图4:在不同攻击强度下对 DeepCorr \text{DeepCorr} DeepCorr 进行的时间扰动,带/不带不可见性约束

如预期,图 4 a 4a 4a 4 b 4b 4b显示,我们盲噪声的强度(均值或标准差)的增加导致攻击性能提升,但即使是均值为 0 0 0且标准差仅为 50 m s 50ms 50ms的干扰也显著降低了 DeepCorr \text{DeepCorr} DeepCorr的真阳性率,从 95 % 95\% 95%降至 55 % 55\% 55%

此外,我们可以在高不可见性下创建有效的对抗性干扰:图5显示了生成的时序干扰的直方图,参数 μ = 0 , σ = 30 m s μ=0,σ=30ms μ=0σ=30ms,在不可见性约束下学习,强制其遵循拉普拉斯分布。

图5

图5:生成的遵循拉普拉斯分布的盲时间扰动,其中 µ = 0 , σ = 30 µ = 0,σ = 30 µ=0σ=30 ms

对于这种不可见噪声,图 4 c 4c 4c 比较了不同攻击强度下时序干扰对 DeepCorr \text{DeepCorr} DeepCorr的性能影响;它还展示了任意拉普拉斯分布干扰对 DeepCorr \text{DeepCorr} DeepCorr的影响。

我们还将我们的时序干扰应用于 Var-CNN \text{Var-CNN} Var-CNN。表 4 4 4 显示了我们的攻击成功( A \mathcal A A)情况,

表4

表4:时序干扰攻击对 Var-CNN \text{Var-CNN} Var-CNN [3] WF \text{WF} WF方案(93% WF \text{WF} WF准确率)的影响

无论是否有不可见性约束。我们发现时序干扰对 Var-CNN \text{Var-CNN} Var-CNN的影响远大于方向干扰。此外,正如预期,在非定向场景( SU-DU \text{SU-DU} SU-DU)和不同的带宽开销下,我们的攻击在没有不可见性约束时表现更好。然而,即使有不可见性约束,我们的攻击也极大地降低了 Var-CNN \text{Var-CNN} Var-CNN的准确性,即,平均值为 0 0 0且标准差仅为 20 m s 20ms 20ms的盲时序干扰将 Var-CNN \text{Var-CNN} Var-CNN的准确率降低了 89.6 % 89.6\% 89.6%

7.3 对抗性干扰大小

我们在 DeepCorr \text{DeepCorr} DeepCorr上评估了我们的大小干扰攻击,这是我们研究的三个系统中唯一一个使用数据包大小进行流量分析的系统。由于 DeepCorr \text{DeepCorr} DeepCorr主要在 Tor \text{Tor} Tor的背景下被研究,因此我们的干扰算法在生成的大小干扰上强制执行 Tor \text{Tor} Tor的大小分布。图6展示了对抗方仅操纵数据包大小时的结果。

图6

图6:不同攻击强度下对 DeepCorr \text{DeepCorr} DeepCorr的大小干扰情况

可以看出,大小干扰对 DeepCorr \text{DeepCorr} DeepCorr的影响小于时序干扰,这表明 DeepCorr \text{DeepCorr} DeepCorr对数据包的时序更为敏感

7.4 干扰多个特征

在本节中,我们评估了我们对多个特征同时进行干扰时的对抗性干扰的性能。 Var-CNN \text{Var-CNN} Var-CNN使用数据包的时序和方向来指纹识别网站。表5显示了同时对抗性干扰这两个特征对 Var-CNN \text{Var-CNN} Var-CNN的影响;

表5

表5:针对 Var-CNN \text{Var-CNN} Var-CNN [3]的混合时序/方向干扰情况

我们看到,组合干扰攻击增加了攻击的影响,例如,在非定向场景( SU-DU \text{SU-DU} SU-DU)中,两种攻击的组合,参数 α = 100 ,µ = 0 , σ = 10 m s α=100,µ=0,σ=10ms α=100µ=0σ=10ms,导致攻击成功率 A = 83.9 % \mathcal A=83.9\% A=83.9%,而仅基于时序和方向的干扰分别导致 A = 68.1 % \mathcal A=68.1\% A=68.1% A = 80.3 % \mathcal A=80.3\% A=80.3%

同样,在图7中,我们看到通过结合时序和大小干扰, DeepCorr \text{DeepCorr} DeepCorr的准确率从 95 % 95\% 95%下降到 59 % 59\% 59% FP = 1 0 − 3 \text{FP}=10^{-3} FP=103)仅通过注入 20 20 20个数据包,而使用仅时序干扰时准确率下降到 78 % 78\% 78%

图7

图7:不同攻击强度下对 DeepCorr \text{DeepCorr} DeepCorr 的混合大小/时序干扰情况

7.5 与传统攻击的比较

存在针对基于 DNN \text{DNN} DNN的流量分析系统的传统攻击,这些攻击使用的技术不同于对抗性干扰。在本节中,我们将我们的对抗性干扰攻击与此类传统方法进行比较

数据包插入技术:几种 WF \text{WF} WF对策通过添加新数据包来工作。我们展示了我们的对抗性干扰在相似开销下明显更有效 WTF-PAD \text{WTF-PAD} WTF-PAD [28] 是一种最先进的技术,它适应性地向 Tor \text{Tor} Tor流量中添加虚拟数据包以逃避网站指纹系统。使用 WTF-PAD \text{WTF-PAD} WTF-PAD DF \text{DF} DF数据集上降低 WF \text{WF} WF的准确性至 3 % 3\% 3%,代价是 64 % 64\% 64%的带宽开销。同样,最先进的 Walkie-Talkie \text{Walkie-Talkie} Walkie-Talkie [61] 以 31 % 31\% 31%的带宽开销和 36 % 36\% 36%的延迟开销将 DF \text{DF} DF的准确性降低到 5 % 5\% 5% [50]。另一方面,我们的基于注入的目标盲对抗性攻击将检测准确性降低到1%(接近随机猜测),仅有25%的带宽开销,没有增加延迟(使用完全相同的数据集)。为了在使用 Var-CNN \text{Var-CNN} Var-CNN模型时将现有的 WF \text{WF} WF对策与我们的结果进行比较,我们参考了他们的论文 [3],其中 WTF-PAD \text{WTF-PAD} WTF-PAD可以将 Var-CNN \text{Var-CNN} Var-CNN的准确性降低 0.4 % 0.4\% 0.4%(从 89.2 % 89.2\% 89.2%降至 88.8 % 88.8\% 88.8%),带宽开销为 27 % 27\% 27%。然而,根据表3,以相似的带宽开销( 1000 1000 1000个插入的数据包和 25 % 25\% 25%的开销),我们的攻击将准确性降低了 91.6 % 91.6\% 91.6%,这显著优于 WTF-PAD \text{WTF-PAD} WTF-PAD。我们的结果表明,我们的盲对抗性干扰技术极大地优于传统防御,对抗基于深度学习的网站指纹系统

时序干扰技术:图 4 c 4c 4c将我们的技术与添加随机拉普拉斯噪声到数据包时序的简单对策进行了比较。我们看到,通过添加零均值和 20 m s 20ms 20ms标准差的拉普拉斯噪声, DeepCorr \text{DeepCorr} DeepCorr的准确性从 0.88  TP 0.88\ \text{TP} 0.88 TP(对于 1 0 − 3 FP 10^{-3} \text{FP} 103FP)降低到 0.78  TP 0.78\ \text{TP} 0.78 TP,但使用我们的对抗性干扰技术和相同的均值和标准差,准确性分别降低到 0.68 0.68 0.68 0.71 0.71 0.71,无论是否有不可见性。

非盲对抗性干扰最近两项工作 [26, 62] 使用“非盲”对抗性干扰来击败流量分析分类器。如前所述,我们认为这些技术在常规流量分析应用中不可用,因为它们不能应用于实时连接。尽管如此,我们展示了我们的技术甚至超越了这些非盲技术;例如,当DF是目标系统时,Mockingbird [26] 以56.5%的带宽开销(全双工模式)将DF的准确性降低了59.8%,而我们的基于方向的盲干扰技术将DF的准确性降低了更高的91.8%,且带宽开销更低,仅为11.11%。

8 对策

在本节中,我们评估了针对我们的盲对抗性干扰的防御措施。我们首先展示我们的干扰为何难以对抗。接着,我们将借鉴三种来自图像分类领域的对策技术,展示它们对抗盲对抗性干扰的表现不佳。最后,我们将设计一种针对盲对抗性干扰的更有效的定制防御措施

我们对抗性干扰的独特性影响对抗性干扰对策的一个关键特性是对抗性干扰的独特性:如果只有一个(或少数)可能的对抗性干扰,防御者可以识别它们并训练其模型以对已知干扰具有鲁棒性。如前所述,我们的对抗性干扰并非独一无二:我们的算法推导出一个干扰生成器( G ( z ) G(z) G(z)),对于随机的 z s zs zs可以创建不同的干扰向量。为了展示我们干扰的非独特性,我们为本文研究的应用创建了 5 , 000 5,000 5,000个对抗性干扰(我们仅因为 GPU \text{GPU} GPU内存有限而停止在 5 , 000 5,000 5,000)。图 9 9 9显示了我们为 DeepCorr \text{DeepCorr} DeepCorr生成的不同对抗性干扰之间的 l 2 l2 l2 离 【 4 】 离^{【4】} 4直方图。

图9

图9: DeepCorr \text{DeepCorr} DeepCorr 不同对抗性噪声之间的l2距离情况

我们可以说生成的干扰并非独一无二,并且,对抗方无法轻易检测到它们。然而,这些不同的干扰在其目标模型上造成了类似的对抗性影响,如图8所示。

图8

图8: DeepCorr \text{DeepCorr} DeepCorr 在不同盲对抗性噪声下的准确性情况

适应现有的防御措施:许多针对图像分类应用中的对抗性示例设计了防御措施,特别是对抗性训练 [32,34,55]、梯度掩蔽 [43, 48] 和区域分类 [7]。在附录 A A A中,我们讨论了如何部署这些防御措施。

我们的定制防御:我们采用对抗性训练方法,其中防御者使用我们的攻击制作的对抗性干扰来使目标模型对攻击具有鲁棒性。我们假设防御者知道目标函数及其参数。我们评估了当防御者不知道攻击是针对目标还是非针对性的(无论是源还是目的地)时的防御。防御者为模型训练一个周期,然后使用算法 1 1 1生成所有可能设置的盲对抗性干扰。然后,他通过包含对抗方生成的所有对抗性样本来扩展训练数据集,并在扩增的训练数据集上训练目标模型。算法 6 6 6概述了我们的防御算法。

算法6

算法6:我们定制的对抗性防御

算法 6 我们定制的对抗性防御

随机初始化网络 N N N
L f L_f Lf ← 目标模型损失函数
M \mathcal M M ← 域重映射函数
R \mathcal R R ← 域正则化函数
G ( z ) G(z) G(z) ← 初始化盲对抗扰动模型参数 ( θ G θ_G θG)

T T T← 迭代次数 epochs \text{epochs} epochs
Z Z Z ← [] // 对抗性扰动列表

  • 对于每个迭代 epoch \text{epoch} epoch t ∈ { 1 ⋅ ⋅ ⋅ T } t ∈ \{1···T\} t{1⋅⋅⋅T}
    • 在训练数据集 D t r D^{tr} Dtr 上训练模型 N N N 一个周期
    • 使用算法 1 1 1 生成对所有可能目标和关注类的对抗性扰动 Z Z Z
  • D t r D^{tr} Dtr 扩展为( D t r + Z D^{tr} + Z Dtr+Z)
  • 返回 N N N

比较我们的防御与先前的防御:我们将我们的防御方法与借鉴自图像分类文献的先前防御方法进行比较。表 6 6 6和表 7 7 7分别比较了不同防御在 DF \text{DF} DF DeepCorr \text{DeepCorr} DeepCorr场景下的性能。

表6

表6:评估不同防御对盲对抗性扰动的效果(网站指纹识别应用)

表7

表7:评估不同防御对盲对抗性扰动的效果(流量关联应用) FP = 1 0 − 4 10^{-4} 104

正如我们所看到的,针对对抗性示例的先前防御措施都不鲁棒,以至于在某些情况下,使用它们甚至提高了攻击的准确性。然而,结果显示我们的定制防御比先前的防御更鲁棒。由于攻击者知道确切的攻击机制,所有防御方法在对抗方使用更高强度( s t r e n g t h strength strength)制作对抗性干扰时都无法表现良好。虽然我们的防御在对抗盲对抗性攻击方面更鲁棒,但它增加了目标模型的训练时间,达到数量级【译者注:即指数级】的增加,这使得它无法扩展到更大的模型。因此,设计针对盲对抗性干扰的有效防御是一个重要的未来工作。

9 可迁移性

一种对抗扰动方案被称为可迁移的(Transferability),如果它为目标模型创建的扰动也能逃避其他模型。一个可迁移的扰动算法更加实用,因为对抗方不需要对其目标模型具有白盒访问权限;相反,对抗方将能够使用一个代理的(白盒)模型来制作其对抗扰动,然后将它们应用到原始的黑盒目标模型上。

在本节中,我们评估我们的盲对抗扰动技术的可迁移性。首先,我们为我们的流量分析应用训练一个代理模型。注意,原始模型和代理模型不需要具有相同的架构,但它们都是为相同的任务训练的(可能具有不同的分类准确性)。接下来,我们为我们的代理模型创建一个扰动生成函数 G ( z ) G(z) G(z)(如前所述)。我们使用这个 G ( z ) G(z) G(z)来生成扰动,并将这些扰动应用于一些样本流。最后,我们将产生的扰动流作为输入送入原始模型(即,目标黑盒模型)的流量分析应用中。我们使用[42]中的一个常用指标来测量可迁移性:我们识别在应用盲对抗扰动之前由原始模型和代理模型正确分类的输入流;然后,在这些样本中,我们返回原始模型误分类的样本比例与代理模型误分类的样本比例,作为我们的可迁移性指标。

基于方向的技术:为了评估我们基于方向的扰动的可迁移性,我们使用 DF \text{DF} DF系统[50]作为代理模型,以及 Rimmer \text{Rimmer} Rimmer等人[47]的 WF \text{WF} WF系统作为原始模型。注意, Rimmer \text{Rimmer} Rimmer等人提出的模型使用的是 CNNs \text{CNNs} CNNs,但它的结构与 DF \text{DF} DF完全不同。我们在 DF \text{DF} DF的数据集[50]上训练两个模型,并为代理的 DF \text{DF} DF模型生成盲对抗扰动。然后我们使用这些扰动测试原始模型。表 8 8 8显示了我们基于方向的攻击在不同噪声强度下的高可迁移性。

表8

表 8:基于方向的扰动的可迁移性(代理模型: DF \text{DF} DF [50],原始模型:[47])

基于时间的技术:对于基于时间攻击的可迁移性,我们使用 DeepCorr \text{DeepCorr} DeepCorr[37]作为原始模型。我们使用 AlexNet \text{AlexNet} AlexNet[30]作为代理模型,它具有完全不同的架构。我们在 DeepCorr \text{DeepCorr} DeepCorr使用的同一数据集上训练 AlexNet \text{AlexNet} AlexNet。由于 AlexNet \text{AlexNet} AlexNet的主要任务是图像分类,我们稍微修改其超参数,使其与 DeepCorr \text{DeepCorr} DeepCorr数据集兼容。为了计算可迁移性,我们将代理和原始模型的假阳性率固定在相同的值上(通过选择正确的流量关联阈值)。表9显示了时间基攻击在不同盲噪声强度下(对于常数假阳性率 1 0 − 4 10^{-4} 104)的高可迁移性。

表9

表 9:时间扰动的可迁移性(代理模型: AlexNet \text{AlexNet} AlexNet,原始模型: DeepCorr \text{DeepCorr} DeepCorr [37])

基于大小的技术:为了评估基于大小的扰动的可迁移性,我们使用 DeepCorr \text{DeepCorr} DeepCorr作为原始模型,AlexNet作为代理模型,并像前面一样计算可迁移性。表10显示了基于大小的技术在不同盲噪声强度下的可迁移性,对于假阳性率为 1 0 − 4 10^{-4} 104

表10

表10:大小扰动的可转移性:(代理模型: AlexNet \text{AlexNet} AlexNet,原始模型: DeepCorr \text{DeepCorr} DeepCorr [37])

总结来说,我们展示了盲对抗扰动在不同模型架构之间的高度可迁移性,使其能够被黑盒对抗方使用

10 限制与未来方向

正如前文所提及,本研究致力于击败基于深度神经网络( DNN \text{DNN} DNN)的流量分析技术,这些技术使用原始的流量特征,例如数据包的时序、大小和方向;这包括为不同场景实现的大量先前的流量分析技术[2, 3, 6, 37, 38, 53, 60, 60, 61]。然而,我们的攻击无法直接应用于基于内容的流量分析技术(例如,基于签名的恶意软件检测算法)也不能轻易地应用于使用非可微、不可逆函数的流量特征的流量分析技术,例如,时间戳的哈希值。未来的工作可以通过制造定制的重新映射函数或近似梯度函数,将盲对抗性扰动扩展到此类流量分析技术

此外,注意我们使用的对抗性扰动旨在仅防御“基于DNN的”流量分析机制。特别是流量水印技术[23-25]和基于体积的流量分类器[4]等非 DNN \text{DNN} DNN流量分析技术,不能通过我们的防御得到保护。未来的工作可以考虑将此类非 DNN \text{DNN} DNN机制的防御与我们的防御结合起来。

为了保持我们的对抗性扰动过程对对抗方隐藏,我们的扰动生成函数强制执行各种约束,使得扰动后的连接在语义和统计上与良性连接无法区分。为了强制执行语义上的不可区分,扰动器需要了解底层网络协议的语义,例如,它需要知道Tor数据包的格式。为了强制执行统计上的不可区分,扰动器需要测量目标流量的一些统计属性,例如,Tor流量的网络抖动。如果扰动实体缺乏此类信息,将降低我们技术的性能(注意,这在我们工作中评估的应用中不是问题)。

11 结论

在本文中,我们介绍了盲对抗性扰动,这是一种通过扰动实时网络连接的特征来击败基于 DNN \text{DNN} DNN的流量分析分类器的机制。==我们提出了一种系统方法,通过求解针对流量分析应用定制的特定优化问题来生成盲目对抗性扰动。==我们的盲对抗性扰动算法是通用的,可以应用于具有不同网络约束的各种类型的流量分类器。

我们评估了我们的攻击对抗最先进的流量分析系统,显示我们的攻击在击败流量分析方面优于传统技术。我们还展示了我们的盲对抗性扰动甚至具有可迁移性,可以在不同模型和架构之间迁移,因此可以被黑盒对抗方应用。最后,我们展示了现有的针对对抗性示例的防御措施对盲扰动表现不佳,因此我们设计了针对盲扰动的定制对策。

致谢

我们感谢我们的指导老师 Esfandiar Mohammadi \text{Esfandiar Mohammadi} Esfandiar Mohammadi和匿名评审者的反馈。该工作得到了 NSF CAREER \text{NSF CAREER} NSF CAREER资助计划 CNS-1553301 \text{CNS-1553301} CNS-1553301的支持,以及 DARPA \text{DARPA} DARPA NIWC \text{NIWC} NIWC在合同 N66001-15-C-4067 \text{N66001-15-C-4067} N66001-15-C-4067下的支持。美国政府有权不顾任何版权声明复制和分发重印,用于政府目的。所表达的观点、意见和/或发现属于作者,并不应被解释为代表国防部或美国政府的官方观点或政策。 Milad Nasr \text{Milad Nasr} Milad Nasr获得了谷歌博士奖学金,专注于安全与隐私领域。

附录A 调整传统防御以应对对抗性示例

Madry等人[34]提出了一种可扩展的对抗训练方法,以增强深度学习模型对对抗性示例的鲁棒性。在训练的每次迭代中,此方法会生成一组对抗性示例,并在训练阶段使用它们。Madry等人的防御是基于对抗训练的防御中最为坚固的[8]。由于我们不能直接使用这种方法,因为在图像识别应用中,像素可以取实数值,而在基于方向的流量分析方法中,特征只取两个值(-1,+1),因此我们将这种防御修改为适合我们的设置。为了在训练过程中生成一组对抗性示例,我们随机选择一些数据包,并将它们的方向从-1翻转到+1,反之亦然。同样,对于数据包的时序和大小,我们强制应用所有生成对抗性示例的应用约束。

从梯度掩码方法中,我们使用了Ross和Doshi-Velez[48]的输入梯度正则化( IGR \text{IGR} IGR)技术。IGR在抵抗对抗性攻击方面比其前作[43]更为坚固。他们的防御训练模型具有平滑的输入梯度,极值较少,这使得模型对对抗性示例更加抵抗。我们利用这种方法来训练一个使用DF结构的鲁棒模型。我们针对这种防御评估了基于方向的攻击,参数 λ = 10 λ=10 λ=10

虽然之前的防御是通过训练一个对抗攻击鲁棒的模型,但是Cao和Gong [7] 设计了一种不改变训练过程的防御方法。他们提出了一种基于区域的分类( RC \text{RC} RC)方法,该方法以输入为中心创建一个超立方体来预测其标签。然后,该方法从制作的超立方体中采样一组数据点,并使用一个现有的训练模型为每个采样的数据点产生预测标签;最后,它使用多数投票来为给定输入生成最终的类标签。我们需要对基于区域的分类防御进行修改。与图像不同,我们不能仅通过向具有-1, 1值的数据包方向序列添加随机实数值来以输入为中心创建一个超立方体。相反,对于每个输入,我们通过随机选择序列中的多个数据包并翻转它们的方向来创建超立方体。为了在添加盲目扰动的情况下,在基于方向方法的测试阶段应用基于区域的分类,我们随机选择125个数据包并改变它们的方向来形成超立方体。与Cao和Gong相似,我们称这个数字为超立方体的半径。我们选择这个值作为半径,因为125是我们可以用来形成超立方体的最大数据包数量,同时基于区域方法的准确率不会低于原始 DF \text{DF} DF模型的准确率。使用125作为超立方体的半径,我们对我们的攻击应用基于区域的分类。对于基于时间和大小的方法,我们使用对抗方的强度(strength)来生成超立方体。

注释

  • 【1】 Pr(x,y) \text{Pr(x,y)} Pr(x,y)是随机变量 x x x y y y联合概率

  • 【2】这句话的意思是,因为所讨论的目标模型(f(·))是一种深度学习网络,而深度学习网络是非凸的,所以我们无法为这个优化问题找到一个简单、直接的数学公式解。在这里,“非凸”的意思是,这个模型的优化问题的解空间不是一个单一的、全局的最小值,而可能包含多个局部最小值和复杂的结构,这使得找到全局最优解变得非常困难。封闭形式的解决方案指的是一种直接通过数学公式计算出答案的方法,这种方法在处理非凸优化问题时往往是行不通的。因此,我们通常需要依靠迭代方法,比如梯度下降,来逐步逼近最优解。

  • 【3】拉普拉斯分布( Laplace distribution \text{Laplace distribution} Laplace distribution,也称为双指数分布,是一种连续概率分布。它以法国数学家皮埃尔-西蒙·拉普拉斯的名字命名,用于描述某些自然现象的分布情况,特别是那些围绕某个中值对称分布的现象。

    拉普拉斯分布的概率密度函数( probability density function PDF \text{probability density function PDF} probability density function PDF)定义为:
    f ( x ∣ μ , b ) = 1 2 b exp ⁡ ( − ∣ x − μ ∣ b ) f(x|\mu, b) = \frac{1}{2b} \exp\left(-\frac{|x - \mu|}{b}\right) f(xμ,b)=2b1exp(bxμ)

    其中:

    • x x x 是随机变量的值,
    • μ \mu μ 是位置参数,代表分布的中心点,
    • b > 0 b > 0 b>0 是尺度参数,控制分布的宽度或者说数据的分散程度。

    拉普拉斯分布的特点是其在中心点附近有一个尖峰,然后以指数速率衰减,这一点与正态分布的钟形曲线不同。拉普拉斯分布的尖锐度和两侧的尾部都比正态分布更加明显。
    拉普拉斯分布

    拉普拉斯分布图片

    拉普拉斯分布的累积分布函数(CDF)为:

    F ( x ∣ μ , b ) = { 1 2 exp ⁡ ( x − μ b ) , if  x < μ 1 − 1 2 exp ⁡ ( − x − μ b ) , if  x ≥ μ F(x|\mu, b) = \begin{cases} \frac{1}{2} \exp\left(\frac{x - \mu}{b}\right), & \text{if } x < \mu \\ 1 - \frac{1}{2} \exp\left(-\frac{x - \mu}{b}\right), & \text{if } x \ge \mu \end{cases} F(xμ,b)={21exp(bxμ),121exp(bxμ),if x<μif xμ

    拉普拉斯分布的数学期望(即平均值)和中位数都等于位置参数 μ \mu μ,而它的方差则是 2 b 2 2b^2 2b2

    拉普拉斯分布在贝叶斯统计、经济学、电子工程以及各种工程问题的建模中有广泛应用,尤其是在需要处理有关大偏离的数据时。

  • 【4】l2距离,也被称作欧几里得距离,是在欧几里得空间中量度两个点之间的直线距离。

    数学上,如果有两个点 P = ( p 1 , p 2 , . . . , p n ) P = (p_1, p_2, ..., p_n) P=(p1,p2,...,pn) Q = ( q 1 , q 2 , . . . , q n ) Q = (q_1, q_2, ..., q_n) Q=(q1,q2,...,qn) 在一个n维空间中,它们之间的l2距离定义为:

    l 2 距离 ( P , Q ) = ( p 1 − q 1 ) 2 + ( p 2 − q 2 ) 2 + ⋯ + ( p n − q n ) 2 l2\text{距离}(P, Q) = \sqrt{(p_1 - q_1)^2 + (p_2 - q_2)^2 + \cdots + (p_n - q_n)^2} l2距离(P,Q)=(p1q1)2+(p2q2)2++(pnqn)2

    这个公式计算了两个点在每一个维度差值的平方和,然后取平方根。这种距离度量在多个领域如机器学习、物理、工程等领域非常普遍,因为它是一个直观且有效的距离度量方式。在机器学习和数据分析中, l 2 l2 l2距离常用于量度两个数据点之间的相似性,其中距离越小表示两个点越相似。

    计算l2距离:对于生成的所有噪声向量,计算每一对噪声向量之间的l2距离。具体地,如果有噪声向量 N 1 N_1 N1 N 2 N_2 N2,它们之间的 l 2 l2 l2距离就是 ∑ i = 1 n ( N 1 i − N 2 i ) 2 \sqrt{\sum_{i=1}^{n} (N_{1i} - N_{2i})^2} i=1n(N1iN2i)2 ,其中 n n n 是向量的维度, N 1 i N_{1i} N1i N 2 i N_{2i} N2i 分别是向量 N 1 N_1 N1 N 2 N_2 N2 在第 i i i维度的值。

    在图 9 9 9中,我们可以看到大多数噪声向量之间的 l 2 l2 l2距离集中在较小的区间内,这意味着这些向量彼此之间相对较为相似。这个分布的形状可能会告诉我们关于对抗性噪声生成策略的信息:例如,如果分布非常集中,则意味着生成的噪声向量在空间中比较接近,这可能说明攻击算法倾向于在特定的方向上引入扰动。如果分布较为分散,则说明攻击算法能够在多个方向上有效地引入扰动

参考文献

  • [1] S. Abdoli, L. Hafemann, J. Rony, I. Ayed, P. Cardinal,and A. Koerich. Universal Adversarial Audio Perturbations. arXiv preprint arXiv:1908.03173, 2019.
  • [2] A. Bahramali, R. Soltani, A. Houmansadr, D. Goeckel,and D. Towsley. Practical Traffic Analysis Attacks on Secure Messaging Applications. In NDSS, 2020.
  • [3] S. Bhat, D. Lu, A. Kwon, and S. Devadas. Var-CNN and DynaFlow: Improved Attacks and Defenses for Website Fingerprinting. CoRR, 2018.
  • [4] Avrim Blum, Dawn Song, and Shobha Venkataraman.Detection of interactive stepping stones:Algorithms and confidence bounds. In RAID, 2004.
  • [5] X. Cai, R. Nithyanand, and R. Johnson. Cs-buflo: A congestion sensitive website fingerprinting defense. In WPES, 2014.
  • [6] X. Cai, X. Zhang, B. Joshi, and R. Johnson. Touching from a distance: Website fingerprinting attacks and defenses. In ACM CCS, 2012.
  • [7] X. Cao and N. Gong. Mitigating evasion attacks to deep neural networks via region-based classification. In ACSAC, 2017.
  • [8] N. Carlini and D. Wagner. Adversarial examples are not easily detected: Bypassing ten detection methods. In ACM Workshop on AISec, 2017.
  • [9] N. Carlini and D. Wagner. Towards evaluating the robustness of neural networks. In IEEE S&P, 2017.
  • [10] P. Chen, Y. Sharma, H. Zhang, J. Yi, and C. Hsieh. EAD:Elastic-Net Attacks to Deep Neural Networks via Adversarial Examples. In AAAI, 2017.
  • [11] G. Cherubin, J. Hayes, and M. Juarez. Website fingerprinting defenses at the application layer. In PETS,2017.
  • [12] T. Chothia and A. Guha. A statistical test for information leaks using continuous mutual information. In CSF,2011.
  • [13] R. Dingledine and N. Mathewson. Design of a Blocking-Resistant Anonymity System.https://svn.torproject.org/svn/projects/design-paper/blocking.html.
  • [14] Y. Dong, F. Liao, T. Pang, H. Su, J. Zhu, X. Hu, and J. Li.Boosting adversarial attacks with momentum. In CVPR,2018.
  • [15] K. Eykholt, I. Evtimov, E. Fernandes, B. Li, A. Rahmati,C. Xiao, A. Prakash, T. Kohno, and D. Song. Robust physical-world attacks on deep learning visual classification. In CVPR, 2018.
  • [16] I. Goodfellow, Y. Bengio, and A. Courville. Deep learning. MIT press Cambridge, 2016.
  • [17] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu,D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Generative Adversarial Nets. In NIPS. 2014.
  • [18] I. Goodfellow, J. Shlens, and C. Szegedy. Explaining and Harnessing Adversarial Examples. In ICLR, 2015.
  • [19] J. Hayes and G. Danezis. k-fingerprinting: A robust scalable website fingerprinting technique. In USENIX Security, 2016.
  • [20] J. Hayes and G. Danezis. Learning Universal Adversarial Perturbations with Generative Models. In IEEE S&P Workshops, 2018.
  • [21] K. He, X. Zhang, S. Ren, and J. Sun. Deep Residual Learning for Image Recognition. In CVPR, 2016.
  • [22] W. He, B. Li, and D. Song. Decision Boundary Analysis of Adversarial Examples. In ICLR, 2018.
  • [23] A. Houmansadr, N. Kiyavash, and N. Borisov. RAINBOW: A Robust And Invisible Non-Blind Watermark for Network Flows. In NDSS, 2009.
  • [24] A. Houmansadr, N. Kiyavash, and N. Borisov. Nonblind watermarking of network flows. IEEE/ACM TON,2014.
  • [25] Amir Houmansadr and Nikita Borisov. SWIRL: A Scalable Watermark to Detect Correlated Network Flows. In NDSS, 2011.
  • [26] M. Imani, M. Rahman, N. Mathews, A. Joshi, and M. Wright. Mockingbird: Defending Against DeepLearning-Based Website Fingerprinting Attacks with Adversarial Traces. CoRR, 2019.
  • [27] R. Jansen, M. Juarez, R. Galvez, T. Elahi, and C. Diaz.Inside Job: Applying Traffic Analysis to Measure Tor from Within. In NDSS, 2018.
  • [28] M. Juarez, M. Imani, M. Perry, C. Diaz, and M. Wright.Toward an efficient website fingerprinting defense. In ESORICS, 2016.
  • [29] D. Kingma and J. Ba. Adam: A Method for Stochastic Optimization. ICLR, 2014.
  • [30] A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification with deep convolutional neural networks. In NIPS, 2012.
  • [31] A. Kurakin, I. Goodfellow, and S. Bengio. Adversarial examples in the physical world. arXiv preprint arXiv:1607.02533, 2016.
  • [32] A. Kurakin, I. Goodfellow, and S. Bengio. Adversarial machine learning at scale. arXiv preprint
    arXiv:1611.01236, 2016.
  • [33] B. Levine, M. Reiter, C. Wang, and M. Wright. Timing attacks in low-latency mix systems. In FC, 2004.
  • [34] A. Madry, A. Makelov, L. Schmidt, D. Tsipras, and A. Vladu. Towards deep learning models resistant to adversarial attacks. arXiv preprint arXiv:1706.06083, 2017.
  • [35] S. Moosavi-Dezfooli, A. Fawzi, O. Fawzi, and P. Frossard. Universal adversarial perturbations. In CVPR, 2017.
  • [36] S. Moosavi-Dezfooli, A. Fawzi, and P. Frossard. DeepFool: A Simple and Accurate Method to Fool Deep Neural Networks. In CVPR, 2016.
  • [37] M. Nasr, A. Bahramali, and A. Houmansadr. Deepcorr: strong flow correlation attacks on tor using deep learning. In ACM CCS, 2018.
  • [38] M. Nasr, A. Houmansadr, and A. Mazumdar. Compressive Traffic Analysis: A New Paradigm for Scalable Traffic Analysis. In ACM CCS, 2017.
  • [39] A Simple Obfuscating Proxy. https://www.torproject.org/projects/obfsproxy.html.en.
  • [40] A. Panchenko, F. Lanze, J. Pennekamp, T. Engel, A. Zinnen, M. Henze, and K. Wehrle. Website Fingerprinting at Internet Scale. In NDSS, 2016.
  • [41] A. Panchenko, L. Niessen, A. Zinnen, and T. Engel. Website fingerprinting in onion routing based anonymization networks. In WPES, 2011.
  • [42] N. Papernot, P. McDaniel, and I. Goodfellow. Transferability in Machine Learning: from Phenomena to Black-Box Attacks using Adversarial Samples. arXiv preprint arXiv:1605.07277, 2016.
  • [43] N. Papernot, P. McDaniel, X. Wu, S. Jha, and A. Swami.Distillation as a defense to adversarial perturbations against deep neural networks. In IEEE S&P, 2016.
  • [44] A. Paszke, S. Gross, S. Chintala, G. Chanan, E. Yang, Z. DeVito, Z. Lin, A. Desmaison, L. Antiga, and A. Lerer. Automatic Differentiation in PyTorch. In NIPS Autodiff Workshop, 2017.
  • [45] F. Pierazzi, F. Pendlebury, J. Cortellazzi, and L. Cavallaro. Intriguing properties of adversarial ML attacks in the problem space. In IEEE S&P, 2020.
  • [46] Tor: Pluggable transports. https://www.torproject.org/docs/pluggable-transports.html.en.
  • [47] V. Rimmer, D. Preuveneers, M. Juarez, T. Van, and W. Joosen. Automated website fingerprinting through deep learning. In NDSS, 2018.
  • [48] A. Ross and F. Doshi-Velez. Improving the adversarial robustness and interpretability of deep neural networks by regularizing their input gradients. In AAAI, 2018.
  • [49] V. Shmatikov and M. Wang. Timing analysis in lowlatency mix networks: Attacks and defenses. In ESORICS, 2006.
  • [50] P. Sirinam, M. Imani, M. Juarez, and M. Wright. Deep fingerprinting: Undermining website fingerprinting defenses with deep learning. In ACM CCS, 2018.
  • [51] P. Sirinam, N. Mathews, M. Rahman, and M. Wright.Triplet Fingerprinting: More Practical and Portable Website Fingerprinting with N-shot Learning. In ACM CCS,2019.
  • [52] J. Su, D. Vargas, and K. Sakurai. One Pixel Attack for Fooling Deep Neural Networks. IEEE TEVC, 2017.
  • [53] Y. Sun, A. Edmundson, L. Vanbever, O. Li, J. Rexford,M. Chiang, and P. Mittal. RAPTOR: routing attacks on privacy in tor. In USENIX Security, 2015.
  • [54] C. Szegedy, W. Zaremba, I. Sutskever, J. Bruna, D. Erhan, I. Goodfellow, and R. Fergus. Intriguing properties of neural networks. arXiv preprint arXiv:1312.6199,2013.
  • [55] F. Tramèr, A. Kurakin, N. Papernot, I. Goodfellow,D. Boneh, and P. McDaniel. Ensemble adversarial training: Attacks and defenses. arXiv preprint arXiv:1705.07204, 2017.
  • [56] V. Vapnik. The nature of statistical learning theory. Springer science & business media, 2013.
  • [57] T. Wang. High Precision Open-World Website Fingerprinting. In IEEE S&P, 2020.
  • [58] T. Wang, X. Cai, R. Nithyanand, R. Johnson, and I. Goldberg. Effective Attacks and Provable Defenses for Website Fingerprinting. In USENIX Security, 2014.
  • [59] T. Wang and I. Goldberg. Improved website fingerprinting on tor. In WPES, 2013.
  • [60] T. Wang and I. Goldberg. On realistically attacking tor with website fingerprinting. PETS, 2016.
  • [61] T. Wang and I. Goldberg. Walkie-talkie: An efficient defense against passive website fingerprinting attacks.In USENIX Security, 2017.
  • [62] X. Zhang, J. Hamm, M. K Reiter, and Y. Zhang. Statistical privacy for streaming traffic. In NDSS, 2019.
  • [63] Y. Zhang and V. Paxson. Detecting Stepping Stones. In USENIX Security, 2000.
  • [64] Y. Zhu, X. Fu, B. Graham, R. Bettati, and W. Zhao. On flow correlation attacks and countermeasures in mix networks. In WPES, 2004.
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值