数据执行保护 (DEP) 是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码
优点:
是可以帮助防止数据页执行代码。通常情况下,不从默认堆和堆栈执行代码。硬件实施 DEP 检测从这些位置运行的代码,并在发现执行情况时引发异常。软件实施 DEP 可帮助阻止恶意代码利用 Windows 中的异常处理机制进行破坏。
硬件实施 DEP 是某些 DEP 兼容处理器的功能,可以防止在已标记为数据存储区的内存区域中执行代码。 此功能也称为非执行和执行保护。 Windows XP SP2 还包括软件实施 DEP,其目的在于减少利用 Windows 中的例外处理机制的情况。
与防病毒程序不同,硬件和软件实施 DEP 技术的目的并不是防止在计算机上安装有害程序。 而是监视您的已安装程序,帮助确定它们是否正在安全地使用系统内存。 为监视您的程序,硬件实施 DEP 将跟踪已指定为“不可执行”的内存区域。 如果已将内存指定为“不可执行”,但是某个程序试图通过内存执行代码,Windows 将关闭该程序以防止恶意代码。 无论代码是不是恶意,都会执行此 *** 作。注:基于软件的 DEP 是 Windows XP SP2 的一部分并默认启用,不考虑处理器的硬件实施 DEP 功能。 默认情况下,软件实施 DEP 应用于核心 *** 作系统组件和服务。
DEP 默认配置的目的在于保护您的计算机,并尽量减小对应用程序兼容性的影响。 但是某些程序也可能无法正确运行,视您的 DEP 配置而定。
在运行 Microsoft Windows XP 64 位版本并附带 DEP 兼容处理器的计算机上,硬件实施 DEP 已默认启用。 64 位应用程序将不会通过内存的“不可执行”区域来运行。不能禁用硬件启用的 DEP。 Windows XP SP2 上的软件启用 DEP 以及在任何处理器上运行的 32 位应用程序可以配置为使用内存的“可执行”或“不可执行”区域。
为了配合微软的DEP功能,Intel为自己的CPU开发了“Execute Disable Bit”(EDB)内存保护技术。目前Intel P4 Prescott(mPGA478与LGA775封装)为C0或D0步进核心,最新的J系列P4 Prescott采用E0步进核心。其中只有J系列P4 Prescott具备防病毒功能,只有它才真正支持EDB技术,能够配合SP2的DEP防毒功能,让针对缓冲区溢出(buffer overrun)漏洞设计的病毒失效,预防它们复制并散播到其他系统。
AMD 64位处理器最先支持微软的DEP技术。为了配合DEP,AMD与微软一起设计研发了AMD的新芯片功能“Enhanced Virus Protection”(EVP增强病毒保护)。AMD 64位处理器(包括Athlon 64/Athlon 64 FX/Athlon 64移动版本/Sempron移动版本等)都将具有EVP功能。EVP功能可以和SP2的DEP技术配合,防范“缓存溢出”这一常见攻击手段,打击一些病毒和蠕虫,对收发电子邮件、下载文件等日常工作进行更好的保护
CPU硬件防毒原理
现在市场上Intel和AMD集成防毒技术的CPU都是使用了NX bit(内存溢出保护)技术来实现的。相信很多用户还对冲击波病毒心有余悸,其实,像冲击波这种蠕虫病毒就都是靠缓冲区溢出问题兴风作浪的,而通过NX bit就可以有效地解决这个问题。
NX bit可以通过在转换物理地址和逻辑地址的页面编译台中添加NX位来实现NX。在CPU进行读指令 *** 作时,将从实际地址读出数据,随后将使用页面编译台由逻辑地址转换为物理地址。如果这个时候NX位生效,会引发数据错误。一般情况下,缓冲区溢出攻击会使内存中的缓冲区溢出,修改数据在堆栈中的返回地址。
一旦改写了返回地址,则堆栈中的数据在被CPU读入时就可能运行保存在任意位置的命令。
众所周知,Windows XP SP2中增加了一项安全新功能--DEP(Date Execution Prevention数据执行保护),可以保护计算机免受病毒的破坏。为了配合微软的DEP技术,Intel和AMD都开发了相应的防病毒CPU。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)