新南威尔士大学 | Tor去匿名攻击综述

admin 2023年7月28日10:11:37评论91 views字数 7337阅读24分27秒阅读模式
新南威尔士大学 | Tor去匿名攻击综述

原文标题:De-Anonymisation Attacks on Tor: A Survey
原文作者:Ishan Karunanayake, Nadeem Ahmed, Robert Malaney, Rafiqul Islam, Sanjay K. Jha
原文链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9471821
发表期刊:IEEE Communications Surveys & Tutorials
笔记作者:1cey@安全学术圈
主编:黄诚@安全学术圈

1. 研究概述

由于用户对个人隐私保护的需求日益增长,匿名网络在如今的互联网应用愈发广泛。而Tor(The Onion Router Project)是当下最受欢迎的匿名网络,为众多用户和服务提供了匿名保护。尽管如此,匿名服务也常常被误用,不不法分子可能会利用匿名服务来贩售枪支毒品,抑或是搭建用户僵尸网络的C&C服务器。因此,许多组织包括政府和立法机构都对针对Tor网络的去匿名攻击(De-anonymization Attack)感兴趣,希望可以绕过Tor网络的匿名机制。在这篇文章中,作者对针对Tor网络的去匿名攻击作了全面的综述,相比于之前的综述工作,本文的分析覆盖面更广,新增了超过30种去匿名攻击,并且还分析了之前综述中未包含的基于深度学习的去匿名攻击,以及基于网站指纹或隐藏服务的攻击类型。作者还提出了多层次的分类方法,在不同分类层次上使用不同的鉴别因子来提供系统的分类。

2. 背景知识

Tor网络的各个组成部分

新南威尔士大学 | Tor去匿名攻击综述
  • Tor客户端(Onion Proxy, OP):用户的客户端代理程序,负责下载目录服务器中的路由信息,选择节点和建立路径,并对通信信息进行加解密。
  • 目录服务器(Directory Servers, DS):网络中的部分可信服务器构成的集合,它负责收集和更新网络中所有可运行的中继节点信息,为客户端提供节点公钥等建立链路所需的必要信息。
  • 入口节点/守卫节点(Entry Node/Guard):Tor网络的入口节点,与OP直接相连,这些中继节点运行一段时间后,如果被证明是稳定的,并具有足够的高带宽,就会被选为Guard中继节点。
  • 出口节点(Exit Node):位于出口节点位置的洋葱路由,负责将Tor网络内的流量转发到网络外部的互联网中去。此外,由于Tor网络的最后一层加密在此结束,恶意Exit节点可以很容易地劫持到通过它的Tor流量。
新南威尔士大学 | Tor去匿名攻击综述
  • 隐藏服务(Hidden Service, HS):Tor默认为用户提供匿名服务,但并没有隐藏用户所访问网站的IP地址。为了实现隐蔽性,Tor网络支持隐藏服务,隐藏服务可以被托管在Tor网络内部节点或是外部节点,它们以.onion作为顶级域名。用户需要自行寻找此类隐藏服务并进行访问。HS的匿名性吸引了从事网络犯罪的不法分子。
  • 引入点(Introduction Points, IP):由HS挑选的用于注册其服务的节点,为了避免DoS攻击,HS通常会挑选出几个,并将这些节点的信息和其公钥记录在隐藏服务目录。Introduction Points完全不知道HS的IP地址,因为它们之间的通信是通过一个完整的Tor网络连接的。简单来说引入节点是HS提供者为了接入Tor网络,匿名地提供应用服务的链接节点。
  • 汇聚点(Rendezvous Points, RP):OP在初始化一个连接前随机挑选的Tor节点,一般该节点位于入口节点和中间节点之间,是用户与HS提供者进行匿名数据通信的中心节点,用户Tor客户端与HS都建立3跳链路来连接RP。
  • 网桥(Bridge):由于DSs维护了Tor网络中的中继列表,容易被服务提供者用来审查或阻断Tor网络,为了解决该问题,网桥应运而生。网桥是Tor网络中的普通中继点,不存在于主Tor目录中,并替代了网络中Guard的位置。

Tor网络工作原理

  1. 若客户端Alice的洋葱代理会周期性地从目录服务器处下载整个网络中路由节点的信息,如IP地址、公钥等,用来选择节点建立通信链路。
新南威尔士大学 | Tor去匿名攻击综述
  1. Alice的OP会依据特定的路径选择算法选择一系列路由节点(默认是3个)来建立匿名链路。如下图所示,Alice的OP首先会与第一条的入口节点协商会话密钥,并通过与第一条节点建立的链路继续与中间节点协商会话密钥,该过程一直重复,直到与结束(Exit)节点协商好会话密钥。至此,一条匿名链路(Circuit)建立完成。
