通过网络爬虫自动发现互联网审查
來源:Automated Discovery of Internet Censorship by Web Crawling
对互联网的审查在世界范围内很普遍。随着对网络的访问变得越来越普遍,对这一资源的过滤变得更加普遍。关于公民被拒绝访问的具体内容的透明度是不典型的。为了应对这种情况,不同的个人和组织提出了许多维护URL过滤列表的技术,旨在为公众和更广泛的审查制度研究界提供审查制度的经验数据。
我们提出了一种新的方法来发现不同国家的过滤域。这个方法是完全自动化的,不需要人的互动。该系统使用网络爬行技术在被过滤的网站之间穿行,并实现了一个强大的方法来确定一个域名是否被过滤。我们通过在四个不同的审查制度下搜索被过滤的内容的实验来证明该方法的有效性。我们的结果表明,我们的表现比目前的技术水平要好,并且建立的域名过滤列表比2018年1月最广泛使用的公共列表大一个数量级。此外,我们建立了一个数据集,映射出域之间被封锁的内容的相互联系的性质,并展示了被审查的网络资源的紧密网络的性质。
介绍
世界各地的审查制度一直在努力,试图过滤他们认为过于敏感或违背自身利益道德的互联网资源。随着互联网接入变得更加普遍,部署的过滤系统的规模也在增加。最近的一项研究表明,在全国范围内阻断流行网站的可及性是很普遍的,而且具有破坏性(24)(29)。言论自由和互联网自由的倡导者推动透明度和开放性,而审查者则试图在他们的网络中重新压制某些信息的流动。这方面的关键是封锁特定的网页和指向这些网页的URLs。
为了应对大规模的网络资源过滤,近年来有许多研究旨在确定在不同国家被封锁的内容类型。特别值得关注的是发生封锁的时间段,以及监测被过滤的URL和关键词的技术发展(12)(13)(18)(23)(33)。
我们介绍了一种以规模和合理成本发现不同国家中被过滤的域名的方法。该系统是完全自动化的,不需要每个国家的专业知识或合作–这意味着审查制度下的个人安全不会受到影响。我们的方法采用网络爬行技术来寻找被封锁的内容,并使用已知的被过滤URL的种子列表来启动搜索。我们利用目标国家的DNS服务器作为可测量的设备。这使我们能够监测单个域名和子域名的过滤状态,而无需人工干预。该系统是递归的,因此新的被过滤的URL被反馈到搜索中,以允许持续的测量。我们使用四个不同的测试国家进行的实验结果表明,我们的方法可以用来寻找原始种子列表中没有的被过滤的URL。此外,我们还收集了关于各种被过滤的域名的链接性质的数据,以进一步了解不同的被过滤内容是如何关联的。
相关研究
在过去的十年中,有许多方法可以检测世界各地的互联网审查制度。在这些方法中,有许多是针对具体国家的,主要集中在中国(10)(18)(22)(25)(40)、印度尼西亚(21)(36)、伊朗(7)(8)、巴基斯坦(2)(27)和泰国(19)等。
目前最广泛采用的URL过滤列表是由CitizenLab(9)维护的。它们是利用当地的知识和不同国家的过滤报告构建的,并整理了来自不同来源的数据,如OONI(16)。
开发新的技术来发现被过滤的URLs是一个具有挑战性的问题。然而,这是一个丰富的研究领域,近年来发表了大量的技术(4)。使用DNS作为测试网络内容审查的手段并不新鲜,但由于其可扩展性和远程性,可以说是很有优势(35)。这些属性使DNS成为其他审查制度监测架构的常用工具,如UBICA(3)、FilteredWeb(13)和CensMon(33)。
建立深入和准确的URL过滤列表是审查制度研究的一个重要方面。这些集合在研究界中被广泛用于各种不同的测量和测试互联网的可及性、网络内容阻断和规避技术(30)(38)。此外,对这些名单的后续和持续维护,为深入了解世界各地的互联网过滤状况提供了机会。如果我们要构建一个审查制度发展的模型,上述监测架构所收集的数据是至关重要的。
贡献
本文介绍了一种新的方法来发现目标审查制度下的过滤行为。我们创建了一个技术实施方案,并通过实验证明它是建立URL过滤列表的一个有效工具。此外,我们的结果显示,该方法为测试国家找到的被过滤的URL比目前最大的公共过滤列表中的URL多得多。我们的正式贡献是。
- 一种发现先前未知的过滤域的新方法
- 通过测量四个已知审查制度下的过滤活动对该技术进行实验分析
- 对这些制度中被封锁的内容类型进行分类
- 分析被过滤域上的网页的前向过滤链接和被过滤的反向链接
这项工作的一项重要研究成果是一份测试清单,其中包含了中国、印度尼西亚、伊朗和土耳其境内大量目前被过滤的域名,这些域名以前都没有公布。我们的目标是尽快将这个列表提供给更广泛的审查制度研究界。
过滤网页的遍历
使用嵌入式超链接在网页之间进行遍历是网络上最广泛使用的内容发现方法。我们的目的是利用不同的过滤网页之间的联系来有效地抓取网站,以寻找更多被封锁的内容。这种方法的一个重要假设是,不同的被过滤的网页确实与其他网页有联系。我们通过对四个不同国家的实验分析来证明这一点,这些国家都是通过DNS操纵来过滤网站。我们描述的方法与大型搜索引擎广泛使用的传统网络抓取技术没有什么不同。鉴于此,我们旨在建立一个新的数据集,包含与被过滤网页的反向链接1有关的信息。
这项技术在一个简单的前提下工作–被过滤的网页包含与其他被过滤网页的链接。我们在开始发现的时候,向系统输入了一些已知的被过滤的URL,并预设这些URL将包含指向进一步被屏蔽内容的超链接。图1显示了该技术的高级概述,其工作原理如下。
- 从国家c的已知被过滤的URL列表开始
- 检索我们列表中所有已知被过滤的URL的网页
- 从下载的网页中提取任何URL
- 从提取的URL中分离出在c国被过滤的URL
- 将新确定的被过滤的URL添加到列表中,然后转入第二步
任何网页中的一些超链接都会指向那些对我们的发现没有用处的资源。我们忽略任何指向静态HTML资产的URL–如javascript、css或图片文件,也删除任何自我引用的URL–指向网页同一域的超链接。我们的目的是通过这种方式减少爬虫卡在联盟或成人网站网络等群体中的可能性。为了分析该方法,我们对每个独特的URL只访问一次。
检查网页可用性的方法
这个系统的一个关键部分是能够确定一个域名是否在某个国家被过滤。这一点很重要,因为抓取不必要的大量网络将使发现的效率降低。此外,一个不准确的检查程序可能会产生大量的假阳性结果–减损结果的有用性。在使用这样一个系统进行互联网测量时,我们还必须谨慎对待道德问题。因为,我们将探测被封锁的内容,我们要确保个人的安全不受影响,如(14)所述。
鉴于这些要求,我们采用了一个检查系统,使用DNS基础设施来确定域名是否在一个给定的国家内被备案。利用DNS作为阻止访问某些网络资源的手段在全球范围内广泛使用(15)(24)(25)(30);由于大型互联网服务提供商(ISP)运营的解析器通常是开放的,我们可以将其作为我们测量的基础。
为了确定一个域名的过滤状态,我们需要一个全球无审查的DNS服务器作为控制,以及一个位于目标国家的测量DNS服务器。利用这些,我们通过一个过程来全面检查一个域名是否被测量服务器过滤了。我们检查对测试域的DNS查询的响应,以确定服务器是否中毒(15)或无赖行事。这个过程在算法1中描述。
以下六个检查被用来确定域的过滤状态:
(1) 当发送到不存在的DNS服务器时,一个DNS查询在目标国家被拦截了
(2) 测量服务器超时,但控制服务器不超时
(3)测量服务器以私有IP地址回应,但控制服务器没有回应
(4)测量服务器解析的IP在HTTP GET请求中超时,而控制服务器解析的IP不超时
(5) 控制服务器解析的IP在HTTP GET请求中超时,而测量服务器解析的IP没有超时。
(6) 每个被解析的IP的网页内容长度相差超过一个定义的百分比量
如果发现上述任何一项的结果是积极的,我们认为该域名被测量DNS服务器过滤了。这个程序有一些有用的特点。首先,它不需要被审查国家的任何人或个人的合作,它只对基础设施进行测量。第二,它是一个高效的机制,可以扩展并产生快速的结果。第三,我们可以在目标国家之外进行测量,使我们有能力分析各种审查制度下的过滤情况。
这种方法的局限性在于,我们失去了关于可能被封锁的单个URL的细粒度信息。这是由于只使用DNS服务器作为检查机制–因为我们只能查询整个域名或子域名。此外,我们要求测量DNS服务器以与国内查询相同的方式响应来自远程国家的查询。然而,由于我们需要在有效性、效率和道德考虑之间做出权衡,这种方法足以用来产生良好的结果,以显示这种技术对发现整个过滤域的有用性。
伦理方面的考虑
审查制度的影响使我们面临一些我们必须考虑的道德问题。首先,当务之急是我们不能对任何不知道我们行动和动机的人或组织造成伤害。这在很多方面都是很随意的,尤其是因为互联网过滤的测试经常需要向审查制度发送网络流量(11)。该领域的某些研究需要使用位于相关国家的有意识的志愿者。虽然这些人一般都知道研究的动机和他们的行为可能带来的影响,但作为研究者,我们不应该轻视这一点。在许多情况下,使用人类参与这种类型的工作是根本不合适的。此外,根据所使用的技术,对审查制度的测量存在一些法律问题–特别是在目标国家内使用直接观察进行推断时(41)。
我们还必须考虑对抗者对这类发现技术的使用和部署。由于我们的目标是建立一个系统,可以根据已知的被封锁的内容,自动找到被封锁的替代内容,这样的框架可以以不利的方式被利用来过滤进一步的网络资源。不幸的是,鉴于审查者一般不会公布其基础设施和系统的技术细节,我们不能保证这种情况永远不会发生。
然而,这些担忧不应该减少我们进行这种研究的意愿。如果做出相当大的努力来确保我们的测量不会影响个人,我们就能够提供有关世界各地审查制度的经验数据。这可以使我们作为研究者对复杂的社会政治问题有实质性的了解,这些问题对社会有好处,而且鉴于国际关系的状态脆弱,也是更广泛的公众利益。此外,我们提出的方法不会对个人或依赖人类志愿者和弱势受试者构成风险。我们以服务最初设计的方式,直接从基础设施中进行测量。
实验分析
我们在四个不同的国家进行实验,目的是建立比目前更长、更深入的域名过滤列表。这是用一个用Python编写的方法实现的,参数如下。
- 控制DNS服务器。8.8.8.8
- MAX DI F F(表示过滤的内容长度差异):50%。
- 过滤检查超时。10秒
- 最大递归深度2。100
- 从CitizenLab的过滤列表中获得的种子URL (9)
MAXDIFF值的使用是基于一项研究,该研究发现,与真正的网页相比,审查封锁网页的内容长度有95%的可能相差50%以上(1)。此外,我们确保系统不会跟踪自我引用父网站的链接–这就是说,我们试图阻止链接到同一域的其他页面的循环行为。另外,我们从不重访一个以前被看过的URL–它将被计入我们收集的统计数据中,但不会被再次检查。
测试的目标国家是。中国、印度尼西亚、伊朗和土耳其。每个实验都进行了七天,或者直到没有发现更多的备案域名。每个测试国家使用的DNS服务器见表1。真正的DNS服务器是从目标国家的大型ISP中挑选出来的,而假的则是从未分配的IP地址池中挑选出来的,这些地址也是由同一ISP拥有的。我们这样做是因为如前所述,我们的目标是对目标国家的大规模基础设施进行测量,而不是对小型组织或个人进行测量。
结果
表2描述了在每个实验过程中提取的独特URL的数量,以及其中有多少是在给定的国家被过滤的。我们还对被过滤的URL列表中的独特过滤域的数量进行了统计。作为对每次运行的广度的衡量,Alexa前1000名的域被移除,这样我们就可以分析系统能够深入到访客和反向链接数量较少的知名网站中。
总的来说,我们从被过滤的网页中提取了超过8000万个URL,其中570万个是来自被过滤的域名。在土耳其和印度尼西亚发现的被封锁的域名数量比在中国和伊朗发现的要大一个数量级。这是由于在这些特定的审查制度中,成人相关网站被广泛审查。土耳其在2007年通过了一项法律,促使超过80,000个网站被明确封锁,其中许多包含成人内容(6),而印度尼西亚在2010年(20)和2017年(31)也有类似的禁令。
我们与公民实验室维护的最广泛的公共URL过滤列表进行了比较。为了确保公平的比较,我们通过我们的过滤检查运行这些名单,并报告这些数字。这些数字显示在表3中。从中我们可以看出,我们的表现很有效,并且识别了比原始种子列表中存在的更多的过滤域。为了进一步了解土耳其和印度尼西亚被过滤的内容类型,我们删除了成人域名,以建立单独的计数,以便更好地进行比较。
我们的结果表明,这种方法能够有效地找到以前未知的被过滤的域名。这种技术的一个主要优点是,只有被过滤的域名的URL被访问,这意味着我们可以实现高效的网络爬行。
进一步分析
我们进行的实验产生了一个有趣的数据集,适合进一步调查。我们能够通过分析爬虫所走的路线来追踪导致被过滤内容的路径。这给我们提供了一个有用的基础,来研究被屏蔽网站的集合有多深的联系。此外,我们可以识别被过滤的网页的反向链接和与其他被过滤网站的外向(转发)链接,我们可以发现被过滤网站的网络。
我们发现,在土耳其和印度尼西亚发现的结果包含大量的成人网站–正如所解释的,这些网站是被禁止的。我们的工具所观察到的这种行为可能是由于成人网站和企业将其域名与使用流量经纪人、域名重定向器和链接收集的庞大网络联系在一起的方式(39)。基于这种网络效应,网络爬虫可能会在这一主题中穿越内容,因为这些网站具有紧密的链接性质–网站A引用网站B,网站B引用网站A,等等。然而,这是这种方法的重要行为,因为每个网站内的不同页面可能包含不同的过滤URL。其局限性在于,爬虫可能会在一个封闭的网络中陷入一个循环。即便如此,我们的结果包含了印度尼西亚超过1292个被过滤的非成人域和土耳其的528个被过滤的非成人域。
中国和伊朗的结果显示出比原来的过滤域名种子列表有明显的改进,我们在中国的数量比输入系统的数量多10倍以上,伊朗的数量多60%以上。
顶层领域的枚举
我们对所有公开可用的顶级域名(TLD)进行了列举,这些顶级域名可以归属于不同的域,因此也可以归属于不同的DNS记录。我们使用由Mozilla基金会(17)维护的公共后缀列表。这个顶级域名列表包含所有已知的公共后缀,常见的例子如.com和.org,以及不太知名的例子如pvt.k12.ma.us。对于在目标国家发现的每个被过滤的域名,我们删除顶级域名并检查该域名以及任何子域名,并在该国家对列表中的所有后缀进行过滤。对于印度尼西亚和土耳其,我们只对非成年人的域名进行测试,以便更好地进行比较。列举的结果显示在表4中。
完成这个过程后,我们发现通过遍历发现的被过滤的域名的大量替代顶级域名本身也被过滤了。在这个过程中,我们发现许多被列举出来的域名被目标国家的DNS封锁了,而控制服务器并没有持有与之相关的记录。特别是,在中国发现的94%的被过滤的列举域名收到了来自控制服务器的NXDOMAIN响应,因此无法解决它们。造成这种情况的原因可能是被审查的网站可能 “退休 “或转移到新的域名和主机基础设施上以逃避封锁。虽然这是一个从这里提出的结果中完全删除它们的案例,但它们在国内仍被明确过滤–表明当局继续阻止对它们的访问。这可能是由于审查制度的立场,或者一旦一个网站被过滤,从黑名单上删除它们的过程就不那么简单了。
被过滤域名的类别
为了深入了解被封锁的内容类型,我们使用WebShrinker类别API(37)对我们的过滤域名列表进行了类别分析。这将返回归属于每个域名的类别列表,并允许我们从高层次上分离出在每个目标国家被封锁的不同类型的网站。图2显示了每个国家的类别细分。从中我们可以看出,某些类型的网站比其他网站更容易被屏蔽。特别值得注意的是,中国对新闻和媒体、搜索引擎和翻译的过滤,印度尼西亚对交友和购物的过滤,土耳其对游戏和流媒体的过滤。我们还注意到,中国和伊朗封锁的代理网站和避免过滤的网站的比例也相对较高。这与中国政府最近关于该国网络供应商强制封锁VPN的声明(28)以及2013年伊朗总统选举时的类似情况(34)是一致的。
图3显示了四个测试国家之间被过滤域名的类别比较。这是每个国家每个类别中被过滤的域名的比例。由此我们可以推断出不同政权所关注的不同类型的内容。例如,中国、印度尼西亚和伊朗对武器主题内容的过滤是相同的,但对宗教网站的审查在伊朗更为普遍。
被封锁主机的地理位置
除了推断被封锁的内容类型外,我们还确定每个测试国家中托管被过滤域名的服务器的位置。这是通过对每个域名向控制服务器进行DNS查询,并使用MaxMind GeoIP2国家数据库(26)按原籍国定位所产生的IP地址来实现的。图4显示了被过滤的域名的主机来源与测试国家的细分。
不出所料,我们发现最多的服务器是在美国境内托管。这是预料之中的,因为许多内容交付网络在北美保持着对等的方式,而且超过50%的互联网主机都位于这个大陆(5)。
在这次调查过程中,我们观察到土耳其被封锁的域名中,有相当一部分是爱尔兰共和国的主机。在对域名和IP地址记录的进一步分析中,我们发现该国似乎封锁了evennode.com的任何子域名,而evennode.com是一个NodeJS和Python网络应用程序的托管供应商。被封锁的域名的IP地址是由亚马逊技术公司拥有的,是他们支持亚马逊网络服务的数据中心的一部分。我们没有对这一特殊性进行进一步的研究,但它提出了一个问题,即某些审查制度是否会根据其托管地点来过滤整个IP地址和域名块。
其他值得关注的案例是印度尼西亚对荷兰网站的不定期封锁和中国对俄罗斯网站的封锁。
反向链接分析
为了更深入地了解被屏蔽网站之间的网络效应,我们找到了每个被屏蔽网页的过滤反向链接和过滤转发链接的数量。这使我们能够看到每个被审查的网站在被过滤内容的网络中的整合程度。我们可以看一下引用某个被封锁的域名的网站数量,也可以看一下哪些被过滤的网站引用了最多的其他被封锁的域名。
为了计算这些,我们把我们发现的每一个反向链接都记录到一个被过滤的域名,以及从每个被过滤的域名中发现的被过滤的域名(前向过滤链接)。这就形成了一个由相互连接的节点(每个节点都是一个过滤域)和代表它们之间超链接的边组成的大图。由此,我们可以深入了解哪些域在网络中被高度引用,哪些域包含对其他过滤域的最多引用。图5、6、7和8显示了每个目标国家的过滤域的反向链接。
在图6a和8a中值得注意的是,链接到其他过滤域的顶级网站似乎是成人链接集合,这支持了(39)中的发现。我们还可以从图5b和7b中看到,许多链接到过滤内容的网站是言论自由和独立新闻网站,这两个网站经常包含政治批评。
限制
如前所述,过滤检查因只使用DNS而受到限制。虽然这减少了道德方面的担忧,但它确实意味着通过其他方式过滤的内容–如IP过滤、关键词过滤或深度包检测–将不会被标记为被封锁。对这种检查的改进可以提高该工具的性能。尽管如此,我们仍然取得了良好的效果。
这种方法的第二个局限性是,在被过滤内容的网络之间会形成局部循环的方式。这是任何网络抓取系统的一个关键问题,通常需要人为的互动来打破循环–大型搜索引擎为网站管理员提供了提供新网站链接的能力,以提高覆盖率。我们遇到的循环行为会降低系统的有效性,因为爬虫没有办法连接其他过滤网站的网络。目前,这只能通过操纵种子URL来改变,但这并不是该方法的一个基本问题。为了测试和评估的目的,没有对不同域名和网页之间的遍历进行限制,但是未来的实现可以以搜索引擎避免蜘蛛陷阱的类似方式处理循环行为(32)。
结论
这项工作提出了一种建立领域文件清单的新方法。我们证明了该方法是有效的,并且能够发现多个不同国家的被审查的网络内容。鉴于这种方法的递归性质,我们设想它将成为维护被封锁的URL列表的组织的一个有用工具。此外,该系统的运行不需要大量的基础设施,也不需要对第三方系统或API的特殊访问。使用DNS作为检查过滤的手段有改进的余地,然而,它允许我们测试这类技术的有效性,而不会引起有关个人安全的道德问题。
通过对四个审查制度的实验,我们发现了大量以前没有公布过的被过滤的域名。这些信息将对未来有关该领域的研究和建立规避工具的组织有很大的帮助。我们的目标是尽快发布这些数据。
我们对收集到的数据的分析显示了被过滤网页的反向链接与其他被过滤网页的超链接之间的关系。
网页的超链接之间的关系。这表明在不同的被过滤内容之间确实存在着网络效应,并为未来的调查提供了基础。此外,我们对被屏蔽的内容的类型和位置的分析,使人们对这些制度中的互联网审查的现状有了深入的了解。
未来的研究
本文所描述的方法可以进行完善和扩展。首先,可以改进检查URLs过滤状态的方法,使其考虑到更多的因素,而不仅仅是DNS,尽管需要注意限制对世界上受审查地区的人的潜在伤害。这可以提高 这可以提高系统的准确性,并有可能增加其可操作的范围。
其次,该技术可以与其他技术整合,形成一个混合系统。这可能会提高性能,并减少对个别过滤过的URL网络的依赖。例如,(13)所使用的基于搜索引擎的方法将与这种方法很好地整合。这种类型的组合系统可以通过遍历超链接以及进行网络搜索来提高过滤后的URLs的发现广度和深度。此外,这可能会减少单纯网络抓取的封闭循环行为。
第三,通过在被过滤的URL之间的遍历所收集的数据有可能被进一步分析和实验。我们已经触及了被过滤的URL之间的连接性,但是还有机会对这个概念进行更深入的调查。