在微软攻打新一代操作系统Longhorn的途中,发现Windows XP也存在一些不合理不完善的机制。于是作为新旧两代操作系统的过渡,Services Pack 2一贴膏药直指Windows XP肚脐。SP2彻底打破了以往常人眼中的“补丁”形象,Windows XP的安全性添上了浓墨重彩的一笔。但传说中的SP2兼容性差又是怎么一回事呢?没有遇过SP2兼容性问题经历的人也许并不当回事,但是当使用了P4 Prescott/Celeron D(C0步进核心)的处理器的用户遇到安装SP2后,系统停滞在启动画面而不能启动的情况;或者有时某些编码格式的DVD电影无法正常播放等,人们纷纷把质疑的目光投向SP2夺目的光辉。
笔者最近使用Realmagic Hollywood Plus DVD解码软件,遇到了无法播放,频频出错的情况。
图1到微软的官方技术支持网站询问,原来是SP2的DEP在捣鬼。
数据执行保护DEP可帮助保护您的计算机免受病毒和其他安全威胁的破坏。某些恶意软件会利用软件的安全漏洞发动攻击,这些漏洞允许过多的数据被复制到计算机内存的某个区域。这种漏洞一般被称作缓冲区溢出。Microsoft 正在与微处理器公司合作,以便让 Windows 支持由硬件强制实施的执行保护(也被称为NX或无执行)特性。通过这种方式,当某个发动攻击的蠕虫或病毒将程序代码插入到一块被标记为仅包含数据的内存部分时,应用程序或 Windows 组件将不会运行这些代码。从Windows XP Service Pack 2开始,32 位版本的Windows利用了 64位AMD 和Intel Itanium 处理器家族的NX特性对软件执行保护。换句话说,CPU已经开始具有杀毒功能。但是如果没有用这些处理器的用户又怎样享受到相近的待遇呢?Windows XP Service Pack 2中可以实现软件DEP技术帮助系统抵御恶意代码。
右键单击“我的电脑”,点击“属性”,打开系统控制面板,点击“高级”→“性能”→“设置”→“数据执行保护”,系统默认只对Windows内部程序和服务启用DEP。这里勾选为“除下列选定程序的所有程序和服务启用DEP”,即可对全部程序加以执行保护。
图2但DEP的启用也会带来一些弊端,总结起来有三点:
1.和老版本的驱动(包括上文提到的解码软件)冲突,因为老版本的驱动有些指令与恶意代码有些类似。这时,只要在数据执行保护对话框中,点击“添加”,添加不需要执行保护的运行中会调用老版本驱动的程序即可。
2.给程序添加DEP后会降低程序的性能。
DEP本身可能存在安全漏洞。莫斯科安全公司Positive Technologies披露了DEP的两个漏洞。该公司开发了一个小补丁:PTmsHORP(下载地址:[url=http://www.pccode.net]asp"http://www.maxpatrol.com/ptmshorp.asp)。运行后即可对全部程序的DEP打上补丁。
图3【总结】DEP在保护计算机不被恶意代码侵害的同时,也有本身所固有的种种缺憾。但总体来说,DEP打破了缓存区溢出漏洞无法弥补的神话,在处理器厂商的配合下。必然会引领操作系统的趋势。