文章发布是在墙内的严格审查中的,其中的文字可能并未完整表达作者意图,或进行了某些隐喻,部分问题需大家辩证看待。
小提醒:文章结论不能也无法改变现实。
本文旨在分析「翻墙」行为的法律风险,并基于现行规范性法律文件和相关案例进行学术讨论。在分析相关法条时可能需要对部分计算机专业术语进行释义。
本文讨论的一切「XXX 合法与违法」问题,分析的主体都是「单纯访问境外网站」,不包括「访问、发布、传播违法有害信息」,这和翻墙行为没有任何本质联系,因为在境内网站也可访问、发布、传播违法有害信息。
主要结论
- 「个人使用 vpn 等工具翻墙」的禁止性规定是不存在的,无论是从技术角度还是法律方面,访问境外网站和境内网站没有任何本质区别;
- 一切翻墙行为都必须使用国家批准的合法国际出入口信道,因为全球互联网的本来面貌就是所有国家网络基建的互联互通〔主要在第四章展开论证〕;
- GFW 的运行基本原理是「网络攻击或入侵检测」〔主要在第四章展开论证〕;
- 「翻墙」的基本原理是抵御「网络攻击或入侵检测」〔主要在第四章展开论证〕。
案例及相关材料
2018 年 12 月 28 日,广东韶关南雄市公安局对「翻墙」的朱某某作出行政处罚决定,理由为「擅自建立、使用非法定信道进行国际联网」,处以 1000 元人民币罚款,其处罚依据为《中华人民共和国计算机信息网络国际联网管理暂行规定》第六条、第十四条。
右图显示的「行政处罚决定书」拍摄样图并非来源于官方,且样图有很多可疑之处〔法律文书课老师看到可能会被气哭〕,在此予以指出:
- 样图中的文书格式非常极其不规范,正文字体大小悬殊、行距和字距不统一。
表面上,该文书似乎是一份标准模板,横线是提前固定的,但细看便可发现,正文文字下划线与页面的边距不统一,因此这明显是在正文文字填写之后才事后加上「下划线」格式的。且文字没有统一边距; - 在「现查明」的正文部分,「『蓝灯』〔Lantern Pro〕软件 APP「中的」软件「和」APP「系表意相同的两个名词,此处连用存在语病,十分怪异;
- 在内容部分,「且最近一周的登陆次数为 487 次」并没有相应的证据材料予以佐证。
首先,行政相对人不可能记住自己使用 vpn 的连接次数,因此该数据不可能从询问笔录中反映出来。
其次,手机 app 本身并不会保存每天的连接次数,也没有日志的功能;
此外,即使该数据在手机和 app 内部以日志的形式保存,行政机关也不可能靠妄加猜测突然检查朱某某的手机,而是只可能使用远程手段〔例如公安机关远程监控系统、电信运营商的举报或直接向运营商收集用户访问境外 ip 地址相关信息〕,但这样的证据并没有在此份决定书样图中反映出来,所以在证据层面是可疑的。
附一份我在实习期间曾经手的一份行政处罚决定书的模板〔关键信息已经隐藏〕。
从图中可见,基层机关行政处罚决定书的格式和行文要求是非常高的。而前后两相比较,可以看出前一份处罚决定书颇有些山寨的味道。
当然,上述文书所反映的问题并不必然证明其为刻意捏造,因为笔者对于不同地区基层行政机关的法律文书和执法水平差异并不了解,但至少上述缺陷会降低该材料的可信度。
法条分析及相关专业名词
上述行政处罚案件的处罚依据如下:
《中华人民共和国计算机信息网络国际联网管理暂行规定》〔国务院令第 195 号〕〔1996 年 1 月 23 日〕
第六条 计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。任何单位和个人不得自行建立或者使用其他信道进行国际联网。
第十四条 违反本规定第六条、第八条和第十条的规定的,由公安机关责令停止联网,给予警告,可以并处 15000 元以下的罚款;有违法所得的,没收违法所得。
北大法宝 【法宝引证码】CLI.2.13908 〔现行有效〕
关于发布《计算机信息网络国际联网出入口信道管理办法》的通知〔邮部〔1996〕492号〕
第二条 我国境内的计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。
任何单位和个人不得自行建立或者使用其它信道〔含卫星信道〕进行国际联网。
北大法宝 【法宝引证码】CLI.4.14832 〔现行有效〕
什么是邮电部国家公用电信网提供的国际出入口信道?
有很多人一看到「自行建立或使用」、「国际出入口信道」就激动地跳了起来,认为其含义和使用 vpn 访问境外网站是同一种意思,但实际上这是一个非常大的误解。
从立法渊源上看,「国际出入口信道」一词最早起源于 1996 年出台的《中华人民共和国计算机信息网络国际联网管理暂行规定》〔下称暂行规定〕和关于发布《计算机信息网络国际联网出入口信道管理办法》的通知〔邮部〔1996〕492号〕〔下称管理办法〕。
很遗憾,在两部规范性法律文件内,并没有对「国际出入口信道」作出释义。但从后者的第二条第二款我们可以从〔含卫星信道〕这一标注中洞察到信道可能的含义——即它很可能具有物理意义。
好在,1998 年国务院信息化领导小组又出台了一部相关的部门规章,对「国际出入口信道」的含义作出了明确的规定。
关于印发《中华人民共和国计算机信息网络国际联网管理暂行规定实施办法》的通知
〔国信[1998]001号〕
第三条 本办法下列用语的含义是:
〔三〕国际出入口信道,是指国际联网所使用的物理信道。北大法宝 【法宝引证码】CLI.4.19760 〔现行有效〕
因此,国际出入口物理信道,只限于陆地光缆、海底光缆以及卫星通讯等实际存在的、供国内外进行数据、信息交换的物理介质。
根据《电信业务分类目录〔2015 年版〕》,国际联网所使用的物理信道包括但不限于以下几种:
国际陆缆、国际海缆、陆地入境站、海缆登陆站、国际地面传输通道、国际卫星地球站、卫星空间段资源、国际传输通道的国内延伸段,以及国际通信网带宽、光通信波长、电缆、光纤、光缆等国际通信传输设施。
与此同时,我们在立法中可以发现不少细节,其足以就「国际出入口信道属于物理信道」这一论点找出进一步的佐证。
防火长城〔英语:Great Firewall,常用简称:GFW,中文也称中国国家防火墙,中国大陆民众俗称墙、网络长城、功夫网等等〕,是对中华人民共和国政府在其互联网边界审查系统〔包括相关行政审查系统〕的统称。
此系统起步于 1998 年,其英文名称得自于 2002 年 5 月 17 日 Charles R. Smith 所写的一篇关于中国网络审查的文章《The Great Firewall of China》,取与 Great Wall〔长城〕相谐的效果,简写为 Great Firewall,缩写 GFW。
可以发现,GFW 项目在 1998 年才刚刚起步,其命名甚至在 2002 年才出现,继而才出现「翻墙」这一概念。
1996 年《中华人民共和国计算机信息网络国际联网管理暂行规定》出台之时,甚至没有 GFW 这一概念的存在,事实上也根本不存在互联网审查,那么,1996 年、1998 年规范性法律文件中的概念,何以提前预测并指向 1998 年以后才诞生的事物?一项禁止性规定又何以禁止不存在的东西?
因此,毫不避讳地说,若国内各地基层公安机关真的广泛存在「依据上述规范性法律文件对公民的『翻墙』行为予以处罚」的现象,那绝对是明显的适用法律错误。
更进一步,《暂行规定》为「擅自设立非法国际出入口信道」的行为设置了行政处罚事项,而该处罚的裁量基准是「15000 元人民币以下」。
这个数字,从当今的经济水平来看,对于个人来说不算一个很大的数字〔但实际上这个上限对于个人来说已经很高了〕。
但是我们不要忘了,设立该处罚事项的规范性法律文件是在 1996 年出台的,我们必须关注 1996 年前后的职工平均工资水平,才能洞察「1 万 5」在行政裁量基准上的合理与否。
关于公布上海市 1998 年度职工月平均工资、国有企业职工年平均工资及增长率的通知
二、1998 年度全市国有企业职工年平均工资为 11546 元,比上年增长 0.8%〔增幅按国家统计局新口径作了相应调整〕。凡按 1998 年国有企业职工年平均工资计算的事项,均按此水平执行。沪劳保综发(1999)18 号 上海市劳动和社会保障局
你很难想象,在 1998 年,上海市作为全国经济重镇,职工的年平均工资才 1 万余元,但「翻一次墙」的行政处罚上限就可以达到一个上海普通职工工作一年半获得的工资——这不仅完全与行政法比例原则相违背,且即使是没有法学基础的人看到这样的景象都会感到震惊和难以置信。
因此,我们从行政处罚的裁量基准可以反推得出,触犯上述规定的行政相对人,更可能是资本力量雄厚的企业——毕竟,一家有能力往台湾海峡私拉电线埋下海底光缆、或者为了“逛推特”专门制造并发射私人通信卫星的企业,才可能承受 1 万 5 的罚金。
「建立国际出入口信道」,还真不是你普通人玩得起的!
但很有意思的是,《暂行规定》历经 20 多年,裁量基准竟然从未发生变化,依旧是上限一万五。但是 1996 年的一万五和 2020 年的一万五,可完全不是一个数量级的。但立法部门竟然从没有想着修订,也着实让人奇怪。
1996 年的「国际出入口信道」的概念在 20 年间的变化
有人会进一步质疑,「国际出入口信道」这一概念,有没有可能随着时代的发展以及新规范性法律文件的出台,从而被赋予新的内涵和外延呢?我们不妨找一找最近几年的相关文件和新闻来分析一下。
为了推动中国与塔吉克斯坦、巴基斯坦间国际通信业务的共同发展,促进区域的共同繁荣,工业和信息化部批准中国电信设置塔什库尔干国际通信信道出入口,为中亚、南亚区域经济发展提供良好的通信平台和保障。
中塔直达光缆的建设,可以满足中塔间双边落地业务需求……〔省略〕……中巴直达光缆的建设将从根本上改变……〔省略〕……,满足中把双边落地及转接业务需求,对巴基斯坦国际出入口带宽能力的丰富和提升具有重大战略意义。工业和信息化部批准设置塔什库尔干国际通信信道出入口 发布时间:2011-06-27 来源:电信管理局
首先,从 2011 年工业和信息化部的「批准设置塔什库尔干国际通信信道出入口」的新闻中,我们可以明显看出一个因果联系,即【国际出入口的设立→提升了国际出入口带宽能力】,而只有物理意义的光缆才可能事实上增强数据出入境的吞吐量,虚拟网络连接是做不到的,因此很容易进一步推导得出——“设置国际通信信道出入口”其本身就是“建设直达光缆”,因此,此时“信道”仍然是物理意义上的。
进一步,从近期的规范性法律文件来看,与「翻墙」关系最密切的莫过于工业和信息化部,关于清理规范互联网网络接入服务市场的通知〔工信部信管函[2017]32 号〕,以及工业和信息化部办公厅,关于深入推进互联网网络接入服务市场清理规范工作的通知〔工信厅信管函〔2018〕161 号〕。
工业和信息化部办公厅关于深入推进互联网网络接入服务市场清理规范工作的通知
但随着清理规范工作深入开展,一些深层次矛盾逐步浮出水面,部分企业违规自建传输网络、非法经营传输业务及违规经营跨境数据通信等问题仍较为突出,……〔省略〕……有关事项通知如下:
四、各基础电信企业要加强网络资源和用户台账管理,采取技术、管理、法律等措施,防范网络资源被用于非法经营。要配合各通信管理局做好违规线索核查,及时关停被用于非法经营、违规使用的网络资源。
北大法宝 【法宝引证码】CLI.4.314373
工业和信息化部关于清理规范互联网网络接入服务市场的通知〔工信部信管函[2017]32 号〕
二、工作重点
〔二〕严格资源管理,杜绝违规使用
4.违规开展跨境业务问题。未经电信主管部门批准,不得自行建立或租用专线〔含虚拟专用网络 VPN〕等其他信道开展跨境经营活动。基础电信企业向用户出租的国际专线,应集中建立用户文件,向用户明确使用用途仅供其内部办公专用,不得用于连接境内外的数据中心或业务平台开展电信业务经营活动。
北大法宝 【法宝引证码】CLI.4.289332
看到这两份文件的一些措辞,很多人又会将专线〔含虚拟专用网络 VPN〕等其他信道等同于 1996 年、1998 年文件提及的「国际出入口信道」,但两者是不同的概念。
首先应当明确的是,两者的规制主体范围是不同的,1996 年文件针对的是所有企业和个人,而 2017 年文件仅限于跨境业务经营的企业;96 年文件中「国际出入口信道」概念的外延仍然受到 1998 年《中华人民共和国计算机信息网络国际联网管理暂行规定实施办法》的限制,即其外延仅限于物理层面的信道,而 2017 年文件中的「专线」〔含虚拟专用网络 VPN〕同时包含物理层面的信道以及虚拟专用网络。
因此,前者〔因「信道」的物理性而〕不限制个人使用虚拟 vpn,后者也〔因规制主体不包括个人而〕不限制个人使用虚拟 vpn。
另外,分析法条不能脱离于立法背景,之所以将 17 年、18 年两份文件并列展示,是因为两者立法在「规制 vpn」领域的意图是一致的——部分企业违规自建传输网络、非法经营传输业务及违规经营跨境数据通信等问题仍较为突出、防范网络资源被用于非法经营。
其表明,相关文件的出台针对的是企业违规跨境经营以及无资质企业非法经营网络服务〔包括云服务、CDN 服务〕,但与个人访问境外网站皆无直接关系。
值得一提的是,虽然上述文件是为了规制「企业违规使用 vpn 服务」的乱象,但其具体的措施却是将市场上一切没有相关资质的 vpn 服务全部一刀切,而相当多的 vpn 服务的主要受众是普通大众。
因此,从名义上,政府规制的是企业违规跨境经营,但实际上对于个人用户访问境外网站产生了极为深远的消极影响,一个很直观的事实就是——自 2018 年以来,Apple Store 的所有 VPN 软件全部下架。因此,其公开的立法目的和最后的政策效果是有很大差距的。
当我们讨论「翻墙行为」究竟是否违法时,我们首先应该讨论什么
行政法规作出一个禁止性规定,首先要有禁止的主体和对象。
换言之,在我们讨论「翻墙违法性」之前,我们应当先讨论到底什么是「墙」,「墙」到底存不存在。
这道墙在我们每个人眼中看来,显然它是事实存在的。但是,生活事实和亲身体验很可能影响我们对于一件事情在法律意义上的判断——因为人们倾向于相信,如果一件事情在生活中是被事实禁止的,那么他就一定规定在了法条上。
但实际上,没有任何一个公开的规范性文件规定过——个人不允许访问境外网站。没有一个哪怕是效力最低的红头文件敢声称:访问 youtube、Twitter 是违法的。
如果你觉得有,请带着法条来找我〔但请不要携带上述我提及的规范性法律文件来找我〕。
其实到这一段为止,关于个人翻墙的法律问题已经全部讲完了,但还没有形成完整的逻辑链。
因为上文只解决了大前提的问题,若没有论证翻墙行为的本质这一小前提,那么就不能得出翻墙合法或违法的结论。
因此,我提前总结了技术方面的几个重要结论〔虽然不是法律问题,不应放在这一章〕,它们的论证部分统一放在本文第四章,其论证过程是相当庞杂和啰嗦的,因此第四章仅供感兴趣的朋友们阅读。
而对于大多数人来说,看完下一节的结论性总结〔且无条件相信的话〕,对于个人翻墙问题的讨论实际上已经可以就此终结了。
翻墙行为是否属于私自架设物理信道?
在上文,我们明确了现行法对于个人上网的禁止性规定只限于「禁止违规搭建违法物理信道」,那么翻墙是否就是其字面意思——从一堵墙私拉一根网线翻过去呢?
当然是否定的。
在看完第四章的互联网技术讨论部分,你会对以下几个重要事实有基本的认识。
- 任何人通过任何手段访问任何境外网站,不管是合法手段还是非法手段,不管是访问合法网站还是有违法信息的网站,其必定要通过中国电信、中国联通和中国移动三家电信运营商〔经批准〕架设的陆上或海底光缆。
因此,翻墙不可能违反关于「物理信道」的规定,如果有,那就是适用法律错误。 - 全球互联网的本来面貌并非是每一个国家都在各自为政,各自建立一个庞大的「局域网」,相反,几乎所有国家的网络都是互联互通的。
有了国家之间建设的陆上、海底光缆,民众访问境内网站和境外网站从技术上是没有任何区别的,在现行法意义上也是没有任何区别的。 - 你不能访问境外网站唯一的原因,是你正在遭受 DNS 劫持、域名污染、DDOS 攻击、TCP 旁路阻断、BGP 劫持〔黑洞路由〕等网络攻击或防御手段。〔这些专业名词会在第四章详细介绍。〕
这些攻击防御手段只有技术人员才能感受到,普通人唯一的感受就是无法访问外网。当前没有任何公开的官方文件证实了上述攻击手段存在,现行法也没有为上述任何网络攻击手段提供合法性依据。 - 你通过任何手段进行翻墙,这一行为的本质是抵御或逃避上述网络攻击,并使用国家批准的合法互联网基础设施访问境外网站,不存在违法的问题,也没有实际的社会危害。
提供翻墙方法、售卖翻墙服务的违法性
这一段虽然和本文主题「个人翻墙」并没有直接关系,但本文的结论和现行司法实践对于「出售翻墙工具」的论证是矛盾的,所以必须指出来。
下图展示了可能涉及「翻墙」的罪名,我们主要关注第一类案由:「非法出售可访问境外互联网网站的 VPN 翻墙服务」,其对应的罪名是「提供侵入、非法控制计算机信息系统程序、工具罪」。
目前出售翻墙服务是违法犯罪行为,相关的案例在无讼的检索结果中不计其数。法院判决的论述部分基本上与下面的引用大同小异:
本院认为,被告人为牟取非法利益,违反国家规定,在互联网推广用于侵入计算机信息系统的程序、工具,情节特别严重,其行为已构成提供侵入、非法控制计算机信息系统的程序、工具罪。公诉机关指控的罪名成立。
经查,本案的「XXX」软件,利用公用网络架设专用网络,并进行数据加密传输,使计算机信息系统自由访问中国境内无法访问的境外网站,因此,该软件属于「用于侵入计算机信息系统的程序、工具」。
被告人在未经电信主管部门批准的情况下,提供的「XXX」软件使客户的计算机自由访问境外网站,数据传输受到加密保护,突破我国技术安全防护措施,危害了国家信息网络安全,符合提供侵入、非法控制计算机信息系统的程序、工具罪的客体。(2018)鄂 1202 刑初 389 号
自从我学习了这个罪名以来,就对此抱有极大的质疑。翻墙工具怎么可以等同于「用于侵入计算机信息系统的程序、工具」?
一个最简单的反驳实例就是,GFW 最早的原理是将 google.com 指向无效 ip 地址〔即第四章论述的 DNS 污染/域名劫持〕,而最早的翻墙原理是在本地修改 HOSTS 文件,将 google.com 指向真实的 ip 地址,或者使用 8.8.8.8 这样尚未被污染的 DNS 服务器,这样当你在浏览器键入 google.com 这一域名的时候,其就会访问正确的服务器。
而这一行为的唯一操作步骤,就是打开 windows 的一个名为 hosts 的系统文件,将谷歌域名对应的 ip 地址录入,或者修改本地网卡的 DNS 设置,翻墙的效果就达成了。
这样一个仅修改本地计算机设置的操作,怎么可能侵入了外人的计算机信息系统?
而「架设专用网络,进行数据加密」是一个非常常用的网络应用,很简单的例子,在家里访问学校的图书馆以及学术资源,要打开 vpn 软件,这就是建立了一个加密通道,其和翻墙软件的原理是一模一样的,只存在结果上的不同。
而这种技术突破「我国技术安全防护措施」的唯一原因,是由于这个所谓的「防护措施」会对你的网络请求进行分析,而加密流量很难被分析。
况且,现行的规范性法律文件从没有提及这些法院判决中提到的「我国技术安全防护措施」。
另一个很有意思的问题是法院判决中通常会提到的「使计算机信息系统自由访问中国境内无法访问的境外网站」。
但看了本文第四章,你就会认识到,这个世界上的互联网的本来面貌,就是让每个人可以自由地访问不同国家的服务器,并且这种自由在 2002 年以前是普遍存在的,在 2010 年以前也是大部分人都能享受到的。
除非真的有一部行政法规出台,告诉我个人不能访问境外网站,这样我才能理解法院竟然能给出这样的表述。
另外,你可以洞察到,在法官论证部分,通常会有常人难以发现的跳跃性和滑坡论证。
例如,利用公用网络架设专用网络,并进行数据加密传输,使计算机信息系统自由访问中国境内无法访问的境外网站,因此,该软件属于「用于侵入计算机信息系统的程序、工具」。
这句话看似行云流水,但你细究下来,就会产生非常多的疑问——为什么一个工具可以自由访问原本无法访问的境外网站?就是侵入计算机信息系统的工具?为什么有些网站不能访问,其依据是什么?侵入的是哪一个计算机信息系统?该系统的 ip 地址是什么?地理位置具体在哪里?有什么相关规定吗?
这种暧昧和含糊其辞其实不难理解,因为 GFW 这个词真的从未出现在某个文件上,但难以想象,“翻墙”这个词居然可以在相关的判决文书中随处可见。
从构成要件上看,我认为其更加符合非法经营罪的构成要件,而非提供侵入、非法控制计算机信息系统程序、工具罪,因为后者在论证上存在着严重的逻辑漏洞。
另外,不仅仅是出售翻墙工具,还有很多技术人员因为编写开源翻墙项目而获此罪名。因此,这一领域的法律问题应该结合计算机技术问题被更深入、更广泛的探讨,这也是我写这一篇文章的初始动机。
很多人确实需要通过境外网站查询学术资料、海淘等,这些行为都不存在违法性。而当他们使用翻墙工具访问境外网站大多不受惩罚的同时,惩罚却被转嫁到了提供翻墙方法的人之上。
从计算机技术角度解读
境外网站访问原理
你可以简单地把它理解为国家级骨干网之间的连接和交换。而从国内访问境外服务器有一个特殊之处就在于,我国的国际出入口运营资质是被中国电信、中国联通、中国移动三家国家级 ISP 垄断的。
跨国企业使用跨境服务合规方式。跨国企业因协同办公、数据交互等自用需求,可以采用以下方式实现跨境联网:
跨国企业从境内发起直接租用 3 家基础电信企业的国际专线〔包括虚拟专网〕,与企业办公自用网络和设备连接;
跨国企业从境外直接发起或委托境外运营商,向 3 家基础电信企业租用国际专线〔包括虚拟专网〕,与企业办公自用网络和设备连接。
跨国企业租用国际专线自建自用办公网络时,可委托有资质的第三方〔含持国内 IP-VPN、固定网国内数据传送等业务许可的企业〕提供系统集成、代维代管等外包服务,但第三方企业不得从事国际专线〔包括虚拟专网〕的线路资源租售等电信业务经营活动。2018 年 1 月 10 日在北京召开了《跨境数据通信业务政策宣贯会暨产业联盟筹备大会》,国内数十家 IP-VPN 等相关业务经营企业参加了此次大会。
而国内数据跨境的物理传输介质一般为陆上光缆和海底光缆。
通过上海直达美国的 CN2 骨干网海底光缆,亦或是从广州到香港的 163 骨干网线路的连接,国内和国外的数据完全可以自由地进行交换,而服务器的连接、数据包的交换、路由的选择,其本质上和访问国内服务器并没有什么区别,其协议的使用也是全球通用的。
所以,一个真正的国际互联网并不存在所谓的「墙」,它依旧是通过海底光缆等物理介质,作为 OSI 模型中的第一层,为其他几个层次的互联网运行提供服务。
不管你是否翻墙,不管你访问的是合法的境外网站还是受到管制和审查的网站,一旦你成功实现了数据的交换,那么数据包就一定要通过我国设立的互联网国际出入口,从一条条光缆直达国外的服务器。
因此,我很遗憾地看到,即使是律所发表的相关文章,也犯了非常严重的计算机常识性错误,导致该篇文章论证的前提就是不正确的。这篇文章指出:
由于企业的「翻墙」行为既未使用合法的「国际出入口信道」,也未接入合法的「接入网络」,甚至未使用境内的「互联网络」,已经违反了《中华人民共和国计算机信息网络国际联网管理暂行规定》的规定,公安机关有权责令企业停止国际联网行为,同时给予警告,并处以 15000 元以下的罚款。
然而, 当我们对互联网运行的机制和原理有了初步的了解后,就能轻松发现这句话的严重错误——不管是 DNS 解析、TCP 握手,还是 AS 自治系统、BGP、路由跳转、ICMP 协议……一切的基础都是物理层。
如果你没有接入各大运营商设立在城市里的合法的城域网;如果数据包没有经过各大国家级 ISP 的合法骨干网和路由节点 AS 自治系统;如果境外数据访问没有经过国内三大运营商经国家批准设立的合法国际出入口并通过合法的陆上、海底光缆设施直达境外服务器……
换句话说,即使一家企业使用某个国外代理服务器作为中转节点以逃避 GFW 的审查,这一翻墙行为的一切基础都是建立在,使用合法的国家互联网基础设施之上的。
因为你不可能自己去发射一颗卫星专门用来刷推特,也不可能自己制造海底电缆,自发地潜水到海底接入别的国家的网络。
因此,对于普通个人和企业来说〔这里的「普通」是指没有能力发射卫星、埋海底光缆〕,根本不存在所谓「非法的国际出入口信道」、非法的「接入网络」、「在不使用境内互联网络的前提下访问域外服务器」。
一个最直接的证据,也是每个人都能亲身试验的方法,就是使用 traceroute 命令,访问某个境外服务器的 ip 地址,遍历数据包途经的骨干网和路由节点,你就会知道,你到底是不是在使用国家级电信运营商布建的、国家批准的网络基础设施了。
我随机使用一个尚未被限制的境外服务器 ip 测试一下,结果如下:
可见,当你成功访问境外服务器,当然也意味着成功实现了翻墙,但你的数据经过的是 AS4812〔中国电信上海路由群组〕、AS4134〔中国电信 163 骨干网络由群组〕,最后通过海底光缆直连美国加利福尼亚州洛杉矶的 AS8100 路由群组。
你使用的一切光缆、路由节点、海底光缆,全都是经过工信部审批通过的国家级互联网基础设施。翻墙就是使用了非法的信道——这种逻辑是很可笑的。
国际出入口就在那里等着你,海底光缆也在向你招手,凭什么不能访问境外网站呢?
你不能访问境外网站的唯一原因,是你正在遭受一个不受法律规制的系统的不间断网络攻击,而你使用任何途径翻墙的基本原理永远都是——你使用了某种技术抵御或避免了上述网络攻击。
GFW 的原理
首先,我们反复强调,GFW 这个概念在当前一切公开的规范性法律文件中都是不存在的。因此,对「翻墙」进行处罚、甚至将「翻墙」这个词写在一个法律文书中简直是无中生有、自取其辱,是非常荒谬的行为。
其次,在学习了以下原理之后,你将清楚地认识到:现行法律规定的所谓「信道」都是在物理层的,而 GFW 和翻墙的较量基本上都发生在传输层、网络层、会话层、应用层〔参见 OSI 模型〕等等,这些层级是法外之地。
GFW 目前已知的原理有以下几种:
1.基于 UDP 协议的域名解析服务劫持/DNS 缓存污染
GFW 对所有经过骨干出口路由的基于 UDP 的 DNS 域名查询请求进行 Intrusion Detection Systems〔入侵检测系统〕检测,一旦发现处于黑名单关键词中相匹配的域名查询请求,防火长城作为中间设备会向查询者返回虚假结果。
简而言之,DNS 域名污染就好比你想在电话号码簿上查询朋友的电话号码,但是不曾想,电话号码簿被人掉包了,你拿到的是假的电话号码簿,原本正确的手机号码被替换成了错误的号码,导致你无法打通电话。
直接使用 windows 的 ping 命令就可以亲眼看到 DNS 污染的运作效果。谷歌官网的服务器明明架设在美国科罗拉多丹佛,但从下图可以看见,在国内从 DNS 服务器请求到的 ip 地址却是 93.46.8.90 这个来自意大利的无效 IP 地址。
此项技术不仅是 2012 年前后人们无法再访问 Google 的直接原因,其在运转过程中更是殃及了全球 DNS 域名解析服务的正常运作。
这种 DNS 污染的方式曾经向中国大陆以外的用户造成影响。
2010 年 3 月,当美国和智利的用户试图访问热门社交网站如 facebook.com 和 youtube.com 还有 twitter.com 等域名,他们的域名查询请求转交给中国控制的 DNS 根镜像服务器处理,由于这些网站在中国被封锁,结果用户收到了错误的 DNS 解析信息,这意味着防火长城的 DNS 污染已影响国际互联网。2010 年 4 月 8 日,中国大陆一个小型 ISP 的错误路由数据,经过中国电信的二次传播,扩散到了整个国际互联网,波及到了 AT&T、Level3、德国电信、Qwest 和西班牙电信等多个国家的大型 ISP。
DNS 污染殃及全球用户的基本原理很简单,就是诸多国外用户的 DNS 请求被他们的 ISP 电信运营商随机分发给了全球的根域名缓存服务器,而碰巧,他们请求被分发给了来自中国的根域名服务器,而因为 GFW 的存在,其提供的是错误的、虚假的 DNS 解析服务,其造成的后果可想而知。
因此在这里我忍不住插一句题外话。我曾亲耳听见一个计算机专业毕业的人谈及中国的互联网安全现状。他说,因为全球大部分根域名服务器都设立在美国,所以美国掌握互联网的底层,中国必须建立 GFW 来保障互联网安全。
现在,你终于了解到,根域名服务器根本就不是什么互联网的底层,而是最高层〔应用层〕,是最高层中一个简单的技术。
你的浏览器永远最先访问本地 DNS 缓存,往往一般都无须根域名服务器就能解析 IP 地址;而中国的根域名服务器会对境外服务器域名解析错误的 ip 地址,因此现实情况是中国的 DNS 污染在影响全球的互联网运行,而非美国影响了中国的互联网安全,这是完全的颠倒是非。
2.IP 地址或传输层端口人工封锁——BGP 路由劫持/路由黑洞
BGP 劫持就是伪造位于主干道的路由节点的路由表,将其根本没有或者不可能连通的 ip 地址导入路由表,诱骗邻近节点相信该节点拥有这一 ip 地址的访问通道。
GFW 通过人工方式维护一个针对特定 IP 地址封锁的列表,从而实现特定 ip 地址的路由欺骗,这样一个节点我们将其称之为「路由黑洞」。
因为基于 BGP 协议,各个节点之间是无条件信任的,所以这个「谎言」一传十、十传百,只要一个主干道路由节点被诱骗,其连接的所有节点都会被骗,成为 GFW 运作的”帮凶”。
BGP 劫持的「可传染性」特征曾经导致全球互联网访问故障。
2010 年 4 月 8 日,中国大陆一个小型 ISP 的错误路由数据,经过中国电信的二次传播,扩散到了整个国际互联网,波及到了 AT&T、Level3、德国电信、Qwest 和西班牙电信等多个国家的大型 ISP。
A Chinese ISP Momentarily Hijacks the Internet. PC World. 2010-04-09 [2011-05-19]. 〔原始内容存档于 2011-06-22〕.
我们依旧可以通过 traceroute 观察到这一技术的运行效果,我们尝试 traceroute 一下 google.com 的真实 ip 地址,得到如下结果:
可以看见,当数据包跳转给中国电信上海 AS4812 群组的 101.95.120.166 路由节点之后,就再也跟踪不到数据包的踪迹了。
这是因为在这一节点,存在着一个无效的路由黑洞,其声称自己拥有 172.217.24.12 这一 ip 地址的访问可达性,但话音刚落,它就把数据包丢弃了……
与此同时,骨干路由器还有一种 ACL Based Forwarding (ABF)的匹配规则,可以在全国骨干路由器同步步数 ip 端口封锁规则,由于理解不太深入,这里不做专门介绍。
另外,在路由黑洞成为封锁 ip 的主要途径以前,GFW 在早期使用的是访问控制列表〔ACL〕技术来封锁特定的 IP 地址,但这种方法有性能不佳的问题。这里不做专门介绍。
3.TCP RST 重置〔包括对基于 TCP 协议的 DNS 域名解析的重置〕
RST 阻断也称为 TCP 旁路阻断,其运行的原理如下:
通常需要进行阻断的情况是审计控制系统旁路监听内网。旁路监听的方式一般是将主交换机的数据镜像到控制系统,控制系统可以采用 libpcap 捕获数据包。在这种情况下要阻断 tcp 连接的建立只要在监听到第一次握手的时候,控制系统伪造服务器发起第二次握手回应,就能阻断客户端与服务器连接的建立。
因为我们的系统在内网,发出的报文肯定比服务器快,这样客户端接收到我们伪造的报文以后会回应第三次握手,当服务器真正的报文到达的时候客户端将不再处理,此时客户端再向服务器请求数据,因为 seq 号和 ack 号出错,服务器不会受理客户端的请求。
TCP 协议规定,只要看到 RST 包,连接立马被中断。从浏览器里来看就是连接已经被重置。大部分的 RST 是条件触发的,比如 URL 中包含某些关键词。
目前享受这种待遇的网站就多得去了,著名的有 facebook。还有一些网站,会被无条件 RST。也就是针对特定的 IP 和端口,无论包的内容就会触发 RST。比较著名的例子是 https 的 wikipedia。
GFW 在 TCP 层的应对是利用了 IPv4 协议的弱点,也就是只要你在网络上,就假装成任何人发包。
所以 GFW 可以很轻易地让你相信 RST 确实是 Google 发的,而让 Google 相信 RST 是你发的。
与此同时,DNS 解析服务并非全部都使用 UDP 协议,也有部分使用 TCP 协议的 DNS 解析请求,其被封禁也是依靠 TCP 的 RST 重置,通过这一技术的反推,有业内人士定位了 GFW 存在的大致位置。
其原理如下:
IP 协议的特性叫 TTL。TTL 是 Time to Live 的简写。IP 包在每经过一次路由的时候,路由器都会把 IP 包的 TTL 减去 1。如果 TTL 到零了,路由器就不会再把 IP 包发给下一级路由。
由于 GFW 会在监听到不和谐的 IP 包之后发回 RST 包来重置 TCP 连接。那么通过设置不同的 TTL 就可以知道从你的电脑,到 GFW 之间经过了几个路由器。
比如说 TTL 设置成 9 不触发 RST,但是 10 就触发 RST,那么到 GFW 就是经过了 10 个路由器。
另外一个 IP 协议的特性是当 TTL 耗尽的时候,路由器应该发回一个 TTL EXCEEDED 的 ICMP 包,并把自己的 IP 地址设置成 SRC〔来源〕。
结合这两点,就可以探测出 IP 包是到了 IP 地址为什么的路由器之后才被 GFW 检测到,结合 IP 地址地理位置的数据库就可以知道其地理位置。
4.协议检测→根据流量协议拆包→关键词匹配→封锁
我们在上面一段曾了解到,GFW 的 TCP 旁路阻断的前提是「将主交换机的数据镜像到控制系统」。这其实也是目前业内猜测的 GFW 系统存在的主要方式—— GFW 存在于骨干路由器节点,其作为一个设备附着在主干路由器身边,通过“分光”的方式把数据包复制到另外一根光纤上。
基于此,GFW 作为一个独立设备就可以作为旁观者,分析经过其附着的主干路由器的所有数据包。
HTTP 协议有非常明显的特征,可以轻易被 GFW 系统检测和识别,GFW 进而依据 HTTP 协议规则对数据包进行拆解,由于其表现为明文,所以可以直接进行关键词匹配。
例如,从 HTTP 的 GET 请求中取得请求的 URL。然后 GFW 拿到这个请求的 URL 去与关键词做匹配,比如查找 Twitter 是否在请求的 URL 中。
5.深度包检测〔机器学习识别翻墙流量→直接阻断〕
写到这里已经有点写累了 hhh,不知道有多少人看到了这里。当前流行的一切翻墙协议例如 shadowsocks、v2ray 的 VMess 协议等不具有非常显著的特征,而后者可以伪装成其他类型的流量,例如伪装成微信视频等。
但无论如何,对于混淆流量和非传统加密协议,GFW 正在使用大家耳熟能详的「人工智能」技术,将这些各种各样难以判断和识别的翻墙流量与正规的政企跨境流量相区分开来。