直到二月中旬的一个周五下午,苹果公司才悄然发布了一个修正补丁,此修正目的是修复iOS中的关键证书验证bug,原本通过此bug,攻击者能够暗中监视安全通信。
上周五的补丁通告中说此bug非常严重,但也同样难以察觉,这是苹果的标准做法。这家总部位于加州库比蒂诺的大型计算机公司的经营素来充满神秘色彩。
但当曝出bug不仅感染苹果手机iOS操作系统,同时也会感染传统OSX操作系统时,公司高层立刻引起重视,并给予了极大关注。而随着上周GnuTLS受到可怕的类似bug感染的消息曝光后,情况变得更加复杂。GnuTLS作为一种自由开源软件,用于在各种Linux发行版和其他平台上实施加密。
随着越来越多的人关注这些bug(尤其是苹果用户),更多新闻媒体和研究人员开始发表一些”借口性”的建议。其中全球知名的密码安全专家Bruce Schneier是这样描述漏洞的:
“漏洞极小,因此扫描编码时难以察觉。但不难想像错误会导致怎样的情况发生。只需一个人就能轻易地添加漏洞。”
“漏洞是有意为之吗?我也不知道。但如果让我来有意制造漏洞的话,这绝对是我会选择的方式。”
其他研究人员则更直接一些,他们质疑导致苹果bug-“goto fail”(跳转失败)的编码错误 - 因为要提交这种编码几乎不可能,更不用说在编码审查过程中没有觉察到此编码。当然,考虑到”goto fail”漏洞目前的使用环境和情况,许多人推测苹果和GnuTLS的漏洞都很容易受到”偷窥者”的攻击。
毫无疑问,这两种漏洞非常巧合具有类似的效果,但它们采用的是截然不同的方式。另一位密码专家美国约翰霍普金斯大学的Matthew Green在检查了GnuTLS的bug后认为,这是一种极愚蠢的编码错误,但却无需担忧。
撇开阴谋不谈,GnuTLS中的这种密码验证故障意味着所有Red Hat桌面和服务器产品以及Debian and Ubuntu(Linux)安装全部都含有bug,可被利用来监视这些设备上进行的通信。此类bug的影响波及从上到下的整个系统范围。不仅安全网络浏览会话(如”HTTPS”会话)受影响,而且应用程序、下载以及几乎其他任何使用GnuTLS来实施加密的通信都会受影响。
更直白地说,攻击者只需与其攻击目标位于同一本地网络上,就能利用其中任何bug。但是,在适当环境下,bug使攻击者能够进行中间人攻击,这种攻击的受害者会认为自己正在与可信的在线服务提供商通信,但事实上是把数据包一路发送给了网络攻击者。这两种bug都为窃取登录凭证和监视本地网络通信大开方便之门。
“一旦成功,情况将变得十分糟糕,”北卡罗来纳州Social & Scientific Systems公司安全专家和首席科学家Kenneth White表示,”攻击者可轻松伪造任意域,并使其看起来对请求者是被授权和可信的。这样,不仅能拦截敏感通道,而且还会暗中破坏可信包签名过程。”换句话说,就是能够仿冒某些类型的证书信任信息,而用户正是通过这些信息了解准备下载的软件或应用程序的开发者。
如果您使用的是Linux设备,则很可能存在这些漏洞。我们建议尽快安装Linux发行版的最新更新。即便使用的不是Linux操作系统,也并不意味着您就一定安全。GnuTLS是一种部署范围广,能在未知数量的系统上运行的开源软件包。本文所传达的意图一如既往:及早、频繁安装补丁。