区分国内上网环境中的人为网络故障三
发帖日期:2010-06-08 15:44:17 标签:网络故障 解析 解决
6、无状态的TCP连接重置
由于https是加密传输数据的协议,系统无法知道通过https协议传输了什么内容,但又不允许民众使用https访问“有害信息”,所以系统只要监测到(系统只是知道访问了这个网站的https协议,并不知道其中传输的内容)访问了指定网站的https协议(比如Google Docs的https访问方式),就会强制断开TCP连接。这样,这些网站的https协议在国内就无法直接使用了,很多人被迫使用http协议,从而传输的所有内容被系统所记录。
无状态的TCP连接重置的结果也是浏览器显示“连接被重置”,只不过无论访问这个服务器上的任何网页都会被重置。如果要解决这个问题,也只能依靠加密代理、VPN或利用系统的漏洞了。
7、SSL证书过滤
和无状态的TCP连接重置一样,由于https是加密传输数据的协议,系统无法知道通过https协议传输了什么内容,但又不允许民众使用https访问“有害信息”,除了域名污染和无状态的TCP连接重置防止无法审查内容外,还有SSL证书过滤的审查手段。由于https传输过程中,SSL证书却是明文传输的,所以可以监测SSL证书是否掰发给指定域名的。如果确实如此,那么就强制断开TCP连接,浏览器也会显示“连接被重置”。SSL证书过滤只发生在使用https访问网站的时候。
SSL证书过滤的情况比较少。如果需要解决这个问题,也只能依靠加密代理、VPN或利用系统的漏洞了。
8、SSL劫持
断开https连接虽然能阻止民众访问“有害信息”,但并不知道访问了什么有害信息。基于这一点,针对https的弱点(信任所有证书颁发机构CA),CNNIC申请成为了顶级证书颁发机构(Root CA),从而可以发假证书进行中间人攻击,从而破解https传输的内容。详见月光博客《破解Google Gmail的https新思路》。
如果遭到了SSL劫持,很难发现。我们通过https访问国外网站的时候必须每次检查一下证书是否为国内的证书颁发机构颁发。如果为国内的证书颁发机构颁发,那么很可能遭到了SSL劫持,必须马上停止继续访问。
如果要解决SSL劫持,我们可以去浏览器中禁止比如CNNIC那样的国内证书颁发机构的证书(比如《CNNIC,我不信任你》)。但这并不能完全解决问题,如果某一天一个不知名的国内证书颁发机构参与了SSL劫持就很难发现。最终我们还需要依赖加密代理或VPN。
9、HTTP会话劫持
HTTP会话劫持是修改正常的http返回结果,可以在其中加入广告,甚至是病毒木马。而一般上网被http会话劫持加入广告,很有可能认为是网站自己的广告。由于http协议是明文传输的,http会话劫持也就可以做到。月光博客中《电信级的网络弹出广告》、《获取了电信恶意弹出广告的罪证》和《谁控制了我们的浏览器?》也有详细介绍http会话劫持。HTTP会话劫持通常是ISP为了推送广告而实施的,但并不排除这一手段今后会被系统所利用。
要解决HTTP会话劫持,月光博客中也提供了一种解决思路——《解除ADSL弹出广告的方法》。使用浏览器插件屏蔽广告能解决部分问题,也不能完全解决问题。如果要从技术手段解决HTTP会话劫持,一种办法是使用加密代理和VPN访问所有的网站,包括国内的,但也不能完全解决问题,如果HTTP会话劫持是在服务器附近的路由器上设置的,这种方法也无法解决;另一种办法是针对不同的HTTP会话劫持,我们通过刷路由器固件的方式再劫持回来(dd-wrt和tomato路由器固件支持自定义,可能可以把HTTP会话再劫持回原来的数据),或者针对不同的HTTP会话劫持,使用不同的本地应用层代理服务器进行广告过滤。
在国内常见的人为网络故障都介绍完了,同学们都可以区分不同的故障了并加以解决吗?
--
Sincerely
------------------------------------
刘华兵 HuaBing.LIU - Practice Consultant - Mobile: +86 13911384087
EMC Consulting Services
15F, Hyundai Motor Tower, 38 Xiaoyun Road, ChaoYang District, BeiJing CHINA 100027
EMC² where information lives