读到这样一条新闻:
Mozilla在推出Firefox 4正式版的同时,发布了Firefox 3.6.16和3.5.18,主要是在黑名单中加入了多个伪造的SSL证书。
据Tor官方博客报道,SSL证书认证机构Comodo上周遭到入侵,攻击者给自己发了几大重要网站的有效HTTPS证书。这些网站包括了login.live.com,mail.google.com,www.google.com,login.yahoo.com,login.skype.com,addons.mozilla.org,Global Trustee。攻击者可以利用这些证书冒充受害者网站。Chrome、Firefox已经将它们加入到黑名单中,微软也发布了相关更新。
我觉得这太危险了,攻击者伪造的SSL证书影响Google、skype、yahoo、live等网站,配合DNS污染技术可以伪造这些网站的HTTPS登录界面而没有任何警告。
中国是DNS污染的重灾区,加上我收到很多疑似来自政府的钓鱼邮件,我觉得这次攻击要是又是传说中的“蓝翔技校”干的的话,制作木马邮件或窃取Google Checkout 、SKYPE、PAYPAL里的银子就太容易了,因为结合DNS污染欺骗网民进入中间人攻击站点会没有任何的安全警告。关于如何利用安全证书去实现中间人攻击,请阅读这篇文章:《SSL窃听攻击实操》,这是DNSPOD的创始人吴洪声 写的,原理就是正式的向已经被浏览器默认信任的CA机构申请证书,得到合法的证书,然后用合法证书+伪造站点期骗用户访问,让用户输入密码,然后再向真正的站点请求用户真正需要的内容,就像提供了一个代理服务器一样,但用户感觉不到与访问正宗网站有什么区别。这就是“中间人攻击”。
解决方法是升级浏览器。firefox已经增加了SSL证书的黑名单,但我不知道到底是哪个证书有问题,我于是像屏蔽CNNIC的root CA一样把Comodo给拉黑了,具体方法是:苹果用户到实用工具->钥匙串访问->系统根证书->证书,找到Comode(或CNNIC)双击,改默认为永不信任. 这样遇到伪造的GOOGLE登录界面时会有安全警告。
拉黑了CNNIC和COMODO的根证书,以后凡是使用这两家证书的网站都会导致我的电脑上的浏览器出现安全警告。现在GOOGLE用的是Versign的底下的Thawte SGC CA颁发的证书,要是哪天访问时跳出来显示为COMODO颁发的,那我就中奖了。当然,会有误杀,如果访问别的使用了comodo的安全证书的网站,我的浏览器也会出现警告,要是这站点不是重要的网站,我可以临时允许访问这个网站。
另外,采取一些防范DNS劫持的措施也就不会遇到使用了伪造COMODO证书的网站了,如使用VPN,确保使用的DNS服务器地址是国外的地址,还确保通往DNS的路径是走的VPN通道,比如,使用SSH转发的翻墙者,虽然使用了 8.8.8.8 这个DNS服务器,但由于DNS请求不走隧道,还是会被DNS劫持。
例:
nslookup blog.aiweiwei.com 8.8.8.8
会得到:
Non-authoritative answer:
Name: blog.aiweiwei.com
Address: 93.46.8.89
这个 93.46.8.89就是GFW的DNS污染的证据,blog.aiweiwei.com 的真正IP应该是 67.205.38.6 才对。
附:
什么叫中间人攻击?
这篇文章《会话劫持与中间人攻击 》用一个战争案例解释了:
20 世纪80 年代后期,南非在纳米比亚与安格拉附近与古巴交战,当时南非的空军实力较强,雷达系统也比较发达,拥有一套用于敌我识别,避免误伤的质询/响应系统,称作 IEF,只有拥有密钥的南非飞机才能够解密并发送正确的回应信号。
按理说,南非拥有制空权,但一次战役中,古巴却成功地轰炸了南非的阵地,他们是如何实现的呢?
原来,当南非轰炸机前去轰炸古巴地面的军事目标时,古巴的米格战机悍然直入南非空防区。当南非的 IEF 发送质询信号时,米格将信号发回基地,基地转发给南非轰炸机并取得其回应,再送回米格,米格就近乎实时地获取了 IEF 的响应信号……整个过程中,米格战机和古巴基地实际上并不知道这些质询响应信号的意义……
这就是中间人攻击了
他们的具体做法是在黑名单中加入这些伪造证书(公钥部分)的签名–而你的windows电脑上只会用到windows自带的证书库和Firefox自带的证书库。
至于这些签名是那些你可以到hg.mozilla.com以及chromium的托管网站上查看源代码。
你禁用了CNNIC的证书是可以理解,但是在别人已经给出完善的解决方案之后禁用COMODO的根证书,我觉得真的是过敏了—当然其中的责任不能完全在你。
我没有看到MAC下有完善的解决方案,不知道如何在MAC下处理,我在MAC下有safari、chrome、firefox,我只能想到禁用comodo的办法。
@lihlii 推荐的隐私和安全保护相关 Firefox 附加组件 http://goo.gl/RM2Lf @chenshaoju @hezhiyong @darasion @fbcon 用FF安全扩展能阻止非正常证书
文章中的nslookup例子可能有些问题。我在广州通过nslookup命令获得blog.aiweiwei.com的IP是37.61.54.158。文中说67.205.38.6 的地址对,93.46.8.89这个地址不对。事实上,我通过VPN到www.just-ping.com这网址查出,37.61.54.158是荷兰、德国、埃及拚blog.aiweiwei.com的结果,93.46.8.89是德国科隆拚出的结果,67.205.38.6是美国拚出的结果,我有疑问就是DNS是不是污染到国外,或者blog.aiweiwei.com有几个镜像服务器,不知看法对否,如有错误请删除。
你得到的地址都是DNS污染后的结果。因为aiweiwei.com用的ns server是在中国,当DNS请求从国外到中国时,会被GFW污染。解决办法是让aiweiwei.com启用国外的ns server ,这样至少可以保证国外的人能看到BLOG。
最後一個古巴對南非的戰例很有意思,藉花獻佛,也能如此凌厲。沒有一個安全系統是絕對的。