Zero-delay Lightweight Defenses againstWebsite Fingerprinting

2020 usenix

code

前人

  • WTF-PAD[2016] -> broken by DF
  • Tamaraw[2014] -> 

FRONT:侧重于用虚拟数据包混淆跟踪前端。随机化了虚拟数据包的数量和分布,以实现跟踪间随机性,从而阻碍攻击者的学习过程。

GLUE:在单独的跟踪之间添加虚拟数据包,看起来好像客户端正在连续访问页面而没有暂停,使攻击者无法找到他们的起点或终点,也便无法对其进行分类。

在33%的数据开销下,攻击者性能和信息泄露分析方面,FRONT优于WTF-PAD;GLUE 数据开销约为22%-44%,可以将最佳WF攻击的准确性 TPR 和精度降低到与最佳重量级防御相当的水平,这两种防御都没有延迟开销

FRONT

概述

实现可部署性需具备三个特性:零延迟(无延迟开销)、轻量级(数据开销小)、易于实施

唯一已知的与 FRONT 共享这些属性的防御是 WTF-PAD。在 WTF-PAD 中,客户端和服务器分别维护两个直方图,在其中采样到达间隔时间以生成虚拟数据包。为了实现最佳性能,他们还建议通过从真实数据集中采样到达间隔时间来调整参数。然而,调整过程对用户来说并不友好,并且这些直方图的构建和维护也很重要,WTF-PAD中的代币机制也是不必要的,应该被放弃。相比之下FRONT要更简单。

两个关键惯例:

  • 混淆功能丰富的跟踪前端。每条轨迹的前几秒(我们称之为轨迹前端泄露了 WF 分类最有用的特征。一些最好的攻击明确使用跟踪前端进行分类。我们将大部分数据预算用于混淆跟踪前端,而不是将它们均匀地分布在跟踪上。
  • 迹线间的随机性。FRONT以高度随机的方式添加虚拟数据包,确保同一网页的不同痕迹在总长度、数据包顺序和数据包方向上看起来彼此不同。为此,它会随机化数据预算和我们注入虚拟数据包的区域。由于我们必须允许攻击者在受保护的痕迹而不是原始痕迹上进行训练,因此痕迹之间的随机性会损害攻击者为网页类找到任何有意义的模式的能力。大多数正则化防御都会受到迹线间一致性的影响。

防御设计

三个步骤:采样一些虚拟数据包、采样填充窗口大小、调度虚拟数据包。

评估

Tamaraw-高延迟和数据开销的重量级正则化防御;WTF-PAD-轻量级混淆防御;FT-1 代表一种轻量级防御,其数据开销与 WTF-PAD 相似; FT-2 代表一种开销稍高但有效性更高的防御; Ns + Nc 决定数据开销; Wmin 和 Wmax 决定填充窗口大小。

信息泄露分析 

WeFDE来测量在无防御路径、WTF-PAD和FRONT上泄露的信息,实验表明大多数特征在FRONT下泄露的信息更少。

GLUE

利用网站指纹识别的全新方法

概述

单例痕迹:攻击者必须分类使每个跟踪都对应于一个网页。如果客户端在访问下一页之前在网页上停留了一段时间,攻击者就会注意到明显的时间差,并在此时分割追踪。即使是一秒钟的闲置时间也足够了。相反,当客户连续访问 l ≥ 2 个页面而没有明显的时间间隔时(例如,在页面完全加载之前点击链接),所有已知的 WF 攻击都无法成功对由此产生的 l 跟踪进行分类,WF只能对单例轨迹(l=1)进行分类

(1)首先攻击者需要确定 l -> 分裂决策问题;

(2)找到 l-1 个点,将 l-trace 拆分为 l 个独立的单例trace -> 拆分查找问题;

(3)分类器可以将这些单例跟踪输入到WF攻击中

每当客户端停留在一个网页上时,GLUE 就会添加假数据包,使客户端看起来好像在连续访问新页面。当客户端加载新页面时,GLUE 会停止发送虚假数据包,从而隐藏下一个页面的真正开始。换句话说,对于较大的 l 值,GLUE 会尝试将单个痕迹粘合成 l - 个痕迹,如果没有GLUE,它们之间可能存在驻留时间间隔使攻击者可以轻松分割他们。由于无法解决拆分决策或查找问题,如果错误地拆分痕迹,攻击很可能会失败。

防御设计

  • Front Mode

        在前端模式下启动,根据FRONT防御添加虚拟数据包,对入包和出包之间的间隔到达时间进行采样,得到分布 I 。当客户端访问完网页后,根据 I 采样 t▲ ,等待时间 t▲ ,然后切换到Glue Mode。

  • Glue Mode

        客户端和代理相互发送虚拟数据包看起来好像客户端在访问一个新网页,而客户端实际上是停留在之前的网页上。最多会在dmax时间里这样做,如果客户端在dmax之前访问网页,则中止Glue Mode;如果超过dmax,算法认为客户端不活跃并返回到Front Mode。否则,它将进入Back Mode。我们把这里添加的假包称为 "glue traces"。

  • Back Mode

        在此模式下客户端正在访问另一个网页,除了添加零虚拟数据包外类似于Front Mode。依然对数据包的到达间隔时间进行采样,等待 t▲ 后切换回Glue Mode。

GLUE在前端模式中集成了FRONT,l-trace的第一个痕迹将用FRONT填充,因为单独使用GLUE不能很好保护第一个迹线。

拆分决策和拆分查找

之前没有拆分决策的工作,只有着眼于2-trace的拆分查找,但都没有考虑 l>3 的 l-迹,因此提出CDSB算法。

  • 拆分决策

        使用随机森林分类器。访问的网页越多,轨迹的传输时间就越长。分裂是时间敏感的,因此在特征集中包含了丰富的时间信息。特征集中还包含了数据包数量和传出数据包数量等数量信息。

  • 拆分查找

        我们扩展了 Xu 等人的 XGBoost 算法,为跟踪中的每个传出数据包打分;得分较高的数据包更有可能是真正的分裂。不过,该算法不会简单地选择所有得分最高的数据包。因为通常情况下,真正分裂点周围的所有数据包得分都很高,但其中只有一个是真正的分裂点。如果我们选择所有数据包,就会出现很多误报。相反,我们会在每一轮中选择得分最高的数据包作为拆分,并将附近的数据包剔除,不再考虑作为未来一轮的拆分。通过这种分数解码处理,我们生成了预测的拆分。

评估

  • 没有拆分决策的l-traces

        告知攻击者 l 的值。

  • 有拆分决策的l-traces

        攻击者不知道 l-trace 有多少拆分,因此需要先做拆分决策。为正确评估WF攻击性能,如果攻击者在 l-trace 中猜测超过 l 次(由于不正确拆分决策),我们将丢弃所有额外的猜测,只使用前 l 次猜测。

得出分裂决策下WF表现的更差,随着 l 的增大,性能下降的更厉害。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值