分类: 嵌入式
2011-07-25 18:37:32
听说CNNIC成功打入微软浏览器和Firefox,更不用说国内的乱七八糟更多的各种浏览器了。
意味着 CNNIC 可以随意造一个假的证书给任何网站,替换网站真正的证书,从而盗取我们的任何资料!
这就是传说中的 SSL MITM 攻击。以前这个攻击不重要是因为攻击的证书是假的,浏览器会告诉我们真相;现在,因为 CNNIC 有了 CA 权限,浏览器对它的证书完全信任,不会给我们任何警告,即使是造假的证书!
这意味着G-F-W可以伪造你正在访问的站点或你正在下载的程序,在不知不觉中绕过操作系统的安全措施。
试想CNNIC给*.google.com颁发一个证书,装在GFW上,这样任何连往Google.com的SSL都不会有任何警告,但是你的任何内容都会被嗅探了。
这两件事都驾轻就熟并且有据可查(不信?中国版的 Skype 比原版大出许多,里面添加的功能我辈实在不能以善意揣度)。
背景知识网上传输的任何信息都有可能被恶意截获。尽管如此,我们仍然在网上保存着很多重要的资料,比如私人邮件、银行交易。这是因为,有一个叫着 SSL/TLS/HTTPS 的东西在保障我们的信息安全,它将我们和网站服务器的通信加密起来。
如果网站觉得它的用户资料很敏感,打算使用 SSL/TLS/HTTPS 加密,必须先向有 CA (Certificate Authority) 权限的公司/组织申请一个证书。有 CA 权限的公司/组织都是经过全球审核,值得信赖的。
行动第一步:立即安全防御在此只介绍 Firefox 浏览器的防御方法,其它浏览器的用户请自行 Google,原理类似。
几天前听到这个消息的时候,我简单地、轻蔑地将 CNNIC 删除了事。可是这个周末,我忽然觉得这样很不好。因为只要它存在,始终会有大部分的用户受到威胁。和写 AutoProxy 时同样的想法:如果大部分人都处于安全威胁当中,一个人苟且偷安又有什么意义?如果不能将自由与安全的门槛降低一点点,所谓的技术又有什么好侥幸的?
所以我呼吁大家,贡献一点时间和知识,团结起来说服各浏览器取消 CNNIC 的 CA 权限。这种事不可能有公司来推动,只有我们社区。
首先推荐的是 Firefox,作为一个公益组织 Mozilla 的决策过程更为开放、更愿意听取社区的声音。 记录了事件的全过程。 和 Mozilla.dev.security.policy 进行着现在的讨论(注意,你可以把自己添加到 Bugzilla 的 CC List 以表达你对此事的关切。但是不要随便说一些不靠谱的话,免遭讨厌。强调政治、GFW 的之类的不管用,必须就事论事。比如它在申请过程中采取欺骗、隐瞒的手段,或者申请成功后的某些行为违反了 Mozilla 的 CA 政策;比如它的属性和过往行为表明它不会忠于自己的职责,而(帮助)做出 MITM 这种 CA 共愤的事情)。
其次是 Entrust,它说它信任,导致了我们也被迫信任 CNNIC SSL。不妨 ,因为它错误地信任了 CNNIC,大量用户不得不删除它的 CA。如果能找到使用 Entrust 证书的网站更好。给这些网站写信,因为此次事件我们不得不删除了 Entrust 的 CA,请求他们另选别家认证。如果反响强烈,势必给 Entrust 造成很大压力。
除此之外,(结果统计)!
最后,强烈建议大家,发现证书警告的时候最好直接关掉,不要轻易添加例外。证书的信任体系是一级依赖一级的,一不小心你可能就会连带信任一个不想信任的 CA。上面用于验证的两个网站,不妨定期(每周/每月)测一测,如果哪天你发现其中的任何一个网站没有证书警告,就要注意了!
各位:
DNS 劫持已然成为常态,不要让 SSL 劫持再次普及!此事刚刚发布,尚有评议空间。待时间流逝,你我皆成温水中之青蛙!