现在,Windows XP 64 Professional x64 Edition(以下简称Windows XP 64)已经正式推出,和32位的Windows XP相比,它有哪些显著的变化呢?
系统安全性体验 如果将AMD 64位处理器的EVP功能和64位Windows XP的DEP技术结合起来,就能将病毒等恶意代码的防治提高到一个全新的高度。这对防止利用缓冲区溢出(关于缓冲区溢出,请查阅SP2发布的相关资料)对系统进行攻击的病毒非常有效。
简单地说,EVP(Enhanced Virus Protection,增强型病毒防护)是AMD Althlon 64处理器中采用的一种全新的防毒技术,但它只提供硬件支持,要发挥这一功能,还必须与Windows XP SP2或64位Windows XP的DEP(Date Execution Prevention,数据执行保护)技术相结合。两者结合后将生成一种全新的恶意代码防御机制:将所有内存位置均标记为不可执行——除非该位置已明确包含可执行代码。当有攻击程序企图在不可执行的内存位置中插入代码并执行代码时,这一行为将会被阻止。不难想象,除非得到了用户的允许,不明代码是很难执行的,这能在很大程度上扼制病毒等恶意代码的入侵。
在采用了64位处理器的电脑上安装64位Windows XP后,EVP和DEP功能将自动打开。右击 “My Computer”,选择“Properties(属性)” “Advanced(高级)” “Settings” “Data Execution Prevention(数据执行保护)”,可看到图7界面。
与任何新技术应用初期都存在兼容问题相同,有些软件(比如上网助手)在启动了EVP和DEP的64位电脑上不能正常运行,报错提示如图8所示。我们可通过修改图7的选项来改变这种状况,下面以设置“上网助手”为例进行说明。
方法一:默认情况,图7中的选项是“Turn on DEP for essential programs and services(仅为基本Windows程序和服务启用DEP)”。请选择“Turn on DEP for all programs and services except those I select(为除下列我选定程序之外的所有程序和服务启用DEP)”,再单击“添加”,定位到“上网助手”的安装目录,再选中启动“上网助手”的可执行程序,然后单击当前界面上的“打开”即可将其添加到允许运行的列表中。经过这样的处理后,被DEP阻止的程序一般都能正常运行,修改图7中的选项后,必须重新启动电脑才能生效。
方法二:直接修改boot.ini文件
在图7中选择不同的选项时,boot.ini文件的内容会自动发生变化。在安装了64位Windows XP的电脑上,该文件的内容近似如下:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1\WINDOWS1
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS1="Microsoft Windows XP Professional" /noexecute=OptIn /fastdetect
提示:[operating systems]后(不包括它)的内容是一行。
对这一文件有所了解的朋友可能已注意到了,它多出了一个参数,即:/noexecute,这一参数的取值可以是AlwaysOn、 AlwaysOff、OptIn 、OptOut中的任一个。当在图7中选择“Turn on DEP for essential programs and services”时,/noexecute=OptIn,这也是系统的默认值;当在图7中选择“Turn on DEP for all programs and services except those I select”时,/noexecute=右边的值会自动被修改为OptOut。
可是图7中只有两个选项,也就是说,仅通过图7的不同选择,/noexecute的值只能在OptIn 和OptOut间跳转,无法设置其它的两个值。但就算将/noexecute的值赋为OptOut,再将被DEP阻止的程序添加到图7的放行列表中,某些程序还会被阻止。为解决这一问题,唯一的办法就是手动修改boot.ini文件。
当/noexecute=AlwaysOn时,便将整个系统置于 DEP 保护范围以内。在这种状态下,很多程序都不能运行,提前添加到图7放行列表中的程序也不例外,甚至包括微软Office下的组件和IE等,而且报错的提示还不一样。如图9所示,上部是启动Word时的报错提示,下部是启动IE时的报错提示。将这一功能用于某些特殊的场合倒是不错的选择,比如与网络连接无关的局域网服务器等。
当/noexecute=AlwaysOff时,相当于关闭了DEP和EVP功能,凡是被其阻止的程序都能正常运行。我们可在这种状态下暂时运行某一程序,但一定要注意网络安全,工作完成后马上恢复。
提示:当/noexecute=AlwaysOn或AlwaysOff时,图7呈灰色,不能对其进行任何设置。