2008年10月1日星期三

什么是GFW (防火長城) ?

防火長城,也稱中國防火牆或中國國家防火牆,是對中華人民共和國政府在其管轄網際網路內部建立的多套網路審查系統(包括相關行政審查系統)的俗稱。其名稱得自於2002年5月17日 Charles R. Smith所寫的一篇關於中國網路審查的文章《The Great Firewall of China》[1],取與Great Wall(長城)相諧的效果,簡寫為Great Firewall,縮寫GFW[2],戲稱功夫網(Gong Fu Wang)。隨著使用的廣泛,GFW已被用於動詞,GFWed是指被防火長城所屏蔽。


一般情況下,防火長城主要指中國政府監控和過濾網際網路內容的軟硬體系統,由伺服器和路由器等設備,加上相關的應用程序所構成。由於中國網路審查廣泛,中國國內含有「不合適」內容的的網站,會受到政府直接的行政干預,被要求自我審查、自我監管,乃至關閉,故防火長城主要作用在於分析和過濾中國境內外網路的資訊互相訪問。


然而,利用防火長城等技術手段對網路內容的審查在一定程度上限制了言論自由,在何種程度上、採取何種手段進行網路審查一直是受爭議的話題。也有報告認為,防火長城其實是一種圓形監獄式的全面監控,以達到自我審查的目的[3]。


中國擁有防火長城外,還有一套網路安全軟體構架的金盾工程。目前還沒有發現兩者之間有明確的關聯。


主要技術


域名劫持


全球一共有13組根(Root)級別的DNS伺服器,目前中國大陸有 F、I、J 這3個根域DNS鏡像[8]。


2002年左右,中國大陸網路安全單位開始採用域名劫持技術,用路由器提供的IDS監測系統來進行域名劫持,防止了一般民眾訪問被過濾的網站。


國家入口網關的IP封鎖



從90年代初期,中國大陸只有教育網、高能所和公用數據網3個國家級網關出口,中國政府對認為違反中國國家法律法規的站點進行IP封鎖。當時,這是一種有效的封鎖技術。但是,只要找到一個普通的海外Proxy,然後通過Proxy就可以繞過這種封鎖。現在,網路安全部門通常會將中國政府認為特別反動的網站的網址加入關鍵字過濾系統,以防止民眾透過普通海外HTTP代理伺服器訪問。


一般情況下,GFW對於海外「非法」網站會採取獨立IP封鎖技術。然而,部分「非法」網站使用的是由虛擬主機服務提供商提供的多域名、單(同)IP的主機托管服務,這就會造成了封禁某個IP,就會造成所有使用該服務提供商服務的其他使用相同IP的網站用戶一同遭殃,就算是內容健康、正當的網站,也不能倖免(如森美的個人網站,內容並無不當之處,但網站使用的是虛擬主機托管服務,而因為有一個香港BBS亦使用該托管服務,這就造成了GFW為了封鎖該BBS,直接把這個固定IP:203.80.210.5封禁了。隨之,有82個香港網站由於GFW封鎖了這個IP地址,不論合法與否,都不能在中國大陸訪問)。


主幹路由器關鍵字過濾阻斷



Firefox的“连线被重设”错误讯息。当碰触到GFW设定的关键词后,即可能马上出现这种画面。



当Google新闻中的图片地址[5]含有某些敏感字符时被GFW拦截的画面,在图中可以见到网页只开启了部分就停止了。

当Google新闻网在下载带有列入关键字过滤网址网站的图片时,就会导致全站所有透过Google服务器下载的图片全部无法显示或突然出错(画面中的情况是第一条新闻的图片链接是被关键字过滤的网址“philly.com”)。


