Snowflake (软件)

Snowflake是一款通过中继数据请求从而突破网络审查的一套软件,其代理由网络未被审查的国家的用户运行,而受审查国家的用户可以通过Tor浏览器内置的Snowflake客户端来通过Snowflake代理连接网桥、从而连接Tor网络。Snowflake代理可以通过安装浏览器扩展程序、安装独立软件或者浏览嵌有Snowflake中继的网页来创建。

Snowflake浏览器扩展程序

历史

编辑

2016年1月,Snowflake的第一个版本发布,由前Google工程师兼音乐会钢琴家Serene英语Serene (pianist)发明[1]。其名字“Snowflake”(雪花)是对数目庞大的ICE协商相关临时代理服务器的比喻[2]

2019年FirefoxGoogle Chrome的Snowflake扩展程序发布。[2]

2023年2月,一款据称是Snowflake升级版本的独立软件Snowstorm发布。该软件以Rust语言编写,由开放技术基金会资助,目前正在beta测试中。[3][4]

运作

编辑
 
  1. 终端用户向经纪人寻求Snowflake代理
  2. 经纪人选取一个可用的Snowflake代理
  3. 经纪人回复终端用户
  4. 终端用户联系该Snowflake代理,使用WebRTC点对点连接
  5. 数据通过网桥中继到Tor网络

伊朗俄罗斯中国一些国家封锁Tor网络,用户无法通过公开的Tor入口节点连接上,必须通过网桥——未公开的中继来连接。而审查者会尝试深度包检测等手段识别并封锁网桥[5]

Snowflake系统目前由四个主体构成:

  • 客户端(snowflake-client
  • 经纪人(snowflake-broker
  • 代理(snowflake-proxy
  • 网桥(snowflake-server

客户端

编辑

当用户选择使用Snowflake网桥时,他们的软件作为客户端运作[6]

经纪人

编辑

fte英语Format-transforming encryption或obfs4网桥不同,客户端并不直接连接到网桥本身,而是首先联系经纪人,获取一些由志愿者运作的可用Snowflake代理,该过程使用域前置技术[7][5]。在Tor浏览器的默认配置中,客户端以多个使用CDN77的网站作为域前置的伪装域名,中间人看起来就像是访问一个主流网站,实际连接的是Tor Project运作的经纪人。

代理

编辑
<iframe src="https://snowflake.torproject.org/embed.html" width="320" height="240" frameborder="0" scrolling="no"></iframe>
— snowflake.torproject.org
在网页上嵌入Snowflake的HTML代码,用户通过一个开关即可运作代理

客户端通过经纪人获取到Snowflake代理后,直接向代理发起WebRTC连接,此处中间人看到的内容就像是视频会议应用产生的P2P流量[5]

志愿者安装一个浏览器扩展程序或者保持嵌入有Snowflake代码的标签页开启都会使其计算机变成一个代理[2]。在后者的情况下,志愿者只需打开一个网页内的开关即可使其运作。另外Snowflake代理也可以作为独立程序运行,比如在Docker容器中运行[7]

Snowflake代理只要网页或者程序连接到互联网就会一直运行,如果某运行者的计算机使用动态IP,代理的IP也会随之变化[1][7]。Snowflake代理以Tor入口的角色运作,而非出口,并不直接访问用户需要的网站,因此降低了法律风险[1]。中继流量会增加志愿者计算机的带宽用量,但一般不会降低做其他事情的网速[1][7]

网桥

编辑

志愿者运作的代理并不直接连接Tor网络,而是向经纪人介绍自己后,等待客户端的连接并将其请求中转到Snowflake网桥,后者将流量接力到Tor网络[8][6]

目前Tor浏览器的内置配置包含两个Snowflake网桥,昵称分别为crusty12和flakey3,都位于欧洲[9]

应对措施

编辑

审查者可能使用DTLS指纹识别并封锁Snowflake代理,这在俄罗斯曾经发生过。另一种可能的审查方法是安装并运行Tor浏览器,然后封锁所有其提供的Snowflake代理。这两种方法在面对大量志愿者建立节点的情况下会遇到挑战[10][11]

应用

编辑

Snowflake在2022年10月伊朗示威期间被广泛讨论和使用[1],还有人发布了波斯语的使用教程[12][5]

同年,俄罗斯政府增大了对Tor技术和政治上的封锁力度,结果是该国境内Snowflake网桥的使用人数增加[10][11]

参见

编辑
  • 赛风 - 使用多种反审查技术的翻墙工具
  • 闪现代理 - 与Snowflake原理类似的网桥
  • 球鞋网络 - 在网络接入受限的国家广泛使用的技术
  • uProxy - 类似地,由志愿者担当代理节点的浏览器扩展程序

参考来源

编辑
  1. ^ 1.0 1.1 1.2 1.3 1.4 Schwarzer, Matthias. Netzsperre im Iran umgehen: Wie "Snowflake" einen Weg ins freie Internet ermöglicht - so kann der Westen helfen. RedaktionsNetzwerk Deutschland英语RedaktionsNetzwerk Deutschland. 2022-09-30 [2022-10-10]. (原始内容存档于2022-10-10) (德语). 
  2. ^ 2.0 2.1 2.2 Cimpanu, Catalin. Tor Snowflake turns your browser into a proxy for users in censored countries. ZDNet. 2019-10-16 [2023-04-20]. (原始内容存档于2023-01-16) (英语). 
  3. ^ Binder, Matt. Snowflake helped Tor users thwart Russian censorship. Now the VPN is branching out as Snowstorm.. Mashable. 2023-02-10 [2023-04-20]. (原始内容存档于2023-06-08). 
  4. ^ Moreno, Johan. As The Internet Freedom Project Expands, Snowflake Becomes Snowstorm. 福布斯. 2023-02-08 [2023-04-20]. (原始内容存档于2023-04-01). 
  5. ^ 5.0 5.1 5.2 5.3 Quintin, Cooper. Snowflake Makes It Easy For Anyone to Fight Censorship. 电子前哨基金会. 2022-10-04 [2023-04-20]. (原始内容存档于2022-10-10) (英语). 
  6. ^ 6.0 6.1 Technical Overview. gitlab.torproject.org. 2021-11-04 [2023-04-20]. (原始内容存档于2023-05-11). 
  7. ^ 7.0 7.1 7.2 7.3 Eikenberg, Ronald. Internetsperren im Iran: So leisten Sie mit Snowflake Unterstützung. c't Magazin (Heise online德语heise online). 2022-09-30 [2023-04-20]. (原始内容存档于2023-04-14) (德语). 
  8. ^ duncan. New Release: Tor Browser 12.0. Tor Blog. 2022-12-07 [2023-05-14]. (原始内容存档于2023-05-26). Bug tor-browser-build#40674: Add Secondary Snowflake Bridge 
  9. ^ Relay Search - transport:snowflake. Tor Metrics. [2024-12-03]. 
  10. ^ 10.0 10.1 Tor 项目如何对抗俄罗斯的审查. Solidot. 2022-07-31 [2023-04-20]. (原始内容存档于2022-10-07). 
  11. ^ 11.0 11.1 Burgess, Matt. How Tor Is Fighting—and Beating—Russian Censorship. 连线. 2022-07-28 [2022-07-30]. (原始内容存档于2022-08-08). 
  12. ^ Iran: Circumventing Censorship with Tor. Tor Project Forum. 2022-09-22 [2023-04-20]. (原始内容存档于2023-05-24) (英语). 

外部链接

编辑