对Tor的去匿名化攻击的调查

文章信息

论文题目: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攻击的分类

本文提出的Tor攻击多级分类法如图6所示。在顶层,我们使用对手的主要目标或动机作为区分因素,将所有Tor攻击分为四大类:去匿名化攻击、网络破坏攻击、审查攻击和一般攻击。在中间层,我们根据Tor网络的目标组件进一步划分攻击。在最底层,区分因素是对手使用的方法(主动或被动)。

image.png

去匿名化攻击:由于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和外部网络服务器。这些组件之外的任何其他资源都被视为侧信道。此外,使用混合组件的攻击被归类为混合攻击。

  • 入口和出口路由器:这些攻击要求攻击者同时控制线路的入口和出口节点。
  • 洋葱代理(OP)/洋葱路由器(OR)/服务器:这些攻击由控制单个Tor节点(Tor客户端、洋葱路由器或服务器)的攻击者发起。与其他攻击相比,这类攻击的范围似乎更广一些。不过,Tor的威胁模型本身就很难通过单个组件实施去匿名化攻击,这一事实已被考虑在内。
  • 侧信道:侧信道攻击是指利用其他手段进行的攻击,例如监控和操纵电路组件之间的链接,如用户与入口节点之间的链接。
  • 混合型:该类别综合考虑了上述类别中使用的组件。

入口和出口洋葱路由器

这类攻击要求对手同时访问Tor电路的入口和出口OR,可以通过破坏现有的Tor节点或在Tor网络中引入由攻击者控制的新节点来实现。在引入新节点时,可以采取一些措施来增加Tor节点被选为入口或出口节点的机会。Tor节点可以指定自己只能用作出口节点,并配置出口策略以允许选定的协议,从而提高特定Tor节点被选为出口节点的可能性。此外,节点还可以虚假宣传高带宽和高正常运行时间,以被选为入口守卫。在Tor网络的早期阶段,活跃节点数量较少,攻击者部署的节点被选为电路一部分的成功概率很高。图7显示了此类攻击的一般场景,其中恶意入口守卫和恶意出口节点都是被攻击者攻陷或运行的节点。从概念上讲,这两个节点都连接到另一个由攻击者控制的设备,即中心机构。不过,中心机构代表的是一个可以访问入口节点和出口节点数据的组件。它可以是一个完全不同的设备,也可以是其中一个节点本身(例如,如果入口节点将其所有数据发送到出口节点,我们就可以将出口节点视为中心机构)。由于中心机构拥有来自入口节点和出口节点的数据,因此它可以处理这些数据并将流量关联起来,从而实现客户/用户的去匿名化。

image.png

洋葱代理/洋葱路由器/服务器

在这一类攻击中,对手只使用一个Tor网络组件,如OP、服务器或OR。假设使用OP(Tor客户端)来实施攻击。在这种情况下,通常会对其默认功能进行修改,以满足攻击要求,例如发送周期性流量模式。如果攻击需要入侵服务器,可以通过托管服务器或控制目标服务器来实现。表2总结了属于前两类的攻击,并显示了Tor网络是如何随着时间的推移而扩展,从而使通过控制Tor节点来实施攻击变得具有挑战性的。

image.png

侧信道

侧信道攻击利用破坏Tor主要组件以外的手段实施攻击。针对Tor的最常见侧信道类型是拦截Tor客户端与入口节点之间的流量。网络管理员或互联网服务提供商(ISP)可以监控这些流量。

image.png

混合型

如果在攻击中混合使用了前几类中的Tor网络组件,则该攻击属于混合攻击。例如,这种攻击需要结合使用Tor节点、服务器、客户端和侧信道。

image.png

防止去匿名化

