| 前两天我写了一篇有关联想与“超鱼”丑闻的短文。然后在评论上,和蜂教授展开了一些讨论,试图理清“超鱼”的运作细节。遗憾的是,我手头没有受害电脑,所以只能根据网上的报道来进行分析。但是,网上的报道也会有缺乏细节或者失实的部分。所以分析起来并不容易。这两天随着更多的情况的披露,有些细节开始浮出水面。 首先,看来“超鱼”确实扮演了两面人的角色。“超鱼”软件在用户机器上运行,在浏览器获得来自网络信息之前。所影响的不仅仅是谷歌网页,而是所有的HTTPS网站。最初被发现,就是因为一位受害用户发现Bank of America的证书有异样,变成一份由“超鱼”签发的证书。 图一. “超鱼”签发的Bank of America证书 图二. “超鱼”签发的Bank of America证书(局部) 在和HTTPS网站来往过程中,“超鱼”确实是我所设想的那样采用的代理机制。“超鱼”软件在用户电脑上运行,“超鱼”和所有的远程网站的来往认证过程是正常的。用户电脑与远程网站之间以及与CA网站之间的往来,原先由用户的浏览器运作,现在变成由“超鱼”在Komodia软件库基础上完成。而在“超鱼”与用户浏览器之间的通信,是用了“超鱼”自己签发的“假证书”。由于“超鱼”已经具有签署证书的权限,所以用户的浏览器也会认可这份“假证书”。 蜂教授曾经试验过,把“超鱼”的CA证书删除之后,继续运行“超鱼”软件,那么“超鱼”软件照样自己签发的“假证书”,但由于“超鱼”的CA证书已经不存在了, 这样的“假证书”就无法被浏览器认可和接受。 “超鱼”签发的“假证书”仅仅用在用户机器的一个软件与另外一个软件之间,当通信结束之后,这份“假证书”就被摧毁了。这一点,Robert Graham在2月19日已经加以说明了。Robert Graham就是从电脑的记忆体(Memory)上获得了这样的“假证书”,然后破解了其中的密码。 另外一个重要的问题是,当遇到对方网站的证书确实有问题的时候,“超鱼”究竟是怎么处理的?据Filippo Valsorda的试验结果表明,“超鱼”一方面按照惯例签发了一份“假证书”,但同时在证书上做了一些修改,造成证书有误的情况,以提示用户对方的证书有问题。但是,“超鱼”对无效证书的处理被认为非常不专业。比如说,不管有什么问题,都把证书的所有者名字前加上一个“verify_fail”的字符串,而没有把真正的问题告知用户。 图三. "超鱼"签发的verify_fail.events.ccc.de证书 由于“超鱼”背后所采用的Komodia软件库被发现,专家们顺藤摸瓜,找到了其他一些同样采用Komodia软件库的产品。比如有一个名叫PrivDog的广告软件(Adware)。它宣称的卖点是,“A new layer of Internet Security——Protects against harmful ads from untrusted sources"。而试验表明,它对所有的远程网站的HTTPS证书都不加以认证,而是直接改签成有效证书,因此被认为是比“超鱼”还要坏很多的一份软件。那么我们从这里也可以看出,“超鱼”对远程网站的证书还是有通过认证的这个步骤。 图四. PrivDog签发的badcert-generic.tlsfun.de证书(局部) |
waspking: 看来你是对的。 超鱼没有我理解的那么坏。

mist: 没有啊,你这是在为大家做好事,我可是什么也没干啊。

昨夜雨: 谢谢你的支持。
mist: 噢,是这样的,谢谢。

昨夜雨: 如果你没有买我上个帖子里的电脑型号,这回暂时没有问题。
mist: 看不懂这些有关计算机的知识。
不过,还是想问一句,这个跟我们老百姓有什么关系吗?
waspking: too bad i deleted it too fast..should have waited 2 days for some experiments :)
Powered by Discuz! X3.4
© 2001-2017 Comsenz Inc.