微软的Windows7应该做得五件事情
为了彻底扫除Vista给微软带来的阴影,并且力争能使Windows 7成为一个成功地商业案例,微软还有很多事情可以做。微软曾经向用户承诺,Windows 7的安全性将会给大家带来全新的体验,为了做到这一点,微软必须做更多的事情而不仅仅是口头呼吁。它必须对其新的操作系统在设计、开发和管理策略上进行彻底的改变。也许,只有时间才能告诉我们微软的Windows 7将能否满足这些要求。不过,以下五件事情是我认为是微软应该做的:
1.在所有与安全性相关的功能中,使用标准的、经同行评议过的工具和协议。在软件行业中,“非我发明(not invented here)”是微软最知命的企业文化之一。虽然微软确实也使用过很多非自己创造的代码,但是它从来没有一成不变地照搬照抄,并且有可能的话,微软都是首先购买代码创作者的版权,然后再将这些外部软件或代码融合到自己的商业产品中。即使在非常罕见的情况下---微软使用了一些它无法控制后续开发的代码或软件,微软一旦采纳了这些软件或代码,就不能再返还了,只能在内部继续开发并常常按照某种惊人的方式改变其功能,通常打破了它与代码基础相同的其它分支的互操作性---比如BSD Unix网络堆栈和MIT Kerberos中使用的代码。这给微软带来了许多安全漏洞,因为这些代码已经不能真正“享受”外部开发人员的集体智慧了。微软需要自己维护这些海量代码,而之前,它们是由众多的外部自由开发人员共同维护的。正因为如此,微软的远程登录工具、加密功能以及网络协议实施的安全特点从一开始就遭到人们的质疑。充分利用经过同行审议过的、一流的并且经过良好测试的工具所具备的巨大广度和深度是开发一个用户可以信任的操作系统的关键。
2.部署真正、全面的系统架构特权分离。微软的操作系统近年来发生了重大演变,从早期的MS-DOS一直到MS Windows Vista。任何人都可以很容易地看到这些重大变化都是经过了精心设计的。一个似乎一遍又一遍发生的改变是系统架构特权分离,借此保护操作系统关键组件免遭未经授权的无特权用户访问造成的损害。这种特权分离“看似”一再发生的原因就是因为它并没有实际发生过;微软只是做了一些微小的改变,看似解了决这一特权分离问题,但是,当下一版MS Windows打入市场后,特权分离其实从来就没有真正完成就成为了大家众所周知的事实了。对于发生的这种变化,微软将不得不让自己试图抑制人们如何使用计算机的想法更加不易被人察觉,并停止寻找能让微软的软件绕过其它微软软件安全功能的方法。
3.开始认真对待漏洞补丁程序。七年的时间才发现严重的漏洞比如SMB漏洞(首次发现至少应该在2001年3月),这个过程实在是长了点。对于微软所有的安全漏洞而言,修补周期最快的是MS06-001,微软在正式发现了这个漏洞10天后,就提前发布了补丁程序。2003年使绝大多数互联网陷入瘫痪的SQL Slammer蠕虫病毒,在它真正称为一个威胁之前的很长一段时间就已经被微软“平息”了---但是如果这些补丁安装的次数没有遵守微软的要求,那么后学的补丁程序将会卸载之前安装的补丁,这会使用户的计算机非常脆弱(微软指责管理员没有有效地给自己的系统打补丁)。同时,微软应该向开源项目学习,后者定期发布稳定、有效的安全补丁,并且遇到紧急情况,一般不会超过一个星期就会发布漏洞修补程序,有时甚至数小时就能完成。在MS Windows 7的安全性被大多数安全专业人士真正认真对待之前,这是一个必须加以处理严重的问题领域。在Windows 7的预览测试版发布之前,微软最近就已经发布了一个补丁,这看起来像一个好兆头,但也可能只是昙花一现。只有时间以及微软在不久之后的表现才能真正告诉我们答案。