Saturday, January 31, 2015

GFW不是防火墙

GFW的全名叫THE GREAT FIREWALL OF CHINA(中国国家防火墙),很多人看到这点就以为GFW是一种防火墙,所以出现了如下搞笑说法:“GFW应该存在,因为GFW阻挡了很多外国的病毒木马。”


纯属胡扯!先来看看防火墙(FIREWALL)的定义:在电脑运算领域中,防火墙(英文:Firewall)是一项协助确保信息安全的设备,会依照特定的规则,允许或是限制传输的数据通过。防火墙可能是一台专属的硬件或是架设在一般硬件上的一套软件。说的通俗点,防火墙就是学校的看门大爷,没有相应证件的人(被认为有危险的数据)会被挡在校门(你的PC)外。也就是说,防火墙是对外进行防御的,阻挡外部攻击。


GFW的实质是IDS(入侵检测系统)。可能有小白看到这里又会跳起来了,说:“既然是入侵检测系统,那当然是阻挡外国黑客入侵的。”大哥,知道GFW是对哪些流量进行检测吗?是对国内通过国际出口流往国外服务器的数据流进行检测,国外流往国内的数据流GFW从来不管,阻挡个屁的“外国入侵”?


再介绍一下入侵检测系统:入侵检测系统(英语:Intrusion-detection system,缩写为 IDS)是一种网络安全设备或应用软件,可以对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施。它与其他网络安全设备的不同之处便在于,IDS是一种积极被动的安全防护技术。IDS最早出现在1980年4月。该年,James P. Anderson为美国空军做了一份题为《Computer Security Threat Monitoring and Surveillance》的技术报告,在其中他提出了IDS的概念。1980年代中期,IDS逐渐发展成为入侵检测专家系统(IDES)。1990年,IDS分化为基于网络的N-IDS和基于主机的H-IDS。后又出现分布式D-IDS。互联网工程工作小组将IDS分为四部分:


事件产生器,从计算环境中获得事件,并向系统的其他部分提供此事件;

事件分析器,分析数据;

响应单元,发出警报或采取主动反应措施;

事件数据库,存放各种数据。

也有一种常见的分类,即:

驱动引擎,捕获和分析网络传输;

控制台,管理引擎和发出报告或采取主动反应措施;

两种分类都是合理的。


一个IDS由于其工作特性,需要有一个安全的内网环境以避免拒绝服务攻击和黑客侵扰,而且进行网络传输检测也不需要合法的IP地址。因此一个典型的IDS应处在一个有DNS服务器、防火墙或路由器的内网之中,从而完全与互联网分开,阻止任何网络主机对IDS的直接访问。


基于网络的IDS的数据源是网络上的数据包。它往往将一台主机的网卡设置为混杂模式,对所有本网段内的网络传输进行检测。一般基于网络的IDS负责着保护整个网段。而基于主机的IDS功能与病毒防火墙类似,在须保护的系统后台运行,对主机活动进行检测。


除了简单的记录和发出警报之外,IDS还可以进行主动反应:打断会话,和实现过滤管理规则。


入侵检测

发现违反安全策略的网络传输是IDS的核心功能。根据思科公司(记住这家公司,GFW的核心技术提供商,共匪的重要帮凶之一)对入侵检测技术的研究,可以将入侵检测分为几类:简单模式匹配、状态模式匹配、基于协议解码的签名、启发式签名和异常检测(“签名”指一组条件,如果满足这组条件的话,就表明是某种类型的入侵活动)。他们各有优缺点,须根据实际情况使用。


攻击响应


打断会话

如果使用此措施,IDS引擎会先识别并记录潜在的攻击,然后假扮会话连接的另一端,伪造一份报文给会话的两端,造成会话连接中断。这样可以有效的关闭通信会话,阻止攻击。不同的IDS有可能在随后的一段预定或随机的时间内试图阻止从攻击者主机发出的所有通信。

这种措施虽然强大,但是也有缺点。这种措施能够阻止的是较长时间的攻击,而像早期的“泪滴攻击”使系统接收到一个特制分组报头时就会崩溃的情况,这种方法无能为力。


过滤管理规则

