Vista采用ASLR等技术 新系统安全性将更强大 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
http://www.sina.com.cn 2006年06月02日 11:17 eNet硅谷动力 | ||||||||||
【eNet硅谷动力消息】美国东部时间6月1日(北京时间6月2日)消息:微软公司将开始与恶意代码编写者展开一场捉迷藏游戏。 微软公司在上周刚刚发布的Windows Vista Beta 2操作系统中新加入了一项安全功能,专门用来防止恶意代码利用缓冲溢出发起攻击。据微软公司介绍,这项功能利用了一种名为地址空间配置随机化(ASLR)的技术,每次在电脑启动的时候可以将密钥系统文件加载
微软公司高级安全项目经理迈克尔霍华德在博客中介绍这项功能时说:“它并不能包治百病,它也不能替换掉那些不安全的代码。但是把它与其他技术配合使用时,它的保护作用就相当有用了。因为它可以让恶意代码认为Windows系统发生了变化,这样就很难发动自动化的攻击了。” 恶意代码可以利用缓冲溢出的方法发起攻击,它往往是由计算机代码中出现的一种被称作缓冲溢出的常规错误而导致。在攻击中,数据在存储的时候超出了缓冲区的边界,结果造成多出来的数据外溢并覆写到相邻的存储单元上。 这样就可能导致某个进程崩溃或者启动某个恶意代码。 ASLR技术并不是微软公司开发出来的。有几种开源安全系统已经在使用这项技术了,包括OpenBSD、PaX和Linux系统的Exec Shield补丁。 还有一些攻击试图调用Windows系统功能如wsock 32.dll中的“socket ()”功能来打开一个网络插口。采用新的安全功能后,系统文件被转移了,它们的位置每次都是随机的,因此恶意代码很难利用这种方法发起攻击。 霍华德称,在Windows Vista Beta 2系统中,DLL或者EXE文件可以被加载到256个存储单元中的任意一个位置。 霍华德说:“这样,攻击者只有1/256的机会得到正确的地址。” 安全厂商Cybertrust公司的高级科学家努斯库柏说,这项随机化技术在开源系统中应用得都不错。问题是微软公司会如何应用ASLR技术以及随机化是否完全是无法预知的。 库柏说:“我怀疑这将是首先必须弄清除的事情,它将说明哪个位置已经被选中了或者说它就相当于一个指示器。” 攻击者也可以在编写恶意软件的时候给它加上一项功能,可以将256个存储单元都查找一遍。库柏说,但是那样做就更容易使系统崩溃,而不会导致系统被攻破。 他说:“如果你关心的只是不让系统被攻破的话,那么那个功能还是不错的;但是如果想保证系统正常运行而且不被攻破的话,那么那个功能的作用倒不见得有多好。” ASLR反馈 由于微软公司在Vista操作系统中加入了ASLR安全技术,因此受到了安全业界的赞誉。Next Generation Security Software公司的研究员大卫里奇菲尔德在一封写给BugTraq电子邮件清单的电子邮件中写到:“Vista系统中加入了ASLR技术之后,远程利用缓冲溢出的漏洞来发起攻击变得更加困难了。” 但是业界也有人对此表示了不同的意见。有人署名“cOntex”给里奇菲尔德回了一份电子邮件说,ASLR技术在Linux操作系统中早就被绕过去了。 微软公司刚刚把ASLR技术加入到Windows Vista系统的测试版中,紧跟着就会把它加入Windows XP操作系统中。霍华德说:“我们加入ASLR技术的时间有些晚,但是我们打算把它加入第二测试版系统中并将它设置为默认启动功能以便我们可以了解到它在Vista操作系统中运作的情况。” 微软公司说,ASLR功能与其他增强安全功能一起,提高了Vista操作系统中的安全防护等级。微软公司已经宣布计划称将在明年一月份在更大范围内发布Vista操作系统,它将是迄今为止微软公司发布的安全性最强的Windows系统。 除了ASLR功能之外,霍华德还提到了一个用Visual C++语言编写的缓冲溢出检测选件。 作者:王飞 |