Feb 18, 2010
深入理解GFW:内部结构
之前我们对GFW进行了大量的黑箱测试,尽管大多数实验数据都得到了良好的解释,但是还是有些数据或者体现出的规律性(不规律性)没有得到合理的解释。比如TCP连接的各项超时时间,比如Google的443端口被无状态阻断时,继发状态的持续跟源IP相关的问题。比如一般TCP连接的继发阻断时,窗口尺寸和TTL的连续变化特性。这些问题已经超出纯协议的范畴,需要对GFW的内部结构进行进一步了解才能明白其原因。所以在这一章介绍GFW的实现和内部结构。
总的来说,GFW是一个建立在高性能计算集群上规模庞大的分布式入侵检测系统。其分布式架构带来了很高的可伸缩性,对骨干网一点上庞大流量的处理问题被成功转换成购买超级计算机堆砌处理能力的问题。它目前有能力对中国大陆全部国际网络流量进行复杂和深度的检测,而且处理能力“还有很大潜力”(2009年8月)[null]。
评一条读者留言
我们收到了一条有趣的留言:
听前同事说起这个文章,今天闲得无聊上网来看下。感觉写这篇文章的老兄看来知道不少情况,但是有些东西的实情其实也并不清楚。举几个例子来说吧:
1、GFW的经费可比金盾工程的多了不知道几十倍!
2、方滨兴之流的根本就不是什么真正的技术专家,只是众多“叫兽”之一而已。(说实话,就方滨兴、云晓春、刘欣然之流的,他们那点儿技术水平都是给我当学生过来的。)
3、GFW的技术水平其实就像作者所说的那样,发现特征、阻断,不行的话就封IP,根本谈不到什么高水平。
4、CNCERT的技术支持一直就是启明星辰,连工作人员都是从启明星辰借调的。
而在数十分钟之后,自曲新闻又有一条几乎相同的留言,似乎这位留言者存在某种混淆。
关于这条留言,我有一些看法:
Jan 22, 2010
搜索引擎安全管理系统
看到一则不起眼的资料:
搜索引擎安全管理系统
完成人:刘欣然;方滨兴;齐向东;李伍峰;石晓虹;刘正荣;杨臻;丁丽;张鸿;陈斌
单位: 国家计算机网络与信息安全管理中心;北京三际无限网络科技有限公司;国务院新闻办公室互联网新闻研究中心
日期:2005年2月2日
简介:该系统提供了第三方的基于HTTP标准的规范高性能过滤接口,在输入和输出两个环节分三级进行有效的信息过滤;提供了统一管理平台,可以远程进行管理,经单点配置过滤策略即可实现全局同时生效,且策略下发过程可保证对过滤目标的保密要求系统可以采用分布式或集中式的部署结构。系统接入简单,易于部署,适用于绝大多数现有的搜索引擎,可以满足现有国内日查询量的处理要求。该系统已实际部署一些国内较大的搜索引擎,取得了良好的使用效果。全面推广和部署该系统,将为净化国内互联网空间提供有力保障。
一点事实:当时刘欣然、方滨兴是安管中心的研究人员和负责人,而安管中心是GFW的运维单位;李伍峰、刘正荣是中国最大网络审查机构国新办的网络部门负责人;齐向东、石晓虹是三际无限公司的高管,而该公司则是360安全卫士的开发者。
我们知道国内的搜索引擎都有关键词过滤,通常认为这是搜索引擎的自我审查。然而最近有一些案例发现在某些情况下不同搜索引擎的“自我审查”会同时失效,说明背后并不简单。以上资料说明了这样几个事实:
- 存在一个对国内搜索引擎进行统一关键词过滤的审查管理系统,其被称为“搜索引擎安全管理系统”;
- 这个系统是主要由GFW的运维单位安管中心(CNCERT/CC)开发;
- 这个系统主要需求和日常使用来自国新办,有密级;
- 国内搜索引擎的关键词过滤有一部分是由国新办直接操作的“非自我审查”;
- 360安全卫士的开发者三际无限公司也参与了这个系统的开发。
三际无限公司的所作所为已经不仅仅是“将用户隐私信息交给政府安全部门”;它协助CNCERT、积极参与建设对国内互联网的审查机制,为长城添砖加瓦,这已经超出作恶的范畴,可称得上助纣为虐。加之之前报道称360安全卫士将自由门等软件检测为恶意软件,这个公司的道德水准已经昭然若揭。请丝毫不要怀疑三际无限与审查部门和安全部门的良好关系,请丝毫不要惊讶安全部门会通过360安全卫士对用户进行监听。
另引用双想范文 [huanqiu.com] 一段:
为掩人耳目,中情局成立了一家高科技公司,以民间身分为幌子与谷硅高科技公司合作开发能够从互联网上获取任何内容的间谍软件。间谍软件以捆绑方式和其他软件一起当用户安装实用软件时它悄悄地进行自动安装。
哼哼。
Nov 27, 2009
深入理解GFW:DNS污染
初识DNS污染
翻墙新手们往往遇到这样的问题:我明明已经设置了socks代理为127.0.0.1:xxxx,为什么还是上不去youtube?这时经验丰富的翻墙高手就会告诉你:firefox需要设置network.proxy.socks_remote_dns为true,也就是远程解析域名。这是怎样一回事呢?为什么要远程解析?这就涉及到了GFW的DNS污染技术。
DNS(Domain Name System)污染是GFW的一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击(DNS cache poisoning)。其工作方式是:对经过GFW的在UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,查询者只能接受最先到达的格式正确结果,并丢弃之后的结果。对于不了解相关知识的网民来说也就是,由于系统默认使用的ISP提供的NS查询国外的权威服务器时被劫持,其缓存受到污染,因而默认情况下查询ISP的服务器就会获得虚假IP;而用户直接查询境外NS(比如OpenDNS)又可能被GFW劫持,从而在没有防范机制的情况下仍然不能获得正确IP。然而对这种攻击有着十分简单有效的应对方法:修改Hosts文件。但是Hosts文件的条目一般不能使用通配符(例如*.blogspot.com),而GFW的DNS污染对域名匹配进行的是部分匹配不是精确匹配,因此Hosts文件也有一定的局限性,网民试图访问这类域名仍会遇到很大麻烦。
Nov 25, 2009
漫谈国家安全与“个人安全”【转】
复旦大学的国际政治系博士沈逸写了一篇文章《Twitter之战》。文意大概是在表明,twitter在接受“美国国务院为伊朗用户推迟原定维护计划的建议”之后已经变成美国政府进行渗透颠覆的工具。这在某种程度上反映了党内很大一部分同志的想法,以前新华社也发过不少类似揭露渗透颠覆的文章。这并不是一件好事情,我们有些党员干部对信息时代的新事物不理解,维稳这件事情做得粗暴简单缺乏策略。有些同志在八九风波之后就一直处于“颠覆性歇斯底里”的状态,稍微听到一点逆言便视其为煽动颠覆、敌对势力,凡是都站在国家安全的角度考虑,用国家暴力机器进行打击。这种焦虑是要不得的,反映出一些党员干部抱着国家安全不愿意了解新事物、畏惧新事物的心态。新的舆论阵地如果我们不先抢占,就要被敌人抢占。被敌人抢占之后才意识到,然后再来修防火墙搞封锁实乃下策,反而不能实现最好的国家安全。
Nov 10, 2009
GFW研究与诊断工具
在开始所有对GFW的细致研究之前,要先给大家介绍一下我们研究所需要的主要工具和典型方法。读者也可以留言推荐自己喜欢的工具。
一览:
- 监听和扫描:wireshark,tcpdump,nmap
- 应用层:nc,wget,curl,w3m
- 编程接口:libpcap/winpcap,libnids,libnet/raw sockets,snort,libnetfilter*(libipq)/divert sockets
Nov 5, 2009
深入理解GFW:路由扩散技术
GFW的重要工作方式之一是在网络层的针对IP的封锁。事实上,GFW采用的是一种比传统的访问控制列表(Access Control List,ACL)高效得多的控制访问方式——路由扩散技术。分析这种新的技术之前先看看传统的技术,并介绍几个概念。
访问控制列表(ACL)
ACL可以工作在网络的二层(链路层)或是三层(网络层),以工作在三层的ACL为例,基本原理如下:想在某个路由器上用ACL控制(比如说是切断)对某个IP地址的访问,那么只要把这个IP地址通过配置加入到ACL中,并且针对这个IP地址规定一个控制动作,比如说最简单的丢弃。当有报文经过这个路由器的时候,在转发报文之前首先对ACL进行匹配,若这个报文的目的IP地址存在于ACL中,那么根据之前ACL中针对该IP地址定义的控制动作进行操作,比如丢弃掉这个报文。这样通过ACL就可以切断对于这个IP的访问。ACL同样也可以针对报文的源地址进行控制。如果ACL工作在二层的话,那么ACL控制的对象就从三层的IP地址变成二层的MAC地址。从ACL的工作原理可以看出来,ACL是在正常报文转发的流程中插入了一个匹配ACL的操作,这肯定会影响到报文转发的效率,如果需要控制的IP地址比较多,则ACL列表会更长,匹配ACL的时间也更长,那么报文的转发效率会更低,这对于一些骨干路由器来讲是不可忍受的。
路由协议与路由重分发
而GFW的网络管控方法是利用了OSPF等路由协议的路由重分发(redistribution)功能,可以说是“歪用”了这个本来是正常的功能。Nov 2, 2009
GFW钓鱼计划
社会工程从来都是在安全领域最有趣味的话题。钓鱼(phishing)是社会工程的一种。最近韩寒童鞋揭露了出现在上海的某种钓鱼小把戏,我们也不妨来讨论一下某种GFW钓鱼小把戏。面对GFW这个黑箱,我们希望对它的内部的行政机制有所了解,这当然是技术性的逆向工程无法解决的问题,所以这里主要讨论社会工程的方法。
原理
对GFW进行黑箱式分析,就会发现一种非常确定的刺激-反应的行为模式。一般来说是这样的过程:1)一个网站处于含有敏感内容的状态;2)在某个时刻GFW感知到这个网站(“先期侦察”)并受到刺激;3)然后通过GFW内部的某种过程;4)最后形成对这个网站的封锁反应。一般只有最后的封锁反应是公开可观测的GFW特征,然而由于GFW的封锁采取伪造的方式进行,我们很难从这种封锁动作中获得信息。而如果我们特制一个网站并作为网站控制者让GFW对它进行感知,并利用GFW自认为置身暗处而不采取防护的漏洞,那么在刺激这个环节就很有可能观测到GFW的真实信息。简而言之GFW你不是特别会封吗?这次我造一个网站让你封,来啊。然后将GFW在这个环节泄漏的信息全部记录下来。这就是钓鱼,有人也把这个叫做蜜罐,在蜜罐里放一些GFW特别喜欢的东西,苍蝇循着香味飞进来就黏住了。根据先验知识我们还可以知道,在对目标进行侦察之后,GFW内部还会有关于反应方式的评估。这个过程虽然是无法观测的,不过当蜜罐收集到的数据量比较充分之后进行分析,就会找到这个过程的某些模式,分离出时间周期、地域、主题偏好等要素,对GFW内部的机制有一个轮廓性的刻画。
Oct 27, 2009
深入理解GFW:总论
GFW,Great Firewall of China,防火长城,通常把它看作一个国家级的网络审查系统。关于网络审查,人们通常首先会有一番政治性的话要说,不过政治批评这个角度的言论实在是过多,GFW的实体在“GFW”这个这个巨大的外壳之下隐藏了多年,人们只是对着“GFW”这个词空发怒气却并不知道它究竟是什么。实际上GFW除了是一个让网民十分不舒服的系统之外,在技术上它还是一个非常复杂有趣的黑箱,一个通关奖品是网络自由的解谜游戏。接下来一段时间我们便会对GFW进行深入的探索和理解,大家很快就会了解到它的趣味。提示:阅读此“深入理解GFW”系列之前建议读者对TCP/IP协议族、网络安全、反向工程有基本的了解。