在boot.ini文件中DEP always(“/ NoExecute = AlwaysOn”)和DEP退出(boot.ini文件中的“/ NoExecute = OptOut”)之间有什么区别?
“无例外”= DEP不适用的程序清单。 DEP = 数据执行保护 (硬件)。
人们会期望它以相同的方式工作,但是对于某些应用程序会有所不同:
例如UltraEdit 14(14.2)的所有版本。 它始终在DEP启动时崩溃,至less在Microsoft Windows XP专业版x64版本上。 ( 2010-03-11更新 :UltraEdit 15.2及更高版本修复了此问题。)
更新2010-07-12 : Mozilla Thunderbird 2.0.0.19在DEP设置为最高级别(如UltraEdit所用)时也会在启动时崩溃。
Windows XP,Windows Vista和Windows 7有区别吗?
Windows的32位和64位版本有区别吗?
configuration描述
OptIn此设置是默认configuration。 在具有可以实施硬件强制DEP的处理器的系统上,默认情况下DEP被启用用于“selectjoin”的有限系统二进制文件和程序。 使用此选项,默认情况下,只有Windows系统二进制文件被DEP覆盖。
所有进程默认启用OptOut DEP。 您可以使用“控制面板”中的“系统”对话框手动创build没有应用DEP的特定程序的列表。 信息技术(IT)专业人士可以使用应用程序兼容性工具包来“select退出”DEP保护中的一个或多个程序。 系统兼容性修补程序或填充程序可使DEP生效。
AlwaysOn此设置为整个系统提供完整的DEP覆盖。 所有进程始终在应用DEP的情况下运行。 从DEP保护豁免特定程序的例外列表不可用。 DEP的系统兼容性修补程序不会生效。 通过使用应用程序兼容性工具包select退出的程序在应用DEP的情况下运行。
AlwaysOff无论硬件DEP支持如何,此设置不会为系统的任何部分提供任何DEP覆盖。 处理器不能以PAE模式运行,除非Boot.ini文件中存在/ PAE选项。
将系统DEP策略级别设置为OptOut允许任何32位线程调用SetSystemDEPPolicy(0),这将禁用分配给该进程的内存空间的DEP保护。 如果系统的DEP策略设置为AlwaysOn,则SetSystemDEPPolicy的调用将引发错误。
对于问题1:根据Fabrice Roux的说法(见下文),我认为这种差异是由微软在OptOut硬件DEP中投入的后门造成的。 在IrfanView的情况下,Steve Gibson观察到了与我为UltraEdit所做的相同的区别(见问题),不同之处在于微软编写后门的非DEP感知EXE打包程序(ASPack)。
资料来源:
来自http://blog.fabriceroux.com/index.php/2007/02/26/hardware_dep_has_a_backdoor?blog=1,Fabrice Roux撰写的“硬件DEP有一个后门”。 2007-02-26。 “IrfanView没有使用任何技巧来逃避DEP …微软只编写了一个后门,只用于OPTOUT。Bascially微软检查可执行头匹配其中一个string的部分,如果find这些string,将DEPclosures这个应用程序的Windows … …“aspack”,“pcle”,“强制”
来自http://www.grc.com/sn/sn-078.htm ,由Steve Gibson提供。 “我在任何地方都找不到任何有关微软网站的文档,因为我们看到了永远在线和退出之间的差异。也就是说,你会想像永远在线的模式将会和你select时一样没有select退出程序,事实并非如此,例如… IrfanView文件查看器…在退出模式下运行良好,即使它没有被select退出,启动时,Windows阻止它启动…在永远在线模式。
来自http://www.grc.com/sn/sn-083.htm ,由Steve Gibson提供。 “… IrfanView …不会在打开DEP的情况下运行,这是因为它使用了一个EXE打包程序,一个名为ASPack的可执行压缩程序,而且这样做并不合适,因为一个可执行的压缩程序自然需要解压缩可执行文件,所以它分配了一堆数据内存,解压缩压缩的可执行文件,然后运行它,运行一个数据分配,这正是DEPdevise的目的,另一方面,UPX,这实际上是领先的和最受欢迎的EXE压缩机,它是DEP兼容的,因为那些家伙意识到,嘿,当我们分配这个内存时,我们应该把这些页面标记为可执行的。
Windows XP Service Pack 2,Windows XP Tablet PC Edition 2005和Windows Server 2003中的数据执行保护(DEP)function的详细说明
更短,更快捷的标题是MS KB 875352 😉
超过你所需要知道的…
史蒂夫·吉布森(Steve Gibson)的安全主页上有一个相当大的讨论。 另外,他们在现在的安全播客中经常讨论这个问题 。 您也可以在grc.com上find抄本
KB 875352实际上是:OptOut允许您指定DEP不适用的程序列表,AlwaysOn将始终将DEP应用于所有内容。
我知道这是一个古老的线索,但今天我再次问到这一点,并希望把这个rest。 AlwaysOn将在所有程序上启用DEP。 OptOut意味着用户可以指定将是OptOut DEP的应用程序。 如果应用程序未在例外中列出,则为该应用程序启用DEP。