开源软件不会比“闭源”软件安全?

释放双眼,带上耳机,听听看~!

文章转载开源中国

自由软件的斗士Eric Raymond把这句“足够多的眼睛可以让所有的bug无处遁形”称 为“Linus 定律”,也是证明开源软件比“闭源”软件更有优势的一个论据。最近微软一位安全方面的资深工程师Shawn Hernan在博客中批驳了这一论断,作为“闭源”软件的代表,微软工程师这么说不奇怪,但是Shawn的写作水平很高,这 篇博客可以作为“议论文”的范文。

要驳倒对方观点,秘诀不是去正面和对方交锋,而是绕开其锋芒,去挑战其前提假设,Challenge the assumption。看样子Shawn也是深谙此道,直接找到了“Linus定律”的Assumption:

 

  1. 开源软件比“闭源”软件有更多的Code Review。
  2. Code Review可以让软件更加安全;

逻辑学上的三段论,结论就是“开源软件比闭源软件更加安全”,Shawn指出这两个前提假设(assumption)都是不成立的,所以这个结论也 是不正确的。

干得好,Shawn!真希望每一个程序员都能有你一样的Critical Thinking和论证能力,所以,从我做起,我们也来Challenge一下Shawn的Assumption:)

首先,人家“Linus定律”不是专门针对安全性bug的,你为什么假设人家说的是安全性问题呢?这世界上除了安全性bug还有很多其他的bug 呢,你是不是评理找错了对象呢:)

Shawn的潜台词是安全性问题高于一切,其实开源的目的并不是要造出最安全的软件,而是通过共享源代码鼓励创新和快速的软件开发(你也可以 Challenge我这个Assumption,但至少我现在是这么理解开源的)。

回到安全性问题本身,我个人觉得在安全性上开源软件比“闭源”软件没什么必然的优劣之分,安全性和其他任何软件的特性一样,决定于 项目的重点和倾向源 代码是程序员写的,程序员会根据工作重点倾向于加强某些特性。如果某个软件项目强调代码可读性,那么可读性就会强一些;如果某个软件项目强调运行 效率,那么运行效率就好一些;如果某个软件项目强调安全性,那么安全性自然也会好一些。

从这点上开,我相信微软的软件安全性会好一些,因为毕竟微软很强调安全,而且也不是光说不练,花了不少力气整治安全性。我知道我知道,微软产品不断 爆出安全漏洞,也不断地在打补丁,我只能说:一切创造过这么庞大软件项目而没有造出一个安全漏洞的同志,都有资格嘲笑微软

给TA打赏
共{{data.count}}人
人已打赏
安全经验

Tor发现安全漏洞,督促用户尽快升级

2010-1-23 11:12:22

安全经验

OSSIM 2.2 发布,安全信息管理系统

2010-2-21 11:12:22

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索