心跳加速

#心碎(又名CVE-2014-0160)本周在我的推特流中飞过,我一直希望我们都能暂停几周的时间,好好反思一下这里的所有角度。

我希望有更多的时间来钻研一些事情:

关于“心跳”的12点思考

  1. >*OpenSSL项目的健康状况,谈到它的开发人员不负责任
    >进入他们的发展实践
    >*认识到我们行业中很少有人积极投资这个项目
    >许多人对
    >*关于OpenSSL是否是每个人都应该依赖的库的问题,
    >应该是NSS还是GnuTLS
    >*如果SSL,我们是否将所有鸡蛋放在一个篮子里
    >漏洞具有如此深远的影响

    我觉得这四个方面都是同一点的不同方面。特别是最后一个问题提出了一个相当困难的难题。传统观点认为,把所有鸡蛋放在一个篮子里是一件坏事,因为当出现问题时会产生影响。然而,对于密码学,我不确定传统的智慧在实践中是否奏效。很明显,编写安全的加密库是一项非常困难的工作,社区/行业的熟练和感兴趣的开发人员非常有限。如果我们通过10个广泛使用的加密库而不是3个主要的开放源代码实现(OpenSSL、NSS、GNUTLS)来传播我们的鸡蛋,那么我们将把有限的开发资源池传播得更薄。最终的结果可能是,图书馆的整体质量较低,从而实际上增加了我们的整体安全风险。如果有更多的库需要审计,那么审计加密库的人员也将有更多的工作要做。应用程序开发人员将面临更困难的决策——他们是只选择一个,还是尝试支持一大堆不同的库,这会增加他们将其集成搞砸而导致更多安全缺陷的可能性。3个鸡蛋是我们篮子里合适的鸡蛋数量吗?IMHO,考虑到进一步多样化所固有的其他问题,现在可能是这样。

    我认为第二点是这里要考虑的关键点。IMHO有太多的公司在运送和依赖我们的三个主要开源TLS库,而没有为其开发和测试贡献足够的资源——这是一个投资的集体失败,因为它不是一个“性感”的头条新闻项目,比如说OpenStack。统计过去2年中有多少开发公司投入了OpenStack,然后计算GNUTLS/OpenSSL/NSS项目的投入量…

    尽管如此,以及今年的另外两个TLS impl漏洞都很严重,但我们必须记住(除了NSA)TLS/SSL实际上在过去10-15年里在保护互联网流量方面做了出色的工作。由于斯诺登事件的曝光,互联网似乎正在经历一段态度调整的时期,人们对审计安全敏感代码(包括我们的TLS impls)的兴趣/活动越来越大,导致发现的漏洞显著增加。希望这将导致更好的开发和测试实践,以及每个相关人员和依赖他们在安全工作方面的更大长期投资。

  2. 马克,这是一个很棒的列表。我还要补充:

    *openssl在嵌入式设备中的流行不会得到更新,但从现在开始看起来是安全的。

留下回复

您的电子邮件地址将不会被发布。 已标记必填字段*