新南威尔士大学 | Tor去匿名攻击综述
  1. 此后,若Alice希望与另一个站点匿名通信,将会重复第2步,重新选择新的路由节点建立新的匿名链路。
新南威尔士大学 | Tor去匿名攻击综述

为了抵御流分析攻击,Tor使用固定长度为512字节的数据单元。数据单元的组成如下图所示:

新南威尔士大学 | Tor去匿名攻击综述

Tor隐藏服务

新南威尔士大学 | Tor去匿名攻击综述
  1. 首先,隐藏服务会在Tor网络节点中选取若干个作为Introduction Points,并与这些节点建立连接。
  2. 接着,HS会与DS连接,使用服务描述符发布其公钥、过期时间以及所选的引入点的详细信息。
  3. 完成接入后,HS的拥有者就可以通过各种方式发布自己的洋葱地址(e.g. xyz.onion)了。

3. Tor攻击分类

新南威尔士大学 | Tor去匿名攻击综述作者依据攻击者的首要目标或动机,将Tor攻击分为四大类:

  • 去匿名攻击(De-anonymisation):针对Tor最流行的攻击类型。
  • 网络扰乱攻击(Network disruption):主要通过DoS来干扰网络,使网络对用户不可用。
  • 审查攻击(Censorship):部分国家或组织利用审查手段阻止用户使用Tor,Tor中引入了网桥来对抗这一攻击。
  • 通用攻击(Generic):总类,包括许多其他分类中未归类的攻击。

其中去匿名攻击是重点分析的攻击手段,作者根据攻击Tor网络的目标组件分成了若干类,而最低层级的分类则是依据攻击所用的方法进行分类。

4. 去匿名攻击

作者对于去匿名攻击,根据攻击者选择攻击的网络组件,分成4个子层次,分别是洋葱代理、洋葱路由、隐藏服务以及外部的Web服务器;而根据攻击者攻击手法的不同,又更细分为主动攻击和被动攻击,所谓主动攻击即是指攻击者可以篡改网络中流量,而被动攻击只允许攻击者监听和收集网络流量。对于任何不属于上述组件的外部资源,均视之为侧信道。此外,针对多个组件进行的攻击的行为被分类为混合攻击。

Entry and Exit Onion Routers(出入口节点)

该类攻击需要攻击者可以访问入口节点和出口节点,可以通过入侵现有的Tor节点或将受攻击者控制的节点引入Tor网络来实现。为了提高可控节点被选为出入口节点的概率,攻击者会采取某些特定手段,例如,可以指定可控节点只可被选定为出口节点,并配置相应出口策略以允许选定的协议,这可以提高可控节点被选为出口节点的可能性。

此外,可控节点可以虚假通告其高带宽以及高正常运行时间以被选择为Guard节点。如下图所示,攻击者通过中央机构控制了恶意Guard节点和恶意出口节点,可以访问入口和出口节点数据,从而可以关联流量进行用户去匿名化。

新南威尔士大学 | Tor去匿名攻击综述
  • 被动攻击示例
    • 文献[3]提出了一种针对Tor链路的去匿名攻击。该攻击分为两个阶段:在阶段1,攻击者需要控制许多Tor中继节点。在Tor网络的早期阶段,路由可以错误地向目录服务器通告虚假的带宽和正常运行时间,而DS在选取特定路由来建立链路时并不会验证这些值,这使得可控节点可以以低带宽进入链路,并提高了被选中的概率。在阶段2,网络中的所有可控节点会记录接收到的每个数据包的信息,并执行相关算法将发送者与接收者关联起来。
  • 主动攻击示例
    • 文献[4]提出了一种时序攻击方法:攻击者控制了出口节点,并将一段包含JavaScipts代码的不可见iframe插入到向客户端发送的HTTP流量中。用户的Tor浏览器执行这段恶意代码后,将会定期向攻击者控制的恶意服务器发送独特的信号。由于Tor客户端会定期选取一个新的链路来增强匿名性,如果客户端在某一时刻选取了一个可控恶意节点加入链路,那么攻击者便可以利用时序分析对用户进行去匿名化。

作者认为,同时对入口节点和出口节点进行攻击的行为在早期的Tor网络比较常见,而随着Tor网络规模和用户数量的增长,攻击者很难通过部署自己Tor中继进行攻击,除非攻击者拥有高度丰富的网络资源。因此,早期对Tor的攻击更多地关注如何破坏节点来破坏其匿名性。

Onion Proxy/Onion Router/Server(单个Tor网络组件)

