WatchStor.com — 领先的中文存储网络媒体 | 51CTO旗下网站

评测导购 > 数据保护 > 正文

深入分析数据执行保护

Watchstor.com  佚名丨2009-11-05 10:38 标签:数据保护 存储资源管理 

Windows XP与20003新增了一项数据执行保护技术,单地说可以看作操作系统底层的安全防护机制,本身没有病毒检测的功能。但如果有利用漏洞溢出包括本地溢出的病毒发作时,DEP 可以进行防护作用。

在 WinXP SP2 和 2003 sp1 的系统上,在控制面板里打开“系统”属性,在【高级】选项卡下的“性能:视觉效果、处理器计划、内存使用和虚拟内存”里面点击【设置】,接着在“性能选项”中选择【数据执行保护】选项卡,即可设置 DEP 功能。

DEP 技术也需要硬件设备的支持,如果要完整地支持 DEP 必须拥有支持 DEP 技术的 CPU,目前只有 Intel 的“安腾”系列、Pentium 4 J 支持,以及 AMD 的 Athlon 64 系列、Opteron 支持。硬件不支持 DEP 的计算机使用 WinXP SP2 或 2003 sp1 只能用软件方式模拟 DEP 的部分功能。

数据执行保护(DEP)是 Microsoft WindowsXP ServicePack2 (SP2)支持的一种处理器功能,它禁止在标记为数据存储的内存区域中执行代码。此功能也称作“不执行”和“执行保护”。当尝试运行标记的数据页中的代码时,就会立即发生异常并禁止执行代码。这可以防止攻击者使用代码致使数据缓冲区溢出,然后执行该代码。

数据执行保护(DEP)有助于防止病毒和其他安全威胁造成破坏,它们的攻击方法是从只有Windows和其他程序可以使用的内存位置执行恶意代码。此类威胁使用以下方法造成破坏:它接管某个程序正在使用的一个或多个内存位置,然后进行传播并破坏其他程序、文件甚至您的电子邮件联系方式。

与防火墙或防病毒程序不同,DEP不能阻止在您的计算机上安装有害程序。但是,它会监视您的程序,以确定它们是否安全地使用系统内存。为此,DEP软件会单独或与兼容的微处理器一起将某些内存位置标记为“不可执行”。如果某个程序尝试从受保护的位置运行代码,DEP将关闭该程序并通知您。即使该代码不是恶意代码,也会执行此操作。

64位Windows版本上的DEP

64位处理器上的64位Windows版本可以在64位模式下运行程序。无论处理器的结构如何,64位Windows版本的内核模式DEP均适用于堆栈、页面缓冲池和会话池。

默认情况下,在WindowsXPSP2中启用DEP,并且无法将其禁用。64位应用程序将无法从堆栈或默认进程堆中运行。对于需要分配可执行内存的应用程序,可使用带有某个PAGE_EXECUTE*内存属性的VirtualAlloc()来运行。

32位Windows版本上的DEP

用户模式DEP

在不久的将来,许多运行Windows和Windows兼容程序的计算机都将使用运行32位Windows版本的32位处理器。但是,AMDOpteron 和Athlon-64等新的处理器同时支持32位和64位操作模式。(32位操作模式是旧模式;而64位操作模式是本机模式。)

同时支持32位和64位操作模式的新处理器可以在32位操作系统和32位应用程序环境中运行,在启用物理地址扩展(PAE)模式后,它们还可以使用DEP。

我们将探讨分别为每个32位应用程序禁用或启用DEP的方法。默认情况下,为64位应用程序启用DEP。DEP异常将导致Windows系统上出现状态代码 STATUS_ACCESS_VIOLATION(0xc0000005)。在大多数进程中,这是一个未经处理的异常,并导致进程终止。

内核模式DEP

对于用户模式和内核模式,DEP的工作原理相同。在内核模式下,不能分别为每个驱动程序启用或禁用内存区域DEP。默认情况下,在32位Windows版本上,DEP仅适用于堆栈。在64位Windows版本上,DEP适用于堆栈、页面缓冲池和会话池。内核模式下的访问冲突将导致出现 Bugcheck0x000000FC:ATTEMPTED_EXECUTE_OF_NONEXECUTE_MEMORY。

兼容性问题

应用程序和驱动程序都可能会发生DEP兼容性问题。

有些应用程序行为可能与DEP不兼容。执行动态代码生成(如实时代码生成)的应用程序以及不使用“执行”权限明确标记生成的代码的应用程序与DEP之间可能存在兼容性问题。

试图违反DEP的应用程序将会出现异常,并显示状态代码STATUS_ACCESS_VIOLATION(0xc0000005)。如果应用程序需要可执行内存,则必须在相应的内存中明确设置此属性,方法是在Virtual*内存分配函数的内存保护参数中指定PAGE_EXECUTE、 PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE或PAGE_EXECUTE_WRITECOPY。

关闭数据执行保护:

使用记事本打开c:\boot.ini文件。如果有只读属性,需要先将只读属性去掉。

可以找到multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect

把/noexecute=optin改为/execute 即可。即改为:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /execute /fastdetect

/noexecute=optin 这是默认开关。启用 DEP。

/execute - 禁用 DEP。

/noexecute参数的取值可以是AlwaysOn、AlwaysOff、OptIn 、OptOut中的任一个。当你启用DEP(系统数据执行保护)的时候,/noexecute=optin;关闭DEP,/noexecute=optout

/noexecute=AlwaysOn时,便将整个系统置于 DEP 保护范围以内。在这种状态下,可能很多程序都不能运行,而且报错的提示还不一样。

/noexecute=AlwaysOff时,相当于关闭了DEP和EVP功能,凡是被其阻止的程序都能正常运行。我们可在这种状态下暂时运行某一程序,但一定要注意网络安全,工作完成后马上恢复。

添加例外程序:

单击“开始”,然后单击“控制面板”。

在经典视图中,双击“系统”。

单击“高级”选项卡,单击“性能”,然后单击“设置”。

在“性能选项”对话框中,单击“数据执行保护”选项卡。

选择“为所有程序和服务启用 DEP,但我选择的程序和服务除外:”,然后单击“添加”。

在“打开”对话框中,找到并选择该应用程序,然后单击“打开”。

单击“应用”,然后单击“确定”。将出现一个提示,通知您必须重新启动系统后设置才能生效。单击“确定”。

以上就是对数据执行保护技术的介绍希望会有所帮助

【编辑推荐】

  1. SSD固态硬盘已经开始走进知名企业的服务器我国IPTV研究目全球领先
  2. 企业该如何恰当的选择归档系统
  3. 对于SSD固态硬盘我们要客观的看待
  4. 磁带数据安全企业不容忽视的问题
  5. 数据保护与硬盘安全分析

相关资讯

今日微信独家

《华尔街日报》报道日前援引知情人士的消息称,由于被美国政府以国家安全问题为由进行调查,联想斥资23亿美元收购IBM低端服务器业务的交易陷入了停滞状态。
关注新浪官博 订阅微信订阅号

订阅焦点周刊

论坛与活动

2016中国数据加速峰会直播专题
2016中国数据加速峰会直播专题[详细]
点击查看

精彩视频

最新文章

1111111
1111111
asdasd
asdasd
同有科技应用型大数据存储在南京掀起智能风暴
同有科技应用型大数据存储在南京掀起智能风暴
斯蒂芬斯蒂芬
斯蒂芬斯蒂芬
京东双11技术备战 构建多中心交易系统
京东双11技术备战 构建多中心交易系统