Tor 如何防御只运行数千个节点的攻击者?

信息安全
2021-08-08 15:16:55

Tor 是否对仅仅运行大量节点的对手提供任何保护?

拥有必要资源的人可以运行数千个中继节点(包括出口节点)。如果他们是像 NSA 这样的组织,他们还可以让运行节点的主要托管公司交出私钥,或者安装后门,而节点的“所有者”不会注意到。

我知道 tor 使用入口保护作为保护——客户端随机选择一组入口保护,并且只连接到作为入口节点的入口保护。如果入口防护装置不受影响,则用户是安全的。这至少给了用户不被分析的机会;如果没有入口守卫,用户最终会被抓住。

但是,如果攻击者对破坏所有访问某个站点的用户或针对特定用户不感兴趣怎么办。如果他们只是想识别访问该站点的用户的一些随机部分,他们不能通过运行几千个节点并等待来做到这一点吗?

我可以想象他们甚至可以针对特定用户,并迫使他们只使用受感染的节点。破坏用户的一个保护节点(窃听他的线路,观察他连接的服务器并向他们发送法庭命令或一些暴徒,或者只是幸运并偶然控制了正确的节点)。然后运行数千个修改过的客户端。一旦目标用户上线,立即淹没网络。与您的受损节点合作,保持受损路径畅通,以便客户端最终仅在您的节点上构建电路。瞧,您可以窃听用户。

Tor 中是否对此有任何保护措施?你能估计一下攻击者需要运行多少个节点吗?是否有任何非技术对策,例如如果 AWS 上出现 3000 个新的可疑节点,是否会有人进行干预?

(请注意,这与本网站上的其他问题不同。例如,我之前的问题询问了攻击者可以完全控制您的线路的情况;他伪造了整个网络。Tor 通过使用已知良好节点的列表来防范这种情况,并且使用签名。)

4个回答

Tor仅在随机选择的链中至少有一个节点不受攻击者控制的假设下提供隐私(因为我们正在谈论流量分析,只是窃听进出该节点的流量,而不尝试对其进行解密,算作“控制”)。这是概率性的。如果攻击者控制了所有节点的 50%,并且您的浏览器使用长度为 5 的链,那么攻击者获胜的概率为 0.5 5 = 1/32。

为了减轻此类攻击,您可以将您的客户端配置为非统一选择链,而是强制执行“全球传播”,以便该链将通过几个彼此不喜欢的国家的节点。

不是,运行大量节点是 Tor 的主要弱点之一。固定允许您选择要使用的特定节点,但重要的是要选择好节点并尽量避免行为不端的节点,因为完全通过共谋节点路由的路径是不安全的,并且每个共谋节点都会降低一些有效安全性。

有人努力尝试根据它们存在的时间来判断哪些节点表现良好,但是耐心和熟练的攻击者可以随着时间的推移过滤大量节点,同时很难检测到。

即使整个传输链没有受到损害,也可以通过查看数据包进出节点的时间来获得一定程度的理解。传输延迟会有所帮助,但会增加延迟,并且 Tor 目前不支持。

是否有任何非技术对策,例如如果 AWS 上出现 3000 个新的可疑节点,是否会有人进行干预?

是的。系统人员监控网络,目录授权运营商将阻止大量可疑的新中继。这种情况经常发生,有可疑的学术研究项目,特别是慷慨的新中继运营商和更邪恶的演员。

事实上,您的假设场景几乎是在 2014 年 12 月发生的。有些人出于某种原因在 Google 云服务器上启动3300 个中继。没啥事儿。继电器被阻塞他们几乎没有收到流量很难说运营商甚至试图完成什么。

这次RELAY_EARLY攻击可能是最糟糕的例子。2014 年上半年,攻击者,显然是卡内基梅隆大学SEI CERT的美国学术/政府研究人员,结合了 100 个快速中继和一个安全漏洞,对无数用户进行去匿名化,导致美国多人被捕,并可能面临来自任何其他人的潜在风险。聚会记录当时的交通。

除了运行数千个节点之外,攻击者还必须长时间运行这数千个节点,因为关于使用哪些节点的决策过程的一部分会考虑consensus权重,其中包括正常运行时间作为一个因素。此外,排名最高的(通过共识)中继可以将一些标志添加到节点,将中继标记为坏中继,这会对它的使用量产生负面影响。

Tor 针对此类攻击的大多数保护措施都与中继必须达到多少年才能获得相当大一部分流量的限制有关。