论文题目:De-Anonymisation Attacks on Tor: A Survey
期刊(会议): IEEE Communications Surveys & Tutorials
时间:2021
级别:中科院1区(IF:35.6)
文章链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9471821
在本文中,我们对Tor网络上的去匿名化攻击进行了最新调查,并对其进行了全面概述。虽然过去也有一些关于Tor攻击的调查,但大多数调查考虑了所有类型的Tor攻击,而我们缩小了调查范围,只包括去匿名化攻击。与过去的大多数调查相比,我们的调查涵盖的去匿名化攻击多了约30种。此外,我们还讨论了2016年之后发表的15种以上的去匿名化攻击(之前的大多数作品都没有报道过),包括使用深度学习等高级技术的攻击。我们还注意到,一些调查作品没有包含网站指纹攻击和隐藏服务攻击的详细信息,而这些攻击是去匿名化攻击的重要类型。
本文提出的Tor攻击多级分类法如图6所示。在顶层,我们使用对手的主要目标或动机作为区分因素,将所有Tor攻击分为四大类:去匿名化攻击、网络破坏攻击、审查攻击和一般攻击。在中间层,我们根据Tor网络的目标组件进一步划分攻击。在最底层,区分因素是对手使用的方法(主动或被动)。
去匿名化攻击:由于Tor是一个匿名网络,因此这是针对Tor的最常见攻击类型。Tor上的去匿名化攻击主要有两种情况:1.将客户IP地址与客户通过Tor网络访问的网站IP地址关联起来。例如,某个实体(如执法机构)可能想调查可疑个人,并找出他们通过Tor访问了哪些网站。此外,执法机构可能会监控特定的网络服务,以识别其用户。2.揭示HS的实际IP地址,该地址受Tor的匿名性保护。
网络破坏攻击:这类攻击的主要目的是破坏网络,通常是通过DOS使用户无法使用网络。攻击对象可以是单个OR(例如网桥或出口节点),也可以是OR或DS的子集。Barbera等人的CellFlood攻击、Pappas等人的数据包旋转攻击和Jansen等人最近的基于带宽的DOS攻击就是这类攻击的一些例子。本文不详细介绍这些攻击。
审查攻击:Tor被普遍用作规避审查的工具。它允许专制和极权政府的用户绕过审查措施,访问受限制的内容。Tor引入的桥接器是不公开的中继器,以促进这一功能的实现。因此,这些政府会想方设法阻止人们访问Tor网络。因此,各方试图阻止人们访问Tor网络的行为被视为审查攻击。阻止Tor流量的深度数据包检查和Tor桥接发现攻击也可归类为审查攻击。
一般攻击:这是一个包罗万象的类别,包含了许多未被归入其他类别的攻击。它包括识别Tor流量或网桥的指纹攻击、控制过多节点的假人攻击以及拒绝服务攻击。我们注意到,通用类别下的大多数攻击都是其他攻击的前兆。例如,某些去匿名化攻击要求攻击者控制电路的入口节点。因此,在这种情况下,Li等人所讨论的操纵客户端选择被破坏的防护节点的攻击可能是有利的。同样,Tor流量指纹攻击通常是作为审查攻击的前奏来实施的。本文不详细介绍审查攻击和一般攻击。
我们主要关注的是试图对用户、HS或两者进行去匿名化的攻击。对用户进行去匿名化通常有两个目的:找出谁在访问某个特定网站,或者找出某个特定用户正在访问哪些网站。对去匿名化攻击的研究在Tor研究中占有较大比重。因此,我们旨在对这类攻击进行明确的分类和广泛的分析。
我们提出的分类法是多层次的。对于去匿名化攻击,在最高层,我们根据攻击者破坏和控制网络组件的能力考虑了四个子类别。考虑的网络组件包括洋葱代理(Tor客户端)、洋葱路由器(入口、中间、出口、引入点、会合点 (RP))、HS和外部网络服务器。这些组件之外的任何其他资源都被视为侧信道。此外,使用混合组件的攻击被归类为混合攻击。
这类攻击要求对手同时访问Tor电路的入口和出口OR,可以通过破坏现有的Tor节点或在Tor网络中引入由攻击者控制的新节点来实现。在引入新节点时,可以采取一些措施来增加Tor节点被选为入口或出口节点的机会。Tor节点可以指定自己只能用作出口节点,并配置出口策略以允许选定的协议,从而提高特定Tor节点被选为出口节点的可能性。此外,节点还可以虚假宣传高带宽和高正常运行时间,以被选为入口守卫。在Tor网络的早期阶段,活跃节点数量较少,攻击者部署的节点被选为电路一部分的成功概率很高。图7显示了此类攻击的一般场景,其中恶意入口守卫和恶意出口节点都是被攻击者攻陷或运行的节点。从概念上讲,这两个节点都连接到另一个由攻击者控制的设备,即中心机构。不过,中心机构代表的是一个可以访问入口节点和出口节点数据的组件。它可以是一个完全不同的设备,也可以是其中一个节点本身(例如,如果入口节点将其所有数据发送到出口节点,我们就可以将出口节点视为中心机构)。由于中心机构拥有来自入口节点和出口节点的数据,因此它可以处理这些数据并将流量关联起来,从而实现客户/用户的去匿名化。
在这一类攻击中,对手只使用一个Tor网络组件,如OP、服务器或OR。假设使用OP(Tor客户端)来实施攻击。在这种情况下,通常会对其默认功能进行修改,以满足攻击要求,例如发送周期性流量模式。如果攻击需要入侵服务器,可以通过托管服务器或控制目标服务器来实现。表2总结了属于前两类的攻击,并显示了Tor网络是如何随着时间的推移而扩展,从而使通过控制Tor节点来实施攻击变得具有挑战性的。
侧信道攻击利用破坏Tor主要组件以外的手段实施攻击。针对Tor的最常见侧信道类型是拦截Tor客户端与入口节点之间的流量。网络管理员或互联网服务提供商(ISP)可以监控这些流量。
如果在攻击中混合使用了前几类中的Tor网络组件,则该攻击属于混合攻击。例如,这种攻击需要结合使用Tor节点、服务器、客户端和侧信道。
为了免受去匿名化攻击的影响,Tor协议也做了一些安全改进。Tor项目维护了一个博客(https://blog.torproject.org/),其中提供了一些为提高Tor安全性而实施的开发和修复。我们的讨论仅限制在Tor博客中涉及去匿名化攻击的文章上。
在最初的Tor版本中,网络中的每个路由器都会生成一个路由器描述符,该描述符经过签名并上传到其中一个DS。每个DS创建其描述符的签名列表,并根据客户端的请求将其发送给客户端。上述机制的许多问题中也存在一些安全问题。
在此过程中,DS发生了一些变化,包括在引入目录投票系统之前为节点分配标志(例如快速、稳定、良好的保护节点)。在目录投票制度下,DS将定期共享投票文件并产生共识文件,并由每个DS签署。因此,客户只需下载一份文档并确保大多数已知的DS都签署了该文档。这些更改有助于解决原始设计中的一些安全问题。
早期的一些去匿名化攻击都是基于有一个对手控制的入口节点。根据Øverlier和 Syverson的建议,Tor实施了守卫节点功能,以降低电路被入侵的概率。现在,普通的Tor节点会根据带宽和正常运行时间等几个特征来分配保护标志。Tor客户端一旦选择了一组守卫节点,就会将其保留30-60天。这种情况大大降低了对手通过引入新的Tor节点并期望它们被选为入口节点来破坏电路的几率。另一方面,如果一个受敌方控制的节点被选为守护节点,敌方就有很大机会解除用户的匿名身份,因为该节点会在相当长的时间内反复用于许多电路。
在Tor的最早版本中,电路的节点是统一随机挑选的。然而,这造成了许多带宽瓶颈,严重影响了Tor的性能。因此,Tor协议被修改为根据节点的带宽和能力(如入口守卫、出口节点)按比例选择节点。这一功能增加了攻击者通过为其控制的节点申请高带宽来破坏更多电路的机会。起初,为了将这种影响降至最低,我们设置了最大带宽限制,但后来又指派了一组带宽管理机构来测量和表决观察到的节点带宽。这些测量值在共识文件中公布,从而避免了之前的漏洞。此外,还允许诚实的节点操作员将其节点声明为同一系列,以防止客户端在其电路中选择来自同一系列的两个节点。这些节点族可防止节点操作员无意中将自己的节点选为电路的入口和出口节点。
由于创建新电路会给网络带来计算和带宽开销,Tor客户端会尝试重复使用电路,通过电路发送多个TCP流。这种情况的问题在于,如果一个数据流泄露了用户去匿名化的信息,被入侵的出口节点可能也能对该电路中的其他数据流进行去匿名化处理。为了降低这种风险,Tor将切换到新电路前的电路使用时间限制为十分钟。Tor用户还可以为新的数据流创建新的线路,并配置Tor以根据目标IP/端口隔离数据流。默认情况下,Tor会分离来自不同客户端、同一Tor客户端的不同SOCKS端口或具有不同身份验证凭据的SOCKS连接的数据流。
Tor采用了一种填充方案来掩盖HS电路创建过程中的客户端流量。
本文总结了几个重要特征: