几年前, 一位挪威哥刚从谷歌开会回来,我在走廊上面遇到他,看他一副垂头丧气的样子,随便问了一句 “你和谷歌会开得怎么样啊”。
挪威哥叹了口气 “谷歌的人尼玛都活在 5 年以后啊”。
那个时候我年幼无知,还不能了解这句话的真实含义,直到最近加入 Chromium 安全讨论组才真正了解到这句话背后的气势。
基本上 Chromium 安全讨论组里面充斥着的都是这种话题:
我们要马上淘汰SHA-1! 因为 SHA-1 强度太低了。虽然预计再过几年就可能会被破解, 我们今天就淘汰它吧。
SSL 状态放到 HTTP cache 可能会受到攻击,需要马上改!
TLS DH group size 最少应该提高到1024 bit, 因为 INRIA, Microsoft Research, John’s Hopkin 大学已经证明低强度的 TLS DH group 不安全了。
人家证明的是 512 bit 不安全, 768 bit 估计可能会被大学级别的资源破解, 你上来就 1024 bit, 还给不给活路了啊。
We carried out this computation against the most common 512-bit prime used for TLS and demonstrate that the Logjam attack can be used to downgrade connections to 80% of TLS servers supporting DHE_EXPORT. We further estimate that an academic team can break a 768-bit prime and that a nation-state can break a 1024-bit prime.
好吧, 谷歌兄们都想得很远的。
有一个每天杞人忧天的安全组其实也不是坏事,最近 Flash 爆出 0 day 漏洞的时候其实 Chromium 安全组 2 年前就警告过 NPAPI 是有问题, 说明安全组的同学们还是很有先见之明的。
神经质一样活在未来的安全组最近发布了一个二季度总结.
今天就讲讲里面一个很有意思的东西:
安全组的同学说,我们认为(全面) 转向使用 HTTPS 是保证安全唯一途径。号召大家都转向 HTTPS
We see migration to HTTPS as foundational to any security whatsoever, so we’re actively working to drive# MOARTLS across Google and the Internet at large.
实际上,如果你稍微留意一下,你会发现很多国外的网站已经开始这样做了。
比如在浏览器里面键入 www.google.com, 你会看到:
或者是 facebook.com,
就连白宫,也会是
注意到没,就算你没有写 https, 目标网站也会自动跳转到 https 上面去
对比一下国内的网站,比如 qq.com, 并不会有这个行为
我观察了下,国内强制使用 https 的看起来只有百度。
这个一个什么样的情况,发生了什么事情,让大家突然纷纷摒弃 HTTP 全面投入 HTTPS 的怀抱呢?而且谷歌还在大力推行,建议每一个网站,都换为 HTTPS.
要知道,HTTP 已经存在块 20 年。 对大部分网站来说,这是一个相当大的决定: HTTPS 对硬件的要求要比 HTTP 高, 这个意味着更大的开销, 而更大的开销也就意味着需要花费更多的资金购买服务器和带宽。
一定是发生了什么。
呃, 如果你其实连 HTTPS 是啥都不知道,你可以先看看 这篇文章 。 简单的讲, HTTPS 是加过密的 HTTP, 这样,除了你自己可以看到你自己在看什么网页,第三方是无法看到你在看什么的。
这个基本是 HTTPS 在过去几十年中起的最大的作用了,比如你登入了你的邮箱,或者是你的网上银行,一旦使用 HTTPS, 那么数据在网上就不再是明文,于是第三方就看不到你的密码和你的邮件。这个是为什么 HTTPS 过去十几年,都是用在邮箱,金融等特别需要隐私的领域。
可是看个白宫网站应该不算是隐私吧,为何这个也需要 HTTPS 来传输呢。
原因其实是: HTTP 这个在天真无邪时期诞生的协议,这几年彻底被一帮黑客玩残了
万维网在诞生的时候怎么也没有想到, 一个以查资料为目的的网络,最后会变成一个无所不能的平台。越来越多的商业行为从线下迁移到了线上。很多公司们开始在线上卖东西,卖内容,卖服务,打广告。
而一帮黑客们突然发现,有些东西虽然是明文在网上传输的,看着没有什么意思,但是我可以修改内容或者添加内容,让用户误认为是原网站里面就有的啊。
比如下面截图。
图中某运营商的套餐售卖其实完全不是原网页内容,而是网页数据经过运营商服务器时被强行注入的数据。
作为白宫网站,他们肯定不希望网页中的奥巴马头像过了某个网络节点,被人换成本拉登吧。
那就 HTTPS 吧。
2. HTTP 不仅内容不加密,协议本身的(原语,头部数据)也是不加密的,于是协议指令本身也可能被修改
协议也不加密是吧, 就不要怪我来花式破解了。事实上, HTTP 协议已经被黑客们各种匪夷所思的破解得不成样子了。比如传说中的 “Cache poisoning”
http://deadlytechnology.com/web-development/http-attack
一系列的花式技巧让你的浏览器缓存永远不更新。什么服务器那边股票价格已经跌停了?你看不到哦,因为,你的缓存没法更新。。
3. 如果上面的不够生猛,最后给你来个更生猛的:HTTP 传输的 Web 网页中对于系统设备的授权是统一的。
这就意味着,如果用户去访问一个视频聊天的网站,网页需要访问你手机上面的摄像头,然后浏览器会询问你是否授权,你选择了是。 但是万万没想到, 这个页面在通过某个网络节点的时候,被黑客注入了一段脚本。那么这个时候,这个注入脚本自动就有了对摄像头的访问权限。于是你在和别人视频聊天的时候,刚刚注入的脚本就可以偷偷把你的英容笑貌上传到黑客的服务器里面。
后果当然取决于聊天的内容, 不过我目测一大波陈老师正在浮出水面。。
同样的事情还可能发生在你的麦克风,当前的位置信息等等。
在各种尝试着修修补补以后,各大产业界大佬们终于醒悟,目前硬件的水平和价格,既然用 HTTPS 已经完全不是问题,那么全面转向 HTTPS 才是唯一的出路。
相信很快大家就看到越来越多的网站会使用 HTTPS, 同时,国内的站长,如果你也有遇到上面的问题的话, HTTPS 可能是一个很好的选择。
这里可能有人就要问了, 如果都用 HTTPS, 那岂不是就没法做网络监视了,那我们的万里长城的敏感词部分岂不是。。呃。。这段当我没有写过。
PS: HTTP 的下一个版本 HTTP/2 已经可以自带加密,只是这个协议本身推广还需要一段时间,于是网页传输加密还是以 HTTPS 为主。