开源与闭源软件的安全性深度剖析
1. “众目睽睽”理论的真相
在探讨开源软件安全性时,“众目睽睽”理论常被提及。该理论认为,若有足够多的人审查代码,漏洞(包括安全问题)会在造成危害前被发现。但实际上,此理论用于安全领域并不成立。
“众目睽睽”源自“许多双眼睛能让所有漏洞浅显易见”,这在一定情境下是对的。当发现漏洞后,多人协作确实能快速修复。安全漏洞也一样,一旦被发现,通常较易追踪和修复,像Apache分块编码漏洞,虽追踪困难,但也仅花了一天时间。
然而,在未被发现前,安全漏洞与普通漏洞不同。普通漏洞一般是软件未按预期运行时被发现,而安全漏洞在被发现前,软件看似正常运行。而且,认为漏洞和安全漏洞是同一回事的观点是错误的。软件可靠是指在正常操作下按预期运行,而安全则是在所有情况下都能如此。非安全漏洞和安全漏洞有本质区别,人们不会为了好玩去故意让软件出错。
开源软件倡导者认为,因源代码开放,会有很多人审查以发现弱点。但事实并非如此,多数人在软件正常运行时不会查看源代码,即便查看,多数人也缺乏发现问题的经验。所以,这个观点站不住脚,我们应摒弃。
不过,“众目睽睽”理论也有一定道理,即想审查代码找漏洞的人可以这么做。有趣的是,这些人是好人还是坏人,这个问题将在对比开源和闭源软件时探讨。
2. 开源与闭源软件安全性对比的复杂性
如今,微软开始重视安全,人们对开源软件是否比闭源软件“更安全”的讨论增多。但判断这个说法并不容易。
2.1 “更安全”的定义模糊
“更安全”的含义不明确。可能指安全漏洞更少,但还需考虑漏洞严重程度,这就带有主观性;也可能指漏洞修复更快、受影响
超级会员免费看
订阅专栏 解锁全文
1571

被折叠的 条评论
为什么被折叠?



