您好,欢迎访问三七文档
ie8数据执行保护(DEP)问题ie8使用过程中,总是容易打不开页面,一旦刷新,就提示数据执行保护。根据电脑提示,就更改数据执行保护(DEP)设置,将ie8排除在外,可设置几次都不起作用,还曾以为自己将DEP设置错误。今天痛下决心,要将其解决掉。经过上网搜索,发现是兼容性视图问题。几天的更改步骤:1.将ie安全设置改为中;2.Internet选项-高级-重置;3.工具-兼容性视图设置-显示所有网站。问题解决。更改过后会发现部分网页(原来打开有问题的网页)显示有变化。MS提示,该问题可能只与兼容性视图设置(上述第3项)有关,以后遇到类似问题的朋友可以先更改第3项设置,看问题是否解决,再决定是否更改前两项。建议的设置顺序改为3-2-1。产生这个问题的原因是ms从IE标准网页向国际标准W3C过渡引起的。数据执行保护(DEP)数据执行保护可帮助保护您的计算机免受病毒和其他安全威胁的破坏。这些病毒和威胁尝试从受保护的内存位置运行(执行)恶意代码来发起攻击,而只有Windows和其他程序才应使用这些位置。这种威胁通过接管程序正在使用的一个或多个内存位置来执行破坏操作。之后,它会进行传播,从而破坏其他程序、文件乃至您的电子邮件联系人。与防火墙或防病毒程序不同,DEP无法帮助防止有害的程序安装在计算机中,而是对您的程序进行监视,确定它们是否能够安全地使用系统内存。要执行监视操作,DEP软件既可以独立运行,也可以与兼容微处理器协作,将某些内存位置标记为“不可执行”。如果程序尝试从受保护的内存位置运行代码(无论是否为恶意代码),DEP均将关闭程序并向您发送通知。DEP可以利用软件和硬件支持。要使用DEP,您的计算机必须运行MicrosoftWindowsXPServicePack2(SP2)或更高版本,或者WindowsServer2003ServicePack1或更高版本。DEP软件独立运行时可帮助防御某些类型的恶意代码攻击,但要充分利用DEP可以提供的保护功能,您的处理器必须支持“执行保护”功能。执行保护是一种基于硬件的技术,用于将内存位置标记为“不可执行”。如果您的处理器不支持基于硬件的DEP,则最好将其升级为能够提供执行保护功能的处理器。再次运行被DEP关闭的程序是否安全?安全,但前提是您要针对该程序启用DEP。Windows可继续检测企图从受保护内存位置执行代码的尝试,并能够帮助防止攻击。如果启用DEP后程序无法正常运行,您可从软件发行商处获取与DEP兼容的程序版本,从而降低安全风险。有关DEP关闭程序后应如何操作的详细信息,请单击“相关主题”。如何确定我的计算机上是否启用了DEP?要打开“系统属性”,请依次单击“开始”、“控制面板”、“性能和维护”,然后单击“系统”。单击“高级”选项卡,之后单击“性能”下的“设置”。单击“数据执行保护”选项卡。注意默认情况下,DEP只针对基本Windows操作系统程序和服务启用。要使用DEP帮助保护其他程序,请选择“为下列程序之外的所有程序启用DEP”。概要MicrosoftWindowsXPServicePack2使用一项新的数据执行保护(DEP)功能,可禁止执行数据页中的代码。当尝试运行标记的数据页中的代码时,就会立即发生异常并禁止执行代码。这可以防止攻击者使用代码致使数据缓冲区溢出,然后执行该代码。简介数据执行保护(DEP)是MicrosoftWindowsXPServicePack2(SP2)支持的一种处理器功能,它禁止在标记为数据存储的内存区域中执行代码。此功能也称作“不执行”和“执行保护”。当尝试运行标记的数据页中的代码时,就会立即发生异常并禁止执行代码。这可以防止攻击者使用代码致使数据缓冲区溢出,然后执行该代码。更多信息数据执行保护(DEP)有助于防止病毒和其他安全威胁造成破坏,它们的攻击方法是从只有Windows和其他程序可以使用的内存位置执行恶意代码。此类威胁使用以下方法造成破坏:它接管某个程序正在使用的一个或多个内存位置,然后进行传播并破坏其他程序、文件甚至您的电子邮件联系方式。与防火墙或防病毒程序不同,DEP不能阻止在您的计算机上安装有害程序。但是,它会监视您的程序,以确定它们是否安全地使用系统内存。为此,DEP软件会单独或与兼容的微处理器一起将某些内存位置标记为“不可执行”。如果某个程序尝试从受保护的位置运行代码,DEP将关闭该程序并通知您。即使该代码不是恶意代码,也会执行此操作。64位Windows版本上的DEP64位处理器上的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。有关更多信息,请参阅下面的MSDN文章:()•驱动程序兼容性驱动程序与DEP的兼容性问题主要是指由PAE模式引起的兼容性问题。DEP本身可能与以下驱动程序之间存在兼容性问题:执行代码生成的驱动程序或使用其他方法实时生成可执行代码的驱动程序。始终为64位Windows版本上加载的驱动程序启用DEP支持。尽管许多创建可执行代码的驱动程序在WindowsXPSP2中可能已得到修复,但是不能保证所有驱动程序都已更新。不过,因为使用这些方法的驱动程序非常少,所以DEP本身不会产生很多驱动程序兼容性问题。大多数驱动程序兼容性问题与在32位系统上运行PAE模式有关。如果启用PAE模式,有些驱动程序可能无法加载,这是因为该设备可能无法进行64位寻址,或者驱动程序可能假定PAE模式需要超过4GB的RAM。这些驱动程序认为,当它们处于PAE模式时,它们将始终接收64位地址,并认为它们(或其设备)无法解释该地址。其他驱动程序可通过直接修改系统页表项,以便在PAE模式下进行加载,但这会导致系统不稳定。这些驱动程序需要32位页表项,但在PAE模式下它们收到的却是64位页表项。驱动程序与PAE之间最大的兼容性问题与直接内存访问(DMA)传输和映射寄存器分配有关。许多支持DMA的设备(通常是32位适配器)都无法进行64位物理寻址。当设备在32位模式下运行时,它可以对所有物理地址空间进行寻址。在PAE模式下,数据可以位于大于4GB的物理地址中。在此情况下,为使具有这些限制的设备能够正常工作,WindowsXPSP2通过提供由映射寄存器指示的32位地址,为DMA事务提供双缓冲处理。设备可以执行到32位地址的DMA事务,而且内核将内存复制到为驱动程序提供的64位地址。当系统在禁用PAE的情况下运行时,32位设备的驱动程序根本不需要实际内存来支持它们的映射寄存器。这意味着,不需要进行双缓冲处理,因为32位地址空间中包含所有设备和驱动程序。根据在基于x86和基于x64的计算机上对32位设备驱动程序进行的测试,大多数经过客户端测试并支持DMA的驱动程序都需要无限制的映射寄存器。为限制兼容性问题,WindowsXPSP2对硬件抽象层(HAL)进行了更改以模拟32位HALDMA行为。修改后的HAL使系统在PAE模式下运行时可以具有无限制的映射寄存器。另外,内核内存管理器忽略任何大于4GB的物理地址。由于对HAL和内存管理器进行了这些更改,我们预计运行WindowsXPSP2且支持DEP的系统上的设备驱动程序兼容性问题将会降到最低。开发人员备注需要可执行内存区域的应用程序在分配内存时,必须使用PAGE_EXECUTE、PAGE_EXECUTE_READ、PAGE_EXECUTE_READWRITE或PAGE_EXECUTE_WRITECOPY属性。另外,应用程序不能从默认进程堆或堆栈执行。大多数执行与DEP不兼容的操作的应用程序必须进行更新,以便与DEP保持兼容。如果某个应用程序从专用堆分配可执行内存,则必须确保该堆内存中设置了EXECUTE标志。该应用程序可以使用VirtualAlloc应用程序编程接口(API)分配具有适当保护设置的内存。如果应用程序不从专用堆分配可执行内存,则必须对其进行修改以使其从专用堆分配可执行内存。该应用程序必须使用VirtualAllocAPI创建此堆,并且至少为该内存指定EXECUTE标志。生成的任何代码必须放在该可执行堆中。在生成可执行代码后,我们建议您为该应用程序设置内存保护,以禁止通过VirtualProtectAPI对该堆进行写访问。该措施将为进程地址空间的那些可执行区域提供更多保护。配置和疑难解答与数据执行保护支持有关的故障的症状包括:在启用DEP时尝试从内存执行的应用程序中发生访问冲突。在此情况下,将出现一个对话框,指示应用程序因DEP而出现错误。该对话框包含与以下内容类似的消息:数据执行保护Windows安全功能检测到一个问题,并关闭了此程序。名称:应用程序名称发行商:应用程序发行商数据执行保护帮助保护免受病毒和其他安全威胁的破坏。它是如何工作的?(后跟“高级”和“确定”按钮。)如果DEP是导致应用程序出现错误的原因,建议您与应用程序供应商取得联系,以确定是否有可用的更新,以使应用程序在启用DEP时能够正常运行。要解决这些问题,建议您安装此更新。在单击“确定”后,将出现一个标准的Windows错误报告提示,并提供一个发送错误报告的选项。还可以通过“单击此处”选项查看收集了哪些信息。在错误报告界面上单
本文标题:ie8数据执行保护
链接地址:https://www.777doc.com/doc-840013 .html