Windows的数据执行保护机制

运维 系统运维
windows在ntoskrnl中、ntoskrnl.exe初始化时,根据之前用户在Ntldr中选择的启动配置,来初始化DEP的设置。对DEP的设置,大致有本文介绍几种方法。

硬件和软件实施 DEP 技术的目的并不是防止在计算机上安装有害程序。 而是监视已安装程序,帮助确定它们是否正在安全地使用系统内存。 为监视程序,硬件实施 DEP 将跟踪已指定为“不可执行”的内存区域。 如果已将内存指定为“不可执行”,但是某个程序试图通过内存执行代码,Windows 将关闭该程序以防止恶意代码。 无论代码是不是恶意,都会执行此操作。

  硬件和软件 DEP 的默认配置可以保护核心 Windows 组件和服务并对应用程序兼容性产生最小的影响,但是我们可以选择将 DEp 配置为保护计算机上的所有应用程序和程序。 如果我们将DEP 配置为保护计算机上的所有应用程序和程序,则可以获得额外的保护,但是也可能会引起其它应用程序兼容性问题。 如果我们将 DEP 配置为保护计算机上的所有应用程序和程序,并且某些32 位应用程序存在兼容性问题,则可以从软件 DEP 保护中豁免这些应用程序。

  windows在ntoskrnl中、ntoskrnl.exe初始化时,根据之前用户在Ntldr中选择的启动配置,来初始化DEP的设置。对DEP的设置,大致有:

  (1)对各个进程的设置(写到系统的全局共享内存区域)

  设置分为可执行的EXECUTE(未保护的)和不可执行的NOEXECUTE(DEP保护的)。同时有“例外”和“包含”两种设置。2*2=共4种设置。

  (2)CPU中寄存器的设置。对于开启了DEP的,需要设置CPU的相关标志位。

  (3)对用户态的程序,在0x10000004非法访问的异常处理中,根据(1)中的设置,如果进程没有开启数据执行保护,则忽略异常。

  (4)对内核态,开启可执行保护后,可能触发0x000000FC的错误。

  第(2)步的设置,应该就是Intel 的DEP方案。而(1)应该是在Copy-On-Write的时候会用到的。(1)(2)的结果触发(3)(4)。

责任编辑:赵宁宁
相关推荐

2011-07-18 14:08:08

2009-01-12 12:43:50

服务器虚拟化基础架构

2011-09-19 19:38:47

vista数据执行保护

2011-04-06 16:51:59

Windows Ser数据安全

2017-05-31 10:43:26

Windows Ser容器数据保护

2013-04-15 11:04:48

2012-12-04 16:09:17

2012-12-05 11:16:40

测试

2017-02-23 09:30:52

2024-06-21 08:32:24

2009-06-09 09:03:36

微软Windows 7操作系统

2018-10-10 05:12:35

2013-05-23 17:15:59

2017-01-20 14:49:46

2017-02-20 09:46:59

2010-11-30 15:40:20

Windows Ser

2010-08-18 09:07:26

数据泄密防护DLP公司数据

2022-03-23 18:57:11

数据安全安全工具

2015-10-28 14:06:26

移动设备数据保护

2022-02-21 10:36:29

隐私应用技术
点赞
收藏

51CTO技术栈公众号