文章
技术

Tor 从 5 月初开始 meek-azure 网桥间歇性失效,用户有可能暴露

Tor 连接统计

Tor 连接统计

中国未使用前置代理的 Tor 用户总共不到两千。

5 月前大概是稳定在一千出头的样子。其中绝大部分使用的是 meek 网桥,中国唯一可用的是 meek-azure 网桥,因此可以认为他们都是 meek-azure 网桥用户。一小部分用户使用的是 obfs4 网桥。还有一些用户直连 tor,为什么能够直连我不清楚。

meek-azure 网桥:使用微软 azure 云服务器作为代理,并且利用“域前置”技术伪装成访问微软某项服务的域名。azure 服务器集群使用 ip anycast 技术,任何一个属于 azure 的 ip 最终都可以访问到目标 host 服务器。微软曾公告关闭域前置。如果关闭了“域前置”技术,那么这个伪装将失败,azure 服务器会拒绝访问、断开连接。

5 月头几天用户不明原因飙升到两千,使用的都是 meek-azure 网桥。然后又迅速下降,至5月中旬跌至零。meek-azure 用户消失的原因应该是和 azure 关闭了域前置服务有关。这个关闭的过程不是一蹴而就的,而是每个服务器逐个关闭,因此表现为 meek-azure 用户逐渐减少至零。

5 月中旬,随着 meek-azure 的逐渐关闭,obfs4 网桥用户逐渐增多,成为主流。但是 obfs4 容易被 gfw 通过穷举的办法探测得出从而被封锁,用户需要频繁更换网桥,用户总量始终低于一千。

5 月下旬,meek-azure 网桥未知原因重开。技术原因是微软 azure 云的域前置技术重新开放。obfs4 网桥用户断崖下滑,meek 网桥用户回升到一千左右。
5 月底,meek-azure 网桥又未知原因下线至零。但不见 obfs4 使用量回升,我推测是用户要么放弃了 tor,要么使用了前置代理。

6 月初,meek-azure 网桥又未知原因重开。meek 网桥用户使用量再次回升到一千左右。

两次 meek-azure 网桥的中断,我觉得有可能造成使用该网桥的 Tor 用户的暴露。其特征是:
在 azure 域前置服务关闭的地区,meek-azure 伪装成访问微软网络服务,但因为 snihost 不符,在握手之后立即断开。
如果 gfw 有意观察这种反应,那么有可能得知此连接是 meek-azure 连接。

