dep是数据执行保护。
数据执行保护 (DEP) 有助于防止电脑遭受病毒和其他安全威胁的侵害。
应用会留出一部分电脑内存用于暂存数据,同时留出另一部分内存用于暂存应用使用的指令。 黑客可能试图诱使应用运行(也称为执行)放置在电脑内存中伪装成指令的有害数据。 这可能会让黑客得以控制你的电脑。
相关信息:
与防病毒程序不同,硬件和软件实施 DEp 技术的目的并不是防止在计算机上安装有害程序。 而是监视您的已安装程序,帮助确定它们是否正在安全地使用系统内存。
为监视您的程序,硬件实施 DEp 将跟踪已指定为“不可执行”的内存区域。 如果已将内存指定为“不可执行”,但是某个程序试图通过内存执行代码,Windows 将关闭该程序以防止恶意代码。 无论代码是不是恶意,都会执行此 *** 作。
DEP -数据执行保护的缩写,Data Execution Prevention。数据执行保护(DEP) 是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。在 Microsoft Windows XP Service Pack 2、 Microsoft Windows Server 2003 Service Pack 1 、Microsoft Windows XP Tablet PC Edition 2005 、 Microsoft Windows Vista 和 Microsoft windows7 中,由硬件和软件一起强制实施 DEP。
DEP是数据执行保护。64位计算机和赛扬D支持硬件级的保护。一般的计算机可以用软件模拟。具体就是防止内存溢出。现在很多的攻击很多利用的就是内存溢出。所以DEP很大程度上可以防止溢出情况发生。总的说:数据执行保护 (DEP) 是一组硬件和软件技术,用来对内存执行附加检查以帮助防止恶意代码的入侵。以下是微软的技术文档:数据执行保护
数据执行保护的作用是什么?
数据执行保护 (DEP) 是一组硬件和软件技术,用来对内存执行附加检查以帮助防止恶意代码的入侵。在 Windows XP SP2 中,由硬件和软件强制执行 DEP。
硬件强制的 DEP
硬件强制的 DEP 将一个进程中所有内存位置均标记为非可执行,除非该位置明确包含可执行代码。有一类攻击程序企图在非可执行的内存位置中插入代码并执行代码。通过截取这些代码并产生一个异常,数据执行保护有助于防范这些攻击。
硬件强制的 DEP 依靠处理器硬件标记内存,使内存带有一个属性,表明不应该执行此处的代码。数据执行保护以每个虚拟内存页面为基础发挥作用,通常会修改页表项 (page table entry - PTE) 中的一个数据位,对内存加以标记。
具体的 DEP 硬件实现和虚拟内存页的标记方式会根据处理器架构的不同而有所变化。但是,从一个使用相应属性集标记的页面上执行代码,支持硬件强制 DEP 功能的处理器将会产生一个异常。
Advanced Micro Devices™ (AMD) 和 Intel® Corporation 都已定义并推出了针对数据执行保护的 Windows-compatible(兼容)架构。
从 Windows XP Service Pack 2 开始,32 位版本的 Windows 开始使用由 AMD 定义的非执行页面保护 (NX) 处理器功能或由 Intel 定义的执行禁用位 (Execute Disable bit) 功能。要使用这些处理器功能,处理器必须以“物理地址扩展”(PAE) 模式运行。64 位版本的 Windows XP 使用 64 位扩展上的 NX 处理器功能,以及 IPF 处理器上访问权限页表项 (PTE) 字段中的某些值。
可以期望,所有未来的 32 位和 64 位处理器都支持硬件强制实施的数据执行保护功能。Microsoft 将继续与处理器制造商合作促进 DEP 技术的应用和发展。
软件强制的 DEP
Windows XP SP2 中已经添加了另一组数据执行保护的安全检查。这些检查功能也称为软件强制的 DEP,旨在降低 Windows 异常处理机制的使用。软件强制的 DEP 能够在可运行 Windows XP SP2 的任何处理器上运行。默认情况下,软件强制的 DEP 仅保护有限的系统二进制文件,而不管处理器的硬件强制 DEP 功能如何。
此功能适用于哪些用户?
应用程序和驱动程序开发人员应该了解数据执行保护以及在一个支持平台上运行软件所应具备的条件。执行实时 (just-in-time - JIT) 代码生成,或从默认进程堆栈或堆执行内存的应用程序应对 DEP 的要求加以认真对待。
我们鼓励驱动程序开发人员重视支持硬件强制数据执行保护的平台上的 PAE 模式。在 Windows XP Service Pack 2 系统中 PAE 模式的行为已发生变更,以便改善驱动程序的兼容性。
Windows XP Service Pack 2 中对此功能添加了哪些新功能?
32 位版本的 Windows 和应用程序中的数据执行保护
详细说明
硬件强制的 DEP
尽管有几点不同,数据执行保护的整体行为在 Windows 的 32 位版本和 64 位版本上完全相同。为了向应用程序和驱动程序的开发人员提供一致性,内存保护模型(包括数据执行保护)被设计为在 32 位和 64 位版本的 Windows 上具有相同的行为。
应用程序开发人员应了解用户模式中的 DEP 行为。用户模式下的一个 DEP 异常会导致 Windows 系统上的一个 STATUS_ACCESS_VIOLATION (0xc0000005)。ExceptionInformation 的第一个参数(位于 EXCEPTION_RECORD 结构中)包含了所发生的访问违例的类型。如果 ExceptionInformation[0] 中值为 8,说明访问违例是一个执行违例。
在大多数进程中,STATUS_ACCESS_VIOLATION 异常将是一个无法处理的异常,会导致进程终止。
DEP 也适用于内核模式的驱动程序。内核模式中内存区域的 DEP 不能有选择地启用或禁用。在 32 位版本的 Windows 中,数据执行保护默认情况下应用于堆栈。这和 Windows 64 位版本中的内核模式 DEP 不同,在 64 位版本中,堆栈、页面缓冲池以及会话池已经采用了数据执行保护。
如果启用了 DEP,不允许设备驱动程序从堆栈中执行代码。内核模式中的 DEP 访问违例会导致一个检测错误 0xFC:ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY
软件强制的 DEP
软件强制的 DEP 对 Windows 中的异常处理机制执行额外的检查。如果程序的图像文件是使用安全结构异常处理 (SafeSEH) 功能建立的,则软件强制的 DEP 将确保在调度异常之前,在图像文件中的函数表中注册了异常处理程序。
如果程序的图像文件不是使用 SafeSEH 建立的,则软件强制的 DEP 将确保在调度异常之前,位于内存区域中的异常处理程序已经标记为可执行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)