微软公司上周发布的Windows
Vista β2版中包含有一种新的旨在保护系统免受缓冲区溢出攻击的安全功能。据微软公司表示,每当PC启动时,被称为ASLR(地址空间设计随机化)的这一功能会将关键的系统文件加载到不同的内存地址,加大了恶意代码运行的困难力度。据微软公司的高级安全计划经理霍华德在公布的这一功能的博客中写道:尽管它不是一种解决一切问题的方法,它并没有换掉不安全的代码,然而,当它与别的技术联合使用时,它就是一种有用的安全防御技术,因为它能够使Windows系统让恶意代码看起来不同寻常,使自动化攻击的难度进一步加大。
在缓冲区溢出攻击中,数据的存储超过了缓冲区的界限,多出的数据将覆盖掉邻近的内存地址。这种情况能够造成进程崩溃,或让系统运行恶意代码。一些攻击会试图调用Windows的系统函数,比如调用wsock32.dll中的socket()函数就可以打开一个网络Socket,而ASLR能够将这些系统文件分散开来,将它们存储在一个不定期的内存地址中。据霍华德表示,在β2版Windows
Vista操作系统中,DLL或EXE文件可以被加载到256个地址中的任何一个。黑客能够获得正确地址的机会仅仅有1/256。
据安全厂商Cybertrust的高级科学家库珀表示,这种随机化技术在开放源代码系统中的表现非常好,但关键是微软公司是怎样实现ASLR和这种随机化是否是可以预言的。电脑黑客也可能会开发试图访问所有256个内存地址的恶意软件。据他表示,这更可能会造成PC的崩溃,而不是系统安全受到影响。如果仅仅是只想阻止恶意代码的运行,这是一项非常好的技术,但它对保持系统的运行却没有帮助。
尽管微软公司在Vista中部署ASLR受到了安全界的好评。但也有人持怀疑态度。据一位不愿透露姓名的人士透露,Linux操作系统中的ASLR在几年前就被破解了。但据微软公司表示,与Vista操作系统中的其它技术相联合,ASLR使操作系统的安全性有了进一步的提高。
(责任编辑:韩建光) |