在2002年左右,中国大陆研发了一套关键字过滤系统,并规定各个因特网服务提供商必须使用。这套设备思科等公司的高级路由设备建立,最主要的就是IDS(Intrusion Detection System)--- 入侵检测系统[6]。这个系统能够从计算机网络系统中的关键点(如国家级网关)收集分析信息,过滤、嗅探指定的关键字,并进行智能识别,检查网络中是否有违反安全策略的行为。利用这些设备主要进行IP数据包内容的过滤,如果符合既定的规则,则向该连接两端的计算机发送IP欺骗性质(从前后IP报头TTL值相差较大可知)的RST复位包,干扰两者间正常的TCP连接,使数据流中断,而在终端主机上会显示连接失败。


被屏蔽过滤的关键词主要是与民运、法轮功相关的词汇及部分网站的网址上。


在任何海外搜索引擎网站搜索防火长城关键字列表里面的任何关键字时,会马上触发GFW导致“该页无法显示”。

任何海外网站网页中如果含有防火长城关键字列表的小部分关键字时,就有机会触发GFW而导致网页下载突然出错、停止或立即出现“该页无法显示”。

某些特定的海外网站网址会被列入关键字过滤[7],即使IP地址未被封锁,也不能访问。

不过,GFW对于网页中含有的关键字字符并不是100%可以过滤成功,即使某些网页被成功拦截并导致“该页无法显示”,此时只要在浏览器进行多番刷新就有机会显示出来。而且,GFW还会偶尔出现故障而导致关键字过滤系统失效,此时部分只被网址关键字过滤的网站就能正常使用(如my.opera.com)。


有报道称,防火长城会专门过滤Google.com的查询返回结果中的网页地址,但对关键字的过滤并不严格。这就说明,对于Google.com和Google.cn返回的大量网页,防火长城使用了更经济而有效的方法审查。


从GFW的分布来看,审查过滤系统主要位于国际出口处,但最近通过对审查过滤系统返回的RST复位包IP头进行(TTL值)分析,发现存在两个欺骗源,其一位于国际出口处,另一个位于骨干网省级接入处。因此推测GFW对于境内的非法内容也具有一定审查能力。值得提到的是,对于境内网络内容的审查主要是通过ICP备案来实现的。


从2007年2月前后,GFW开始对境外及境内的WAP网站含有的敏感字符进行过滤,原本在移动版Google可以打开的维基百科中文版现已不能通过Google网页转换功能进行访问,连带的就是在访问含有“zh.wikipedia.org”的Google链接后,5分钟内再次访问Google被阻断。


关键字过滤-复位包分析

Flickr图片服务器网址被列入关键字系统导致无法显示任何图片。


分析过程采用任意sniffer软件记录HTTP客户端PC进出站数据包,只考虑TCP连接本身,忽略DNS、ARP及其他。分析进站RST复位包IP头TTL字段值可认为逻辑上存在两个欺骗源(实际可能只是初始TTL不同),为方便叙述,将它们分别称为“伪源1”和“伪源2”,伪源1离客户端PC路由跳计数较大,逻辑位置大致在互联网运营商国际出口处,伪源2离客户端PC路由跳计数较小,逻辑位置大致在互联网运营商骨干网省级大节点处。


IP头部分:

Identification(标识)字段:在第一批RST包中,伪源1和伪源2将其设置为一个固定的值,而正常的处理方式是发送的每个IP报文都有不同的标识值,一般按生成次序递增。观察中发现伪源2的第二批RST包中该字段值会改变。

Flags(分片标志)字段:伪源1和伪源2处理方式不同,例如伪源1将DF(不分片)标志置0,伪源2将DF标志置1。

Time to Live(生存时间)字段:如前所述,伪源1的RST包到达客户端PC时经过的跳计数较大,而伪源2较小,且可推测与真正的源物理位置有差距。

TCP头部分:

Sequence number(序列号)字段:关键字过滤系统很可能会偶而繁忙导致本地出口堵塞,以致RST包发送延迟并晚于真正的源发回的数据包到达客户端PC,造成RST包被客户端PC丢弃,从而整个过滤干预行为失败。考虑到这个因素,伪源还具有序列号预测功能,例如伪源2相邻的3个RST包中该值分别相差1460(以太网默认MSS值)和2920(即1460*2)。