一些IDS能够修改远程路由器或防火墙的过滤规则,以阻止持续的攻击。根据安全策略的不同,这种措施可能包括阻止攻击主机与目标主机的其他传输、阻止攻击主机的所有传输;在某些特殊的情况下,也可以阻止目标主机的与特定网域内主机的通信。


这种措施的优点是同样阻止攻击,它比打断会话节省许多网络传输。不过此种措施无法对抗来自内网的攻击,以及有可能造成拒绝服务。


翻译成GFW版:GFW部署在天朝国际互联网出口上,主要手段有:1,关键字阻断:TCP协议关键字阻断


原理:防火长城用于切断TCP连接的技术其实是TCP的一种消息,用于重置连接。一般来说,例如服务器端在没有客户端请求的端口或者其它连接信息不符时,系统的TCP协议栈就会给客户端回复一个RESET通知消息,可见RESET功能本来用于应对例如服务器意外重启等情况。而发送连接重置封包比直接将数据包丢弃要好,因为如果是直接丢弃数据包的话客户端并不知道具体网络状况,基于TCP协议的重发和超时机制,客户端就会不停地等待和重发,加重防火长城审查的负担,但当客户端收到RESET消息时就可以知道网络被断开不会再等待了。而实际上防火长城通过将TCP连接时服务器发回的SYN/ACK封包中服务器向用户发送的序列号改为0从而使客户端受骗认为服务器重置了连接而主动放弃向服务器发送请求,故这种封锁方式不会耗费太多防火长城的资源而效果很好,成本也相当的低。同时这种阻断可以双向工作,在中华人民共和国境外访问位于境内的网站时。如果在数据包头部出现部分关键字,连接也可能会被阻断。但是两者的关键词列表并不完全相同,比如在s.weibo.com中搜索“法轮功”连接会被阻断,搜索“六四”则不会,而在中华人民共和国境内访问境外网站时两者都会被阻断。


本发明提供了一种阻断TCP连接的方法和装置;方法包括:保存各TCP连接的连接信息;所述TCP连接的连接信息包括该TCP协议连接的:客户端信息、服务端信息、请求方向TCP等待序列号和应答方向TCP等待序列号;抓取TCP封包,找到该TCP封包所属TCP连接的连接信息,根据所抓取的TCP封包更新该连接信息中的请求方向TCP等待序列号和应答方向TCP等待序列号;如果所抓取的TCP封包为需要阻断的TCP封包,则根据更新后的、该TCP封包所属TCP连接的连接信息生成RST封包,并发送给该TCP连接的客户端和服务端。本发明可以进行准确而持续的阻断,从而能在大流量环境下的高效阻断非法TCP连接。

针对HTTP协议的关键字阻断


2002年左右开始,中国大陆研发了一套关键字过滤系统。這個系統能够从出口网关收集分析信息,过滤、嗅探指定的关键字。普通的关键词如果出现在HTTP请求数据包的头部(如“Host: www.youtube.com”)时,则会马上伪装成对方向连接两端的计算机发送RST封包(Reset)干扰两者间正常的TCP连接,进而使请求的内容无法继续查看。如果防火长城在数据流中发现了特殊的内文关键词(如「falun」等)时,其也会试图打断当前的连接,从而有时会出现网页开启一部分后突然停止的情况。在任何阻断发生后,一般在随后的90秒内同一IP地址均无法浏览对应IP地址相同端口上的内容。同时这种阻断可以双向工作,在中华人民共和国境外访问位于境内的网站时,如果在数据包头部出现部分关键字,连接也可能会被阻断。两者的关键词列表并不完全相同,比如在境外使用s.weibo.com搜索“法轮功”连接会被阻断,并且90秒无法访问,搜索“六四”则不会,在中华人民共和国境内访问境外网站时两者都会被阻断。


