无论按照什么标准对Windows和Linux进行评估,都存在一定的问题:每个操作系统都不止一个版本。微软的操作系统有Windows98、Windows NT、 Windows 2000、 Windows 2003 Server和Windows CE,而Linux的发行版由于内核(基于2.2、2.4、2.6)的不同和软件包的不同也有较大的差异。我们本文所使用的操作系统,都是目前的技术而不是那些"古老"的解决方案。
用户需要记住:Linux和Windows在设计上就存在哲学性的区别。Windows操作系统倾向于将更多的功能集成到操作系统内部,并将程序与内核相结合;而Linux不同于Windows,它的内核空间与用户空间有明显的界限。根据设计架构的不同,两者都可以使操作系统更加安全。
Linux和Windows安全性的基本改变
对于用户来说,Linux和Windows的不断更新引发了两者之间的竞争。用户可以有自己喜欢的系统,同时也在关注竞争的发展。微软的主动性似乎更高一些――这是由于业界"冷嘲热讽"的"激励"与Linux的不断发展。微软将在下几个月对Windows安全进行改观,届时微软会发布Windows XP的Service Pack2。这一服务包增强了Windows的安全性,关闭了原先默认开放的许多服务,也提供了新的补丁管理工具,例如:为了避免受到过多无用的信息,警告服务和信使服务都被关闭。大多数情况下,关闭这些特性对于增强系统安全性是有好处的,不过很难在安全性与软件的功能性、灵活性之间作出折衷。
最显著的表现是:微软更加关注改进可用性的同时增强系统的安全性。比如:2003年许多针对微软的漏洞攻击程序都使用可执行文件作为电子邮件的附件(例如MyDoom)。Service Pack2包括一个附件执行服务,为Outlook/Exchange、 Windows Messenger和Inte.net Explorer提供了统一的环境。这样就能降低用户运行可执行文件时感染病毒或者蠕虫的威胁性。另外,禁止数据页的可执行性也会限制潜在的缓冲区溢出的威胁。不过,微软在Service Pack2中并没有修改Windows有问题的架构以及安全传输的部分,而是将这部分重担交给了用户。
微软的重点显然是支持应用程序的安全性。Service Pack2中增强的许多方面都是以Outlook/Exchange和Internet Explorer作为对象的。例如:Internet Explorer中有一个智能的MIME类型检查,会对目标的内容类型进行检查,用户可以获悉该内容中是否存在潜在的有害程序。不过这一软件是不是能将病毒与同事的电子数据表区分开来呢?
Service Pack2的另一个新特性是能够卸载浏览器的多余插件,这需要终端用户检查并判断需要卸载哪些插件。Outlook/Exchange可以预览电子邮件消息,因此用户可以在打开之前就将电子邮件删除。另一个应用安全的增强,防火墙在网络协议栈之前启动。对于软件开发者来说,远方过程调用中权限的改变,使得安全性差的代码难以工作正常。
Service Pack2也为Windows用户提供了许多华丽的新特性,但是问题仍然存在:这些特性会不会对管理员甚至是终端用户造成负担?是不是在增加了Windows操作系统代码安全性的同时让系统变得更加复杂?