Window size(窗口大小)字段:伪源1和伪源2处理方式不同,例如伪源1似乎为该字段设置了一个随机值,伪源2将其置0。正常的RST包是将该字段置0。

这种关键字过滤-复位技术对TCP连接有效。如今被广泛应用的HTTP协议,正是使用TCP作为传输层协议。从目前来看,GFW对HTTP报文的过滤似乎仅限于HTTP头,通常URL请求就位于HTTP头部分,而GFW对HTTP数据部分很可能不作过滤[8],这正是某些用PHP编写的HTTP在线代理能避开关键字过滤的原因,例如PHProxy,因为它将明文的URL请求放在HTTP数据部分。由于GFW发送的RST复位包是伪造的,也有人在探讨绕开它的途径[9]。


不同的IDS有可能在一段预定或随机的时间内持续干扰的两计算机间的所有TCP通信。所以在访问境外网站时,如果数据流里有敏感字词,即会立即被提示“该页无法显示”或网页开启一部分后突然停止,随后在1-3分钟或更长时间内无法用同一IP浏览此域名或IP地址上的内容。据猜测,屏蔽时间和敏感词等级以及所属网站有关。此种过滤是双向的,也就是说,国内含有关键词的网站在国外不可访问(如在百度搜索一塌糊涂BBS),国外含有关键词的网站在国内不可访问[10]。


另一方面,这种技术对UDP(DNS通常使用UDP,GFW对捕获的DNS查询报文也进行关键字过滤并返回伪DNS响应[11],但因UDP没有复位标志而无法进行传输层的干扰)及其他第四层协议无效,对明文数据有效,对加密数据无效。


HTTPS证书过滤


部分人发现少数特定证书的传输被阻断,导致HTTPS连接中断。由于HTTPS本身的特点,这并不意味着与网站传输的内容可被破译。


对破网软件的反制


针对网上突破防火长城的各类破网软件,防火长城也在技术上做了应对措施以减弱破网软件的穿透能力。比如每年的特定关键时间点,无界等软件就可能会无法正常连接或连接异常缓慢,这时境内外的正常网络互联亦会受到干扰。


针对Tor,有分析认为中国大陆公安网络审查部门采取了新的封锁措施——建立虚假Tor节点。鉴于无法真正的完全封锁Tor,网络安全部门在中国国内网络中安装了大量虚假 Tor节点服务器,所有经过这些"节点"的信息都将被最大程度的审查,与此同时,所有到达这些虚假节点的网络请求都将被屏蔽。有意见认为因为此举会暴露防火长城的位置,中国大陆公安网络审查部门对虚假节点的设立有所节制。但另一方面,tor节点的大量增加很可能仅仅是因为国内用户增加的缘故,即使存在有虚假节点,对于使用图形界面Vidalia的用户也可以轻松将含有境内节点的路由删除,以确保安全。


对电子邮件通讯的拦截


2007年7月17日,大量使用中国国内邮件服务商的用户与国外通信出现了退信、丢信等普遍现象,症状为:


中国国内邮箱给国外域发信收到退信,退信提示“Remote host said: 551 User not local; please try ”

中国国内邮箱用户给国外域发信,对方收到邮件时内容均为“aaazzzaaazzzaaazzzaaazzzaaazzz”。