2010年3月23日,Google宣布关闭中国服务器(Google.cn)的网页搜索服务,改由Google香港域名Google.com.hk提供后,由于其服务器位于大陆境外必须经过防火长城,所以防火长城对其进行了极其严格的关键词审查。一些常见的中共高官的姓氏,如“胡”、“吴”、“温”、“贾”、“李”、“习”、“贺”、“周”、“毛”、“江”、“令”,及常见姓氏“王”、“刘”、“彭”等简体中文单字,当局实行一刀切政策全部封锁,即“学习”、“温泉”、“李白”、“圆周率”也无法搜索,使Google在中国大陆境内频繁出现无法访问或搜索中断的问题。2011年4月,防火长城开始逐步干扰Google.com.hk的搜索服务。2012年10月下旬起,防火长城使用更巧妙方式干扰Google搜索,部分用户在点击搜索结果链接跳转时一直被卡住,一直卡了6分钟之后客户端发送RST重置,然后页面一片空白。原因是链接跳转使用的是HTTP,用HTTPS跳转无影响。


干扰eD2k协议的连接

从2011年开始,防火长城开始对所有境外eD2k服务器进行审查:当境内用户使用eD2k协议例如eMule使用模糊协议连接境外服务器时会被无条件阻断,迫使eMule使用普通方式连接境外服务器;同时防火长城对所有普通eD2k连接进行关键字审查,若发现传输内容含有关键字,则马上切断用户与境外服务器的连接,此举阻止了用户获取来源和散布共享文件信息,严重阻碍使用eD2k协议软件的正常工作。


2,DNS污染:原理:防火长城對所有经过骨干出口路由的在UDP的53端口上的域名查询进行IDS入侵检测,一經發現與黑名單關鍵詞相匹配的域名查詢請求,防火长城會馬上伪装成目标域名的解析服务器给查询者返回虚假结果。由于通常的域名查询没有任何认证机制,而且域名查詢通常基于的UDP協議是无连接不可靠的协议,查询者只能接受最先到达的格式正确结果,并丢弃之后的结果。用户若改用TCP在53端口上进行DNS查询,虽然不会被防火长城污染,但可能会遭遇连接重置,导致无法获得目标网站的IP地址。


IPv6协议时代部署应用的DNSSEC技术为DNS解析服务提供了解析数据验证机制,可以有效抵御劫持。


全球一共有13组根域名服务器(Root Server),2010年中国大陆有F、I、J這3个根域DNS镜像[10],但曾因为多次DNS污染外国网络,威胁互联网安全和自由,北京的I根域服务器被断开与国际互联网的连接。目前已恢复服务。


从2002年左右开始,中国大陆的网络安全单位开始采用域名服务器缓存污染技术,使用思科提供的路由器IDS监测系统来进行域名劫持,防止了一般民众访问被过滤的网站。对于含有多个IP地址或经常变更IP地址逃避封锁的域名,防火长城通常会使用此方法进行封锁,具体方法是当用户从境内向境内DNS服务器提交域名请求时,DNS服务器要查询根域名服务器,此过程会受防火长城污染。而用户不做任何保护措施直接查询境外DNS时,会受防火长城污染。


当用户从境外查询境内服务器(不一定是有效DNS服务器),结果也会被污染。


2010年3月,当美国和智利的用户试图访问热门社交网站如facebook.comyoutube.com还有twitter.com等域名,他们的域名查询请求转交给中国控制的DNS根镜像服务器处理,由于这些网站在中国被封锁,结果用户收到了错误的DNS解析信息,这意味着防火长城的DNS污染已影响国际互联网。


2010年4月8日,中国大陆一个小型ISP的错误路由数据,经过中国电信的二次传播,扩散到了整个国际互联网,波及到了AT&T、Level3、德国电信、Qwest和西班牙电信等多个国家的大型ISP。


2012年11月9日下午3点半开始,防火长城对Google的泛域名*.google.com进行了大面积的污染,所有以.google.com结尾的域名均遭到污染而解析错误不能正常访问,其中甚至包括不存在的域名,而Google为各国定制的域名也遭到不同程度的污染(因为Google通过使用CNAME记录来平衡访问的流量,CNAME记录大多亦为.google.com结尾),但Google拥有的其它域名如.googleusercontent.com等则不受影响。有网友推测Google被大面积阻碍连接是因为中共正在召开的十八大。


2014年1月21日下午三点半,中国网站的.com域名解析不正常,网站被错误地解析至65.49.2.178,该IP位于美国北卡罗来纳州的Dynamic Internet Technology,即自由门的开发公司。


