互联星空HTTP劫持的初步分析
流氓软件/网站 August 2nd, 2007
通过抓包比较分析,得出一些初步的分析:
* 帮助电信实现这些流氓手段的公司是: 华为,在我这里看到实现此流氓手段的设备是MA5200G
* 星空疾速在Windows XP下并没有实现自己的PPPoE客户端,而是采用了系统标准的。 可以看到安装星空疾速后在网络连接中出现了一个 Vnet PPPoE的连接,星空疾速拨号后,这个VNet PPPoe连接处于活动状态. 但此连接是通过软件程序控制的,因此可能在连接的时候附带了一些配置信息 ,正是通过这些配置信息使得MA5200知道你的客户端没有使用星空疾速,从而对你今后的HTTP访问进行劫持。
这些数据包我因在老家没有编译器没有办法写程序分析,所以还没有能清楚其内部的秘密。
* 胡连星空的HTTP劫持仅针对HTTP协议。 对其他协议暂时没有处理,包括HTTPS.
* 星空疾速连接后会和其server有系列http会话,我已经证实这些会话对HTTP劫持没有任何作用, 因此我估计他们判断是否使用了星空疾速的办法应该是上述PPPoE连接的特殊参数。
解决方案
A、加密隧道法
对于有条件的,在外部有代理服务器,或者SSH服务的,可以采用SSH加密隧道,或者HTTPS加密隧道,自己的VPN连接 等规避HTTP劫持的设备。
我自己采用SSH隧道来模拟一个本地的SOCKS代理:
plink -N xxx@xxxx.net -D 127.0.0.1:9999
plink是开源软件PuTTY中的一个部件。 xxx@xxxx.net是我自己外部的一台有ssh访问权 的服务器。
B、委屈求全法
考虑到需要让我妈妈能顺利使用, 因此步骤要尽可能少,我采用一个委屈求全的方案是用我的无线路由器来传送PPPoE 报文,这样就可以使用无线网络,但在无线连接的电脑上使用那个流氓星空疾速软件。 已经证实这样做能正常访问,但Internet是无法被共享的。
需要WiFi router支持PPPoE的穿越。 我使用Linksys WRH54G可以支持。
这种做法只能让wifi 可以使用,并不能阻止HTTPs劫持等任何流氓手段。
不幸的是可能没有完美方案
如果是从MA5200G这样的设备上做手脚,在PPPoE连接建立时作文章来标记自己的身份,那么很可能没有完美方案能让宽带路由器很好使用起来,因为大部分宽带路由器的PPPoE连接部分的代码是无法修改的。 :( 所以可能就无法指望运行一个小软件来让宽带路由器共享得很爽。 这样一来,也许加密隧道法成了最佳方案。
About
[...] 写在这里 互联星空HTTP劫持的初步分析,还不是个理想方案,抱歉。 等有时间继续分析看看能否有更好的办法解决。 [...]
不错。国内的婊子企业就是这么恶心。
不过目前星空鸡速还可以绕开,如果改天不能绕开就烦了。