开源软件是不是就更安全?

互联网 | 编辑: 杨剑锋 2006-06-20 09:00:00原创

  什么是开源软件?直接的字面意思是公开源代码的软件,它的英文为Open Source Software,简称为OSS。软件既然连源代码都公开,那么自然可以自由地免费使用,一般概念上,它与自由软件(free software)是一个等价的概念,用户可以自由地对它进行研究、改进、传播而不需付出任何费用。随着网络的流行,软件的安全性问题越来越成为人们关注的焦点,每年发生的大量的黑客攻击事件,病毒、蠕虫、木马的泛滥,也使人们不得不高度重视软件的安全性问题。而与此同时,随着开源软件的应用越来越广泛,到底是开放源代码的软件更安全还是不开放源代码的商业软件(Commercial Software)更安全,成为长期以来人们一直关注的问题。

  有人认为由于开源软件源代码是开放的,因此即使有漏洞和BUG也极易被人们发现并及时进行修改和完善,但是商业软件却由于不开放源代码,仅有少数人知道源代码,因此在漏洞和BUG方面,可能发现的很晚,所以也极易造成破坏和损失。但也有人从另一角度认为,由于开源软件的源代码开放,不法份子从中发现漏洞的机会将会更大,向其中加入病毒木马也更容易,而商业软件由于源代码保密,知悉源代码的人少,被发现漏洞的机会也会小一些。可以说双方都有自己的优点,也都有自己的缺点,那么,究竟谁会更安全一些呢?


  事实证明,很多软件使用者,还有一些研究机构,从他们的使用和研究状况来看,开源软件的安全性确实要好一些,而这很大程度上就在于开源软件的开放性和随时弥补性。

  事实上,不管是开放源代码的软件还是不开放源代码的软件,漏洞都无可避免,可以毫不夸张地说,所有的软件都有漏洞,只是这些漏洞是不是能及时被发现并进行弥补。软件安全与否,与是否开放源代码关系并不大,把源代码公开并不一定能确保代码本身的安全性,同样,封闭源代码也不一定使代码本身变得不安全。从某种程度上讲,人们所依赖的所谓软件的“安全性”其实更多的是一种臆想和希望,而不是现实。即使是像微软这样的软件巨人,也以每年要在自己的软件上修正多少漏洞,打上多少补丁而著名,而这些还仅仅是已经发现的漏洞,更不用说那很多还没有被发现的漏洞。“没有绝对安全的软件”,这是一个基本道理。

  因此,追求软件代码自身的安全性,做到让软件本身没有任何漏洞,这几乎是不可能的,人们所谓的软件安全性的意义,更大程度上在于对漏洞的及时发现以及修补。而开源软件,恰恰在这方面具有商业软件所不具有的先天优势。现在的开源软件,很大程度上是一种全球的智慧,是全体软件设计研究人员共同的兴趣和爱好的结晶,其中堆积了大部分人智慧的锤炼,由于其开放性和共享性,它会充分受到广大的软件研究者和使用者们的评审,因而漏洞会较少,而且即使有漏洞,也能被及时发现,出现问题之后的也能更快更容易地及时得到弥补。所以,从这个角度上来说,开源软件,的确会比商业软件更安全。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