Heartbleed事件暴露开源软件世界潜规则

jopen 11年前

Heartbleed事件暴露开源软件世界潜规则

        新的一天来临,新的一场互联网安全危机爆发。这一次是一个有关加密协议的问题,很多互联网网站都使用这个协议来保护自己的数据。再一次,对互联网安全的基础知识跟对汽车发动机的运行原理一样不甚了了的用户被告知,有很多糟糕的网站,他们需要保持谨慎。

        如果你想了解真相——什么是 Heartbleed 漏洞以及该漏洞混进的“代码库”存在什么问题,请阅读鲁斯蒂·福斯特(Rusty Foster)在《纽约客》上发表的文章。至于该漏洞是否影响你以及你使用的网站,请使用这款来自密码服务 LastPass 的工具(是的,例如网飞 [Netflix]和 HBDGo 都容易受到 Heartbleed 漏洞的攻击,这意味着有人可能一直能够利用这些网站来获取用户的用户名及密码,当这些网站修复后,用户应该修改各项信息)。

        这个漏洞将被修复,就像苹果的 GoToFail 加密漏洞那样,这个问题将被平息,人们将修改自己的密码,万事大吉……除非,正如布鲁斯·施奈尔 (Bruce Schneier)所指出的那样,该漏洞处于不能升级的嵌入系统之中。无论如何,类似的情况将再次发生。正如《华尔街日报》的丹尼·雅德隆(Danny Yadron)在报告中指出,本轮最新的安全危机暗示了一个更大的问题。尽管很多网站都依赖 OpenSSL 代码库来保护他们的网络安全,但只有一个家伙全职从事该项目的开发。

        OpenSSL 由 4 位核心的欧洲程序员管理,其中只有 1 人将其作为自己的全职工作。

        并且该项目现在面临资金不足的问题:

        编写加密代码是比较复杂的,因此很多网站管理员都使用 OpenSSL,该项目是免费的。它在 20 世纪 90 年代末由一些希望为互联网流量创建一个易于使用的加密体制的开发者创办。其网站非常精简,财务状况也并不充裕。OpenSSL 软件基金会是一个专门为管理该代码的团队招募融资的独立实体,该基金会总裁史蒂夫·马奎斯(Steve Marquess)表示,2013 年的预算不到 100 万美元。

        虽然如此,互联网上还是有接近三分之二的网站都依赖这个项目。根据报道,Heartbleed 的“幕后主使”是德国开发者罗宾·塞格尔曼 (Robin Seggelman),他在 2011 年新年前一个小时在一个代码版本中引入了一个拼写错误。但对于一位如此致力于该项目——以至于在假期也忙于修复漏洞的程序员,你很难对其心生责备。由于这 是一个开源项目,任何人都可以查阅这些代码,并且希望通过众包,各种错误最终都能被找到和修复——一个深深植根于互联网时代哲学的希望。

        不过该漏洞直到两年之后才被谷歌安全工程师尼尔·梅赫塔(Neel Mehta)发现,据一位谷歌发言人表示,梅赫塔不愿接受媒体采访,只是通过谷歌提供一份声明。她写道:“保证我们用户的信息安全是首要任务。我们及时修复了这个漏洞,谷歌用户并不需要更改密码。”

        但如何解决那个更大的问题呢?互联网用户有大有小,从谷歌和雅虎等市值达到十亿美元的企业到尚未盈利的小规模安全网站,他们都依靠一个志愿者项目来为网站安全提供框架,并且该项目并没有规定使用者必须作出捐赠。

        “Heartbleed 进一步证明,在互联网安全方面,我们还没有收拾干净屋子 。”普林斯顿大学计算机安全专家爱德华·菲尔滕(Edward Felten)向纽约时报记者法贾德·曼吉欧(Farjad Manjoo)表示。他将“软件开发的文化”与“在航空等领域常见的安全文化”进行对比,指出前者非常欠缺。在一定程度上,这具有合理性:互联网即使崩溃 也不会使你万劫不复;但当像 Heartbleed 这样的事件发生后,对于企业来说,这种欠缺的代价是高昂的,对互联网用户来说,他们也会面临很多麻烦。

        因此,有何解决办法?显然,那些开发管理该安全协议的人士,需要更好的基础设施和更多资金,该安全协议为互联网的剩余部分提供支持。福斯特在 《纽约客》上写道:“互联网的大部分软件基础设施都是由志愿者打造和维护的,即使代码非常不错,他们获得的回报也不多,一旦代码出现问题,他们将受到批 评,有时候甚至是恶狠狠的嘲笑。”

        他看到了这方面的一些变化,主要是因为风投资本对 GitHub 和 Node Package Manager 等部分开源代码基础设施项目进行投资。“不过资金和支持仍然流向最新和最有意思的项目,而像 OpenSSL 等无聊但必需的元素仍然作为志愿项目蹒跚前行。”他写道,“我们很容易将开源软件认为是理所当然的事情,并且忘记了我们每天使用的互联网在一定程度上是依 赖于成千上万名程序员免费付出的劳动。”