[蓝]CPU防病毒?WinXP SP2的DEP技术揭秘

内容摘要

  众所周知,Windows XP SP2中增加了一项安全新功能——DEP(Date Execution Prevention数据执行保护),可以保护计算机免受病毒的破坏。为了配合微软的DE
文章正文
  众所周知,Windows XP SP2中增加了一项安全新功能——DEP(Date Execution Prevention数据执行保护),可以保护计算机免受病毒的破坏。为了配合微软的DEP技术,Intel和AMD都开发了相应的防病毒CPU。

  DEP的防病毒原理

  如果你的系统升级到了SP2,启用SP2的DEP功能即可防范病毒破坏,这是因为DEP能够对各种程序进行监视,阻止病毒在受保护的内存位置运行有害代码。DEP通过处理器的NX(No eXecute)功能,查找内存中没有明确包含可执行代码的数据(这些数据有时会是病毒的源代码),找到这些数据后,NX将它们都标记为“不可执行”。以后如果某程序在内存中,试图执行这些带“不可执行”标记的代码,SP2将会自动关闭该程序。因此,假如你运行了一个已经染毒的软件,DEP就会把病毒代码标记为“不可执行”,这样就能阻止病毒在内存中运行,保护电脑中的文件免受蠕虫、病毒的传染破坏。

  如果你想充分发挥DEP的保护功能,除了要把系统升级到SP2之外,你的CPU还必须支持DEP技术。目前常见的32位处理器(例如P4 Northwood等)并不支持NX,支持该技术的CPU主要有AMD的64位处理器(Athlon 64、AMD Opteron),以及Intel的安腾系列CPU、J系列的P4 Prescott,据说nVIDIA、VIA、全美达等公司也计划在其芯片中加入NX技术,不过这些厂商更新NX的步伐过于缓慢,正式推出还有待时日。

  启用或禁用DEP的方法

  默认情况下,SP2仅对基本 Windows 程序和服务启用了DEP。不过你也可以自己设置,让电脑上的所有程序都启用DEP,以便防范病毒。

  例如除了Acrobat Reader5.0之外,要让所有的程序和服务都启用DEP,操作方法是:以管理员权限账户登录SP2,然后单击“开始→设置→控制面板”,双击“系统”,单击“高级”选项卡,单击“性能”下的“设置”,单击“数据执行保护”选项卡,选中“为除下列程序之外的所有程序和服务启用 DEP”(如图),单击“添加”,导航到“Program Files”文件夹,选择该程序(Acrobat Reader 5.0)的可执行文件(扩展名为.exe),最后单击“确定”完成。

  如果你要为某程序(例如Acrobat Reader 5.0)禁用DEP,可以单击以上的“添加”按钮,把它加到列表中即可。以后该程序就很容易受到攻击,病毒能够潜入该程序中,然后再传染给电脑上的其他程序及Outlook中的联系人,并且破坏你的个人文件。如果有的程序启用 DEP 后无法正常运行,你可以向软件厂商索取兼容DEP的程序版本,如果没有这样的版本则禁用DEP。

  为了支持DEP,P4 Prescott采用了EDB 技术

  为了配合微软的DEP功能,Intel为自己的CPU开发了“Execute Disable Bit”(EDB)内存保护技术。目前Intel P4 Prescott(mPGA478与LGA775封装)为C0或D0步进核心,最新的J系列P4 Prescott采用E0步进核心。其中只有J系列P4 Prescott具备防病毒功能,只有它才真正支持EDB技术,能够配合SP2的DEP防毒功能,让针对缓冲区溢出(buffer overrun)漏洞设计的病毒失效,预防它们复制并散播到其他系统。

  如果你使用了P4 Prescott/Celeron D(C0步进核心)的处理器,升级到SP2之后,就会发现Windows XP操作系统死锁在启动画面,但换上P4 Northwood却不会出现这个问题。这是因为SP2能够开启P4 Prescott (C0步进核心)内含的EDB 功能,但是这种型号的CPU并没有EDB的执行能力,其内部EDB部分的晶体管不会加电运作,因此会导致系统死锁。为了解决这个问题,微软已在9月14日发布了相关修正文件,大家可以到微软的官方网站去下载。Windows XP英文版用户下载地址是 http://download.microsoft.com/download/c/a/5/ca5f5398-2391-42e6-8b40-f6ec4db31c88/WindowsXP-KB885626-v2-x86-enu.exe ,Windows XP简体中文版用户下载地址 http://download.microsoft.com/download/2/b/7/2b75ebbf-ce4c-4595-8ddf-4d45e4c1ca18/WindowsXP-KB885626-v2-x86-chs.exe 

  为了支持DEP,AMD的64位CPU使用EVP技术

  AMD 64位处理器最先支持微软的DEP技术。为了配合DEP,AMD与微软一起设计研发了AMD的新芯片功能“Enhanced Virus Protection”(EVP增强病毒保护)。AMD 64位处理器(包括Athlon 64/Athlon 64 FX/Athlon 64移动版本/Sempron移动版本等)都将具有EVP功能。EVP功能可以和SP2的DEP技术配合,防范“缓存溢出”这一常见攻击手段,打击一些病毒和蠕虫,对收发电子邮件、下载文件等日常工作进行更好的保护。

  不过在AMD 64位处理器的机器上安装SP2之后,只要你的电脑启动了DEP功能、并且配置了要求名为Mpegport.sys驱动程序文件的硬件设备,当你使用Sigma设计公司的Realmagic Hollywood Plus DVD解码软件时,就会与DEP发生冲突。这是因为比较老的驱动程序会进行一些与病毒类似的操作,于是SP2就误认它为病毒,从而启动DEP,导致电脑反复地重新启动。为了解决这个问题,微软建议用户更新这个较老的驱动程序,或者为这个解码软件禁用DEP,关掉SP2的病毒防护功能。
代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!