来源:赛迪网
在业内,Linux内核维护者Alan Cox贡献仅次于Linus Torvalds,可以说没有他就不会有Linux现在的辉煌。他最近接受oreillynet的采访,展望了未来五十年计算机安全的前景。
1)您将在十月份召开的EuroOSCON上就未来五十年的计算机安全发表演讲。您对目前的计算机安全形势怎么看?
现在情况正在改观。但计算机系统的性能在出现问题时不是慢慢退化,而是突然失效。一个与BIOS删除软件或磁盘锁定工具联合起来的Slammer蠕虫能在几小时内破坏互联网上半数计算机。幸好大多数攻击者的主要目的不是破坏系统,而是控制和利用被攻击的系统。
2)Linux系统管理员现在都紧盯安全通告,几乎每天都修补系统安全漏洞。这样持续下去可行吗?
不可行,不会一直这样下去。更好的软件意味着编写攻击代码速度也更快,发现漏洞与利用它进行攻击之间的时间差已大大缩短。
我认为Linux受到的攻击要比其他大多数操作系统少,因为Linux的安全性更好。但是光有设计优良的系统也是不够的。宣称Linux比Windows更安全并没有触碰到问题的实质——它们都尚未做的足够好。
3)您说过获得真正的计算机安全还有很长的路要走。您目前所见到的最有前途的技术有哪些?
有几种不同的技术正在发展。首先,过去一度陷入停滞状态的验证工具(verification tool)开发终于开始有起色,人们已开始开发可用的代码验证及分析工具。这会对防止错误进入开发后期有很大帮助。同时,编程语言也在向前发展。许多语言减轻了程序员的工作负担,有些类型的错误很少再发生了,例如Java的内存分配错误和许多类型的锁死错误。
其次是防御深度大大延伸。处理器中的No Execute技术、内存存储地址的随机化和SELinux安全控制都很有效。现在已有一些案例证实了采取No Execute技术或SELniux限制规则集能抵御黑客攻击。
SELniux还涉及系统中无法验证、测试和排错的成员——用户。目前系统安全性也依赖于用户的计算机水平,需要经常提醒用户“不要从网上安装免费的屏幕保护程序”等。但事实是,大多数用户并不听取也无法理解IT管理员的建议,或者过了一个月里就抛到脑后了。SELinux通过设置严格的规则,当用户下载恶意的屏幕保护程序时,帮助桌面就会弹出“屏幕保护无法安装”的消息,避免了感染病毒的可能性。
最后一个领域也很重要。我们已经知道如何编写安全的程序代码,已经快了解如何设计安全的计算机系统。现在最大的障碍是编写可用、可管理的安全的软件系统。在这里我要指出,安全的程序、可靠的程序和正确的程序是三个不同的概念。知道如何编写安全的程序和知道如何编写可靠的或正确的程序是不同的。
4)软件开发过程中把安全检查集成到工具中是不是很有意义,这样就会不会降低开发人员的工作效率?
目前的证据表明有意义。许多改进实际上提高了程序员的工作效率,通过把单调乏味的内存管理、识别编译时潜在的bug使程序员不用浪费大量时间排错。开发人员还可以在需要指明的地方使用标签,这样其他人就很容易分析代码。
目前还没有证据表明Sparse(专门为Linux内核开发编写的静态类型查错程序,由Linus Torvalds编写)降低了内核开发的速度。而Perl的tainting内部安全机制和Java的内存管理功能则损害了开发效率。
这些工具都是自动的,要是用手工完成的话很困难。差劲的工具会减慢开发速度,但优秀的工具不会。
5)人们对安全的关注和个人自由创新之间是否存在对立?开源软件由一小群人开发的历史是否快要结束了?
开发那些safety critical系统需要开发人员在一起共同工作,这时就不需要他们自由创新。比如说,在建造核电站时就不需要员工创新。
有些安全系统如可信任计算可能会被大型企业滥用,从而阻碍创新。不幸的是欧盟委员会似乎更偏向企业,而不是它的公民。欧盟不管是否腐败、无能或被误导还有待辩论,但结果却不太妙。用户要是充分利用微软的X-Box游戏主机功能,微软就会威胁要起诉。
这些相同的工具,对于终端用户来说很有用。苹果用来加密Mac操作系统使之只适用于苹果品牌的x86电脑的技术,对我个人也很有用。要是我的笔记本电脑被偷的话,可以用同样的加密技术保护我的个人数据。总之工具只是工具,要看怎么用它