2022 IEEE S&P
训练生成器的源代码 code
修改后的 WFDefProxy 的源代码(实现 Surakav 和其他防御措施) code
Surakav利用生成生成对抗网络(GAN)生成真实的发送模式,并根据采样模式调节缓冲数据。
- 对网页的先验知识。一些防御需要了解每个页面是如何加载的,但这样会造成很大负担,因为大多数网站都是频繁更新的。
- 所有页面的固定模式。一些防御强制所有页面使用相同的模式,以恒定速率发送数据包。
Surakav不需要在网页上加载任何先验知识,利用一个生成器可以输出无限的非重复发送模式。
第二节背景和相关工作,第三节前言,第四节提出新防御,第五节评估,第六节进一步探讨
二、背景与相关工作
A. 威胁模型
假设攻击者不会破坏Tor的加密或修改任何数据包、客户端一次访问一个页面。
真阳性率TPR定义为正确分类的受监控轨迹占受监控轨迹总数的百分比;
假阳性率FPR 定义为未被监控的轨迹被错误分类为监控轨迹的百分比。
C. WF防御
- 随机化防御:WTF-PAD、FRONT
- 正则化防御:BuFLO、Tamaraw、Glove、Supersequence、Walkie-Talkie
- 对抗性防御:Mockingbird、GAN模型
- 其他防御:Decoy在后台随即加载另一个页面来覆盖每个页面,但开销太高、TraffificSliver建议以高度随机方式将流量分散到几个“子电路”上,防御恶意进入节点。
三、前言
A. 生成对抗网络GAN
两个神经网络相互竞争的框架,参与者G试图生成合成数据来欺骗对手,对手D试图区分真实数据和合成数据。通过这一对抗过程,G利用改进后的D的反馈增强了生成逼真数据的能力。
B. 痕迹表示
Tor单元是固定长度的,因此用+1-1来指示单元方向,为了方便生成器的训练将单元序列转换为burst序列
四、Surakav
A. 动机和直觉
WTF-PAD对DF失败 -> 防御很难击败志愿虚拟数据包且没有数据包延迟的强攻击
正则化防御 -> 以预定义的发送模式加载网页,为所有网页构建了一个简单的发送模式
surakav -> 通过不同的发送模式而不是恒定的模式
B. 概况
首先在GAN上训练数据集G,并从G中采样参考轨迹。参考轨迹是第三B节中定义的突发序列。然后,在每一轮中,调节器 R 消耗来自采样参考轨迹的两个突发,一个用于客户端,另一个用于代理服务器。R 从数据集中学习出站突发的时间间隙分布,并在每一轮中从学习到的分布中采样to->o 的时间间隙。在休眠to->o的时间后,R 发送一个外发突发,其大小基于缓冲区中的真实数据和参考突发大小。该突发会附带一个信息包,指示代理回应多少数据。客户机和代理以这种来回方式发送数据突发,直到页面加载完毕。在此过程中,如果前一个参考轨迹用完了,R 可能会重新采样一个新的参考轨迹。通过在下一轮发送前在缓冲区中保留数据,可以减少突发数据的大小;通过添加虚包,可以增加突发数据的大小。
C. 训练轨迹生成器
提出新的GAN结构,用于捕获生成突发序列。
1)架构
三个组件:一个生成器G、一个判别器D、一个观察器O
生成器:生成器G是一个多层感知器真标签。一个标签c和一个噪声向量z作为输入,输出一个表示生成的突发序列和跟踪长度l的向量,输入向量被归一化为[0,1]。能够生成不同网页的轨迹的关键在于在输入中包含了标签信息。生成器的输出是固定长度的向量,因此在后处理中将长度l的向量切割以获得最终的突发序列。
判别器D:判别器 D 也是一个 MLP。D的输出是根据判别器的信念得出的输入为真实轨迹的概率对数。与G类似,判别器也将标签作为输入。
观察器O:我们在模型中引入了一个新的观察者,以提高伪造痕迹的质量。观察者 O 是一个预先训练好的模型,可进一步为 G 提供反馈。它接收那些成功骗过鉴别器的虚假痕迹(即预测为真实痕迹),并确定它们来自哪个网页。观察者使用的是经过修改的 DF 模型,该模型与原始 DF 具有相同的结构,并接收突发序列(而不是单元序列),因为 DF 被证明是最强的攻击之一。
D. 调节数据包
设计了一个调节器R,指导客户端和服务器的数据包发送。R 首先要学习to->o的分布,即第三节 B 中定义的两次发出脉冲串之间的时间间隔。我们使用核密度估计 (KDE)(一种用于概率估计的常用方法)从数据集中估计这种分布。为了防御跟踪,R 会采样一个新的时间间隙 t∆,等待 min(t∆,ρ),然后发送数据突发。当代理接收到来自客户端的突发数据时,它会立即响应一个数据突发。因此,整个过程的时间由 R 决定。
E. 防御初始化
生成痕迹的发生器G和生成突发之间的时间间隔的分布to->o。
数据集code