3,IP封锁和IP协议阻断:原理:相比起之前使用的控制访问列表(ACL)技术,现在防火长城采用了效率更高的路由扩散技术封锁特定IP地址。正常的情况下,静态路由是由管理员根据网络拓扑或是基于其它目的而给出的一条路由,所以这条路由最起码是要正确的,这样可以引导路由器把数据包转发到正确的目的地。而防火长城的路由扩散技术中使用的静态路由其实是一条错误的路由,而且是有意配置错误的,其目的就是为了把本来是发往某个IP地址的数据包统统引导到一个“黑洞服务器”上,而不是把它们转发到正确目的地。这个黑洞服务器上可以什么也不做,这样数据包就被无声无息地丢掉了。更多地,可以在服务器上对这些数据包进行分析和统计,获取更多的信息,甚至可以做一个虚假的回应。这些错误静态路由信息会把相应的IP数据包引导到黑洞服务器上,通过动态路由协议的路由重分发功能,这些错误的路由信息可以发布到整个网络。这样对于路由器来讲现在只是在根据这条路由条目做一个常规数据包转发动作,无需再进行ACL匹配,与以前的老方法相比,大大提高了数据包的转发效率。但也有技术人员指出,从以前匹配ACL表到现在匹配路由表是“换汤不换药”的做法,依然非常耗费路由器的性能。而且中国大陆共有9个国际互联网出口和相当数量的骨干路由,通过这种方法封锁特定IP地址需要修改路由表,故需要各个ISP配合配置,所以其封锁成本也是各种封锁方法里最高的。


一般情况下,防火长城对于中国大陆境外的「非法」网站会采取独立IP封锁技术,然而部分「非法」网站使用的是由虚拟主机服务提供商提供的多域名、单(同)IP的主机托管服务,这就会造成了封禁某个IP地址,就会造成所有使用该服务提供商服务的其他使用相同IP地址服务器的网站用户一同遭殃,就算是「内容健康、政治无关」的网站,也不能幸免。其中的内容可能并无不當之處,但也不能在中国大陆正常访问。


20世纪90年代初期,中国大陆只有教育网、中国科学院高能物理研究所(高能所)和公用数据网3个国家级网关出口,中国政府对认为违反中国国家法律法规的站点进行IP地址封锁。在当时这的确是一種有效的封锁技术,但是只要找到一个普通的服务器位于境外的代理然后通过它就可以繞過這種封鎖,所以現在网络安全部门通常会将包含「不良信息」的网站或网页的URL加入关键字过滤系统,并可以防止民众透过普通海外HTTP代理服务器进行访问。

防火长城配合上文中特定IP地址封锁里路由扩散技术封锁的方法进一步精确到端口,从而使发往特定IP地址上特定端口的数据包全部被丢弃而达到封锁目的,使该IP地址上服务器的部分功能无法在中国大陆境内正常使用。


经常会被防火长城封锁的端口:

SSH的TCP协议22端口

PPTP类型VPN使用的TCP协议1723端口,L2TP类型VPN使用的UDP协议1701端口,IPSec类型VPN使用的UDP协议500端口和4500端口,OpenVPN默认使用的TCP协议和UDP协议的1194端口

TLS/SSL/HTTPS的TCP协议443端口

Squid Cache的TCP协议3128端口

在中国移动、中国联通等部分ISP的手机IP段,所有的PPTP类型的VPN都遭到封锁。


2011年3月起,长城防火墙开始对Google部分服务器的IP地址实施自动封锁(按时间段)某些端口,按时段对www.google.com(用户登录所有Google服务时需此域名加密验证)和mail.google.com的几十个IP地址的443端口实施自动封锁,具体是每10或15分钟可以连通,接着断开,10或15分钟后再连通,再断开,如此循环,使中国大陆用户和Google主机之间的连接出现间歇性中断,使其各项加密服务出现问题。Google指中国这样的封锁手法高明,因为Gmail并非被完全阻断,营造出Google服务“不稳定”的假象,表面上看上去好像出自Google本身。


