UNIX、Linux与Windows之安全性比较 2007-11-29 09:57

UNIX、Linux与Windows之比较(转载)

2003年6月,一些计算机黑客举行了一次“篡改者挑战赛”,目标是在6小时内篡改6000个网站的页面。根据所攻破的操作系统的不同为参与者计分。采用Windows系统的网站计1分,UNIX或Linux,3分。也就是说,他们认为UNIX和Linux比较难以攻破。

  抛去黑客的主观判断,你会很惊讶地发现,有关哪种操作系统安全性较强的确凿数据,几乎没有。

  一项客观的衡量标准是以ISO 15408信息技术、安全技术和IT安全评价标准为基础的Common Criteria。这个全球公认的标准可帮助用户明确基础结构技术的安全要求,让开发人员满足这些要求。独立评估实验室通过检测开发环境、安全保障、漏洞应对、安全记录等指标,评定一到七个安全级别。

  虽然有负面报道,但Windows的评估保证级别(evaluation assurance level)因Windows 2000而达到了4级。Novell凭借SUSE Linux Enterprise Server 9达到了4+

。Sun Microsystems最近三版基于UNIX的Solaris OS—8、9和10都达到了4或4以上。

  但Common Criteria也遭到了批评者的嗤笑,说它只衡量对系统的检测数量,而并非实际安全性。因此,评判权还是落在了分析师、专栏作者、黑客等人手中,他们认为Linux和UNIX比Windows更安全。

  开放与封闭

  Stacey Quandt,美国波士顿AberdeenGroup调查主管,2004年10月主持了一次Linux和Windows安全性的全面比较。分析结果特别强调了Linux以及和它架构相似的UNIX与Windows的两大不同之处:理念和架构。

  从理念上来讲,Linux和UNIX是完全或部分开放源代码的系统。Linux的源代码完全开放,也就是说,任何人都能得到源代码,并对源代码随意改动。基于UNIX的系统,如Sun或惠普的系统,其部分源代码对开源团体开放。而Windows则是绝对的专有系统。

  如果任何人都能得到UNIX和Linux 中的“透明代码”——包括黑客、心怀不满的员工和竞争对手——而Windows的代码是收到严格保护的知识产权,那么UNIX和Linux就应该比Windows更容易受到攻击了,对吧?

  “不对,”Justin Steinman,Novell北美区经理说,“和Windows所谓‘以隐匿求安全’相比,Linux的‘以透明求安全’更为安全。因为整个Linux团体都在完善和关注其代码。一旦有人发现安全漏洞,人们就会对它进行修补,并把补丁程序发布给整个团队。”

  Steinman把这种响应速度和微软的“补丁星期二”做了对比。微软每个月的的第二个星期二发布Windows操作系统和其他应用软件的补丁程序。“如果你在第二个星期三发现了漏洞呢?你得等上30天才能得到补丁程序。”他说。

  多重层次与单一整体

  Quandt指出,Linux和UNIX在架构中采用了“最少特权”概念。她把提供某些门的专用钥匙与提供能打开所有房门的万能钥匙做了比较。在Linux 2.6中,安全架构比以前的版本有了很大改善,支持最少特权,具有以角色为基础的接近权控制,用户只进入他们需要使用的那部分系统即可。

  Sun 公司基于UNIX的Solaris 10的用户和流程权利管理功能,原理也与此相同。特权可应用于核心程序和用户程序,无需重新编辑或重写该程序,而在专用软件上,管理员通常无法进行这种操作。

  开源运动咨询师Nicholas Petreley用三个同心球来描绘Linux和UNIX的模块结构。最外面的球是用户界面,运行字处理程序等软件。字处理程序使用的常用功能,如图形图像和格式文本的处理,由第二个球来提供。第二个球必须请求最里面这个层次的允许,才能执行其任务。最里面的球,即核心,是操作系统的心脏,控制着系统的磁盘和存储器。

  Windows的架构整体性更强,操作系统的核心集成了很多其他功能软件——如浏览器。不利之处是:浏览器的缺陷可能导致集成到该核心上的所有其他程序都被暴露出来。而在球形设计中,Linux或UNIX的任何一项功能几乎都没有不可避免地与其他功能纠缠在一起。

  另一种描述区别的方法是多用户结构和单用户结构。

  多用户设计假定用户较多,但坦白讲,对他们信任较少。简单来说,Windows把用户程序和操作系统的核心集成到一起,而Linux和UNIX则把核心区域与用户区域区分开来。

  “这是固有的安全。” Sun公司Solaris Security经理Mark Thacker说,“UNIX从最开始就是多用户系统,不是逐渐演变为服务器操作系统的台式机系统。UNIX一直都是把用户领域和核心领域分开的,这是任何源于DOS的操作系统所不具备的。”

  Petreley公布了卡耐基·梅隆大学电脑紧急状况应对小组2004年10月关于Linux和Windows安全性的数字比较。他特别指出:微软返回了250个项目(补丁和系统漏洞),其中39个危险级别达40或40以上,都会导致安全警报;Linux返回了100个项目,只有6个危险级别达40或40以上。Petreley的研究表明,Windows的安全漏洞比Linux更严重。

  虽然如此,采用Windows系统的企业也没必要倒向微软的竞争对手。微软用自己的行为对批评者作出了回应,它逐渐向竞争对手特色鲜明的多用户模式靠拢。

  很大程度上,迫于行业和终端用户的压力,微软2003年开启了Trustworthy Computing Initiative行动,对开发人员进行了安全开发培训。此后,微软把反垃圾技术和反钓鱼技术都集成到了Hotmail、MSN、Microsoft Office 2003和Microsoft Exchange Server 2003中。

  微软利用其内部Security Development Lifecycle (SDL)技术,在网络相关软件中集成了安全检查点和标志。Windows 2003是第一个应用SDL技术的操作系统,和Windows 2000相比,微软宣称,第一年内它的漏洞就减少了63%。

  微软的Windows XP SP2关闭了某些服务以减少垃圾信息,为Outlook/Exchange、Windows Messenger和Internet Explorer的附件建立了中心存储区。这样一来就降低了终端用户激活病毒或蠕虫的风险。


更多推荐

UNIX、Linux与Windows之比较