2. 清华大学 网络科学与网络空间研究院, 北京 100084
2. Institute for Network Sciences and Cyberspace, Tsinghua University, Beijing 100084, China
随着互联网用户对隐私数据泄露问题日益关注,匿名通信系统被越来越多地部署和使用。其中,第二代洋葱路由网络[1](the second-generation onion router, Tor)以完美前向安全、拥塞控制、目录服务、完整性校验、可配置出口策略以及聚合点设计等丰富特性吸引了日均超过三百万的用户[2],成为最流行的低延迟匿名通信网络,为保护用户隐私安全发挥了重要作用。然而,Tor网络匿名性面临流量分析方法的威胁。随着人工智能技术不断进步,流量分析去匿名化方法的准确性不断攀升,对Tor用户匿名性构成了重大挑战。
接入Tor用户匿名通信路径以获取其加密流量是开展去匿名化分析研究的基础。由于构成Tor网络的节点来自志愿者捐赠,敌手同样可以通过部署节点获取用户流量。特别是Tor网络入口节点,因其能够直接关联用户身份,所以成为获取用户流量的关键位置。为加强对这些入口节点的保护,Tor引入守卫节点选择机制[3],用户初次使用客户端软件时会选择少量入口节点作为其守卫节点,一旦守卫节点列表被选定,除非出现故障,否则客户端在长达120 d的有效期内仅使用这些守卫节点作为入口节点创建匿名通信虚电路,从而降低了因频繁更换Tor入口节点而被敌手攻击的风险。
近年来,很多Tor流量获取研究通过影响客户端守卫节点选择过程诱导用户使用敌手可控的节点,被称为Tor用户守卫节点操纵。依据敌手能力设定的不同,这些研究大致分为3种:1) 假定敌手部署大量节点[4-6],然后利用Tor网络脆弱性提高这些可控节点被客户端选择的概率;2) 假定敌手在部署节点的同时也具备网络级操控能力[7-8],包括控制平面和数据平面上的欺骗、嗅探、修改、丢弃等,迫使客户端只能选择敌手可控的节点;3) 假定敌手在部署节点之外,还可以针对其他非可控节点的处理器、内存、带宽等资源发起拥塞类攻击[9-10],进而提升其部署节点的中选率。
分析用户流量获取成本是评估流量分析方法威胁程度的重要内容。然而,现有流量获取研究主要关注其方法原理的可行性,较少研究费效比问题。例如仅实施节点部署的敌手,需要长时间被动等待,直至Tor用户现有守卫节点失效更替,因而需要投入大量资源。网络敌手的能力假设适用于针对性地操纵特定用户,大规模推广应用成本极高。多数拥塞类方法执行机制复杂,需要大量资源实施饱和攻击,没有充分考虑费效比。
针对这些问题,本文分析可控节点部署与非可控节点拥塞攻击之间的内在联系,研究如何通过资源融合分配以最大化守卫节点操纵效益,主要包括以下3方面的工作:
1) 基于对敌手和守卫节点的分析确定攻击目标,统一资源度量方法,给出有限资源融合分配的形式化描述;
2) 分析节点部署的资源需求,研究合理利用资源提升部署节点中选率的方案并进行评估;
3) 通过排队论模型量化非可控节点带宽消耗,在此基础上利用流偏移统筹攻击资源额度和非可控节点带宽,优化拥塞攻击流量分配方案并进行评估。
1 背景介绍 1.1 Tor流量分析去匿名化Tor是一个能够提供低延迟匿名访问服务的互联网覆盖网络,由数千个世界各地志愿者捐赠的路由器组成。这些路由器也被称为中继节点,分为入口、内部和出口3种类型。另外,Tor网络也包含若干负责聚合并分发所有中继信息的权威目录服务器。
为与通信目标建立匿名连接,Tor客户端从权威目录服务器下载包含中继节点信息的共识文件,并从中挑选3个节点(每种类型各一个)。Tor客户端同这3个节点分别进行密钥协商并利用这些节点建立虚电路。成功后,Tor客户端轮流使用这3个密钥加密由固定大小为512个字节的细胞(cell)数据单元组成的数据包。这些类似洋葱一样被多层加密的数据包首先到达入口节点。该节点使用自己此前与Tor客户端协商的密钥解密数据包,得到下一跳即内部节点的IP地址,将单层解密后的数据包发送给此地址。内部节点依照同样的过程解密该数据包,并将再次解密后的数据包发送给出口节点。最终,出口节点将完全解密后的数据包发送到通信目标。
通过这样的方式,Tor客户端、入口节点、内部节点和出口节点建立了一条匿名通信虚电路。各节点会记录下自己的上下跳地址以保证数据包有序传递。但由于它们仅知道和自己直接相连的地址,除了Tor客户端自身,这条通信连接上没有任何节点能够把Tor客户端和通信目标关联起来,因而实现了客户端对目标访问的匿名性。
由于近年来人工智能研究特别是深度学习技术不断取得重大进展,以网站指纹识别和流关联为典型代表的Tor加密流量分析去匿名化研究迎来新的机遇,成为当前的热点。其中网站指纹识别基本原理是:虽然Tor使用了强加密,但无法隐藏网页访问数据流中数据包数量、方向、时间间隔等外在特征。如果攻击者预先知道用户所浏览网站的可能范围(一般用网站首页代表),其可以先使用Tor客户端自行访问这些网站并记录下相应的流量数据,然后基于这些数据使用机器学习或者深度学习技术训练一个分类器。分类器训练好之后,即可用于真实Tor用户访问流量的匹配识别。流关联的基本原理是:由于Tor网络的低延迟特性,入口端路径(Tor客户端到网络入口节点)上的流模式变化很快会反映在出口端路径(网络出口节点到通信目标)上。如果敌手能够同时捕获这两个端路径上的流量,则可通过统计度量方法或者度量模型将Tor客户端与通信目标进行关联。上述2类流量分析去匿名化攻击的威胁模型如图 1所示。由于这2类攻击都需要敌手位于入口端路径上,因而通信虚电路入口节点选择对获取用户流量非常关键。
|
| 图 1 两类Tor流量分析去匿名化攻击威胁模型 |
1.2 带宽估计与守卫节点选择
Tor入口节点对其安全性非常重要,不宜频繁更换。因此,Tor客户端会维护一个被称为“守卫节点”的备选入口节点列表。仅当一个节点满足在线8 d以上或者比当前网络中12.5%的节点在线时间长,节点带宽大于所有活动节点带宽中位数时才会被赋予标记“Guard”,进而可能被客户端选用。类似地,出口节点会被赋予标记“Exit”,即可用作入口也可用作出口的节点将被同时赋予这2个标记。
每个Tor中继节点在输入、输出2个方向上分别以10 s为周期记录过去5 d能够稳定维持的最大带宽,每隔18 h将二者之中较小的值作为观测带宽,向权威目录服务器报告。此外,Tor网络使用TorFlow带宽扫描器[11]轮流测量每个节点的可用带宽,有效期为4 h。若节点在t时刻的观测带宽记为bt, 相应时间TorFlow测量带宽记为mt,TorFlow测量的所有节点带宽均值记为μt,则调整后用作该节点在t+1时刻的性能度量,并在共识文件中公开发布供客户端参考的估计带宽为
| $ C_{(t+1)}=\frac{b_t \cdot m_t}{\mu_t}. $ | (1) |
世界各地志愿者捐赠的路由节点性能差异非常大。因此,利用带宽衡量节点性能并以此为基础对Tor网络流量进行负载均衡非常有必要。Tor客户端在选择守卫节点时,网络中具有“Guard”标记的各节点中选率与其带宽成正比。从2023年4月1日Tor网络共识文件中提取的“Guard”标记节点带宽分布[12]如图 2所示。
基于节点带宽加权选择算法,设具有“Guard”标记的敌手可控节点总带宽为Bk,则这些节点被Tor客户端选中的概率P为
| $ \begin{cases}P=\frac{B_{\mathrm{k}}}{B_{\mathrm{En}}+B_{\mathrm{k}}+B_{\text {Entry } \cap \text { Exit }} \cdot W_{\text {Exit }}} & \\ \frac{B_{\mathrm{k}}}{B_{\mathrm{En}}+B_{\mathrm{k}}+B_{\text {Entry } Y \text { Exit }} \cdot\left(1-\frac{B_{\text {Toala }}}{3 B_{\text {Exit }}}\right)}, & B_{\text {Exit }} \geqslant \frac{B_{\text {Total }}}{3} ; \\ \frac{B_{\mathrm{k}}}{B_{\mathrm{En}}+B_{\mathrm{k}}}, & B_{\text {Exit }}<\frac{B_{\text {Total }}}{3} .\end{cases} $ | (2) |
其中:BEn表示非受控节点总带宽,BEntry∩Exit表示其他非受控的可作为入口或出口的节点总带宽,BTotal表示当前Tor网络中所有节点总带宽,BExit表示出口节点总带宽,WExit表示出口节点权重。当出口节点总带宽不足Tor网络总带宽的1/3时,WExit为0,表示出口节点资源稀缺,任何具有“Exit”标记的节点将不会被同时授予“Guard”标记[13]。根据式(2)可知,Bk一定时,BEn越小,P越大。
1.3 守卫节点操纵相关工作Wan等[4]利用Tor位置感知路径选择算法得到相关位置选择偏好信息,将可控节点提前部署在Tor用户选择概率高的位置,在其节点总带宽较小的情况下实现比带宽占比高数十倍的中选率。Bauer等[5]利用守卫节点中选率正比于候选节点带宽的特点以及早期Tor网络节点带宽由该节点自行报告的漏洞,以修改其可控节点代码并高报带宽的方式实现了低成本高效益的路由攻击。但是Tor官方后来在带宽度量上增加了测量带宽,利用第三方TorFlow带宽扫描器[11]定期测量每个节点的真实可用带宽。Thill等[6]提出TorFlow扫描数据包探测技术,在测量开始时优化其可控节点可用带宽,以欺骗第三方带宽测量的方式提升可控节点中选率。以上这些攻击的共同特征是敌手通过部署可控节点并以调整位置、修改代码等各种被动攻击方式增加该节点被Tor客户端选择的概率,从而获取Tor用户流量。这些方法并不针对特定目标,而且经常需要长时间等待直至Tor客户端更换守卫节点的时机才可能发挥作用。因此,这类方法目标针对性较弱,成本高且不够灵活。
Tan等[7]在部署可控节点的同时假定敌手具有网络级操控能力,可以观测到Tor用户所有网络连接。通过选择性地攻击Tor客户端到其守卫节点之间的连接请求,敌手丢弃其中通向非可控节点的连接请求,从而迫使客户端重新选择守卫节点,直至敌手可控的节点被选中。Sun等 [8]针对Tor网络节点较多集中于若干自治系统的特点,使用边界网关协议[14](border gateway protocol, BGP)路由攻击欺骗Tor客户端,将用户流量劫持到可控的节点并通过仿真实验验证了这种攻击的可行性。以上攻击针对性很强,其共同特点是假定网络级敌手具有在数据平面或者控制平面操纵Tor客户端流量的能力。缺点是难以规模性推广,执行成本高。
Pappas等[9]提出了针对非受控节点非对称、放大的数据包旋转(packet spinning)攻击。该攻击方法在创建虚电路时修改脚本使得入口和出口节点相同,并且不对转发的数据包进行解密操作。其目的在于制造数据包环路,让其中的非受控节点持续忙于数据包解密操作,从而增加客户端选择敌手受控节点的概率。Barbera等[10]利用Tor客户端发出扩展虚电路命令时中继节点处理该命令比该客户端产生该命令更为耗时的特点,以大量创建该命令的方式消耗非可控节点计算资源进而降低这类节点的中选率。以上这些拥塞类攻击实现机制比较复杂,需要大量的资源且没有充分考虑现实条件下执行攻击的费效比。
张瑾[15]提出从部署受控节点和实施带宽消耗类拥塞攻击2方面入手,提高受控节点的中选率,并通过TorPS[16]、Shadow[17]等工具模拟构建小型Tor网络分别进行了实验。尽管该研究同时考虑了2种攻击,但没有深入分析二者的关系,也没有考虑如何更有效地分配资源。
2 P-Group模型定义 2.1 敌手类型此前Tor守卫节点操纵研究假定的敌手有多种类型,包括非串谋的独立网络级运营商、路由中继节点部署方或者应用级拥塞攻击方等。以自治系统、互联网服务提供商、互联网交换节点等为代表的网络级运营商利用自己的网络位置优势观测或操纵Tor客户虚电路流量。路由中继节点部署方在Tor网络部署中继节点并以此吸引用户流量。应用级拥塞攻击方以拥塞攻击或者拒绝服务攻击等形式消耗被攻击方的资源,瘫痪其对外服务能力,进而迫使与被攻击节点相关的Tor客户端缩短其守卫节点更换周期。
本文假定一个复合型敌手,其既有一定的网络嗅探能力,也能够部署Tor节点并执行应用级拥塞攻击。此外,假定敌手部署的高带宽中继节点都能获得“Guard”标记。
2.2 模型目标由于入口节点带宽及权重分布不均衡,Li等[18]通过测量发现21%的重要节点承载了66%的Tor网络流量。另一方面,敌手对节点的控制能力和意愿也存在差别。因此,P-Group模型将Tor网络具有“Guard”标记的节点分为3个类别:
1) 可控节点。该节点由敌手部署,其具有完全控制能力,是敌手最希望客户端选择的节点,其带宽对应式(2)中的Bk;
2) 非可控节点。模型预置一个非可控节点集合,来源包括敌手离线获取的用户信息、特定节点如公有桥中继集合、利用类似Oldenburg等[19]提出的守卫节点发现技术获取的特定用户守卫节点、无法嗅探或控制的重要节点等。非可控节点是敌手最不希望客户端选择的节点,其带宽对应式(2)中BEn的一部分;
3) 其他节点。有些节点敌手虽然不能完全控制,但具有一定的流量嗅探能力,可以归入其他节点。非重要节点和敌手不关心的节点等也可以归入其他节点,其带宽对应式(2)中BEn的一部分。
敌手在客户端选择守卫节点时的目标是在合理利用资源的前提下,增加可控节点中选率并降低非可控节点中选率。
2.3 资源获取和使用P-Group模型通过优化部署提升可控节点中选率,同时利用应用级拥塞攻击降低非可控节点中选率。针对处理器、内存等资源的拥塞攻击机制复杂,且难以获得过程反馈信息,不宜作为持续性的控制方法。因此,P-Group模型利用带宽消耗方法攻击非可控节点。带宽消耗攻击是指操控恶意客户端构建自定义虚电路,将攻击目标作为入口节点,发出大量网络访问请求以消耗其可用带宽,从而降低其中选率。
执行常规应用级带宽消耗不依赖特定版本协议、客户端或插件漏洞,其适用性强。另外,将攻击面限定在非可控节点集合而非带宽测量基础设施或者BGP协议控制平面,同时攻击程度限定为非饱和攻击,因而影响范围小,安全性高。因此,P-Group模型是降低Tor用户流量获取费效比的合理方案。
2.3.1 带宽消耗攻击从式(1)可知,带宽消耗攻击可以从节点自观测带宽和TorFlow测量带宽2个维度施加影响。节点自观测带宽是在相对较长时间内(过去5 d)测得的最大支持带宽,相当于节点的物理带宽容量,相对比较稳定。TorFlow测量相对比较频繁(最多间隔4 h),相当于节点在某一时刻的可用带宽,变化范围相对较大。针对2023年4月Tor网络所有“Guard”标记节点的自观测带宽和TorFlow测量带宽进行统计,将每个节点在测量时间段内2类带宽的最小值和最大值的比值定义为波动范围度量V。图 3描述了所有节点2类带宽波动范围V的经验累积分布。由图可知,TorFlow测量带宽波动范围比节点自观测带宽波动范围更大。因此,攻击节点自观测带宽需要攻击者具有更大的攻击流量与更长的攻击时间。从资源要求的角度考虑,攻击TorFlow测量带宽成本可行性更高。Jansen等[20]通过攻击TorFlow带宽测量基础设施,将Tor节点的吞吐量降低了56%,客户端平均下载速率从459 Kbps降低至90 Kbps,失败率从3%增加到26%。可见,针对TorFlow扫描器的攻击能够大幅降低Tor网络的性能。但是,这种攻击会同等程度影响所有节点,并不会单独增加敌手可控节点的中选率。
|
| 图 3 自观测带宽与TorFlow测量带宽波动统计 |
带宽消耗攻击只针对P-Group模型确定的非可控节点进行攻击。目标是在攻击流量有限的情况下最大程度降低这些节点的中选率,提升可控节点的中选率。为此,需要研究攻击流量在非可控节点带宽消耗上的转化率,统筹攻击资源额度和非可控节点带宽进行流量分配。
2.3.2 带宽资源成本考虑到资源获取的便利性以及攻击方式的可持续性,P-Group模型假定通过购买云服务实现中继节点部署与非可控节点攻击资源的统一。由于现在云服务商的运营规模及竞争水平很高,假定敌手需要的带宽资源可以在任意位置购买。
Jansen等[20]将带宽资源的来源分为拒绝服务攻击压力测试服务和传统的虚拟主机服务2类并广泛调研了它们的市场价格水平。例如4 CPU核心、16 GB内存、500 GB存储和1 Gbps带宽的云主机的平均成本约为0.70美元/h。Wan等[4]根据Tor测量网站(https://metrics.torproject.org)[12]所提供的信息,找到承载节点最多的10个自治系统,然后在相应的地理位置寻找最便宜的带宽供应商并据此构建一个带宽成本模型。
本文假定使用的所有带宽资源来自Godaddy等10个云服务提供商,与Jansen等[20]的研究一致。提取各云服务提供商典型带宽相应虚拟主机的最低价格,并把这些价格的均值作为带宽资源成本,在固定总带宽约束下寻找最低成本虚拟主机产品组合。
3 资源融合分配 3.1 可控节点部署敌手可控节点部署效益取决于这些节点被客户端选择的概率和购买这些节点的成本。通过分析式(2)可知,节点带宽越大,其被Tor客户端选为守卫节点的概率越大。但随着带宽的增大,其边际效益会降低。另一方面,在总带宽资源一定的情况下,部署节点带宽占比过多会造成带宽消耗攻击资源减少,不利于降低非可控节点的中选率。因此,寻找二者最优的带宽分配比例对提升P-Group模型整体效益非常重要。
设敌手的资源总带宽为Ba,下行虚电路流量放大倍数为θ。Tor网络其他节点总带宽为Bo,非可控节点总带宽为Bt,Ba≤Bt。资源分配策略中, 部署节点的带宽比例为η,带宽消耗攻击的转化率为β,即攻击流量带宽占比为β的部分转化为非可控节点的带宽消耗。考虑到大量节点部署会稀释出口节点占比,模型假定出口节点稀缺。则在此资源分配策略中,部署可控节点的中选率P为
| $ P=\frac{B_{\mathrm{a}} \cdot \eta}{B_{\mathrm{t}}-B_{\mathrm{a}} \cdot(1-\eta) \cdot \beta \cdot \theta+B_{\mathrm{a}} \cdot \eta+B_{\mathrm{o}}}. $ | (3) |
非可控节点的中选率P′为
| $ P^{\prime}=\frac{B_{\mathrm{t}}-B_{\mathrm{a}} \cdot(1-\eta) \cdot \beta \cdot \theta}{B_{\mathrm{t}}-B_{\mathrm{a}} \cdot(1-\eta) \cdot \beta \cdot \theta+B_{\mathrm{a}} \cdot \eta+B_{\mathrm{o}}} . $ | (4) |
资源融合分配就是寻找最佳的资源分配策略,在部署的可控节点和非可控节点的中选率中取得平衡。
在确定部署总带宽后,理论上这些节点被选中的概率也基本确定。而在实际部署时,确定总带宽后由于部署节点数量及其相应带宽分布的不同,可能导致中选率有所偏差,因此可以通过实验对比得出不同节点数量与带宽组合的实际影响,进而优化部署策略。
3.2 非可控节点带宽消耗攻击 3.2.1 带宽转化分析带宽消耗攻击利用外部流量攻击非可控节点,需要明确攻击带宽与TorFlow测量带宽下降程度的量化关系以决定分配流量。通过分析Tor协议,特别是其拥塞控制与队列调度机制,建立简单排队论模型,以此得出该关系。
为避免数据拥塞,Tor网络在出口节点和客户端之间采用端到端的窗口控制[21],默认每个虚电路窗口初始大小为500 KB(约1 000个数据传输单元)。出口节点每从传输控制协议(transmission control protocol,TCP)连接读取并向外发出一个数据传输单元,窗口就减少对应的值,当窗口值减少到0,就停止读取和发送数据。直到收到用户端的“sendme”消息,出口节点才重新增加窗口大小,而用户端每收到50 KB(约100个数据传输单元)发送一个“sendme”消息。此外,每条虚电路内部还为不同的流设置了默认大小为250 KB(约500个数据传输单元)的流窗口,工作机制与虚电路窗口类似。这种机制避免了流入虚电路的数据远大于流出的现象,解决了端到端速率不匹配的问题。
数据单元经由洋葱路由节点内部的队列调度过程如图 4所示。当Tor节点收到其TCP连接上的数据单元时,数据首先通过轮询(round robin)的方式被搬运到每个连接对应的节点内部输入缓冲区(input buffer)进行解密或加密,然后根据解析出来的虚电路ID等信息,被放入对应的FIFO虚电路队列中。队列中的数据根据下一跳节点会对应唯一的输出缓冲区(output buffer),每个大小固定为32 KB。只要对应的输出缓冲区有空间,FIFO中的数据就会同样按照轮询方式被调度,然后发送出去。在此过程中,轮询算法在调度多条连接时以遍历方式依次搬运每条连接上固定大小的数据,实质是将数据处理速率平均分配到了每条连接上。
|
| 图 4 洋葱路由节点内部队列调度过程 |
由于下行传输(从服务器到客户端)通常数据占用带宽更大,所以选取下行过程进行研究,以输入输出缓冲区为独立服务系统划分为2次排队。第1次排队,数据由上一条TCP连接经过输入缓冲区到达虚电路队列中。第2次排队,数据从队列经过输出缓冲区到达下一跳TCP连接中。按照节点内部结构从队列到输出缓冲区还要经过一个等待轮询过程,这部分速率无法确定,时间无法量化,故假设输出缓冲区一有空间,数据就马上进入,即认为在队列中不需要等待时间,可以直接送入输出缓冲区中。假设数据强度已知,数据在节点内占用的总时间即为2次排队逗留时间之和,可据此对虚电路中数据占用节点带宽进行推导。
使用排队论M/M/1/K模型[22]进行拟合的主要参数如表 1所示。
| 名称 | 含义 |
| 平均到达率λ | 单位时间内到达平均顾客数 |
| 平均服务率μ | 单位时间内被服务平均顾客数 |
| 服务强度ρ | 单位时间内服务强度 |
| 平均队长L | 排队系统中顾客数量平均值 |
| 稳态顾客数量Pn | 系统稳定后有n位顾客的概率 |
| 平均逗留时间W | 单个顾客在系统内停留总时 间平均值 |
假定有m条虚电路,第i条虚电路的数据强度为每隔Ti秒发送Ni个cell,将Ni个cell视为一个顾客,则各虚电路顾客平均到达率分别为
| $ \lambda_1=\frac{1}{T_1}, \lambda_2=\frac{1}{T_2}, \cdots, \lambda_m=\frac{1}{T_m} . $ | (5) |
假定由守卫节点带宽限制的写入速率为Bin Bps, 由于轮询机制,m条连接相当于将速率分成m份,故各虚电路对应的平均服务率分别为
| $ \mu_{\text {in }, 1}=\frac{\left(B_{\text {in }} / m\right)}{512 N_1}, \mu_{\text {in }, 2}=\frac{\left(B_{\text {in }} / m\right)}{512 N_2}, \cdots, \\ \mu_{\mathrm{in}, m}=\frac{\left(B_{\mathrm{in}} / m\right)}{512 N_m}. $ | (6) |
各虚电路第1次排队平均服务强度为
| $ \begin{equation*} \rho_{1, i}=\frac{\lambda_{i}}{\mu_{\mathrm{in}, i}}, 1 \leqslant i \leqslant m . \end{equation*} $ | (7) |
由于出口端虚电路窗口的限制为500 KB,可得各虚电路第1次排队顾客容量为
| $ K_{1, i}=\frac{500 \times 1024}{512 N_{i}}, 1 \leqslant i \leqslant m . $ | (8) |
结合M/M/1/K模型的相关公式,可得各虚电路第1次排队的平均逗留时间为
| $ \begin{gather*} W_{1, i}=\frac{1}{\mu_{\text {in }, i}-\lambda_{i}}= \\ \frac{\rho_{1, i}-\left(1+K_{1, i}\right) \rho_{1, i}^{K_{1, i}+1}+K_{1, i} \cdot \rho_{1, i}^{K_{1, i}+2}}{\lambda_{i}\left(1-\rho_{1, i}\right)\left(1-\rho_{1, i}^{K_{1, i}}\right)} \\ 1 \leqslant i \leqslant m . \end{gather*}, $ | (9) |
各顾客在第1次排队时经过了相同的时间, 第2次排队时这些顾客的平均到达率仍是
| $ K_{2, i}=\frac{32 \times 1024}{512 N_{i}}, 1 \leqslant i \leqslant m . $ | (10) |
按同样的方法计算第2次排队平均服务率和服务强度,结合M/M/1/K模型的相关公式,可得各虚电路第2次排队的平均逗留时间为
| $ \begin{gather*} W_{2, i}=\frac{1}{\mu_{\text {out }, i}-\lambda_{i}}= \\ \frac{\rho_{2, i}-\left(1+K_{2, i}\right) \rho_{2, i}^{K_{2, i}+1}+K_{2, i} \cdot \rho_{2, i}^{K_{2, i}+2}}{\lambda_{i}\left(1-\rho_{2, i}\right)\left(1-\rho_{2, i}^{K_{2, i}}\right)}, \\ 1 \leqslant i \leqslant m . \end{gather*} $ | (11) |
将
| $ \begin{gather*} W_{i}= \\ \sum\limits_{s=1}^{2} \frac{\rho_{s, i}-\left(1+K_{s, i}\right) \rho_{s, i}^{K_{s, i}+1}+K_{s, i} \cdot \rho_{s, i}^{K_{s, i}+2}}{\lambda_{i}\left(1-\rho_{s, i}\right)\left(1-\rho_{s, i}^{K_{s, i}}\right)} . \end{gather*} $ | (12) |
该虚电路在入口节点占用的带宽为
| $ B_{\mathrm{Entry}, i}=\frac{512 N_{i}}{W_{i}}, 1 \leqslant i \leqslant m . $ | (13) |
综合推导出来的公式,假设第
| $ B_{j}^{\prime}=B_{j}-\sum\limits_{i=1}^{m} B_{\text {Entry }, i}=B_{j}-\sum\limits_{i=1}^{m} \frac{512 N_{i}}{W_{i}} . $ | (14) |
假设一共有
| $ B_{\mathrm{En}}^{\prime}=\sum\limits_{j=1}^{J}\left(B_{j}-\sum\limits_{i=1}^{m} B_{\mathrm{Entry}, i}\right) . $ | (15) |
式(2) 中的
为解决互联网发展初期对路由节点流量和容量进行联合分配的问题,Kleinrock等[23]基于多商品流和非线性规划原理提出了流偏移(flow deviation, FD)算法。该算法能够以最低成本实现满足要求的流量分配策略,其关键的底层技术和连续变量中的梯度法类似,采用“最短路径”代替梯度,在增量改进路径上“偏离流”,直至达到最优。目前,FD算法已经广泛应用于波分复用网络、软件定义网络、道路交通网络、能耗与温室效应[24]等研究领域。
流偏移算法首先需要确定问题框架。以设计存储转发通信网络的流量分配为例,信道中的流量和节点内的队列长度均为随机变量。消息从源节点到目的节点经历的平均时延可以和信道中的平均流量建立一定的函数关系,作为衡量分配效果的指标。假设进入节点的消息到达速率服从Poisson分布,长度服从指数分布,节点内部的到达时间与服务时间、路径上连续节点的服务时间均具有独立性,则信道建立的时延与流量关系为
| $ D=\sum\limits_{k=1}^{b} \frac{\nu_{k}}{\gamma} D_{k}. $ | (16) |
其中:D为每条消息的总平均时延,b为网络中的信道数,νk为信道k上的消息速率,γ为来自外部源的消息总到达率,Dk为消息等待信道k时所遭受的平均时延,Dk可以进一步表示为
| $ D_{k}=D_{k}^{\prime}+D_{k}^{\prime \prime}=\frac{1}{\zeta Q_{k}-\nu_{k}}+p_{k} . $ | (17) |
其中:
| $ f_{k}=\frac{\nu_{k}}{\zeta} . $ | (18) |
此时平均时延D可重新表示为
| $ D=\frac{1}{\gamma} \sum\limits_{k=1}^{b}\left(\frac{f_{k}}{Q_{k}-f_{k}}+\zeta f_{k} p_{k}\right) . $ | (19) |
在已知网络拓扑、信道容量和需求矩阵的情况下,流量分配问题的目标转化为将任务流量分配完的同时实现D的最小化,附加约束为有限的信道容量应满足fk≤Qk。求解该目标的FD算法分为2个阶段。在阶段1中需要找到一个可行流,否则问题被宣布为不可行;在阶段2中得到最优路由。
FD算法作为一种直观、高效的方法,可在不同领域解决多种网络流问题。为将该算法应用于非可控节点的带宽消耗攻击,需要在可控节点中选率与非可控节点测量带宽之间建立显性关系,将流量分配问题的目标变为分配完所有注入流量的同时,实现P最大化。本文对FD算法进行改进,并称改进后的算法为基于流偏移的守卫节点攻击(flow deviation based guard attack, Fd-Sega)。
应用Fd-Sega算法首先需要部署Tor客户端,通过修改客户端的系统配置文件选择非可控节点为守卫节点,并将用户行为配置为下载大文件。由于非可控节点带宽信息可以从权威目录服务器获取,因此算法获得了
其次,记非可控节点数量为J,总注入流量为
| $ Z_{\text {total }}=B_{\mathrm{a}} \cdot(1-\eta). $ | (20) |
将
再次,对各非可控节点带宽Bj求偏导xj。偏导绝对值越大的节点分配的注入流量越多,该节点消耗的带宽越大,对总选择率影响也越大。
然后,利用softmax函数为偏导值最大的非可控节点分配注入流量。
| $ Z_{j}=Z_{\text {total }} \cdot \frac{\exp \left(\alpha x_{j}\right)}{\sum\limits_{j=1}^{J} \exp \left(\alpha x_{j}\right)} . $ | (21) |
其中:Zj为非可控节点j分配的流量,通过调节参数α的绝对值调整偏导值对分配方式的影响。
最后,如果总注入流量仍有剩余,则继续通过计算P和xj进行分配,否则结束拥塞流量分配过程。其流程如图 5所示。
|
| 图 5 Fd-Sega算法流程 |
4 实验评估 4.1 节点部署
Tor官方测量平台[2]保留了该网络的历史测量数据,TorPS[16]路径选择模拟器支持以部署中继节点的方式对历史状态数据进行调整并在此基础上模拟客户端的守卫节点选择及虚电路构建过程。因此,将二者相结合可以对节点部署策略进行评估。
4.1.1 实验环境设置该实验使用的历史数据为2022年11月至2023年4月间所有共识文件和服务器描述符。Tor网络的动态性较强,不断有中继节点加入和退出网络,因此只有稳定的中继节点才会获得更大权重。该实验将2023年4月发布的所有共识文件中都获得“Guard”标志的中继节点记为稳定入口节点,共识权重和突发带宽取该稳定入口节点当月所有数据的中位数并以此数据为基础计算投入资源的整体占比,当月基本信息如表 2所示。
| 参数名称 | 取值 |
| 服务器描述符数量/个 | 452 713 |
| 共识文件数量/个 | 716 |
| 稳定入口节点数量/个 | 3 160 |
| 稳定入口节点总带宽/Mbps | 59 226.8 |
| 稳定入口节点总权重 | 82 326 900 |
| 单节点最小带宽/Kbps | 27.3 |
| 单节点最小权重 | 20 |
| 单节点最大带宽/Mbps | 119.9 |
| 单节点最大权重 | 310 000 |
根据上述数据,若投入1 Gbps总带宽,对于所有入口节点带宽占比约为1.7%,权重约为1 423 400,将该权重作为基准权重,记为Wb。
4.1.2 节点部署优化1) 总带宽投入
向Tor网络中部署5个节点,各节点在4个不同的共识权重下使用6个月的历史数据作为网络状态输入。设置1 000个模拟客户端,每600 s访问一次网络,评估这些节点在不同带宽条件下的平均月累积中选率,结果如图 6所示。可以看出,带宽越大,节点中选率越高。随着时间的变化,各节点中选率呈现下降的趋势,这与网络总体带宽越来越大有关。当投入总带宽为8Wb时变化趋势较为明显且累积选择概率较大,为便于展示,后续实验将投入总带宽设置为8Wb。
|
| 图 6 不同节点带宽条件下的平均月累积中选率 |
2) 节点数量和带宽分布
将8Wb的总带宽平均分配给5、10、20、40个部署的节点,历史数据、客户端数量和访问频率与前一个实验相同,评估部署的节点在这些不同节点数量和带宽分布情况下的平均月累积中选率,结果如图 7所示。可以看出,实验结果总体上呈现节点数量越少中选率越高的现象。节点数量最大时,中选率振荡加剧。4个分布最大中选率之差在2%左右。
|
| 图 7 不同节点数量和带宽分布条件下的平均月累积中选率 |
3) 带宽边际效益
带宽消耗攻击会加快Tor客户端替换守卫节点的过程,本实验通过修改TorPS源代码中守卫节点过期时间参数来模拟缩短守卫节点周期,并将客户端首次选择可控节点时所经历的替换次数H定义为部署效益度量。
向Tor网络中部署5个节点,过期时间设置为4 h,历史数据、客户端数量和访问频率与之前保持一致,评估节点在不同带宽占比条件下的部署效益,结果如图 8所示。可以看出,当部署的节点总带宽在整个Tor网络中的占比R增加时,H迅速降低。当R超过0.02以后,节点部署的带宽边际效益开始变得显著。因此,节点部署所需要的总带宽需要合理设定以保证费效比。
|
| 图 8 可控节点带宽边际效益 |
4) 部署带宽比例
总带宽资源固定时,部署可控节点的带宽和攻击非可控节点的带宽需要有合理的比例。本实验设定敌手和5个非可控节点总带宽均为8Wb,部署带宽比例η为0.1至0.9,带宽消耗攻击转化率设为0.85,使用2 000个过期时间为3 d的客户端模拟历史状态下的路径选择过程,定义可控节点中选率P和非可控节点中选率P′的比值φ为守卫节点操纵效益度量。结果如图 9所示,当部署节点在敌手总带宽中占比为0.8时,φ最大。相比在部署和拥塞节点之间简单平均分配带宽,效益提升了20.5%。
|
| 图 9 守卫节点操纵效益随部署带宽比例的变化 |
在此设定下,设总投入带宽占Tor网络入口节点总带宽比率为2%,守卫节点有效期为TorFlow测量带宽最大有效时间,则将用户流量从非可控节点迁移到敌手可控节点平均需要约200 h,成本约为数百美元。
4.2 带宽消耗攻击 4.2.1 实验环境设置使用MATLAB软件对缩比Tor网络下Fd-Sega攻击效果进行评估,不考虑其他节点以简化仿真。其中,设置下载速率为上行速率的50倍,以上行速率代表注入带宽,以下载速率为攻击带宽进行评估。具体参数如表 3所示。
| 参数名称 | 取值 |
| 可控节点数量/个 | 5 |
| 可控节点带宽/Mbps | 10 |
| J/个 | 10 |
| Bj/Mbps | 10~200之间的随机值 |
| 单条攻击电路上行速率/Kbps | 20 |
| 单条攻击电路下载速率/Mbps | 1 |
| Ztotal/Kbps | 600~1 400 |
常见流量分配思路主要根据带宽分类,实验提出6种常见分配方法进行对比:
max: 流量分配给带宽最大的节点;
min: 流量分配给带宽最小的节点;
max-50%: 流量平均分配给带宽排名前50%的节点;
min-50%:流量平均分配给带宽排名后50%的节点;
middle-50%: 流量平均分配给带宽排名中间50%的节点;
uniform: 流量平均分配给所有节点。
4.2.2 攻击流量分配实验1) 确定可调参数α
α绝对值的大小代表每次分配流量时偏导值对分配方式的影响程度。在仿真中控制总注入带宽恒定,改变参数α,观察可控节点中选率变化,实验结果如图 10所示。当α绝对值过小时,代表不刻意放大该节点偏导值与其他节点偏导值的差异。由于偏导值的数值均较小,导致每次分配数目较小,在循环中对于偏导值的影响也较小,最终结果近似于均匀分配。当参数α绝对值过大时,代表放大该节点偏导值与其他节点偏导值的差异,单次分配数目较大,理论上最终结果近似于倾向某个节点的极端分配。就理论分析而言,参数α应当存在能合理放大偏导值及差异的折中取值,使得可控节点中选率相对最大。观察实验结果发现,在本实验参数设置下,α取值在—20 000或—30 000左右时受控节点中选率最大。
|
| 图 10 不同总注入带宽条件下中选率随参数α的变化 |
2) 可控节点带宽固定,增加总注入带宽
增加总注入带宽,观察不同分配方式下可控节点的中选率变化,实验结果如图 11所示。考虑到常见分配方法的效果和非可控节点带宽的数值分布有关,在仿真中采用2组带宽进行实验,一组对应带宽差异较小、分布较均匀,另一组对应带宽差异较大、分布较极端。
|
| 图 11 增加总注入带宽时不同分配方式效果对比 |
由图 11可知,max、min这2种将所有流量分配给单个节点的分配方式在所有实验场景下效果均为最差,且数值接近。由于单个节点带宽在总入口节点带宽中所占比例有限,即使该节点带宽已经被极大程度地消耗,对于最终概率的影响依然十分有限,所以这种极端分配方式效果很差,且不论总注入带宽如何增加,可控节点的中选率始终保持在较低数值。
采用max-50%、min-50%、middle-50%、uniform这4种分配方式,增加了可分配到流量的节点范围,相比max、min这两种极端分配方式有一定改善,但提升程度十分有限。这类分配方式没有深入探讨非可控节点带宽对可控节点中选率的影响:对节点注入相同流量时,较小带宽的节点被消耗程度更大,但对于中选率影响程度小;较大带宽的部分节点可能只消耗了少部分带宽,但对于中选率影响更大。因此,最终分配效果是大带宽与小带宽、个体带宽与中选率博弈的结果。本实验由于设置的带宽整体较大,所以取较小带宽节点的min-50%、middle-50%分配效果不如max-50%。同时,带宽值组内差异也会影响分配效果。当差异较小时,理论上max-50%、均匀分配均能取得较好的效果。图 11a表明:当总注入带宽为600 Kbps时,max-50%的分配效果略优于均匀分配;当总注入带宽超过800 Kbps时,均匀分配明显优于max-50%。同时,图 11b表明:当差异较大时,考虑到小带宽节点的均匀分配方法不再适用,max-50%应该明显优于其他分配方式。
Fd-Sega在所有实验场景下均明显优于其他常见流量分配方式,且随着总注入带宽的增加,最终中选率的优势越大。这是由于基于流偏移的带宽攻击充分考虑了非可控节点带宽对于可控节点中选率的影响并非是简单线性相关,其使用了偏导值追踪影响程度的变化,以类似梯度下降的方法逐次寻找最优解。同时,由于每次分配都以当前的偏导值为依据,不管节点带宽数值呈现什么样的分布,基于流偏移的带宽攻击都能够找到更合理的流量分配方式,相比其他分配方式具有更高的灵活性。在部署10个带宽为10 Mbps的可控入口节点条件下,当总注入带宽达到1 400 Kbps,即可建立70条20 Kbps攻击虚电路时,Fd-Sega攻击能实现75%左右的可控节点中选率,相比最优的常见分配方法提高了15%左右。
3) 注入流量不变,增加可控节点数量
控制总注入流量为1 000 Kbps,每个可控节点带宽均为10 Mbps,在非可控节点带宽差异较大的条件下增加可控节点数量,观察不同分配方式下中选率的变化。实验结果如图 12所示,在可控节点数量相同时,不同分配方式的效果符合前文的分析结果。同时,随着可控节点数量的增加,不同分配方式绘制出的曲线增长幅度变化很小。这是因为可控节点的总带宽不影响对非可控节点的攻击流量分配。随着可控节点数量的增加,通过计算最终的可控节点中选率公式并进行归一化通分发现,不同分配方式的结果在数值上的变化集中在分母,最终的概率差值计算结果近似相等,所以可观察到不同分配方式对应的曲线近似平行。当总注入带宽为1 000 Kbps,平均带宽为10 Mbps的可控节点增加到10个时,Fd-Sega攻击能实现50%左右的可控节点中选率,能始终高于最优的常见分配方法8%左右。
|
| 图 12 增加可控节点数量时不同分配方式效果对比 |
5 结论
获取Tor用户流量是开展去匿名化分析的基础,其成本是影响流量分析方法威胁程度的重要因素。客户端守卫节点直接与用户身份相关,是获取用户流量的关键位置。但是,现有基于用户守卫节点操纵的流量获取方法大多聚焦于可行性,较少关注方法的费效比。为对Tor用户流量获取成本进行前瞻性评估,本文提出一种资源融合分配的守卫节点操纵模型。该模型以费效比优化为目标牵引,提出统一资源度量方法和资源融合分配的形式化描述,在此基础上结合带宽投入的边际效益分析可控节点部署的带宽需求及合理占比。为提高非可控节点带宽消耗效益,建立流量拥塞模型并提出结合流量攻击资源总量与非可控节点带宽容量的流偏移算法以优化资源分配。
实验结果表明,相比于简单在可控节点和非可控节点间平分带宽,该模型将资源分配效益提升了20.5%。相比于传统攻击流量分配算法,该方法将可控节点中选率提升了15%。使用该方法,用户流量从非可控节点迁移到敌手可控节点的平均成本约为数百美元。因此,用户流量获取具有成本可行性,Tor流量分析去匿名化技术构成现实性威胁。
| [1] |
DINGLEDINE R, MATHEWSON N, SYVERSON P F. Tor: The second-generation onion router[C]//13th USENIX Security Symposium. San Diego, USA: USENIX, 2004: 303-320.
|
| [2] |
LOESING K, MURDOCH S J, DINGLEDINE R. A case study on measuring statistical data in the Tor anonymity network[C]//FC 2010 Workshops on Financial Cryptography and Data Security. Tenerife, Canary Islands, Spain: Springer, 2010: 203-215.
|
| [3] |
ISIS L, GEORGE K, OLA B, et al. Tor guard specification[EB/OL]. (2023-08-25)[2023-09-21]. https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/attic/text_formats/guard-spec.txt.
|
| [4] |
WAN G, JOHNSON A, WAILS R, et al. Guard placement attacks on path selection algorithms for Tor[J]. Proceedings on Privacy Enhancing Technologies, 2019, 2019(4): 272-291. DOI:10.2478/popets-2019-0069 |
| [5] |
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. Alexandria, USA: ACM, 2007: 11-20.
|
| [6] |
THILL F. Hidden service tracking detection and bandwidth cheating in Tor anonymity network[D]. Luxembourg: University of Luxembourg, 2014.
|
| [7] |
TAN Q F, WANG X B, SHI W, et al. An anonymity vulnerability in Tor[J]. IEEE/ACM Transactions on Networking, 2022, 30(6): 2574-2587. DOI:10.1109/TNET.2022.3174003 |
| [8] |
SUN Y X, EDMUNDSON A, VANBEVER L, et al. RAPTOR: Routing attacks on privacy in Tor[C]//24th USENIX Conference on Security Symposium. Washington, USA: USENIX Association, 2015: 271-286.
|
| [9] |
PAPPAS V, ATHANASOPOULOS E, IOANNIDIS S, et al. Compromising anonymity using packet spinning[C]//11th International Conference on Information Security. Taipei, China: Springer, 2008: 161-174.
|
| [10] |
BARBERA M V, KEMERLIS V P, PAPPAS V, et al. CellFlood: Attacking Tor onion routers on the cheap[C]//18th European Symposium on Computer Security. Egham, UK: Springer, 2013: 664-681.
|
| [11] |
PERRY M. TorFlow: Tor network analysis[C]//Proceedings of the 2nd Hot Topics in Privacy Enhancing Technologies. Seattle, USA: IEEE, 2009: 1-14.
|
| [12] |
Anon. Tor metrics[EB/OL][2023-09-21]. https://metrics.torproject.org.
|
| [13] |
ISIS L, GEORGE K, OLA B, et al. Tor directory protocol, version 2[EB/OL]. (2023-08-25)[2024-02-01]. https://gitlab.torproject.org/tpo/core/torspec/blob/main/attic/dir-spec-v2.txt.
|
| [14] |
REKHTER Y, LI T, HARES S. A border gateway protocol 4 (BGP-4)[R]. San Francisco: IETF, 2006.
|
| [15] |
张瑾. Tor匿名通信系统路由选择技术研究[D]. 北京: 北京交通大学, 2021. ZHANG J. Research on path selection technology of Tor anonymous communication system[D]. Beijing: Beijing Jiaotong University, 2021. (in Chinese) |
| [16] |
JOHNSON A, WACEK C, JANSEN R, et al. Users get routed: Traffic correlation on Tor by realistic adversaries[C]//Proceedings of the 2013 ACM SIGSAC Conference on Computer & Communications Security. Berlin, Germany: ACM, 2013: 337-348.
|
| [17] |
JANSEN R, HOPPER N. Shadow: Running Tor in a box for accurate and efficient experimentation[C]//19th Annual Network and Distributed System Security Symposium. San Diego, USA: The Internet Society, 2012.
|
| [18] |
LI C L, XUE Y B, DONG Y F, et al. "Super nodes" in Tor: Existence and security implication[C]//Proceedings of the 27th Annual Computer Security Applications Conference. Orlando, USA: ACM, 2011: 217-226.
|
| [19] |
OLDENBURG L, ACAR G, DIAZ C. From "onion not found" to guard discovery[J]. Proceedings on Privacy Enhancing Technologies, 2022, 2022(1): 522-543. DOI:10.2478/popets-2022-0026 |
| [20] |
JANSEN R, VAIDYA T, SHERR M. Point break: A study of bandwidth denial-of-service attacks against Tor[C]//28th USENIX Conference on Security Symposium. Santa Clara, USA: USENIX Association, 2019: 1823-1840.
|
| [21] |
ALSABAH M, BAUER K, GOLDBERG I, et al. DefenestraTor: Throwing out windows in Tor[C]//11th International Symposium on Privacy Enhancing Technologies. Waterloo, Canada: Springer, 2011: 134-154.
|
| [22] |
Bose S K. An introduction to queueing systems[M]. Boston: Springer, 2013.
|
| [23] |
FRATTA L, GERLA M, KLEINROCK L. The flow deviation method: An approach to store-and-forward communication network design[J]. Networks, 1973, 3(2): 97-133. DOI:10.1002/net.3230030202 |
| [24] |
FRATTA L, GERLA M, KLEINROCK L. Flow deviation: 40 years of incremental flows for packets, waves, cars and tunnels[J]. Computer Networks, 2014, 66: 18-31. DOI:10.1016/j.comnet.2014.04.001 |