为了免受去匿名化攻击的影响,Tor协议也做了一些安全改进。Tor项目维护了一个博客(https://blog.torproject.org/),其中提供了一些为提高Tor安全性而实施的开发和修复。我们的讨论仅限制在Tor博客中涉及去匿名化攻击的文章上。

目录系统的安全性改进

在最初的Tor版本中,网络中的每个路由器都会生成一个路由器描述符,该描述符经过签名并上传到其中一个DS。每个DS创建其描述符的签名列表,并根据客户端的请求将其发送给客户端。上述机制的许多问题中也存在一些安全问题。

  1. 没有分布式信任,每个DS都是单独信任的。因此,受损的DS可用于对其所有客户端执行攻击。
  2. 目录内容未加密,容易被窃听。
  3. 不一致的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电路创建过程中的客户端流量。

总结

本文总结了几个重要特征:

  1. 大多数早期的去匿名化攻击都集中在破坏Tor电路的网络组件上。其主要原因是这些攻击发布时,Tor网络中的中继器数量较少。然而,随着Tor的日益普及,自愿中继站的数量也在增加,通过破坏一小部分Tor中继站来实施攻击的实用性已经降低。因此,最近的攻击都假定对手是被动的,可以观察到源链接和目的链接上的流量。
  2. 其他研究领域的技术和概念启发了Tor研究人员为Tor引入新的攻击方案。这种跨学科研究将使研究人员能够设计出更有创意、更强大的针对Tor网络的攻击方案。
  3. 最近的研究还尝试使用深度学习等技术来攻击Tor网络。深度学习和人工智能正在快速发展,并影响着其他技术。Tor研究界必须努力跟上这些新技术的步伐,因为它们可能成为现实生活中对手手中的强大工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/299776.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VBA技术资料MF104:判断工作簿或工作表是否受保护

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

Android Studio 报错AAPT: error: resource android:attr/lStar not found.解决方法!

目录 前言 一、报错信息 二、解决方法 三、常见处理方法总结 四、更多资源 前言 在快速发展的科技领域中,移动应用开发已经成为了一个非常热门的领域。而作为开发Android应用的主要工具之一,Android Studio 提供了丰富的功能和工具来帮助开发者构建…

memory监控方法

Java: (adb shell dumpsys meminfo x)堆内存用于存储对象实例和静态变量 Native: Code: 加载app代码用到的内存:比如class对象,读取so,apk,dex文件时用到的mmap文件 Stack: stack内存存放了栈帧(用于存储局部变量…

WinForms中的UI卡死

WinForms中的UI卡死 WinForms中的UI卡死通常是由于长时间运行的操作阻塞了UI线程所导致的。在UI线程上执行的操作,例如数据访问、计算、文件读写等,如果耗时较长,会使得UI界面失去响应,甚至出现卡死的情况。 解决方法 为了避免…

【算法Hot100系列】有效的括号

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

【算法笔记】状态机dp

状态机dp概述 当一个事件涉及的过程的考虑并且方案数的考虑比较繁琐时,我们可以尝试用状态机的思想去考虑这个问题,将这个问题简化,就是去考虑一个对象他所具有的几种状态。 状态机主要考虑一下两个方面:状态和转移 状态其实也…

MySQL BufferPool精讲

缓存的重要性 我们知道,对于使用InnoDB作为存储引擎的表来说,不管是用于存储用户数据的索引(包括聚簇索引和二级索引),还是各种系统数据,都是以页的形式存放在表空间中的,而所谓的表空间只不过…

[VUE]3-路由

目录 路由 Vue-Router1、Vue-Router 介绍2、路由配置3、嵌套路由3.1、简介3.2、实现步骤3.3、⭐注意事项 4、⭐router-view标签详解 ​🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅…

x-cmd pkg | usql - SQL 数据库的通用交互界面

目录 简介首次用户功能特点竞品和相关作品进一步阅读 简介 “usql” 是一个基于命令行的数据库客户端工具,它允许用户连接和管理多种类型的数据库。usql可以在多个操作系统上运行,包括 Linux、macOS 和 Windows。它还具有插件系统,可以根据需…

SpingBoot的项目实战--模拟电商【5.沙箱支付】

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于SpringBoot电商项目的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一. 沙箱支付是什么 二.Sp…

el-table魔改后出现的坑,未解决供大家讨论

目前有一个坑。当我el-table表格字体设置大之后:show-overflow-tooltip会一直显示。 目前产品必须按照Ui图字体大小走,所以导致上面情况

(04)刻蚀——选择刻蚀材料创建所需图形

01、光“堆叠”可不行 前期我们了解了如何制作“饼干模具”。本期,我们就来讲讲如何采用这个“饼干模具”印出我们想要的“饼干”。这一步骤的重点,在于如何移除不需要的材料,即“刻蚀(Etching)工艺”。 ▲ 图1: 移除饼干中间部分,再倒入巧克力糖浆 让我们再来回想一下…

Lumerical------关闭 drawing grid 去更好地显示 mesh grid

Lumerical------关闭 drawing grid 去更好地显示 mesh grid 引言正文 引言 在 Lumerical 结构设置的时候,有时候我们想要查看 mesh 结构的 grid,但是本身默认的 dtawing grid 黑框会阻碍我们的观察,这时,我们便可以通过设置关闭这…

C#中List<T>底层原理剖析

C#中List底层原理剖析 1. 基础用法2. List的Capacity与Count:3.List的底层原理3.1. 构造3.2 Add()接口3.3 Remove()接口3.4 Inster()接口3.5 Clear()接口3.6 Contains()接口3.7 ToArray()接口3.8 Find()接口3.8 Sort()接口 4. 总结5. 参考 1. 基础用法 list.Max() …

简单又好玩的数据库就是有点烦

1 数据库 1.1 数据库类型 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL语句(标准数据查询语句)就是一种基于关系型数据库的语言&#xff…

基于Java SSM框架实现实现机房预约系统项目【项目源码+论文说明】

基于java的SSM框架实现机房预约系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识&#…

2024年度 ROTS - 实时操作系统 Top 15

RTOS(实时操作系统)。 这里说的 RTOS 并非新星球大战电影中的机器人,而是物联网设备、航空系统、空中交通管制等背后的无声协调者,就在地球上。 RTOS,或称实时操作系统,设计它们是为了更好的管理资源&…

Transformer-MM-Explainability

two modalities are separated by the [SEP] token,the numbers in each attention module represent the Eq. number. E h _h h​ is the mean, ∇ \nabla ∇A : ∂ y t ∂ A {∂y_t}\over∂A ∂A∂yt​​for y t y_t yt​ which is the model’s out…

分布式锁3: zk实现分布式锁2 使用临时节点(需要自旋)

一 使用临时节点实现分布式锁 1.1 代码截图 1.2 代码如下 由于zookeeper获取链接是一个耗时过程,这里可以在项目启动时,初始化链接,并且只初始化一次。借助于spring特性,代码实现如下: package com.atguigu.distri…

营业执照代办网站源码 工商注册代账公司模板源码 公司注册和企业资质业务办理网站

这款大气蓝色的网站响应式模板专门为工商记账、公司注册和企业资质业务办理公司设计,包含了16个页面,非常适合正在寻找一个高质量网站模板的企业使用。 该模板使用响应式设计,使其能够在各种设备上呈现良好的用户体验,包括PC、平板和手机等。同时,页面设计非常美观,允许…