尽管很多普通互联网用户并未察觉,但从这个星期一开始,互联网正经历一场“大地震”,因为这一天谷歌的研究人员和芬兰一家安全公司Codenomicon宣布发现了被视为互联网安全通讯基础的SSL(安全套接层)安全协议出现了巨大的安全裂痕,被超过2/3网站用来实现这一协议软件的开源软件openSSL存在一个漏洞,这个漏洞让攻击者可以窃取用户以为加密传输的用户名、密码、信用卡号等敏感信息。
要理解这个被称为Heartbleed(中文暂译“心脏出血”,这一漏洞的确可以被认为这直接击中互联网的核心)的漏洞为何引发这么大的关注,需要首先厘清一下什么是SSL协议,这一协议又为何对互联网安全如此重要。
何为SSL?它为何如此重要?
即使非“技术控”的普通互联网用户也知道如果要在造访的网站输入敏感的个人信息,特别是个人金融信息,比如在购物网站上输入个人的信用卡信号的时候,需要留意这个网站是否被加密,而加密的标志就是浏览器特定位置一个锁紧的锁头标志。
这个锁头意味着用户在这个网页上输入的任何信息都是经过一种复杂的SSL/TSL方式进行加密传输,只有发送者和发送者意图发送给的服务器可以看到这些信息。
这一点非常重要,因为互联网开放的架构,用户发送的任何信息都要经过很多网络上不同的节点(服务器)进行接力传输,因此一个从美国用户发给美国服务器的信息被在中国的服务器中转并非什么奇事。
要保证这些信息不被“有心人士”偷窥就要保证这些信息是加密的——当然SSL还有其他技术层面的东西来确保传输信息的可靠性,并非简单的加密。但简单的讲,SSL可以被理解为互联网上通用的“锁头”,所有的加密通讯都会使用到这把“锁头”,可以被称为互联网上互信的“基石”。
漏洞为何让互联网“心脏”出血?
而星期一公布的漏洞意味着这个被几乎所有互联网用户所信任的“锁头”本身是不可靠的。当然并非所有的锁头都不可靠,而是其中特定“锁匠”——openSSL软件——所制造的“锁头”不可靠。但问题是据信互联网上2/3的服务器是使用通过这个软件制造的锁头。
要全部理解这个漏洞显然不涉及技术细节是不可能的,但大致来说就是这个软件的最新版本(和通常漏洞涉及旧版本不同!)出现了一个微小但致命的编程漏洞,这个漏洞涉及一个被称为“心跳”(Heartbeat)的“扩展”,而漏洞让攻击者让每次“心跳”后可以读取服务器一定数量的内存,随着一次次的“心跳”,服务器最核心的内存信息就像“流血”(bleeding)一样被攻击者“吸走”,这也是这个漏洞名字的由来。
形象的说,就好像本来其他人送来的“加密包裹”应该关上门在不被别人打开的情况下开包检查,但这个漏洞打开了一扇不为主人所知的窗口,让外人可以一窥包裹中的内容,同时外人也可以看到主人打开这个包裹的钥匙,这意味着未来“偷窥者”不必每次在主人门口偷看(次数多了容易引起注意),而是在中间过程(记住这个包裹要经过很多地方)把包裹截取下来——在数字世界里面,相当于把包裹“复制”一份,然后自己不慌不忙的打开来看。
|