delphij
2014-04-29 06:30:59 +08:00
首先,像 OpenSSL 这样的项目只要嚷嚷一嗓子说我们需要钱或者需要人,是绝对不可能没钱没人的。其次, OpenSSL 的开发者很多都受雇于使用 OpenSSL 的大公司,所以你说它缺钱、缺人,这个也并不是那么说得过去的理由。
这次这事其实搞得我十分火大。实际上包括我们(FreeBSD)、Debian,甚至RedHat在内的人在这个漏洞正式公布之前几天都一直被蒙在鼓里,而与此同时这个漏洞本身却据说已经通过不正常的管道流出给了其他人。
我本人提前几天从一家大厂的非正式渠道得到了十分含糊不清的消息(OpenSSL有个漏洞),由于这是非正式渠道,所以我在第一时间立即写信给 OpenSSL 的开发人员求证,结果石沉大海,而后来则有人说我不应该提前得知这个消息。
直到 4 月 6 号晚上,RedHat的工程师(之前和对方没有任何联系,顺带在此表示感谢)才在 distros 列表发了一则简短的消息,大意是:“有漏洞,给我写信要补丁,统一 4 月 9 日发,CVSS 5.0”。同样没有细节,但我追过去邮件询问后,在两个小时后得到了完整的补丁和一些补充的细节。
而第二天一大早,OpenSSL 直接发布了新版、安全公告。正常的安全公告流程是先告知下游厂商并指定一个(通常几天,最多不超过三周)联合公告日期。直接发新版+公告是只有在发生了重大泄密事件,必须立即制止攻击时才应采取的做法。显然,以这个漏洞的严重程度来说,基本只要发生了泄密就必须立即采取断然措施了,但是具体在什么环节发生了泄密?泄密程度如何?我不知道,但是这样做的意味着所有我们这些下游操作系统的安全团队必须放开手里的其他工作,开始手忙脚乱地做补丁、写安全公告,等等。
事情发展到这个地步,想忍住不骂是很难的,Debian 的安全团队很快整理了一份时间线,我没顾上这事,后来也就没再跟这个话题,我觉得他们在网上发的那些东西已经是尽量压着怒气了。
说手忙脚乱是因为发安全公告这种事情需要一系列验证、测试等等。随着几家提前得知消息的机构在第一时间发表他们各自的 blog(比如某CDN说我们的顾客不受影响,实话实说我很想骂人:鬼知道他们之前什么时候升级的 OpenSSL,这漏洞存在两年了,你只是提前一个礼拜修正问题,怎么就那么有把握自己之前没受攻击?)、网站(比如某安全公司提前2天就注册了域名并发布的网站;这里提供的信息还是很有用的,虽然最开始有些事实方面的无伤大雅的小错误)等等,很快各大媒体开始以头条报道这次事件,所以除了公告之外,我们还需要向社区提供进一步的防御信息(这个是必要的)以及不断地辟谣:不断地有那种只看了标题就出来胡喷的伪技术人员出现,而你要跟这些人讲道理是很困难的,因为他们不仅不理解问题到底是什么,而且意识不到这一点。
当天下午,我收到了一封来自漏洞评级机构的邮件,将这个漏洞的严重程度直接上修成了极为罕见的 9.4。(满分是10;一两个星期之后重新修回了 5.0)。9.4分的评级,我看了、写了这么多年安全公告,这么高的评级可以说是头一次见到。
而另一方面,类似 CloudFlare 这样的厂商则提前得到了通知(据说不是 OpenSSL 通知的他们,我不知道是否属实,姑且相信吧)。我本人在随后和 OpenSSL 的人员沟通之后得到的答覆是 OpenSSL 没有提前告知任何人的义务,而他们提前发表公告的原因是发现了泄密。自然,这么说完全可以理解,但我不认为这种做法可以原谅。
所以,我不打算给 OpenSSL 捐款:OpenSSL缺的首先不是钱,而是领导力:时至今日,假如不是 OpenBSD 做的那个 libressl 的项目,有些2010年的漏洞不知道要到什么时候才会修,有时间集成新的代码而没时间去验证和应用别人的patch任由bug报告晒在那里风干,这作为一项基础安全软件实在是没办法接受的。
是的,没错,目前暂时没有合适的 OpenSSL 的替代品,但是这不代表以后不会有,另外至少就我观察, OpenSSL 到目前为止,虽然有在朝着好的方向迈进,但是步子似乎也太慢了一点。