反对审查制度的历史:麻省理工学院和斯坦福大学科学家创建的Flash代理方法如何工作



在2010年代初期,由斯坦福大学,马萨诸塞大学,Tor项目和SRI International组成的专家联合团队介绍了他们关于如何处理互联网审查的研究结果。

科学家分析了绕过当时存在的锁的方法,并提出了自己的方法,称为闪存代理。 今天我们将讨论其本质和发展历史。

引言


互联网最初是开放给任何类型数据的网络,但是随着时间的流逝,许多国家开始过滤流量。 一些州禁止某些网站,例如YouTube或Facebook,而其他州则禁止访问包含某些材料的内容。 锁以一种或另一种形式在来自欧洲不同地区的数十个国家中使用。

使用锁的区域中的用户尝试使用各种代理来绕过它们。 此类系统的开发有多个方向,项目中使用了其中一项技术-Tor。

通常,开发人员可以通过三个需要解决的任务来绕过锁:

  1. 集合协议。 集合协议允许拥有锁的国家中的用户发送和接收少量信息,以与代理建立连接-例如,在Tor的情况下,它使用集合协议来分发Tor中继(网桥)的IP地址。 此类协议用于低速率流量,阻止它们并不是那么简单。
  2. 创建代理。 阻塞系统需要具有经过过滤的Internet的区域之外的代理,以便将流量从客户端传输到目标资源,反之亦然。 作为响应,阻止组织者可能会阻止用户识别代理的IP地址并将其阻止。 为了应对这种Sibyl攻击,代理服务必须能够不断创建新的代理。 快速创建新代理是研究人员提出的方法的主要本质。
  3. 伪装 当客户端收到未阻止的代理的地址时,他需要以某种方式隐藏与他的通信,以便使用流量分析工具无法阻止会话。 需要针对“正常”流量进行伪装,例如与在线商店交换数据,在线游戏等。

在他们的工作中,科学家们提出了一种快速创建代理的新方法。

如何运作


关键思想是使用许多网站来创建大量的代理,且代理的寿命不超过几分钟。

为此,请创建一个由志愿者拥有的小型站点网络-例如居住在具有Internet锁的区域之外的用户的主页。 这些站点与用户想要访问的资源没有任何关联。

在这样的站点上安装了一个小徽章,这是使用JavaScript创建的简单界面。 此类代码的示例:

<iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe> 

徽章的外观如下:



当浏览器从具有锁的区域之外的位置访问带有徽章的站点时,它开始将流量传输到该区域并返回。 也就是说,访问者的浏览器成为临时代理。 该用户离开站点后,该代理将被销毁,没有任何痕迹。

结果,可以获得足够的性能来维持Tor隧道。

除了Tor Relay和客户端外,用户还将需要三个元素。 所谓的促进者,它从客户端接收请求并将其连接到代理。 使用客户端上的传输插件(这是Chrome版本 )以及从WebSockets到纯TCP的Tor中继开关进行通信。



使用此方案的典型会话如下所示:

  1. 客户端启动Flash代理客户端Tor(浏览器插件),并使用集合协议将注册请求发送给协调人。 插件开始监听远程连接。
  2. Flash代理会联机显示,并与协调人联系以请求连接到客户端。
  3. 促进者通过传递用于连接的Flash代理数据来返回注册。
  4. 代理连接到已向其发送数据的客户端。
  5. 代理连接到传输插件和Tor中继,并开始在客户端和中继之间交换数据。

这种架构的独特之处在于,客户端永远不会事先确切知道他将需要连接的位置。 实际上,传输插件仅接受伪造的目标地址,以免违反传输协议的要求。 然后,将忽略此地址,并创建到另一个端点的隧道-Tor中继。

结论


Flash代理项目已经开发了好几年,并在2017年停止了对创作者的支持。 该链接上提供了项目代码。 闪存代理已被新的锁旁路工具所取代。 其中之一是基于类似原理的Snowflake项目。

Source: https://habr.com/ru/post/zh-CN452438/


All Articles