现在市场上Intel和AMD集成防毒技术的CPU都是使用了NX bit(内存溢出保护)技术来实现的.相信很多用户还对冲击波病毒心有余悸.其实.像冲击波这种蠕虫病毒就都是靠缓冲区溢出问题兴风作浪的.而通过NX bit就可以有效地解决这个问题.
NX bit可以通过在转换物理地址和逻辑地址的页面编译台中添加NX位来实现NX.在CPU进行读指令操作时.将从实际地址读出数据.随后将使用页面编译台由逻辑地址转换为物理地址.如果这个时候NX位生效.会引发数据错误.一般情况下.缓冲区溢出攻击会使内存中的缓冲区溢出.修改数据在堆栈中的返回地址.一旦改写了返回地址.则堆栈中的数据在被CPU读入时就可能运行保存在任意位置的命令.
通常由于溢出的数据中包括程序.因此可能会运行非法程序.因此.操作系统在确保堆栈及缓冲区的数据时.只需将该区域的NX位设置为开启(ON)的状态即可防止运行堆栈及缓冲区内的程序.其原理就是通过把程序代码与数据完全分开来防止病毒的执行.虽然英特尔和AMD对各自的硬件防毒技术有不同的命名.但他们的实现原理都是一样的.
页:
1
[2]