菜单
  1. solids   Ñøñë

    感谢您写了这么多分析。

    请注意: meek-azure 使用的域名是 ajax.aspnetcdn.com,这个域名长期被分配的 IP 是 117.18.232.200 [澳大利亚 美国 MCI 通信服务有限公司 (韦里孙商业 Verizon Business) EdgeCast 亚太网络 CDN 节点] 很容易被屏蔽,并非 Azure 关闭了域前置服务。

    要测试,请执行

    curl -v https://ajax.aspnetcdn.com -H "Host: meek.azureedge.net"

    您应该收到回复 I’m just a happy little web server.

  2. NullPointer  
  3. 国家主席习近平   有些人曾经回来过,又回去了。
    内容已隐藏
    内容已被作者本人或管理员隐藏。 如有疑问,请点击菜单按钮,查看管理日志以了解原因。
  4. solids   Ñøñë

    @NullPointer #143953 确实。但是看起来很快恢复了。

    但因为 sni 与 host 不符,在握手之后立即断开。 如果 gfw 有意观察这种反应,

    这个如何做到? GFW 只能看到ajax.aspnetcdn.com ,这个在很多其他网站有使用。

  5. NullPointer  

    @solids #143955 关闭域前置的情况下,tls 握手会通过,但是 http request 会因为 host 与证书 sni 不符被拒绝,然后断开连接。大多数正常的网络请求是 sni 与 host 一致的,不会触发这种反应。

    所以 gfw 只需要观察连接到 ajax.aspnetcdn.com 的请求,谁握手之后是立马断开的,就可以了。再细致一些,gfw 还可以比对服务器回复包的长度等特征,看是否是拒绝连接的 response。

  6. solids   Ñøñë

    @NullPointer #143957 根据 https://docs.microsoft.com/en-us/aspnet/ajax/cdn/overview,使用 Microsoft Ajax CDN 的第三方站点的 script src 之一是 https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.6.0.js

    只需要观察连接到 ajax.aspnetcdn.com 的连接请求,谁握手之后是立马断开的,就可以了。

    如果 GFW 保存所有 SNI 为 ajax.aspnetcdn.com 的 TCP packet 并分析有可能做到这一点。

    gfw 还可以比对服务器回复包的长度等特征

    既然如此有可能看到这种回复就在下一次屏蔽,像之前根据服务端证书屏蔽一样。现在看 GFW 还没有这么做。

  7. NullPointer  

    @solids #143963

    有可能看到这种回复就在下一次屏蔽

    应该不太能做到屏蔽,客户 IP 是动态的。通过 ISP 日志也许能找出某时某刻某端口的使用者。但技术上应该无法预测该使用者下次会从哪个端口乃至哪个 IP 上重新连接。由于 NAT 的存在,很多宽带用户是共享 IP。

    meek-azure 网桥失效时,用户本来就连不上 tor,也不用额外屏蔽什么。没必要据此研发屏蔽 meek-azure 的技术,因为按微软的公告,它将很快下线。
    虽然我不明白为什么微软关闭了两次又重开了两次。

  8. Truth  

    所以一共只有幾千人的話是不是太危險了?

    另外使用迷霧通的proxy流量是不是就不會被顯示在這張圖中?

  9. NullPointer  

    @Truth #143966 这是 tor 官方对于用户的统计。而且使用前置代理连接 tor 的不会被统计为中国,而是被统计为代理所在国家。不过使用前置代理需要懂点电脑技术,应该比用网桥的更小众。所以 tor 在中国的用户群应该就是非常少的。

  10. 葛花A  

    @NullPointer #143967 使用前置代理明明比网桥容易很多吧,用网桥还得自己筛选出能用的,而且即使能连接上速度也很慢。

  11. 葛花A  

    @Truth #143966 我前天自己测过,抓包根本分辨不出来迷雾通+tor的流量和正常上网的流量有什么区别。tor+前置代理是不会被特意统计出来的,也根本统计不出来。

  12. 葛花A  

    分析的不错,不过据我所知GFW没有统计过这种情况吧?

  13. Surge   Be the Light

    两个问题想和大家探讨:

    1.与墙内分布在多个地区的朋友交流,近2年内从来不能单独通过obfs4或meek网桥连通Tor网络。

    一个可能的解释:GFW完全有能力识别网桥,只在某些区域故意放开封锁。

    2.理论上墙内不可能直接连通Tor网络,因为Tor的目录服务器,节点都在GFW的屏蔽名单中。最近半年,Tor project统计中国地区的直接连接Tor的用户平均数约在1500左右。早些时候更多。

    一个可能的解释:这些用户的前置代理的问题泄露了真实IP。

  14. 葛花A  

    @Surge #143972 GFW屏蔽tor网桥的方法是人工录入,连不上纯粹是因为tor网桥的服务质量对国内用户来说太烂。

  15. solids   Ñøñë

    @Surge #143972

    理论上墙内不可能直接连通Tor网络,因为Tor的目录服务器,节点都在GFW的屏蔽名单中。

    有遗漏啊,我就遇到过。

    一个可能的解释:GFW完全有能力识别网桥,只在某些区域故意放开封锁。

    根据 https://github.com/v2ray/v2ray-core/files/4822446/parrot.pdf,对于网桥有工作人员手动去网站和邮件获取,然后屏蔽,,,

    meek-azure 现在没有屏蔽。

  16. thphd   2047前站长

    楼主的意思似乎是,大家赶紧前置代理+Tor,千万别听晶哥娃哈哈,傻傻跑去开meek……

  17. 邹韬奋 外逃贪官CA
    邹韬奋   虽然韬光养晦,亦当奋起而争(拜登永不为奴:h.2047.one)

    @thphd #143979 meek本来就很难连接,就算不考虑安全问题也不实用

  18. NullPointer  

    @葛花A #143971 gfw 会不会主动检测使用 meek 的用户我不晓得,但这种风险还是存在的。所以标题我用了“有可能”。其实还有直连 tor(连不上)、连接已经被屏蔽的网桥,都有可能被 gfw 记在日志上标注为“tor 用户”,从而可能会受到当局的关注。

    @Surge #143972 obfs4 和 meek 不是完全不能用。可以看到当 meek 不能用的时候,obfs4 用户上升了。说明只是大家优先不选择使用 obfs4。以我自身的体验,是因为申请到的 obfs4 绝大多数要么是已经被屏蔽,要么是很快就被屏蔽了。obfs4 需要经常更换。而 meek 不好用,是因为 gfw 有针对那个伪装域名的流量劣化。虽然会对微软的正常业务造成影响,但这个影响范围比较小。

    直连用户应该就是你说的情况,是用了暴露原始 ip 的代理。tor 官方的统计,统计的是所有 9 台目录服务器的访问来源。如果用户通过非匿名代理访问 tor,那么 tor 记录的应该就是用户的真实 ip。

    @thphd #143979 差不多有这个意思。各种连接 tor 的方法里,前置代理是最难识别、最安全的(前提不是钓鱼代理)。

  19. Surge   Be the Light

    @solids #143975 理论上直接屏蔽目录服务器,Tor就不能直连了。目录服务器就那个几个,但Tor Project统计数据一直有1000以上,高峰时有数千中国大陆IP直连Tor目录服务器。如果只是GFW遗漏,可能性较小。想来只有前置代理暴露了ip这个解释比较合理。

    @NullPointer #143992 Tor是匿名工具,不应用作翻墙工具,即使某些时候可以翻墙。墙内Tor用户数量少,而且大多是为隐藏身份做一些“政府不允许”的事。我担心的不是GFW对Tor的屏蔽,而是中共当局对Tor用户的重点关注。就像NullPointer兄说的那样,对已识别的Tor用户标记,也许在isp暗中设一个流量监控。网桥/用了蜜罐前置代理的3000个左右Tor用户在属地化管理下,监控与排查起来毫不费力。尤其在偏远地区,可能某一大片区域就一个人。这才是墙内Tor用户需要注意和重视的。