据EEtimes报道,一个安全研究员在Black Hat会议上他的发言上说,最新的处理器里面NX功能并不能确保系统的安全。
AMD把这中功能称为EVP(Enhanced Virus Protection),而Intel叫它为XD(eXecute Disable)。而更加通用的叫法是NX(No eXecute)。这是一种保护内存某一部分的技术,使得那里的代码不能被运行。它可以防止一些蠕虫病毒和一些恶意代码的运行。
AMD在64位Athlon处理器的新技术中强调EVP为一种安全技术,使用户倍感安全。不过它也没有把EVP称为万能灵药。因为EVP不能防止恶意代码的侵入,不过可以使恶意代码局部化、短命并且不会传染。Intel同样也说XD可以有效减少邮件传染的那些代码。
David Maynor--一个安全工程师说问题在很多媒体报道都简化了这个技术。人们认为NX象一支药剂,打下去就能预防下一次的MSBlast。其实这是不对的。NX不会阻止那些创造缓存溢出的代码攻击,人们仍旧可以在一台NX功能的机器上执行代码,只是需要一些技巧。Maynor说return-to-libc攻击--一种用其他函数地址代替堆栈的返回地址的攻击是对不可运行内存进行攻击的基础。攻击者也可以创造假的堆栈结构来绕过NX的内存保护机制。这些技术并不是新的技术,在Sun的SPARC和Solaris OS等Unix机器中已经被研究过了。Maynor认为NX并不是设计来阻止什么东西的,它并不能减轻Unix的安全威胁,同样也不会在Windows系统中起这样的作用。
微软在XP的SP2和Server 2003的SP1中把NX称为DEP(Data Execution Prevention),微软说这个功能在Windows Vista里面会默认打开。
Maynor说他之所以这样宣传NX的不足是因为虽然NX的限制在安全界里得到认可,但是在美国的公司里却没有这样的认识。如果人们只依靠这样的技术,那是很危险的。至少,NX是对入侵者的减速标志,不是停止标志。
NX本来就是一种辅助手段而已。安全技术和防毒技术从来就没有万能的。