DeepCoFFEA: Improved Flow Correlation Attacks on Tor via Metric Learning and Amplification
DeepCoFFEA:通过度量学习和放大改进对 Tor 的流相关攻击
端到端流相关攻击是针对低延迟匿名网络的攻击,是Tor流量分析的常用手段。最近的研究表明,单个流可以以高精度进行关联,但即使是最先进的攻击,其计算成本也很高:「它们的成对性质,需要在 N2 对流之间进行比较,以对 N 个用户进行匿名化 」。计算需求的组合爆炸和基本速率的逐渐下降,导致了大量的假阳性或极小的成功相关率。
本文介绍了一种新的流相关攻击 DeepCoFFEA,它结合了两种思想克服缺点。
首先,使用深度学习来训练一对特征嵌入网络。这些网络分别将 Tor 和出口流映射到一个相关流相似的低维空间;嵌入流对的成本比完整迹线更低。
第二,使用放大,将流划分为短窗口,并在这些窗口中使用投票来显著减少误报;相同的嵌入网络可以增加数量的窗口,以独立地降低假阳性率。
本文进行了实验分析,表明 DeepCoFFEA 显著优于 Tor 上的最先进流相关攻击,例如,93%的真实阳性率,而当调整为高精度时,最高为13%,比之前的工作提高了两个数量级。
我们还考虑了几种潜在对策对DeepCoFFEA的影响,发现现有的轻量级防御不足以保护匿名网络免受这种威胁。
Tor
Tor 是最知名的匿名网络 ,通过使用分层加密的一系列中继路由流量,以防止通过其内容来学习连接的源和目的地,提供低延迟匿名性。
端到端流相关攻击
对低延迟匿名系统最基本的流量分析攻击是端到端流量关联攻击:「 观察进入网络和离开网络的流量,并尝试关联,从而将用户与可能的目的地配对 」。
将端到端流关联攻击直接应用于 Tor 流量存在问题:
客户端和入口中继之间的流量与出口中继和目标服务器之间的流量不同,原因有:
攻击的成对性质
为了确定一个进入 Tor 网络的流(简称 Tor 流)和一个 exit 流是否是同一连接,需要计算两个流向量之间的相关性。
由于流都是匿名的,因此攻击必须计算所有 Tor 流和 exit 流之间的相关性。为了对 N 个 Tor 连接进行匿名化,需要执行 N2 比较。
缺点:计算成本高;较差的贝叶斯检测率(BDR)。
本文提出了一种新方法:
为了解三重网络方法的优势,进行了对比:
放大的优势
放大,就是对每对流进行多个独立部分的相关性测试。
首先将流划分为一系列 k 个短时间段或窗口,然后提取每个流的 k 个嵌入,并对 Tor 流和出口流进行逐步成对比较。正确匹配的流应该在所有 k 个窗口中关联。
这种方法增大了真阳性(TP)和潜在假阳性(FP)之间的差异。
DeepCoFFEA 攻击过程:
攻击者监控客户端和入口中继之间的 Tor 流 ti,以及出口中继和目标服务器之间的出口流xj。
在提取数据包的时间和大小信息后,联合训练两个 DNN 模型(G 和 H),将 Tor 流和 exit 流分别作为输入;
对于 G 和 H :
如果 Tor 流 t 和出口流 x 相关,有 d(G(t); H(x)) ≥ τ
,其中 d
是度量方法, τ
是阈值;
如果不相关,则 d(G(t); H(x)) < τ
。
然后,攻击者将 G 和 H 应用于 k 个连续流窗口 以 提取特征嵌入向量 ,并 计算成对相关矩阵。
最后,如果至少在 k − l
窗口中,满足 d(G(t); H(x)) ≥ τ
,则这两个流相关,否则不相关。
DeepCoFFEA 的优势
减少计算资源,同时提高 BDR 。
其有效性可以跨目的地、电路和时间进行转移。
能够有效地关联评估数据集上的流量,该数据集是在距离其训练数据集14个月后收集的。
由于放大,DeepCoFFEA可以关联受未知填充防御保护的流。
本节讨论了最新的流量相关技术 RAPTOR 和 DeepCorr,将它们称为最先进的攻击,并与 DeepCoFFEA 比较。
最先进的攻击
RAPTOR 攻击,利用非对称流量分析监控 Tor 连接的两端,需要长时间的流量数据样本。
DeepCorr ,一种新的流量相关性度量 ,专门针对 Tor 流量使用深度学习进行训练。与仅使用100个流数据包的 RAPTOR 相比,DeepCorr 实现了更高的 TPR 和更低的 FPR ,但其模型产生了较低的 BDR 。
DeepCorr 方法的局限性:
FaceNet
FaceNet,基于神经网络的人脸识别系统,将图像映射到低维向量(称为特征嵌入)。
FaceNet 用 triplet(三元组)损失函数来训练 CNN,该函数最小化同一个人的图像嵌入之间的距离,最大化不同人的图像嵌入间的距离。将此 DNN 训练模型称为三元组网络。
FaceNet 通过具有三个嵌入网络的 CNNs 进行训练,分别为 Anchor(A)、Positive(P)和 Negative(N)。它们具有联合训练和共享的权重,即统一嵌入。网络输入由三个图像组成,A 和 P 从同一个人的图像中选择,而 A 和 N 从不同人的图像中选出。
人脸识别是 one-shot 学习问题,通常只有一张图像来识别这个人。解决的办法是学习一个相似性函数,给出两个图像之间的差异程度。如果图像是同一个人,函数的输出值较小,而不同的人则相反。
第一个解决方案叫作 siamese 网络。该方法将两个人的图像输入到同一个网络中,然后比较它们的输出。如果输出类似,则是同一个人。
第二个解决方法是三重损失法(triplet loss method)。训练过后,A 和 P 的输出距离远小于 A 和 N 的输出距离。
三重指纹 TF
三重网络用于网站指纹识别,称为“三重指纹”(TF)。
Sirinam 使用网站痕迹嵌入之间的余弦相似性分数来计算 triplet loss,并将 DF 架构调整为三元组网络的子网络。
在 TF 的“攻击阶段”,使用带有 N - shot 学习的网站跟踪嵌入来训练和测试 k-NN 分类器,使用很少的训练样本来训练分类器。实验证明,该方法的精度不低于使用大型训练集的DF。
DeepCoFFEA的嵌入部分
DeepCoFFEA 学习 Tor 和出口流两种嵌入。
这是因为 「客户端和 Tor 入口中继之间的流」 从「服务器和 Tor 出口中继之间的流」 进行了大量修改,因此训练阶段由两个独立网络组成:在客户端和中继之间的数据包流上运行的 锚点网络 ,以及共享权重并且总是在出口中继和服务器之间的分组流上操作的 正/负网络。
为了区别,我们将其称为改进的三元组网络特征嵌入网络(FEN)。此外,还需要进一步修改流量相关性。我们在三元组 loss 中使用余弦相似性,直接计算所有流对嵌入的余弦相似性,判断一对流是否相关。
本节将讨论 DeepCoFFEA 为什么要改进以及如何改进最先进的相关性度量。
最先进的攻击中的问题
对于RAPTOR、DeepCorr ,需要收集长流序列,或者评估 n2 的流对。不仅时间复杂度高,也无法显著降低 FPR 。
DeepCoFFEA 使用特征嵌入网络 (FEN) 和放大 ,降低了计算复杂性,同时提高了 BDR。
具有 2n 对的 FEN
DeepCoFFEA 学习了一对用于 Tor 流 (G) 和 exit 流 (H) 的函数。 为了关联一组 n 个流,DeepCoFFEA 计算 n 个低维 Tor 流嵌入 和 n 个低维 exit 流嵌入 ,总共进行 2n 个 DNN 评估,然后使用 这些嵌入向量执行 n2 次低成本余弦相似度计算。
更具体地说,DeepCoFFEA 联合训练三个网络:anchor (A)、positive(P) 和negative (N),其中 P 和 N 共享权重。
A 使用 Tor 流 学习函数 G,而 P 和 N 基于 exit 流 学习函数 H。
通过改进的三元组生成器,使得 DeepCoFFEA 能够训练嵌入网络以最大化 a 和 p 之间的相似性,同时最小化 a 和 n 之间的相似性。
因此,虽然 DeepCoFFEA 需要计算 n2 个嵌入的成对余弦相似度,也只需要评估 2n 个 FEN。这显着降低了攻击的复杂性,因为嵌入对之间的低维余弦相似度的计算成本低得多。
与 CTA 的比较
压缩流量分析 (CTA) 的核心思想:降维来提高流量相关性。
CTA 和 DeepCoFFEA 复杂度相同,如果再引入局部敏感哈希算法(LSH),能再降低复杂度。
放大
放大能够减少 FP 的数量。
在 DeepCoFFEA 中,通过窗口分区应用放大,将流分成几个较小的部分重叠的子流(窗口)。 然后分别评估每个窗口,并使用投票汇总结果。
将 t 和 x 划分为 k 个离散窗口,并计算每个窗口的相似性,得到 k 维向量。如果相关则为 1,否则为 0。
汇总 k 个窗口的投票,确定最终结果:如果至少 k − l
个投票是正面的,则流是相关的,否则不相关。通过调整 k
和 l
,可以使误报率低于 1/n ,从而使得BDR 不会趋于 0。
在本节中,首先介绍了如何扩展以前的工作来 训练 DeepCoFFEA FEN 以生成 Tor 和 exit 流嵌入。
接下来,描述了几种相关性度量方法,并讨论了 DeepCoFFEA FEN 的架构和超参数。
从 TF 网络架构开始,将其调整为流关联攻击模型。 首先训练时直接使用他们的网络,但是发现三重损失并没有随着训练而减少。 原因如下:
改进一:使用两个不同的网络。
采用两个独立模型:一个用于 A 网络,另一个用于 P 和 N 网络。
这种方法导致初始损失值减少,然而训练损失的整体下降幅度不大。原因如下:
改进二:将 exit 流分组。
将 exit 流分成两组,三元组生成器从一组中选择 p,从另一组中选择 n,保证同一 batch 中 p 和 n 始终不同。
实验表明,当 epoch = 128 时,可以获得更好的损失曲线,能够达到接近于零的训练损失值。
改进三:损失函数
DeepCoFFEA FEN 的损失函数: max(0, corr(G(a); H(n)) − corr(G(a); H(p)) + α)
,最小化三元组损失函数。
通过调整 α
,可以缩小正负对之间的距离。
基于 G 和 H 提取 Tor 和出口流嵌入:G(ti;w) 和 H(xi;w) ,其中 ti 是 Tor 流,xi 是出口流,fi;w 是流 fi 的第 w 个窗口。
然后,对 n2 个成对流, 计算相关值 d(G(ti;w),H(xj;w))。
如果相关值足够高,我们记录 1 票,否则记录 0 票。
最后,如果 t 和 x 至少收到 k −l
票,就认为它们相关。
介绍三种相关性度量方法:softmax 函数、k-NN 分类器和余弦相似性。
softmax
将嵌入归一化,通过概率向量中概率最高的值来确定预测“标签”。
如果匹配的流出现在排名较前的标签中,认为它可能是相关流。
带聚类的 k-NN
在训练前需要标记训练集中的流。 探索了 k-means 和 谱聚类 两种方法标记训练流。
- 谱聚类是一种基于图论的无监督聚类算法,它将数据点看作图中的节点,并使用相似度矩阵来表示它们之间的关系。通过计算特征向量和特征值来对相似度矩阵进行分解,并将数据点划分为不同的簇。
- 带聚类的 k-NN 是一种基于k最近邻算法的有监督分类器,它使用聚类来提高分类器的准确性。在训练阶段,该算法首先对数据进行聚类,然后对每个簇中的数据点进行标记。在测试阶段,该算法将测试数据点与每个簇中心进行比较,并选择最接近的簇。然后,它使用该簇中所有标记为同一类别的训练数据点来预测测试数据点的类别。
在使用由聚类标记的 Tor(或 exit )流训练 k-NN 模型后,使用 exit(或 Tor)流评估模型。 然后,对由聚类算法确定的 exit 流的预测标签和 Tor 流的标签进行成对比较。
如果相关流中的标签相同,则它们是 TP。 如果它们在不相关的流中相同,则它们是 FP。
基于初步实验,使用 Tor 流来训练 k-NN 模型,并使用 exit 流测试。
余弦相似度
余弦相似度衡量「多维空间中的两个向量之间夹角的余弦值」。
由于 FEN 是使用基于余弦相似度的三元组损失进行训练的,因此我们研究余弦相似度分数作为 DeepCoFFEA 的相似度度量。
对于某个阈值 τ
, 如果 cos(G(ti;w); H(xj;w)) ≥ τ
,我们将投票记录为 1,否则为 0。 通过改变阈值 τ
,绘制了 ROC 图。
三种相似性度量方法的比较
实验表明,余弦相似度方法优于其他方法。
本节探索了两个架构:一个基于 1D 卷积层的 DF 架构,另一个基于 2D 卷积层的 DeepCorr 架构。它们分别可以生成网站指纹和相关流特征。
实验表明,基于 1D 卷积层的 DF 架构表现更好。
图3:展示了 DeepCoFFEA 模型的架构。
该模型由「两个 FEN 模型和一个分类器」组成。
FEN 模型能够提取有用的特征。第一个 FEN 模型 A网络 将输入的 Tor 流量映射到特征嵌入向量中,第一个 FEN 模型 P/N 网络将输入的出口流量映射到特征嵌入向量中。
每个FEN模型由四个1D卷积块组成,包括两个1D卷积层和一个最大池化层,之后还使用了全局平均池化层来减少参数数量,并使用 Dropout 技术来防止过拟合。
在两个 FEN 模型之后,作者使用了一个分类器对生成的特征进行分类和识别。该分类器由三个全连接层组成,其中第二个全连接层包含三元组损失函数,用于训练DeepCoFFEA模型。
本节将介绍实验设置,包括数据集、特征、窗口分区、超参数优化和评估 DeepCoFFEA 的指标。
DeepCorr 集
作者使用了 Nasr 等人收集的最全面的Tor网络流量相关数据集 DeepCorr,并对原始捕获数据进行重新解析,然后选择了一些流对确保所有连接目标都是唯一的,最终得到了12,503个流对。这个数据集称为 DeepCorr 数据集,用于训练和测试 DeepCoFFEA模型。
作者使用 DeepCorr 数据集评估了一些额外的场景,这些场景无法通过 Nasr 等人的数据集进行评估。这些场景包括:训练/测试间隔超过三个月、训练和测试集没有相互交叉的电路以及使用大型非训练集进行测试。
通过这些额外的场景评估,能够更全面地评估 DeepCoFFEA 模型的性能和鲁棒性,并证明了该模型在不同情况下都具有很好的性能。
DCF 数据集
DCF 数据集采用了DeepCorr的收集方法,并进行了一些小的改变。
例如:作者抓取流量时,每次都重建电路,并且在以太网层捕获数据包而不是IP层,以更好地模拟实际网络流量;作者过滤掉了少于70个数据包的流,并将相邻的 IPD 值为0的数据包组合在一起。
这些改变使得 DCF 数据集更加全面和真实地反映了网络流量特征,并且能够更好地评估DeepCoFFEA模型的性能和鲁棒性。
IPD 代表Inter-Packet Delay,即两个数据包之间的时间间隔。
在Tor网络中,为了保护用户隐私,每个用户的流量都会通过一条由多个节点(称为“中继”)组成的电路进行传输。这些电路是动态创建的,在一段时间后会被销毁。
“重建电路”指的是在每个批次中重新创建新的电路,以模拟实际使用Tor时不断更换电路的情况。
DCF 数据集的收集结果:
从 60,084 个流对中,选择了每个窗口数据包计数大于 10 的流对,总共有 42,489 个对,每个连接的目的地都是唯一的,确保训练集和测试集之间的目的地和电路使用不重叠。
使用 obfs4 可插拔传输收集了 13000 个流,以针对防御流进行评估。
捕获了 2020 年 4 月爬取的一些较旧的流,用于训练和测试数据之间存在长期差距的实验场景。
窗口池化
在 DeepCoFFEA 中,每个相关流对最多只能产生一个三元组,因此它创建的训练示例相比 DeepCorr 更少。
对于每个锚点,没有将所有可能的对提供给 FEN,而是选择了一个通过三元组挖掘更有用的 semi-hard 负样本,用它来表示所有可能的对。 例如, (t1,x1,x2),其中,t1 指时间戳,x1 指正样本,x2 指半难负样本。
- 锚点(Anchor)通常是指一个固定的参考点,用于计算其他数据点与该参考点之间的距离或相似度。
在本文中,每个三元组由三张图片组成:Anchor (A)、Positive § 和 Negative (N)。其中,A 和 P 是同一人的两张照片(即正例),而 N 是另一个人的照片(即半难负例)。在训练过程中,模型需要学习如何将 A 和 P 的特征向量映射到相似空间中,并将 N 的特征向量映射到不同的空间中。
通过选择合适的锚点来构建三元组可以帮助模型更好地学习区分不同人之间的相似性和差异性。- 半难负样本 (semi-hard),属于很难分类的负样本。因此,在训练过程中选择半难负样本可以帮助模型更好地学习区分正例和负例。
通过将流划分为 k 个窗口,能够跨窗口汇集相关对,将 FEN 训练集大小增加 k 倍。
基于 10000 对训练流,对所有 k 个流窗口构建训练集,会得到k·10000 个相关流对。 相比之下,我们为每个窗口分别构建了 k 个测试集,每个测试集中包含的相关流对 n 数量不同,但均在2094 ~10000之间。
因此,作者使用 n 个 跨 k 个窗口 的 Tor 流 和 exit流,来测试 DeepCoFFEA。
特征
特征选择数据包间延迟 (IPD) 和数据包大小。
基于时间间隔的划分策略
两种划分策略:一种基于时间间隔,另一种基于数据包的数量。
最后使用时间间隔作为窗口间隔,这是因为 Tor 流在每个时间段内的数据包通常比 exit 流少,如果使用基于固定数量数据包的窗口时,第二个和后续窗口的流不再对应于相同的流量。
重叠窗口分区
创建重叠窗口,称为 -on 分区。
如图4所示,使用 -on 能够创建更多窗口(放大),产生更多训练流对,并通过聚合更多窗口的结果能够提高 TP 和 FP 的差异。
窗口设置参数
选择 FEN 的流输入长度。
首先通过实验确定第一个窗口间隔的最短持续时间为 5 秒 的时候将提供最佳性能,中位数数据包计数为 100 。
此外,总的流持续时间最多为 35 秒,因为 35 秒后窗口的数据包计数将低于 100 个数据包。
第三,使用 11 个窗口中的最小和最大流长度作为 Tor 流长度和出口流长度的搜索空间,Tor流为[106,501],出口流为[244,855]。
窗口分区参数
δ
-on 创建 向下取整 [(25 - 5) / (5-δ) ] + 1
个窗口。
实验表明,更大的 δ
通常会导致使用更多选票才能获得更高 的 TPR 的更好 ROC 的曲线,这表明可以通过使用 4-on 设置进一步改善 3-on 结果。
此外, 虽然 1-on 并没有提高 DeepCoFFEA 在 off 上的性能,但是DeepCoFFEA 受益于增强的放大能力、更多的训练流对以及更多的投票结果。
模型参数
α = 1
时,FEN 损失最小,TF 也使用这个值;关联参数
使用 余弦相似度 计算关联性;
通过计算每个窗口的所有测试对的余弦相似度分数,发现 DeepCoFFEA 在 11 个窗口中 9 票和 10 票的性能相当。
因此,如果流对在 11 个窗口中至少有 9 个 1 票,则认为该流对相关。
特征相关阈值τ
用于控制在给定窗口中与 Tor 流 可能相关的 exit 流 的数量。
实验表明,通过在本地选择阈值(基于每个 Tor 流的成对分数分布),DeepCoFFEA 能够在控制 FP 数量的同时检测更多相关流。
此外,还使用局部阈值评估了 DeepCorr ,使用 κ
并没有提高 DeepCorr 的性能,也没有降低 误报。
本节探讨了 DeepCoFFEA 的各种配置对其性能的影响,并将 DeepCoFFEA 的有效性和效率与最先进的攻击进行了比较。
从 DCF 集选择了 12094 个流对, 10000 对用于训练数据,另外 2094 对用于测试数据,两组之间没有重叠的电路使用,所有连接都去了唯一的目的地。
此外,使用 SOCKS 代理收集 exit 流会增加延迟,能够模拟实际情况中的延迟情况。
放大
11 个窗口中的 TPR 和 FPR 是一致的,当 FPR 为 12% 时,TPR 为 97-98%;应用投票策略汇总 11 个窗口后,FPR 为 97.99% ,FPR 为 0.13% 。
FPR 的显著下降表明,放大能够减少 FP 的数量。
阈值参数
实验表明 TPR 和 FPR 都随着阈值 σ
的增加而增加, BDR 降低。
三重损失
实验表明,随着三元组损失的减少,DeepCoFFEA 性能不断提高。 选择在 0.0018 停止训练,因为损失在 0.003 之后下降得非常缓慢。
此外,还计算了达到不同损失值所需的训练时间。
发现模型质量和训练时间之间存在权衡。
训练集和测试集的收集时间间隔 对关联能力的影响
测试集: 2021 年 6 月的数据;
三个测试集:一个是 2021 年 8 月的数据集(2 个月),一个是 2020 年 4 月的数据集(14 个月),以及 2018 年 1 月至 4 月 的数据集(3 年)。
实验表明, 2 个月 、 14 个月 和没有时间间隔的数据集性能大致相同,而 3 年的测试集,性能明显更差,不过仍然有 92% TPR 和 3% FPR 。
这表明,虽然数据包大小和时序特征可能随时间的推移而变化,但是在 14 个月后,相关特征和不相关特征之间的统计差异也可能相似。 由于 FEN 被训练以最大化相关流和不相关流之间的差异,因此即使在一年多之后,生成高度相关流特征的能力也存在。
因此,DeepCoFFEA 不需要频繁培训。
防御流
obfs4 对客户端和保护节点之间的流量进行加密和转换,避免流量分析。
有几种网站指纹防御机制,它们能够添加填充数据包来隐藏总数据包统计信息,比如WTF-PAD 和 FRONT 。 填充数据包仅在 Tor 流上可见,而在 exit 流上看不到,因此降低了 Tor 流之间的相似性,使得匹配的流的相似性不如未防御的流。
评估 obfs4 PT、WTF-PAD 和 FRONT 的有效性。
在 IAT 模式打开 (obfs4-iat1) 和关闭 (obfs4-iat0) 的情况下调查了 obfs4。使用 obfs4-iat0、obfs4-iat1、WTF-PAD 和 FRONT 防御训练了三个不同的 DeepCoFFEA 模型。
实验表明,TPR 在所有防御措施中均有所下降,但仍保持非常低的 FPR。
除 FRONT 外的所有防御,DeepCoFFEA 在 FPR = 10−5 , TPR > 50% 。 这说明FRONT 最有可能击败 DeepCoFFEA ,因为每个窗口中的混淆级别都是随机的。
检查 FEN 是否可以检测包含防御和未防御的混合流。
使用 1:4 的防御和未防御流的混合来训练模型,然后使用包含单一类型的两个测试集用于测试。
实验表明,包含防御痕迹对关联能力的影响很小,显示了统一 FEN 成功检测两种类型流的潜力。
使用未防御的流训练 FEN,然后检测未知防御的相关流。
实验表明,当 FPR = 10-5 时,TPF > 20%。
因此,Tor 流和 DeepCoFFEA 寻找的 exit 流之间仍然存在相关性。
本节将 DeepCoFFEA 的性能与几种流相关算法进行比较,包括余弦相似度、RAPTOR、CTA、DeepCorr 和 mDeepCorr(DeepCorr 的多阶段变体)。
在搜索相关对时,所有对都使用成本较低的网络进行评估; 只有被该网络认为相关的对才会被整个网络评估,并且只有被两个网络标记为匹配的流才被认为是相关的。
调整 DeepCorr 和 m-DeepCorr
对于 DeepCorr,确定最佳特征维度(数据包数量)为 700, 最佳训练流对数量为 5000 。
对于 m-DeepCorr ,确定第一阶段使用 100 个数据包 ,第二阶段使用 700 个数据包。
性能比较
实验表明,DeepCoFFEA 在关联 2094 个流对时优于所有其他攻击,对于任何给定的 FPR 都达到了更高的 TPR,相应地导致了更高的 BDR。
CTA 未能有效检测 Tor 和 exit 流之间的相关性,这表明 Tor 网络引起的扰动更极端。
对于接近 0 的 FPR,DeepCorr 和 mDeepCorr 的表现都很差。相比之下,DeepCoFFEA 正确检测到一半以上的关联对。
空间和时间复杂性
实验表明,DeepCoFFEA 对时间和内存的要求要低得多。
随着流对数量的增加,m-DeepCorr 和 DeepCoFFEA 之间的成本差距进一步增加。
训练集和测试集之间的时间差
实验表明, DeepCorr 的性能在 14 个月的测试集上显著下降,而在 2 个月的测试集上表现相当。这一结果表明 DeepCoFFEA 的训练频率比 DeepCorr 少得多,抵消了 DeepCoFFEA 稍长的训练时间。
防御的鲁棒性
实验表明, DeepCorr 在 FPR = 10−3 时,所有防御的防御能力都显著降低,TPR 分别为2.7% (obfs4)、2.5% (WTF-PAD) 和 1.8% (FRONT) ,而 DeepCoFFEA 在相同的 FPR 能够检测到超过 80% 的相关对。 这个结果表明了放大的重要性,因为许多对不匹配的流窗口未能获得足够的选票成为 FP。
与最先进的攻击相比,DeepCoFFEA 实现了较低的计算成本,因为仅需要提取 O(n) 个特征嵌入向量。 DeepCoFFEA 的效率比 m-DeepCorr 高两个数量级。
放大能够显著降低 FP 的数量。
DeepCoFFEA 可跨电路、站点和长达 14 个月的时间跨度,因此不需要经常重新训练。
当 FPR = 10-3 时,DeepCoFFEA 正确检测到许多受防御保护的流,TPR 分别为 95% (obfs4)、90% (WTF-PAD) 和 84% (FRONT) 。
此外,DeepCoFFEA 可以在不训练单独模型的情况下对未防御和防御痕迹进行流相关分析。
本节将讨论阻止 DeepCoFFEA 攻击的对策。
Decaf —— 新的防御策略
Decaf ,向数据包中添加随机数据,干扰 DeepCoFFEA 攻击者对流量的分析。
为了评估 DeepCoFFEA 攻击和 Decaf 防御策略的性能。作者提出了两个假设:
防御者从DeepCorr 集合中选择对等流量来进行评估,这个新设置称为 Decaf-DC,它实现了与 FRONT14 相当的性能,带宽成本降低了 4%。
假设防御者知道攻击者窗口的持续时间,研究发现相对较小的窗口持续时间可以用于进行攻击。
DeepCoFFEA 将三元组网络架构调整为特征提取器,低成本实现完整的成对比较。 此外,通过将流分成少量窗口,为每个窗口提取特征,创建了多个半独立的相关性测试,这些测试可以组合起来以放大匹配流对和不匹配流对之间的差异,从而降低误报率。
为未来的研究提出了重要方向: