开放源代码重要不重要? - IT争论 - 松鼠

(这条文章已经被阅读了 164 次) 时间:2002-01-10 00:12:32 来源:松鼠 (松鼠) 原创-IT

中文2000的网站上有一篇《中文2000狠咬了微软一口》,作者是 数字青年记者 谷龙 但是那篇文章标明不让转载,所以我只摘其中一些与公布源代码相关的片断:
—————————-转载开始———
微软在新发布的XP家族产品(Office XP和Windows XP)中引入的激活技术让人们议论纷纷,有业内专家对使用XP系列产品的潜在危险给予了详尽的分析。

  专家认为,产品激活功能的核心是在能够接受外界指令的情况下,停止操作系统和办公软件的运行,即使某些版本的产品不需要实际激活(比如OEM),但产品激活的机制存在于每一套XP产品之中,并且无法移除。

“由于Windows的源代码没有公开,所以谁也无法确定微软是否在产品激活机制中添加了其他的激活方式。也就是说,微软可能在某种条件下,透过产品激活功能锁定用户的电脑。尽管微软声称不滥用这些技术,但这种单方面的保证没有任何约束。”
由于微软的产品不开放源代码,所以他所具备的远程控制、电子护照等功能令人十分担心,用户无法得知什么时候自己的电脑会被他人控制,在不知情的情况下被别人窃取数据和文件。更严重的是,用户无法将这些功能从操作系统中移走,而微软公司如此设计的动机也让人十分怀疑。
微软公司的产品留有后门是众所周知的事情。实际上,安全是XP系列产品的最大问题,XP所宣称的种种安全措施对于普通的黑客也许有一定的防范作用,但是却把用户的全部资料敞开给了微软公司。
于是,人们开始寻找另外一些能够替代的软件产品来改变目前的这种状况。
……
————–转载结束———-

这篇文章拿“专家”来唬人,充满许多的臆测和攻击,比如,以前小狐狸精就和可笑激烈讨论过到底微软的产品有没有后门,什么是后门,这里却道听途说地敲定:“微软公司的产品留有后门是众所周知的事情。”对读者极度不负责任。这里我只讨论与开放源代码有关的安全问题。

提纲:
1,开放源代码就放心?
2,不开放源代码就不放心?
3,怎样能够放心?(网络安全讨论)

开放源代码的产品不见得就让人放心吧。开放LINUX上面的漏洞也不少,每个星期都会有补丁出来,或者大补,或者小补。补完这个漏洞又引起另一个漏洞。实际上即使开放源代码,又有多少人全部看完源代码,一一审核?应该由谁来审核?即使完全审核,就能发现漏洞么?不那么简单吧。我特意到网络安全界比较权威的绿盟科技的网站,点击“安全漏洞”,看到如下列表:
· Ipswitch IMail域管理权限提升漏洞
o IPSwitch IMail是一个流行的基于Web的邮件收取程序,被很多ISP所使用。
· Abe Timmerman zml.cgi目录遍历漏洞
o zml.cgi是一个为html页面增加交互能力的脚本。 (开放源代码)
· Microsoft IE GetObject()目录遍历文件泄露漏洞
· Les VanBrunt AdRotate Pro SQL命令注入漏洞
o AdRotate Pro是一个免费的Perl脚本包,用来在网页上轮换放置广告条。(开放源代码)
· RPL/2不安全的系统调用漏洞
o RPL/2是一种基于RPL语言的编程语言。(开放源代码)
· PHPFileExchange文件上传漏洞
o PHPFileExchange是一个免费的,开放源码的,基于Web的文件交换程序。它可以使用户们把自己的文件放到一个Web服务器上使其他用户能够访问那些文件。(开放源代码)
· Marcus Xenakis manual.php远程执行任意命令漏洞
o “Unix Manual”是Marcus S. xenakis写的PHP脚本,它可以使用户通过Web查看UNIX的手册页。(开放源代码)
· Agora.CGI跨站脚本执行漏洞
o Agora.cgi是一个免费,开放源码的网上售货系统。(开放源代码)
· Microsoft Excel数据表保护口令机制绕过漏洞
· Aktivate Shopping Cart跨站脚本执行漏洞
o Aktivate是一个运行Linux/UNIX平台的网上售货系统,使用MySQL作为后端支持,用Perl实现。(开放源代码)
· Microsoft Windows XP远程桌面明文帐户名传送漏洞
· Microsoft Windows C运行库格式串溢出漏洞
· Exim 执行任意命令漏洞
o Exim是一款免费,开放源代码的安全邮件传输代理程序,由剑桥大学发布。(开放源代码)
· D-Link DWL-1000AP 无线局域网访问点’public’口令漏洞
· D-Link DWL-1000AP 无线局域网访问点明文密码漏洞
(以上资料于1月5日摘自http://security.nsfocus.com/bugQuery.asp)

以上共有15个安全漏洞,其中8个是存在于开放源代码的软件中。这个调查结果出乎我的意料之外,相信也出乎大多数人意料之外。所以,可以认为开放源代码的软件同样存在漏洞。

话又说回来:你见过几个开放源代码的软件?linux本来是开放源代码的,但是红旗linux开放源代码么?即使上面吹嘘的抗击“无源代码的Windows”的中文2000也不见得开放源代码吧?

不开放源代码,不知道里面是什么,好像是不太放心。但是在这个现代化大社会,你还能要求什么?你从商店买来一个手机,有没有拆开来看看中间是不是放有一个炸弹?或者一个窃听器?如果你不是007,我看是没有必要的。我们必须学会协同工作,必须适应这个合作的社会。在传统社会我们并不要求检查所有设计图纸,在互联时代我们依旧不变。

上面的讨论我们可以看出:开放源代码与否并不是我们选用软件的标准。至于怎样是选用软件的标准?我越想越头大,只好偷懒,把提纲里的第三点“怎样能够放心?(网络安全讨论)”留待未来了。

可以参阅拙作:一段黑客的经历—兼论网络文化和安全
http://www.donews.com/donews/article/2/20403.html