Pull to refresh

互联网屏蔽是如何工作的:使用实例概述现代方法

Level of difficultyHard
Reading time2 min
Views1.1K
Original author: Alex Gerasimchuk

一组印度科学家发表了以其本国为例政府机构采用的现代互联网屏蔽方法概述。他们研究了互联网服务提供商限制访问被禁信息的机制,评估了这些机制的准确性以及绕过这些屏蔽的能力。2captcha常驻代理团队整理了这项研究,并提请大家关注这项工作成果的主要论点。

输入数据


近年来,来自不同国家的研究人员对被视为"不自由"的国家(如中国或伊朗)使用的屏蔽方法进行了许多研究。然而,近年来甚至像印度这样的民主国家也部署了大规模的基础设施以实施互联网审查。

在研究过程中,科学家们编制了一份该国1,200个潜在被屏蔽网站的名单。这些数据收集自Citizen Lab或Herdict等公开来源。然后,使用九家最受欢迎的互联网服务提供商来安排互联网接入。

最初,OONI工具用于确定网站审查和屏蔽的事实。

OONI vs用于屏蔽搜索的自定义脚本


最初,研究人员打算使用一种名为OONI的常用审查检测工具。然而,在实验过程中发现,它给出了许多误– 人工验证这些结果表明存在许多不准确之处。

审查检测质量差可能是由于OONI过时的机制。因此,当检测到DNS过滤时,该工具会将Google DNS(通常视为未受审查的)返回的指定主机的IP地址与互联网提供商分配给该网站的IP地址进行比较。

如果地址不匹配,OONI会给出存在屏蔽的信号。然而在现代互联网的实际情况中,不同的IP地址没有任何意义,比如可能仅仅是使用CDN网络的证据。

因此,研究人员不得不编写自己的脚本来识别屏蔽。以下是屏蔽互联网内容的常用方法概述以及在现代条件下的有效性分析。

屏蔽是如何实现的,或者说中间件是什么?


分析表明,在各种类型的屏蔽的所有情况下,它们是通过使用嵌入式网络元件来实施的。研究人员称其为"中间件"– 它们拦截用户流量并进行分析,如果检测到试图连接至被禁止的网站,将会在流量中嵌入特殊的数据包。

为了检测中间件,研究人员开发了他们自己的迭代网络追踪(INT)方法,该方法使用traceroute实用程序的原理。其本质可以归结为通过IP标头中不断增加的TTL值向被屏蔽的站点发送web请

数据拦截的中间件机制

DNS屏蔽


DNS解析过程是获取任何网站访问权限的主要步骤。首先将用户输入的URL解析为相关联的IP地址。当使用DNS屏蔽时,审查机制总是在这一步进行干预– 受控解析器将错误的IP地址返回给用户,结果就是网站根本无法打开(DNS中毒)。

另一种屏蔽方法是使用DNS注入– 在这种情况下,客户端和解析器之间的中间件拦截DNS请求,并发送包含不正确IP地址的响应。

为了识别互联网服务提供商的DNS屏蔽,研究人员在不受审查的国家使用了带有出口节点的TOR– 如果网站可以用它打开,但不是通过提供商的简单连接,那么屏蔽的事实就能得到确认。

在识别出被DNS屏蔽的网站后,研究人员确定了屏蔽的方法。

迭代网络追踪方法:客户端发送特殊请求(DNS/HTTP GET),其中包含被屏蔽的站点和不断增加的TTL

TCP/IP数据包过滤


通过数据包标头过滤进行屏蔽是一种流行的互联网审查方法。互联网上有许多研究,其作者正试图明确识别这种屏蔽网站的方式。

在实际情况中,问题在于这种方法很容易与普通的系统故障混淆,导致网络运行困难和带宽降低。与HTTP屏蔽不同,当过滤TCP/IP时,用户无法收到他们所需网站被屏蔽的任何通知– 它只是打不开。很难验证屏蔽情况并将其与正常的网络故障和错误区分开来。

然而,研究人员试图做到这一点。信号交换过程就是用来做这件事的。信号交换数据包通过不受审查国家带有出口节点的Tor隧道传输。对于设法通过Tor建立连接的站点,信号交换过程以大约两秒的延迟连续执行五次以上。如果每次尝试都未成功,则很有可能出现了刻意过滤的情况。

结果,在所有接受测试的互联网服务提供商中,都没有发现这种屏蔽方法。

HTTP过滤


但是在九个提供商中有五个检测到了HTTP过滤。这种方法涉及分析HTTP数据包的内容。这可以在那些中间网络元件(中间件)的帮助下完成。

为了识别HTTP过滤,研究人员创建了以未受互联网审查的国家为结尾的Tor循环。然后,他们将收到的响应内容与在国内和使用Tor时对被屏蔽网站的请求进行比较。

首要任务之一是确定屏蔽发生的时刻。例如在某些提供商的情况下,在发送HTTP GET请求后,收到一个HTTP 200 OK响应,其中TCP FIN位设置了一个屏蔽通知– 它强制客户端浏览器终止与目标站点的连接。然而在那之后,仍会收到一个来自网站的数据包。在这种情况下,尚不清楚屏蔽是客户端请求还是站点响应触发。

这是通过一个简单的操作发现的:在GET请求的HTTP数据包标头中,Host字段被替换为HOST。事实证明,这足以让被屏蔽的网站开启。这证明审查机制只检查客户端的请求,而不检查服务器的响应。

结论:所有提供商都实施了屏蔽吗?


通常情况下,特定的互联网服务提供商自己不会屏蔽网站,但在这方面他们依赖提供商管理"邻近"网络。在设想的实验中,一些互联网服务提供商从未被发现使用他们自己的屏蔽,但与此同时,这些提供商的用户仍然无法打开在该国被屏蔽的网站。

Tags:
Hubs:
+7
Comments10

Articles