在该类别的攻击中,攻击者对单个Tor网络组件,如洋葱代理、隐藏服务或是洋葱路由进行攻击。在这种情况下,该组件的默认功能通常会被修改以匹配攻击的要求,如发送周期性的流量。

  • 被动攻击示例
    • 文献[5]提出了一个名为CARONTE的工具,该工具使用隐藏服务中内容与配置信息的位置泄露来对HS进行去匿名化。该攻击主要有3步:
    1. 搜寻阶段:在该阶段CARONTE使用一组Onion URL作为输入,并将URL扩展为根目录页面、所有资源以及随机资源页面(用于触发"Page not found"),并使用Tor访问这些扩展后的URL,利用HTTP和HTTPS收集隐藏服务的内容和证书链。
    2. 候选目标选择:使用收集到的信息生成候选对列表,一个候选目标对由一个Onion地址和一个网络终端组成。
    3. 验证阶段:CARONTE通过分别访问网络终端和Onion地址来收集其内容与证书,并将两者进行比较以完成。这种方法主要利用隐藏服务中泄露的敏感信息来完成去匿名攻击。
  • 主动攻击示例
    • 文献[6]提出了一种新的主动网站指纹识别攻击,其作者假设攻击者可以控制Tor链路的入口节点并可以控制通过该节点的流量。攻击者试图通过延迟洋葱客户端的HTTP请求来检索网页对象(如图片、CSS等),以推断网页的相关信息,并在网站指纹识别攻击中使用。该方法主要由3个步骤组成:
    1. 攻击者通过观察链路和流建立的单元传输模式来尝试识别第一个HTTP请求。
    2. 接着识别后续请求的延迟位置,这部分是由精心设计的单元延迟位置决策算法和延迟调度算法来实现的。
    3. 捕获和记录所有中继单元,同时提取特征并创建指纹,并使用SVM进行分类。

作者认为,对掌握可控资源较少的攻击者而言,Tor所提供的匿名性保证是很强的,因此,有许多研究将攻击的重点放在了隐藏服务上,因为一个隐藏服务连接不会退出Tor网络,所以找出不涉及流量的方法也是很重要的。此外,针对单个网络部件的攻击方式也比较丰富,例如利用时钟偏移、利用BT应用中的漏洞、泄露隐藏服务中的位置信息等。

Side Channels(侧信道)

侧信道攻击主要是通过拦截洋葱客户端和入口节点之间的流量来执行攻击。

  • 被动攻击示例

    • 文献[7]提出了一种名为K-fingerprinting的网站指纹攻击,该攻击假设攻击者可以观察客户端的加密流量。首先,攻击者从一组希望监视的网站以及大量的未监视网站捕获网络流量,并使用这些流量作为训练分类器的数据集,训练得到随机森林分类器。随后,攻击者捕获来自客户端浏览会话的痕迹,并通过随机森林分类器提取固定长度的网站指纹,然后攻击会计算这些客户端流量的网站指纹与用于分类器的数据集网站指纹之间的汉明距离,以此来进行去匿名化。新南威尔士大学 | Tor去匿名攻击综述
  • 主动攻击示例

    • 文献[8]提出了一种主动侧信道攻击,攻击者可以影响出口节点和服务器之间的通信速率,从而能观测到客户端与入口节点间的流量变化。首先,攻击者从探针链路向出口节点发送伪造数据包(原地址和端口为服务器)。然后出口节点向服务器发送重复ACK,三次重复ACK后发生拥塞,使得服务器的拥塞窗口缩小,导致传输速率降低。而攻击者可以在客户端观测到这一点,从而使得通信去匿名化。

侧信道攻击是数量最多的攻击方式,研究人员也将研究重点放在网站指纹和应用深度学习等热点技术上。从近些年的研究工作便可见一斑。主要的原因是网站指纹攻击更加悄无声息,且成功率更高,此外网站指纹攻击使得研究者更容易应用时下流行的人工智能技术。

新南威尔士大学 | Tor去匿名攻击综述

Hybrid(混合攻击)

