在人们的潜意识里,开源更安全是因为有大量的技术人员可以帮助发现漏洞并修改,但是,可以帮和真的有人去帮是完全不同的两个概念,前者属于道德上的理想,后者则需要有市场化的可行方案。
2014 年伊始,一场安全新闻里的心脏流血事故激起了不少的浪花。和以往的安全新闻里那些大牌公司微软、苹果不同,这次的问题发生在一个很小的开源软件OpenSSL 身上,而这个软件虽然是一帮程序员不拿任何报酬在茶余饭后开发出来的,却用在了大量的大型企和组织网站上,带来的影响也非同凡响。
开源软件的安全
很长时间以来,开源被视为安全的代名词,Linux系统最早在和微软的Windows 系统进行比较时,最常见的一个说法就是Linux 更加安全,因为它是开源的。可是如果我们看一下开源软件的漏洞情况,就会发现这一情况并不真实。根据SEBUG 网站上给出的Open漏洞列表,我们可以看出,OpenSSL 的问题不是今日开始,早从2007 年起就公布了OpenSSL 的漏洞,其中2009 年被公布的漏洞更是高达6 个,而实际由于0Day市场的存在,更多的漏洞可能还没有被公布。如果说OpenSSL 的漏洞数量还不够多,我们可以看一下另一个重要的开源软件Apache,根据SEBUG 的统计,从2003 年以来APACHE 仅公布的漏洞就近300 个。由此可以看出,开源软件的漏洞从来没有因为是开源就变得代码质量更好,或者漏洞更少。
SEBUG : OpenSSL 漏洞列表
最早开源软件被认为更安全的观点,是认为所有的程序员都可以帮助审查Linux 系统的源代码来发现漏洞,同时提交自己的修改方案来解决漏洞,而那些拒绝开放代码的公司比如微软必须自己雇人来解决这个问题,能发现的问题就很有限。但事实上,可以帮和真的有人去帮是完全不同的两个概念,前者属于道德上的理想,后者则其实需要有市场化的可行方案。Raymond 在写对比开源软件与商业软件的《大教堂与市集》时,也没有把开源软件写成一个乌托邦,而是一个更自由的市场。
目前看起来,似乎市场的问题正在开始解决,Arstechnica 的新闻里报道:Linux 基金会将开始一个为期三年的计划,募集至少390 万美元,来改善那些缺乏资助的开源项目,OpenSSL 将是这个项目的第一个获益者。Amazon、Facebook 等大公司承诺三年内每年向该项目投入至少十万美元。同时那些依赖OpenSSL的开源软件也会和OpenSSL 共享它们所获得的捐赠。
但金钱只是一个开始,开源社区的经济学生态环境才是真正需要建设的。如果真是资金能够解决问题,那么也许就不会有开源软件的出现,软件工程的“银弹”也就出现了。从开发者的角度,大多数开源软件的贡献者期望的不是或者不仅仅是金钱的回报,道德和荣誉感的归属同样是他们内心渴求的。在OpenSSL 漏洞曝出的同时,关于“OpenSSL 代码写的风格很差”、“我提交的补丁他们审核太慢”、“我们不如另起一套系统”这样的消息也不断见诸开发者的论坛中。在一个自由的有特色的市场中,如何寻找它的道路还是一个很长的过程。
而作为一个使用开源软件的企业,比起向这个项目进行金钱的捐赠,更重要的一部分是为这个项目进行人力的捐赠,提交自己修改的补丁,主动地为项目进行各类测试并共享结果,这样可能更能提高你所使用的开源软件的质量。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。