Internet阻止的工作原理:以实际示例回顾现代方法



一组印度科学家以其本国为例,对政府机构引入的现代互联网阻止方法进行评论。 他们研究了互联网提供商用来限制访问禁止信息的机制,评估了其准确性和规避此类障碍的能力。 我们提请您注意这项工作的重点。

输入数据


近年来,来自不同国家的研究人员对被认为是“非免费”国家(例如中国或伊朗)使用的封锁方法进行了大量研究。 但是,即使是像印度这样的民主国家,近年来也开发了庞大的基础设施来审查互联网。

在研究过程中,科学家整理了一份清单,列出了该国可能被封锁的1200个地点。 数据是从Citizen Lab或Herdict等开放源收集的。 然后,使用九个最受欢迎的Internet服务提供商来组织Internet访问。

为了确定审查制度和阻止站点的事实,最初使用了OONI工具。

OONI与自己的脚本来搜索锁


研究人员最初打算使用一种流行的审查检测工具OONI。 但是,在实验过程中,事实证明它提供了很多误报-手动检查结果显示出很多不正确之处。

对审查制度的定义不明确可能是由于过时的OONI机制所致。 因此,当检测到DNS过滤时,该工具会将Google DNS返回的给定主机的IP地址(被认为是未经审查的)与Internet提供商分配给该站点的IP地址进行比较。

如果地址不匹配,则OONI发出锁定信号。 但是,在现代Internet的现实中,不同的IP地址什么也没说,例如,可能是使用CDN网络的证据。

因此,研究人员必须编写自己的脚本来检测锁。 下面概述了阻止Internet内容的流行方法,并分析了它们在现代条件下的有效性。

锁如何工作或什么是中间盒


分析表明,在各种类型的锁的所有情况下,它们都是使用嵌入式网络元素实现的。 研究人员称它们为中间盒-拦截用户流量,对其进行分析,如果发现尝试连接到被禁止的站点,则将特殊数据包嵌入流量中。

为了检测中间箱,研究人员开发了自己的迭代网络跟踪(INT)方法,该方法使用traceroute实用程序的原理。 其本质归结为将Web请求发送到阻止的站点,同时IP头中的TTL值增加了。



中间盒拦截机制

DNS锁定


DNS解析过程是迈向访问任何网站的重要一步。 首先,将用户输入的URL解析为关联的IP地址。 使用DNS阻止时,检查人员总是在此步骤进行精确干预-解析的解析器向用户返回无效的IP地址,结果该站点根本无法打开(DNS中毒)。

阻止此问题的另一种方法是使用DNS注入-在这种情况下,客户端和解析器之间的中间盒将拦截DNS请求并发送自己的包含错误IP地址的响应。

为了确定Internet提供商对DNS的阻止,研究人员在没有审查的国家/地区中将TOR与输出节点一起使用-如果使用它,则站点可以打开,但是通过提供商的简单连接-不,则存在阻止的事实。

在确定了被DNS阻止的站点之后,研究人员确定了阻止方法。



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

TCP / IP数据包过滤


通过数据包报头过滤锁定被认为是一种流行的在线审查方式。 在Internet上,您可以找到很多研究,这些研究的作者正试图确切地确定这种阻止网站的方式。

实际上,问题在于这种方法很容易与常规系统故障相混淆,从而导致网络困难并降低其带宽。 与HTTP阻止不同,在过滤TCP / IP时,用户不会收到任何通知,表明他需要的站点已被阻止-他只是无法打开。 很难将阻塞情况与网络中常见的故障和错误进行区分,这是非常困难的。

但是,研究人员试图做到这一点。 为此,使用了握手过程。 在未经审查的国家/地区通过Tor与输出节点之间通过隧道传输的握手数据包。 在可以使用Tor建立连接的站点上,握手过程连续执行了五次,大约延迟了两秒钟。 如果每次尝试都不成功,则很有可能是故意过滤的问题。

结果,没有为所有经过测试的Internet提供商找到这种阻止方法。

HTTP过滤


但是,在9个提供者中有5个的情况下,检测到HTTP过滤。 此方法涉及分析HTTP数据包的内容。 您可以使用那些非常中间的网络元素(中间盒)来实现它。

为了识别HTTP过滤,研究人员创建了Tor循环,这些循环在没有Internet审查的国家/地区结束。 然后他们比较了收到的内容,这些内容是根据对使用Tor进行的国内封锁站点的请求进行响应的。

首要任务之一是确定锁定发生的时间。 例如,对于某些提供商,在发送HTTP GET请求后,该响应带有HTTP 200 OK响应,其中设置了TCP FIN位和阻止通知-正是他使客户端的浏览器与目标站点断开连接。 但是,此后,该站点也提供了一个软件包。 在这种情况下,不清楚是什么触发了阻止触发-客户的请求或网站的响应。

可以通过简单的操作来找出:在GET请求的HTTP数据包头中,“主机”字段被替换为“主机”。 事实证明这足以打开被阻止的站点。 这证明了检查者仅检查客户端请求,而不检查服务器响应。

结论:所有提供商都在阻止


通常,特定的Internet服务提供商不会自己阻止站点,而是在这方面依赖于管理“邻居”网络的提供商。 在审查的实验中,从未见过几个Internet服务提供商使用他们自己的锁,但同时,他们在该国被阻止的站点无法以相同的方式为用户打开。

有关使用常驻代理人进行业务的其他文章:


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


All Articles