卢森堡大学 | Tor隐藏服务指纹识别技术分析

admin 2025年2月13日09:07:06评论8 views字数 4059阅读13分31秒阅读模式

卢森堡大学 | Tor隐藏服务指纹识别技术分析

原文标题:Analysis of Fingerprinting Techniques for Tor Hidden Services
原文作者:Andriy Panchenko, Asya Mitseva, Martin Henze, Fabian Lanze, Klaus Wehrle, Thomas Engel
原文链接:https://doi.org/10.1145/3139550.3139564
发表会议:WEPS
笔记作者:宋坤书@安全学术圈
主编:黄诚@安全学术圈

1、背景介绍

在大规模监控的时代,互联网隐私问题变得尤为重要,而匿名性是实现隐私保护的一个重要组成部分。Tor是目前最流行的匿名通信方法,Tor网络不仅可以在通信时隐藏用户的IP地址,还可以通过隐藏服务(Hidden Service, HS)来隐藏服务器的IP地址。

网站指纹识别(Website Fingerprinting, WFP)攻击是是一种特殊的流量分析攻击,它通过观察加密数据流的模式来推断其中的内容。尽管WFP攻击在Tor上应用被证明是可行的,但由于存在大量可能的网站,现有的WPF攻击在实际环境中应用时难以拓展。但是,HS的范围很小(只有几千个),因此WPF对Tor HS的攻击可以取得很好的效果。本文使用真实的数据集和最先进的分类器,分析了WPF攻击对Tor HS的影响。

2、Tor HS连接过程

Tor HS的通信建立过程包括多个步骤。首先,服务器运行洋葱代理(onion proxy, OP)来通过Tor提供服务;然后,服务器的OP选择三个洋葱中继(onion relay, OR)作为接入节点(introduction point, InP),并为每个接入节点建立独立电路。

接着,服务器生成一个包含公钥和InP信息的HS描述符,并将其匿名发布到一部分Tor节点(OR),称为HS目录(hidden service directories, HSDirs)。根据描述符ID(HS信息的哈希值),隐藏服务器选择前三个连续的且指纹(节点公钥的哈希值)大于描述符ID的HSDirs负责存储其描述符,这些指纹存储在分布式哈希表(DHT)中。

为了访问HS,客户端需要获取隐藏服务器的地址(即洋葱地址,x.onion),然后计算其描述符ID,访问对应的HSDirs获取描述符,从中得到接入节点地址和服务密钥。然后,客户端与随机选择的一个OR创建电路,称为会合节点(rendezvous point, RP),并发送一个随机值(rendezvous cookie, RC)给RP。客户端再建立一个电路连接到目标InP,通知其RP和RC信息。如果HS接受连接请求,它会建立一个与RP的电路并确认连接。最后,RP开始在客户端与隐藏服务之间转发加密数据包。Tor HS的连接建立过程如下图:

卢森堡大学 | Tor隐藏服务指纹识别技术分析

只有与服务器直接建立连接的InP和通过隧道建立连接的RP知道服务器的IP地址,但它们都不能将这个信息直接泄露给客户端或外部攻击者,此过程确保了客户端与隐藏服务器的通信保持匿名。此外,隐藏服务可以通过设置授权机制,仅允许授权的客户端访问其服务。

3、研究方法

3.1 数据集构建

为了分析HS的流量指纹攻击可行性,本文收集了大量隐藏服务地址(.onion)。由于Tor不公开完整的HS列表,因此本文采用了两种收集HS地址的方法:

  • 自动爬取公开的HS搜索引擎:本文开发了一个工具,每天自动抓取一次所有公开的HS搜索引擎,在四个月的时间里收集了13243个唯一的.onion地址。

  • 通过HSDirs收集地址:利用HSDirs在HS协议中的作用,本文使用了多个OR节点,使其满足特定要求并获得HSDir标志。通过修改Tor源代码,可以收集在这些HSDirs上发布的HS描述符。在进一步解析这些描述符之后,可以提取出每个HS的公钥。然后对每个公钥的哈希值计算,获得了对应的.onion地址。最终收集到了41936个唯一的.onion地址。

合并两种方法得到的地址并去重后,共收集到48418个.onion地址,并筛选出13145个提供HTTP(S)访问的HS地址作为研究对象。通过搜索引擎收集的地址其中约60%是HTTP(S)隐藏服务,而通过HS描述符收集的地址中只有26.61%是Web服务。在数据收集和处理后,收集了能够正确页面加载的网络流量数据的10476个.onion地址。

为了构建具有代表性且现实的非HS网页数据集,本文使用了社区中最大现有的网页数据集,包含211148个网页和65409个唯一域名。此外,还针对评估数据构建了一个索引页样本,代表Alexa最受欢迎的1000个网站。

3.2 实验设置

实验采用了TBB 3.6.2版本Tor浏览器访问HS和常规网页,同时还与TBB 6.0.4进行了对比。实验使用了自动化插件(如Chickenfoot、iMacros和Scriptish)和Stem来控制Tor客户端,确保了页面的自动加载和过滤。流量数据通过tcpdump记录,并用来训练分类器,确保每个页面只下载一次,避免使用相同的电路。

数据收集过程中,发现了大量相同内容的HS地址。因此采用余弦相似度度量来分析HS页面内容的相似性,并自动分组,避免了噪声和重复内容的干扰。最终,实验创建了3,145个不同内容的组,并发现约20%的组包含多个onion地址,而大部分字母顺序相似的onion地址指向相似或相同的内容。

