当前位置:Linux教程 - Linux业界 - 信息周刊:与开源无关

信息周刊:与开源无关

  安全漏洞对任何许可模式下的复杂程序都有影响,开源和商业软件都不具备天然优越性。

  当今软件产业很少有话题像开源和商业软件孰优孰劣这个问题那样,引发如此激烈的争论。当辩论作为娱乐并为人们所知晓之后,就会导致某些长期存在的误区。为帮助决策者洞悉事实,本文将对争论中的主要方面—软件的安全性进行剖析,从而拨开迷雾见真相。

  误区之一:开源意味着更加安全

  有人认为如果一个计算机程序不公开披露源代码,理论上讲就不会很安全;如果产品的源代码被公开,那么从理论上讲就会更安全。事实果真如此吗?

  软件良好的安全性,并不取决于源代码是否已知或公开,而是取决于如何设计、实施和管理这个源代码。具体来讲,安全性有赖于是否有合格的人员检查和测试了安全机制,并已将可能被不法分子利用的漏洞数量减到最少。

  虽然有的源代码是可以公开读取的,但事实上,只有极少数训练有素的代码检查人员或编写人员能够识别安全漏洞。毕竟,好的程序员不一定是好的安全专家。

  因此,尽管开源软件的源代码是公开的,但是有一些漏洞甚至存在多年也没有被发现。

  误区之二:开源修补漏洞速度更快

  发现病毒和修补安全漏洞的速度,是两种软件开发模式的拥趸们争论的另一焦点。有人认为开源软件开发者对漏洞或病毒的反应比商业软件供应商更迅速。然而对产品安全性的比较研究表明,两种软件模式解决漏洞问题的速度没有多大差别。“补得快就是补得好”这种想法也不一定正确。

  对有些顾客而言,软件更新和打补丁应当在不同的环境和配置中进行全面的安全测试后再使用,以免引起其他稳定性问题。而有些客户更看重软件供应商是否能对其提供的软件更新和补丁的质量负责。这些顾客不希望只有第三方来提供软件更新或补丁策略,因为没有任何第三方愿意对所做的修补或修补后产生的问题负最终责任。

  现实:实施安全性与开发模式无关

  多年以来,许多软件开发商一直习惯于为实现软件的可扩展性、可用性、可管理性和可服务性而设定代码。近年频繁出现日益复杂的非法攻击,迫使开发者不得不更加重视安全因素,并编写出更加安全的代码。

  软件产品是否安全的症结,不在于开发用的是哪种模式—商业或者开源—而是在开发的每个阶段是否实施了安全策略,还是只在事后才突然想起?今天我们可以看到,无论是在开源还是商业模式许可下开发的软件,都考虑到了安全问题。软件开发者正在使用预先评估、严格有序的测试、以及发布后评估漏洞和提供更新的回应中心等各种方法来减少漏洞。

  当安全特性的设计成为重要因素后,整个安全性更加依赖软件的配置、设置、更新和维护,包括是否通过适当手段更新、发现并解决了产品漏洞等。许多安全问题之所以产生,恰恰是因为没有正确的系统和软件配置,没有及时应用安全更新、补丁和修补。

  用户应该确保计算环境的正确配置和维护。配置错误或系统维护不好所引起的安全问题和隐患,远比已知漏洞所导致的恶意攻击更为常见。

  结论:没有一种开发模式天生具有优越性

  综上所述,认为开源或商业软件在安全性上更具有优越性的想法是错误的。安全漏洞对所有复杂程序都有影响,而不是在开源或商业模式下开发的软件中更普遍或相对较少。

  相反,软件安全性的三个主要决定因素是开发者的素质、开发团队为减少漏洞使用的技术和工具,以及顾客和软件供应商在解决问题时的关系密切程度。这些因素都不依赖或取决于软件的许可或发行方式。

  好代码终究是好代码,无论开源与否。因此,我们评价一种软件开发模式的影响,更多是看软件的普及程度,而非软件的设计或开发方法。

  作者简介:

  吴少雄,现任商业软件联盟(BSA)亚洲区软件政策事务总监。曾任新加坡资讯通信发展管理局(IDA)资讯通信发展政策部副总监,新加坡国家电脑局(NCB)首席执行官和主席特别助理,是《电子交易法条例与安全方针》和《计算机滥用法(修订版)》的主要起草人之一。

原文链接:http://tech.sina.com.cn/it/2006-09-15/17131142143.shtml