4,干扰加密连接:防火长城会监控特定IP地址的所有数据包,若发现匹配的黑名单动作(例如TLS加密连接的握手),其会直接在TCP连接握手的第二步即SYN-ACK之后伪装成对方向连接两端的计算机发送RST封包(RESET)重置连接,使用户无法正常连接至服务器。在连接握手时,因为身份认证证书信息(即服务器的公钥)是明文传输的,防火长城会阻断特定证书的加密连接,方法和无状态TCP连接重置一样,都是先发现匹配的黑名单证书,之后通过伪装成对方向连接两端的计算机发送RST封包(RESET)干扰两者间正常的TCP连接,进而打断与特定IP地址之间的TLS加密连接(HTTPS的443端口)握手,或者干脆直接将握手的数据包丢弃导致握手失败,从而导致TLS连接失败。但由于TLS加密技术本身的特点,这并不意味着与网站传输的内容可被破译。[21]


Tor项目的研究人员则发现防火长城会对各种基于TLS加密技术的连接进行刺探[22],刺探的类型有两种:


“垃圾二进制探针”,即用随机的二进制数据刺探加密连接,任何从中国大陆境内访问境外的443端口的连接都会在几乎实时的情况下被刺探[23],目的是在用户建立加密连接前嗅探出他们可能所使用的反审查工具,暗示近线路速率深度包检测技术让防火长城具备了过滤端口的能力。


针对Tor,当中国的一个Tor客户端与境外的网桥中继建立连接时,探针会以15分钟周期尝试与Tor进行SSL协商和重协商,但目的不是建立TCP连接。


切断OpenVPN的连接,防火长城会针对OpenVPN服务器回送证书完成握手建立有效加密连接时干扰连接,在使用TCP协议模式时握手会被连接重置,而使用UDP协议时含有服务器认证证书的数据包会被故意丢弃,使OpenVPN无法建立有效加密连接而连接失败。


简单来说,GFW布置在国际出口,监视着所有向外的流量,一旦发现“非法”(共匪害怕的)数据流就进行阻断。共匪从不承认GFW的存在,但GFW每年花掉的那一大笔天朝纳税人的血汗钱(据估计,防火长城可能拥有数百台曙光4000L服务器。另外,思科公司也被批评参与了中國網絡審查机制。


防火长城(北京)使用曙光4000L机群,操作系统为Red Hat系列(从7.2到7.3到AS 4),周边软件见曙光4000L一般配置


防火长城实验室(哈尔滨工业大学)使用曙光服务器,Red Hat操作系统

防火长城(上海)使用Beowulf集群。GFW是曙光4000L的主要需求来源、研究发起者、客户、股东、共同开发者。2007年防火长城机群规模进一步扩大,北京增至360节点,上海增至128节点,哈尔滨增至64节点,共计552节点。机群间星型千兆互联。计划节点数上千。


有理由相信防火长城(北京)拥有16套曙光4000L,每套384节点,其中24个服务和数据库节点,360个计算节点。每套价格约两千万到三千万,占005工程经费的主要部分。有3套(将)用于虚拟计算环境实验床,计千余节点。13套用于骨干网络过滤。总计6144节点,12288CPU,12288GB内存,峰值计算速度48万亿次。


2 GHz CPU的主机Linux操作系统下可达到600Kbps以上的捕包率。通过骨干网实验,配置16个数据流总线即可以线速处理八路OC48接口网络数据。曙光4000L单结点的接入能力为每秒65万数据包,整个系统能够满足32Gbps的实时数据流的并发接入要求。有理由相信GFW的总吞吐量为512Gbps甚至更高(北京)。想想看部署和维护要花掉多少钱吧)却是真实存在的,请问哪位愿意拿自己的血汗钱去封锁自己?即便是那些没被封锁的网站,由于都被奴才ISP们对数据包加了延迟以方便GFW进行检测,用户体验也变得极其糟糕,对此玩外服网游的诸位应该深有体会。而翻墙更是一件花费时间精力的事,GFW与翻墙软件之间的战争从未停止过,很可能今天能用的翻墙软件明天就不能用了。


最后我想问一句,还有哪个傻子为GFW叫好吗?GFW从来都只是欺骗愚弄我等屁民的手段之一罢了。\


原文:http://ift.tt/1ySmbG4








via 细节的力量 http://ift.tt/1vkRoXW

No comments:

Post a Comment