3.3 指纹识别方法

与以往网站指纹(website fingerptinting, WFP)的研究不同,Tor HS页面通常通过多个入口节点加载,而普通网页通常只使用一个入口节点。基于这一信息泄露现象,本文提出了“隐藏服务特征”,特征包括单个页面加载过程中使用的不同入口节点数量,以及每个入口节点传输的数据包总量。

此外,本文采用CUMUL方法提取流量特征,包括传入和传出数据包总数、发送和接收数据总量,以及传出数据包的时间顺序的信息。使用带径向基函数(RBF)核的支持向量机(SVM)进行分类,并通过网格搜索优化超参数。所有特征在[-1,1]范围内进行线性缩放,以避免数值范围较大的特征主导分类过程。实验采用10折交叉验证,以提高模型的泛化能力。

4、隐藏服务识别结果

本文提出的HS指纹(fingerptinting, FP)识别方法分为两个阶段:第一阶段检测是否存在HS通信,第二阶段识别具体的HS内容。

4.1 隐藏服务通信检测

通过二分类方法将HS流量与普通网页流量区分开来,检测客户端是否与已知或未知的HS建立连接。HS页面集称为前景类,常规网页集称为背景类。

对于未知HS通信检测,随着背景集的增大,精确率和召回率略有下降,但即使背景集达到211148个网页时,精确度和召回率仍保持较高水平(分别为0.87和0.88)。同时,通过增加每个HS的FP数量(从1个增加到8个),检测性能大幅提升,精确率和召回率接近1.0,显示出攻击者通过少量额外指纹就能有效提高检测准确度。

对于已知HS通信检测,即使背景集达到211148个时,精确率和召回率依然保持在0.96以上,这表明检测已知HS相对容易。总体来看,“隐藏服务特征”显著提高了检测性能,特别是在背景集较大时。尽管更新后的Tor浏览器(TBB 6.0.4)对攻击有所缓解,但对于恶意入口节点来说则更能有效地检测到HS通信。不同版本Tor浏览器第一阶段分类结果如下:

卢森堡大学 | Tor隐藏服务指纹识别技术分析

4.2 特定隐藏服务内容识别

在成功检测到HS通信后,第二阶段是对具体访问的HS内容进行识别。

在开放世界的场景中,将HS数据集分为前景集(100个随机选取的HS,每个HS有40个指纹)和背景集(背景集大小为100到3000不等,每个HS只有一个指纹)。实验结果显示,随着背景集大小的增大,召回率和精确度显著下降。当背景集最大时,召回率在0.9以上的HS不到50%,而精确度在0.9以上的HS下降到约40%。这表明在开放世界中,仅依靠指纹识别HS的攻击效果较差,基于流量指纹的分类方法难以有效扩展。开放世界场景下的精确度和召回率的互补累积分布函数(CCDF)如下:

卢森堡大学 | Tor隐藏服务指纹识别技术分析

在封闭世界场景中,已知所有的HS内容,并通过多分类的方法识别不同的HS。实验使用了2744个独特的HS内容,每个HS内容有40个指纹。经过10折交叉验证,多分类可以获得约60.97%的准确率。尽管如此,仍有约20%的HS无法在精确度和召回率都达到0.9的情况下被识别。更具体地,有161个HS根本无法识别,99个HS始终能被正确识别。封闭世界场景下的精确度和召回率的CCDF如下:

卢森堡大学 | Tor隐藏服务指纹识别技术分析

4.3 与现有研究方法的比较

本文的方法在封闭世界环境下表现出色,相较于现有流量指纹分类器,识别率显著提高。在1000个随机HS数据集上,本文的方法准确率超过80%,远高于现有其他方法的准确率。在运行效率方面,本方法比现有其他方法更快。此外,在开放世界环境下,本方法在检测已知HS时,表现也优于其他方法。

5、总结

本文提出了一种新的两阶段指纹攻击方法,分析了Tor HS在网站指纹攻击中的脆弱性。研究表明,本文提出的方法在分类准确性上显著优于现有先进方法,但在现实环境中,随着HS数量增加,攻击方法难以有效拓展,且在开放世界场景下的识别能力有限。总体而言,本文方法在封闭世界场景下表现更优,并在运行效率上有显著提升。

本文的主要贡献如下:

  • 提出了一种新型的两阶段指纹攻击方法,不依赖恶意入口节点。攻击者观察客户端与入口节点之间的连接,第一阶段检测该连接是否为HS,第二阶段识别具体访问的HS内容。

  • 收集了最为全面的HS数据集,代表了现实世界中的Tor HS。不同于只收集公开可用的HS地址,本文收集了Tor网络中所有可用的HS,研究该攻击在真实环境中的影响。

  • 通过收集到的HS数据集,展示了HS连接的检测是可行的,而现有方法在现实环境中应用时,对于特定内容的识别无法扩展。

安全学术圈招募队友-ing 
有兴趣加入学术圈的请联系 secdr#qq.com

原文始发于微信公众号(安全学术圈):卢森堡大学 | Tor隐藏服务指纹识别技术分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月13日09:07:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   卢森堡大学 | Tor隐藏服务指纹识别技术分析http://cn-sec.com/archives/3734326.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息