如果在攻击中使用了多种Tor网络组件,这将该类攻击划分为混合攻击。一般该类攻击需要结合使用Tor节点、服务器、洋葱客户端和侧信道。

  • 被动攻击示例
    • 文献[9]提出了一种著名的针对Tor的隐藏服务的攻击方式。在该攻击场景中,一个攻击者可控的客户端直接连接到会面节点RP上以减少客户端与隐藏服务之间的延迟。此外,攻击者还控制了一个中间人节点(恶意的HS Guard),用于通告虚假的运行时间和带宽以便被选择为HS和RP之间的链路节点。该攻击方式利用基本数据包计数来匹配确认一个该恶意节点是否已经成为HS链路的一部分。另一个需要确定的是节点在链路中的位置,由于客户端知道RP的IP地址,当确定恶意节点距离RP最近时,将会拆除并重新建立链路,直到恶意节点两端IP地址未知时,则可能会进行如下3种攻击方式以确定位置:
    1. 服务位置攻击:基于DS所拥有的网络中服务器节点的公共列表。
    2. 前任攻击:收集IP地址统计信息,通过流量模式匹配来推断HS的IP地址。
    3. 距离攻击:计算节点流量的往返时间以确定。新南威尔士大学 | Tor去匿名攻击综述
  • 主动攻击示例
    • 文献[10]提出了一种名为INFLOW的逆向流水印攻击,用于对HS进行去匿名攻击。该攻击可以在目的地插入流水印,并可以被源头检测到。该技术利用了Tor的拥塞机制,在未收到前一条消息时不发送ACK;当用户从服务器请求大量数据时,从服务器到客户端的流量增加,而只有少量数据包和ACK从客户端到服务器。使用该技术后,经设计后的客户端可以从删除服务器上突发的ACK并提示其流量模式,这样的情况可以被攻击者控制的HS守卫节点识别出来。

许多针对HS的攻击都可归类于混合攻击,而随着Tor网络规模的逐渐扩大,许多传统的去匿名攻击方式(例如探测Tor节点等)难以成功。而针对HS的攻击在近些年也成为研究热点,许多新颖的攻击方式,如利用网站指纹、Tor拥塞机制逐渐成为Tor匿名性的主要威胁。

4. 应对去匿名攻击的安全措施

为了应对去匿名攻击,许多研究也提出各类安全对策与改进方法,在提高Tor安全性与匿名性方面卓有成效。这些安全方面的改进包括但不限于:

  • 提升目录服务器的安全性
  • 引入守卫节点
  • 引入带宽能力的授权机制
  • 加入应对网站指纹攻击的安全机制
新南威尔士大学 | Tor去匿名攻击综述

5. 结论

本文对重要的Tor去匿名攻击进行了综述,为这些攻击方式提出了层次化的分类方法,并在各个层级下从主动和被动两个方面进行攻击方法的归类与分析,为后续Tor安全研究提供了宝贵的资源。

论文作者信息

  • Ishan Karunanayake, 新南威尔士大学计算机科学与工程学院博士生,研究兴趣包括网络安全、恶意软件分析、匿名性和隐私性,以及机器学习。
  • https://au.linkedin.com/in/ishankarunanayake

6. 参考文献

  1. https://chaoge123456.github.io/Tor%E5%8C%BF%E5%90%8D%E7%BD%91%E7%BB%9C.html/
  2. https://www.4o4notfound.org/index.php/archives/45/
  3. Bauer K, McCoy D, Grunwald D, et al. Low-resource routing attacks against Tor[C]//Proceedings of the 2007 ACM workshop on Privacy in electronic society. 2007: 11-20.
  4. Abbott T G, Lai K J, Lieberman M R, et al. Browser-based attacks on Tor[C]//International Workshop on Privacy Enhancing Technologies. Berlin, Heidelberg: Springer Berlin Heidelberg, 2007: 184-199.
  5. Matic S, Kotzias P, Caballero J. Caronte: Detecting location leaks for deanonymizing tor hidden services[C]//Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. 2015: 1455-1466.
  6. Yang M, Gu X, Ling Z, et al. An active de-anonymizing attack against tor web traffic[J]. Tsinghua Science and Technology, 2017, 22(6): 702-713.
  7. Hayes J, Danezis G. k-fingerprinting: A robust scalable website fingerprinting technique[C]//25th USENIX Security Symposium (USENIX Security 16). 2016: 1187-1203.
  8. Gilad Y, Herzberg A. Spying in the dark: TCP and Tor traffic analysis[C]//International symposium on privacy enhancing technologies symposium. Berlin, Heidelberg: Springer Berlin Heidelberg, 2012: 100-119.
  9. Overlier L, Syverson P. Locating hidden servers[C]//2006 IEEE Symposium on Security and Privacy (S&P'06). IEEE, 2006: 15 pp.-114.
  10. Iacovazzi A, Sarda S, Elovici Y. Inflow: Inverse network flow watermarking for detecting hidden servers[C]//IEEE INFOCOM 2018-IEEE Conference on Computer Communications. IEEE, 2018: 747-755.
安全学术圈招募队友-ing 
有兴趣加入学术圈的请联系 secdr#qq.com

原文始发于微信公众号(安全学术圈):新南威尔士大学 | Tor去匿名攻击综述

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年7月28日10:11:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   新南威尔士大学 | Tor去匿名攻击综述http://cn-sec.com/archives/1912532.html

发表评论

匿名网友 填写信息