企业在使用开源技术时,其中一个考虑便是开源软件的安全性。笔者已经不只一次指出,为何开源 软件 会比较安全。但每隔一段时间,总会有人提出相反的论点,现在又是时候发文以正视听了。

Aspect Security和Sonatype在2012年3月26日,公开了这份名为New Study Reveals Widespread Use of Vulnerable Open-Source Components by the Global 500的调查。调查结果发现最受欢迎的31个开源程序中,其不安全的版本被下载了超过4,600万次。Google Web Toolkit(GWT)有已知漏洞的版本,被下载了1,770万次。其他像Xerces、Spring MVC、Struts 1.x等程序的不安全版本,也被下载了相当的次数。

这算是什么调查结果?顶多只能说不少开源程序过去都曾出现过有漏洞的版本。任何一个程序都会有漏洞,开源程序也不例外。大家说开源程序比较安全,原因只是因为程序代码是公开的、而且有全球开发人员的协助,有漏洞时会更快地被发现、更快的被修正。以开源浏览器Firefox为例,2009年Secunia的调查发现,Firefox的零时差漏洞最快在15天内已经修补,最长修补时间为86天。Internet Explorer最少要110天才修补完高度风险的零时差漏洞, 最长则花了294天。

这点大概Sonatype也是明白的,所以在文章的下一段便出现了这样的描述:“开源社群的检查令漏洞被发现的机会大增,事实上开源软件在系统安全的报告、比同类型的专属软件多出20%”,表示开源软件在侦测漏洞的活跃程度,比专属软件为高。这样有什么问题?

Sonatype认为,问题出在开源软件缺乏软体更新的集中管理机制,没有把相关资料通知用户的设计,令用户一直在沿用有问题的版本。Sonatype的人大概没有用过Linux系统里的yum和apt吧?当有更新档提供时,系统会取得最新资讯自动通知用户更新。看来无法取得最新资讯的是Sonatype?如果大家有兴趣看看这篇语无伦次的文章,不妨看这里。