数百万用户依赖一个由无偿志愿者组成的网络来保护在线匿名,这个网络25年来一直依靠利他精神而非商业利益运转。Tor(洋葱路由器)将用户流量通过三个由志愿者运营的中继节点转发,全球共有多达9000个这样的节点,确保没有任何单一节点能同时知晓用户身份和目标地址。
在DEF CON安全大会上,Tor项目联合创始人罗杰·丁格尔丁详细讲解了维持这一网络运转的经验教训,涵盖路由设计、恶意行为者检测,以及一个与廉价托管经济逻辑相关的中心化问题。他还重申,Tor的目标是隐私保护,而非盈利。
"Tor的基石是利他主义,"丁格尔丁说,"也就是说:我想让世界变得更好,我有多余的资源——无论是带宽、电脑还是其他东西——当然我会回馈社区,让身处威权体制下的人们,无论是埃及、美国还是其他地方,都能在互联网上获得更多安全保障。"
Tor的网络架构与中心化权衡
Tor将流量依次通过三个中继节点转发:入口守卫节点、中间节点,以及连接目标网站的出口节点。每个中继节点运营者自行设定出口策略,规定允许转发的地址和端口。有些仅开放80和443端口用于网页流量,另一些则完全不承担出口流量,仅作为入口或中间跳转节点。
一份由九个目录授权机构每小时发布一次的目录共识,告知客户端当前存在哪些中继节点及其连接方式。丁格尔丁本人运营其中一个,并与其他八位运营者相互熟识,这是去中心化与可控管理之间的一种权衡。他指出,如果攻击者能以某种方式控制或胁迫其中超过半数的节点,就有可能对Tor网络发动攻击。
"这种适度的中心化对我们管控网络准入很有帮助,"丁格尔丁说,"如果俄罗斯某个坏人注册了1000个Tor中继节点,一旦我们识别出来,就有能力将这些节点从网络中清除,事实证明这在实际操作中非常有用。"
目录授权机构曾经也是性能和审查的瓶颈,因为客户端需要从九个固定IP地址启动,而这些地址随时可能被审查方封锁。Tor通过将目录信息分散存储到所有中继节点,并增加备用启动目录来解决这一问题,使客户端无需直接访问目录授权机构。
实际威胁的优先级排序
丁格尔丁按照实际发生频率而非理论严重程度,对Tor用户面临的威胁进行了排序。
操作安全失误。导致去匿名化最常见的原因是用户操作失误,而非Tor自身的缺陷。丁格尔丁援引执法部门的案例称,相关嫌疑人被追踪,仅仅是因为他们曾短暂使用未接入Tor的开放网络连接。
浏览器指纹识别。Tor浏览器基于Firefox开发,通过标准化JavaScript行为、窗口尺寸等变量,使所有用户在外部看来尽可能一致。
浏览器漏洞攻击。针对Firefox购买的零日漏洞通常也适用于Tor浏览器,因为两者共用同一渲染引擎,无论底层运行何种匿名层,浏览器本身的攻击面依然较大。
确认性攻击。已怀疑特定用户的攻击者,可以同时监控该用户的网络连接与其疑似访问的目标网站,然后对两路流量进行关联分析。
流量分析。在没有明确嫌疑人的情况下,攻击者会尝试在大量观测到的Tor流量中匹配出对应的流量对。丁格尔丁将大规模场景下的这一问题称为极具挑战性的研究难题。
此外,恶意行为者还曾尝试通过将受控设备组成僵尸网络并注册为中继节点,直接劫持Tor的准入机制。网络健康团队会持续监测此类异常并及时清除,但这种攻击模式屡禁不止。
"这个问题会持续出现,"丁格尔丁说,"所以我们需要不断提升识别异常和处置能力。"
廉价云托管带来的集中化隐患
运营一个中继节点如今通常不再意味着在个人机器上安装软件并保持常连状态。大多数中继节点运营者现在选择租用虚拟私人服务器,丁格尔丁指出,这带来了一个现实问题:可选择的服务商正在收窄。
"大家都说,我也在Hetzner上跑吧,结果突然间Hetzner就占了Tor网络的20%,"丁格尔丁说。
地理分布问题进一步加剧了服务商集中化。他表示,新节点运营者倾向于选择欧洲,因为那里的带宽成本较低。而Tor自身的负载均衡和带宽测量系统又会优先选择这些节点,因为欧洲节点之间的物理距离近,实测速度更快。结果是路由算法在优化速度的同时,将更多流量推向更少、地理分布更集中的基础设施。这与网络最初将流量分散到多个司法管辖区的设计目标背道而驰。
"如果Tor网络的目标是将流量分散到多个大洲,那么在提速和安全之间就存在冲突,"丁格尔丁说。
目前的修复方案一部分是技术层面的——Tor项目正在用Rust重写中继节点代码,放弃配置选项繁多、在主流稳定版Linux发行版上难以可靠构建的C语言实现。另一部分则着眼于扩展节点运营者群体:中继节点容量仍高度集中于欧洲,丁格尔丁表示美国的增长明显滞后。
"我们生活在一个越来越需要帮助美国用户的世界里,我希望大家能帮助我们让Tor网络变得更强大,"他说。
Q&A
Q1:Tor网络是怎么保护用户匿名的?
A:Tor通过将用户流量依次转发到三个志愿者运营的中继节点(入口守卫节点、中间节点、出口节点)来实现匿名,每个节点只知道前一跳和后一跳的信息,没有任何单一节点能同时知道用户是谁以及访问的目标,从而保护用户隐私。
Q2:Tor用户最容易被去匿名化的原因是什么?
A:最常见的原因不是Tor本身有漏洞,而是用户的操作失误,比如曾短暂使用未接入Tor的普通网络连接。其次是浏览器指纹识别和针对Firefox渲染引擎的零日漏洞攻击,以及攻击者同时监控用户网络连接与目标网站流量进行关联分析的确认性攻击。
Q3:廉价云托管为什么会威胁Tor网络的安全性?
A:越来越多的节点运营者选择在Hetzner等少数几家廉价云服务商上部署中继节点,导致单一服务商可能占据Tor网络20%的份额。同时,由于欧洲带宽便宜,节点高度集中在欧洲,而Tor的路由算法又倾向于优先选择速度快的欧洲节点,造成流量越来越集中,背离了将流量分散到多个司法管辖区的初衷,增加了网络被攻击或被迫关闭的风险。