中国国内邮箱给国外域发信收到退信,退信提示“Connected to ***.***.***.*** but connection died. (#4.4.2)”

国外域给中国国内邮箱发信时收到退信,退信提示“Remote host said: 551 User not local; please try ”

国外域给中国国内邮箱发信后,中国国内邮箱用户收到的邮件内容均为“aaazzzaaazzzaaazzzaaazzzaaazzz”。

对此,新浪的解释是“近期互联网国际线路出口不稳定,国内多数大型邮件服务提供商均受到影响,在此期间您与国外域名通信可能会出现退信、丢信等现象。为此,新浪VIP邮箱正在采取措施,力争尽快妥善解决该问题。”而万网客户服务中心的解释是“关于近期国内互联网国际出口存在未知的技术问题导致国内用户与国外通信可能会出现退信、丢信等普遍现象,万网公司高度重视,一直积极和国家相关机构汇报沟通,并组织了精良的技术力量努力寻找解决方案。”


有网友推测由于GFW会过滤进出邮件,当发现敏感(关键)字后往两边各发送三个伪造的reset断掉连接,通常都发生在数据传输中间,所以会干扰到内容。


GFW测试


测试网站IP是否被屏蔽或网址是否被列入了关键字过滤名单,可以使用以下方法。


部分网站的IP Tracert图,依次为Google Blogspot、维基百科、亚洲电视


中国大陆境外


打开这个网站,然后按指引测试(仅测试IP是否被屏蔽)。

打开百度,输入要测试网站网址的全部或要测试的关键字,若返回“无法显示”就证明该字符的关键字过滤生效。


中国大陆境内


对于境外所有不能直接访问的网址:


在浏览器中设置一位于境外的有效的普通HTTP代理服务器。如果能访问,说明该网址可能是被域名劫持或IP封锁(或两者同时生效),需要进一步排查;如果还不能访问,排除网站故障的因素,则该网址已被列入关键字过滤黑名单。

使用操作系统的trace route命令对网址进行IP路由跟踪,windows系统使用tracert -d命令(加参数-d以避免逆向DNS解析等待)。如果在运营商骨干网段出现“timeout”或者“reports: Destination host unreachable”,说明IP封锁生效(也可能是域名劫持,两者很难区分,可以通过设置不同的DNS服务器进行比较)。

如果同时出现设置普通HTTP代理服务器仍无法访问并且trace route路径中断,则IP封锁和关键字过滤同时生效。


会被过滤的网站


所有境外的网站都受到关键词过滤的影响,可能出现暂时不可访问。被固定封锁的网站类型包括:部分色情论坛和网站;所有涉及民运、法轮功或具有法轮功背景的以及在中国大陆被查禁的宗教的网站;大部分人权组织的网站;台湾的部分政府网站;大多数香港、台湾的新闻网站或综合网站中提供新闻的分站;部分海外提供Web 2.0或个人网站服务的知名或影响较大的站点;部分个人网站;部分文件寄存网站。


这些类型的网站被封锁的主要原因是因为其网站上发布中国政府不能接受的政治内容或未经国内政治审查过的新闻(比如中国2002年的SARS事件在中国政府揭露事实真相前关于SARS的相关报道和讨论)等方面的内容,有些综合性或技术性的网站只是含有少量的或可能牵涉到这些信息而被整体封锁,例如曾经对Google的全面封锁。


奥运与GFW


据法新社报道,中国政府曾讨论是否在北京奥运会期间放宽GFW的屏蔽范围[14]。在奥运前夕,曾一度被限制访问的Blogger、中文维基、香港明报等网站陆续被解除封锁,BBC中文网和大赦国际网站等网站在8月1日亦被证实解封[15],但部分被禁网站仍然未被解禁,包括法轮功网站、西藏流亡政府网站以及和六四事件相关的网站[16]。有外国媒体指责中国政府违背先前全面开放互联网的承诺,奥组委发言人孙维德表示,奥运期间将提供媒体“充分”的网络使用权,但外国记者上网不会完全不受限制。国际奥委会新闻委员会主席高斯帕也表示,国际奥委会一些官员和中国当局已达成协议,同意中国封锁一些被认为是敏感的、同奥运无关的网站


维基百科,自由的百科全书

http://zh.wikipedia.org/w/index.php?title=GFW&variant=zh-cn

没有评论: