原文标题:Do Not Trust What They Tell: Exposing Malicious Accomplices in Tor via Anomalous Circuit Detection
原文作者:Yixuan Yao, Ming Yang, Zixia Liu, Kai Dong, Xiaodan-Gu, Chunmian Wang原文链接:https://openreview.net/forum?id=qcnePVejeV#discussion发表会议:WWW 2025笔记作者:刘骏以@安全学术圈
1. 论文内容概述
背景:攻击者会关联电路中相互勾结的入口节点和出口节点之间的流量模式(仍然容易受到部署为Sybils的恶意节点的攻击,这些节点试图被用户选择为同一电路内的出口和出口,旨在执行可能危及用户身份的流量相关攻击),从而实现对用户的去匿名化,因此提出了一种方法来检测tor网络中的异常电路,通过考虑节点在异常电路中的角色,首次提供了一个更全面的方法识别tor中的潜在恶意同谋节点。
方法
基于部署的中间节点通过修改源代码捕获流量数据。
基于流量模式对电路进行新颖的分类。
定义了两种异常类型
解释:当某些入口-出口对(自称不属于同一系列)在电路中以异常高的频率使用,明显偏离预期的概率,这也强烈地暗示了这些节点的人为选择以及它们之间潜在隐藏的家庭/组织关联。
解释:当用户在电路构建过程中故意选择特定的节点对,特别是入口-出口对,并明确违反Tor的规则,如Tor自己的电路构建规则。
路由异常:明确违反Tor电路构建指南的异常情况。
使用异常:隐性违反Tor电路构建指南的异常情况。
研究结果
异常节点识别:成功揭示了Tor网络中总共1960个异常节点。
潜在组织挖掘:对检测到的异常节点进行聚类分析,同时考虑相应的异常电路和其他关键特征,揭示了这些节点背后可能存在的、会威胁网络安全的隐藏组织。
具体贡献
通过开发一种新的统计模型来检测异常高的发生频率的入口-出口对。在实验中总共检测得到了1,960个异常节点。
提出了一种技术,通过对包括节点的电路部分进行分类来确定特定类型电路中受控中间节点的位置。经验证,电路截面分类的准确率达到100%。这种技术作为异常电路检测方法的初步,并在Tor中提供信息丰富的电路分类知识。
发现了异常入口-出口对中涉及的节点之间潜在隐藏的组织关系。首次在聚类距离测度中考虑了异常电路中节点的作用最终,揭示了Tor网络中几个家庭团体和离散节点之间的组织联系。
提出了第一种检测异常电路的方法,能够揭示仅通过节点配置比较无法检测到的隐含节点关联,并在tor网络中进行了大规模验证
2. 背景
出口电路(Exit circuits)
用途:主要用于用户匿名访问普通网站。
组成:包含出口节点(Exit nodes),通常会选择三个中继节点构建一个通用的出口电路进行通信,分别作为入口节点(Entry node)、中间节点(Middle node)和出口节点。
内部电路(Internal circuits)
当Tor隐藏服务器启动时,会选择三个入口节点作为其前端代理,并将这些节点的介绍点和公钥信息上传到隐藏服务目录服务器(HSDIR)。
客户端通过创建一个三跳电路连接到HSDIR来获取这些信息。
客户端选择一个会合点(Rendezvous Point,RPO),并通过介绍点(Introduction Point,IPO)通知隐藏服务器。
客户端和隐藏服务器分别建立到会合点的电路,形成一个六跳链路进行通信,确保没有单个中继节点能同时知晓客户端和隐藏服务器的IP地址,从而维持双方的匿名性。
(为什么图里最后是5跳)解释:
引用于(https://blog.csdn.net/m0_51507437/article/details/135031511#:~:text=Tor%EF%BC%88the%20second-generation)
用途:不包含出口节点,主要用于隐藏服务的发布和访问,以及维护Tor中继信息。
工作流程:
3. Sybil威胁模型
4. 基本思想
检测用户选择的入口 - 出口节点对可能违反Tor电路构建规则的异常电路,并从这些涉及的入口 - 出口对中挖掘潜在的女巫节点。
具体方法
路由异常:电路明确违反Tor的路由规则,表明相应的入口 - 出口对是人为选择的。
使用异常:电路中的节点对出现频率异常高,高度暗示入口 - 出口对是人为固定的。
由于只有在出口电路中客户端才能固定电路的两个端点(入口 - 出口节点),所以首先要识别出口电路并收集相应节点信息用于验证。预构建的电路中用于未来出口电路的子集也可用于验证。
通过在真实Tor网络中部署自己的中间节点,修改节点源代码,记录电路段内的信元轨迹和相邻节点信息。
利用Tor协议层的流量特征,基于24种潜在的电路段类型设计电路段分类方法,从而辨别和收集出口电路中入口 - 出口对的信息。
识别出口电路并收集信息
定义电路异常类型
聚类分析识别女巫节点:基于相似性、异常连接性和家族组标志这三个特征进行聚类分析,研究用户对这些节点对的偏好是否呈现组织模式,以识别Tor中的女巫节点。
面临的挑战
辨别出口电路:需要从中间节点流量日志捕获的所有电路中准确分离出出口电路。由于Tor中电路类型多样、通信信元长度固定以及用于模糊特定流量模式的填充机制等因素,这一过程变得复杂。
构建统计模型检测异常频率:要区分“固定的入口 - 出口对”和“仅单个入口或出口固定”的情况。此外,模型必须考虑Tor共识权重随时间的自然波动,因为这会影响节点的选择概率。
5. 方法论
识别电路中的节点位置(电路分类)
为验证电路特征的准确性,在真实Tor网络中设置客户端和隐藏服务(HS),修改客户端和HS的源代码,使所有中间节点都从部署的节点中选择。
分别访问100个开放站点和100个隐藏服务站点,记录每个电路信息和所选中间节点的Cell轨迹,并与之前的理论分析进行比较。
实验产生100条出口电路、600条内部电路(6种类型各100条)和100条预建电路。结果表明,填充Cell移除方法有效消除了特定电路中的填充,电路段分类准确率达到100%。
构建用于电路段类型分类的决策树,涵盖所有24种电路段类型。
推测每种电路段都有独特的Cell轨迹特征,通过仔细检查每种电路类型的特征,并综合考虑每个Cell的方向和整体Cell轨迹的顺序方向特征,建立了分类决策树。
部分电路段难以直接根据Cell轨迹特征区分,如客户端 - IPO电路的进出Cell数量相等,与预建电路的某些部分重叠,因此创新性地利用“ifpadding”标签辅助区分这些电路。
电路类型
客户端 - IPO(Client - IPO)和客户端 - RPO(Client - RPO)电路中使用填充Cell来模糊电路特征,需识别并移除这些填充Cell以避免干扰电路识别。
由于填充Cell中的丢弃命令封装在中继Cell内,节点无法直接读取,因此根据时间戳特征来区分填充Cell。
客户端 - IPO电路从第6个Cell开始添加填充Cell,先有一个“+”方向的Cell,接着约10个“ - ”方向的Cell;客户端 - RPO电路同样从第6个Cell开始添加,格式为一个或多个“+”“ - ”方向交替的Cell对。
运用DBSCAN聚类算法从Tor Cell轨迹中分离出时间戳密集的填充Cell。设置eps为0.1秒,min_samples为2。若Cell轨迹从第6个Cell开始形成密集区域且方向符合客户端 - RPO或客户端 - IPO填充模式,则标记ifpadding = true并移除该密集区域。
首先修改Tor节点源代码以记录Tor流量,包括带有方向、时间戳和电路段ID的Cell序列。电路段ID及其对应的Cell序列构成Cell轨迹
Tor正常流量可产生来自9种电路的24种电路段,不过不考虑用户对Tor进行非官方修改产生的特殊电路
数据构建
去除Cell轨迹中的噪声
电路段类型分类
实验验证
检测异常电路
电路参与情况判断:若受控节点被识别为出口电路中的第二跳,或者在预建电路中第三跳节点有“出口”标志但无“守卫”标志(这类节点只能作为出口节点),则可判定自身节点参与了出口活动。相关电路包括所有出口电路以及部分预建电路,可获取这些电路中入口和出口节点的唯一指纹信息。
异常电路检测方法:利用入口 - 出口节点对的唯一指纹进行异常电路检测。异常电路分为路由异常电路和使用异常电路,其中路由异常电路可通过简单配置比较轻松识别,因此重点在于检测使用异常电路。
电路情况判定与异常检测的依据
节点选择概率与频率
统计模型与假设检验
开发了一个统计模型来评估每个入口节点 ii 和出口节点 jj 的选择频率
聚类异常节点
内在属性相似度(Intrinsic Attribute Similarity)
家族关系(Family Relationship)
异常行为模式(Abnormal Behavioral Pattern)
特征定义:衡量Tor节点某些内在属性的相似度。同一虚拟专用服务器(VPS)提供商托管的节点可能有相似昵称、分配相似带宽、运行相同版本的Tor软件,且可能有同时在线和离线的协调模式。
计算方式:选取昵称特征、网络属性特征、地理位置、时间行为和Tor版本这五个关键属性来计算相似度得分。基于这些属性训练机器学习模型,输出两个异常节点具有相似行为的概率作为相似度得分。训练数据集来自Tor Metric平台上公开的已验证可信节点数据,包含2256个正样本和2256个负样本,通过随机抽样选取以确保公平性。通过测试和比较朴素贝叶斯分类器、支持向量机(SVM)、逻辑回归(LR)和随机森林等几种机器学习算法,使用准确率、精确率、召回率和F1值等指标评估性能,最终选择最佳模型来计算两个节点的内在属性相似度 sim(a,b)sim(a,b)。
特征定义:源于Tor节点中的“family”配置选项,该配置信息由节点所有者定义,明确指出与该节点属于同一组织的其他节点,有助于用户在构建电路时避免选择同一组织的多个节点。
计算方式:引入 fam(a,b)fam(a,b) 来表示两个节点是否被明确指定为属于同一组织,公式为 fam(a,b)={0,a和b在一个家族1,其他情况fam(a,b)={0,1,a和b在一个家族其他情况,该特征可提高聚类准确性。
特征定义:描述两个节点在异常行为模式方面的关系,可通过特定方法识别。
计算方式:引入连接性度量 conn(a,b)conn(a,b) 来量化节点 aa 和 bb 之间的这种关系,conn(a,b)=e−Nc(a,b)conn(a,b)=e−Nc(a,b),其中 Nc(a,b)Nc(a,b) 表示节点 aa 和 bb 在同一异常电路中共同出现的次数。为减少 Nc(a,b)Nc(a,b) 大幅变化的影响,应用对数函数来减轻显著差异,确保特征更稳定可靠。
考虑的三种特征及计算方法
6. 实验
在9,000多个节点的真实Tor网络上进行实验。在全球各个地区部署了10个经过修改的Middle节点来收集电路数据。在2024年3月1日至4月15日的45天期间,收集了来自这些节点的电路部分记录内的总共45,367,152条迹线。
节点位置识别结果
根据前文中的方法对所有收集的迹线的电路部分进行分类,得到24个类别。凭借100%的分类准确率,可以精确地识别退出和预建电路,以进行进一步验证。这一过程还揭示了一些其他有趣的发现。对于9种电路类型中的每一种,论文选择入口-中间部分作为代表,以估计Tor网络中不同电路类型的比例。图中的饼图展示了这些分布。
异常电路检测结果
在退出电路中筛选了总共31,362对继电器和727,738对指定用于退出电路的预建电路,从而产生759,100对异常检测。在重复数据删除之后,要检查的最终电路集包括415,858个唯一电路。接下来,对这些电路进行异常检测,结果上表所示。
异常节点聚类结果
最后,对这些异常回路中涉及的1960个节点进行聚类分析,以揭示其中隐藏的组织关系。结果如图所示,该图使用MDS(多维缩放)进行二维可视化,根据节点的关系位置显示了节点的分布。使用DBSCAN(eps = 0.15)标识四个密集聚类,每个聚类以不同的颜色突出显示。表4总结了这些聚类中家族组的分布。群集1和群集2仅由来自家庭组1和2的节点组成,这表明用户强烈偏好选择这些组作为入口-出口对。相比之下,群集3和群集4包含来自多个族组的成员,这些族组沿着离散节点。重要的是,这两个集群是基于严格的家庭关系以外的特征收集的。具体来说,集群3中的离散节点到家庭组3的异常链接主要是由于它们相似的行为模式而暴露出来,这表明需要在评估节点关联时包括我们提出的连接性度量。这些观察结果表明,在家族组和离散节点之间,甚至在不同家族组之间,存在着隐藏的组织关系。这些组织有可能充当Sybils,对Tor网络的匿名性发起攻击。
安全学术圈招募队友-ing
有兴趣加入学术圈的请联系 secdr#qq.com
声明:本文来自安全学术圈,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。