关于Windows7兼容性与安全性

几天前阴差阳错的参加了Windows 7的兼容性测试活动营,尽管微软工程师讲的真的很不错。不过我听懂的也的确不多。哈哈,但是随着Windows 7时代的来临,尽管Windows 7宣传比Vista低调不少,但是带来的影响的确是不同凡响的。人们对待Windows 7的出现,可能还很新奇。说实话,Windows 7的确比Vista改善了不少。而影响人们升级系统的因素有这几项:系统对计算机配置的要求,价格,系统对软件的兼容性和安全性。

那首先我对兼容性说几点,或许你已经遇到过在Windows 7下的软件兼容性问题,我再废话一遍,提示那些还没真正接触Windows 7的小黑。首先在计算机上安装Windows 7,他对硬件的要求相对于Vista已经比较温和了。具体参数我就不占版面了,一查就知道的。我现在列述兼容性情况,部分借鉴于会议微软公司时发的内部指导。

兼容性方面

在Windows 7中安装应用程序,如果出现提示,询问你是否允许安装,那你就”允许”并继续。如果安装成功了,那转到步骤5。如图1
如果安装失败,而且没有安装许可提示,那你可以选中程序右键选择”以管理员身份运行此程序”,然后重新安装该程序。如成功转到步骤5。注意:如果使用的是MSI进行安装,则此步骤不是必须的。
如果安装过程中出现错误,如注册表写入,文件复制等错误,那可以试试右键单击程序选择”属性”—”兼容性”中选择此程序可以正常运作的Windows操作系统版本。如Windows XP,Windows Vista等。如图2
步骤1中,程序如果无法安装,那转到步骤8。
该步骤中应该已经安装了应用程序。
启动它,如果应用程序不能正常启动,或出现错误。那可以用步骤3中的操作实施。
如果程序成功启动,则在此模式下进行完整的整套测试,运行无误则可以转到步骤9。
如果你的程序还没有成功运行或启动成功的话,那只能说明它是Windows 7更改影响的少数程序之一。没办法,此程序修要改进,否则无法再Windows 7中正常运行。
你成功的完成方案。

好了,看着挺有”逻辑”的,哈哈。这是借鉴微软原版说明的模式。我用的英文版的Windows 7所以截图中是英文的(为了学英语),请见谅。中文的也很好找相应选项。

安全性方面

用户账户控制(UAC)是自Vista以来一种全新的保护机制。它是让交互用户使用标准用户账户运行程序并只赋予他们一组有限的权限和特权的一项关键举措。默认情况下,Windows 7将以标准用户身份运行每一个程序,即使你是管理员组的成员也是如此。但是当你用Administrator身份登陆时,UAC是被停用的。但是默认情况下,Administrator账户也没有启用。所以这里就涉及到了木马等病毒的兼容性问题,它们也很难在此环境下生存的。如图3标准用户只有读的权限,尽管你是用的是管理员账户,但是前面提到过,应用程序都是在标准用户的权限下运行的,所以病毒无法对Windows文件夹里进行写入操作。因为需要权限的时候需要你手工确定才会赋予程序权限。其中Windows Resource Protection(WRP)就是旨在以只读状态保护Windows系统。从而增强系统稳定性、可预测性和可靠性。这会影响到具体的文件、文件夹和注册表。当你试图修改、替换或者删除受WRP保护的操作系统文件时都会失败,原因是拒绝访问这些资源。有受保护的文件类型的扩展名我就不列述了,太多了就不占用版面了。这里列出默认情况下受保护的注册表项包括大多数的COM OS注册表项,例如:

HKEY_CLASSES_ROOTInterface{GUID}

HKEY_CLASSES_ROOTInterface{GUID}NumMethods

HKEY_CLASSES_ROOTInterface{GUID}ProxyStubClsid

HKEY_CLASSES_ROOTInterface{GUID}ProxyStubClsid32

少量文件夹受WRP保护,都是些操作系统专用的文件夹,如:

$(runtime.bootDrive)inetpubuddiwebrootdetails

$(runtime.bootDrive)inetpubuddiwebrootedit

$(runtime.bootDrive)inetpubuddiwebrootcontrols

$(runtime.bootDrive)inetpubuddibootstrap

在Windows 7中,Microsoft Internet Explorer 8以保护模式运行,它依旧是通过严格控制IE的运行权限,来保护用户免受攻击。在以安全模式运行的IE8是一个完整性较弱的进程,它获取不到用户的配置文件、注册表和系统文件的写访权限。低完整性的进程只能写入低完整性强制标签的文件夹、文件和注册表项。例如Temporary Internet Files文件夹、History文件夹、Cookies文件夹、收藏夹和Windows Temporary Files文件夹。对于IE8的保护措施还有很多,这里大体说下,就不做详解了。

接下来是一个重点保护模式,那就是Windows 7中的虚拟化技术。它旨在通过将具有全局影响的写操作种定向到各个用户的位置。它包括两个部分:文件夹虚拟化和注册表虚拟化。所谓虚拟,顾名思义就是不是真实的意思。它是指虚拟的文件夹或是注册表项,尽管表面看着是一回事,但是实际上地址是不一样的。当程序是以管理员身份启动时,它对于系统级位置存储文件时,这个操作是可以完成的。但是当使用受限用户账户(或是某个受UAC保护的账户)来启动相同程序时,这个操作就会失败。当应用程序写入系统位置(如Windowssystem32)时,Windows会将它重新定向到VirtualStore…目录下的用户特殊路径。然后,当程序回读该文件时,系统将提供位于”虚拟存储”中的文件。只要应用程序没有问题,它就可以成功的直接读取或写入”system32″。我们举个例子,我们打开IE浏览挂马的网址,假设网页上的网马运行了,想写入文件到system32系统文件夹里。那我在IE中模拟一下,我保存一个网页到system32中,如图4但是我们到system32文件夹中是找不到这个网页的,如图5但是你们有没有发现有个Compatibility files,中文系统也就是 “兼容性文件”。点击此按钮所打开度窗口就会出现你刚才保存的文件,但是路径已经改变了。如图6所以,当病毒去自动运行寻找文件时,是找不到的。但是假设你开启IE时右键使用管理员身份运行时,此保护功能就丧失了。所以这也是为什么建议不要启用Administrator用户。注册表虚拟化与文件夹虚拟化相似,只是它应用于HKEY_LOCAL_MACHINE_SOFTWARE下的注册表项。此项功能使得运行在受限账户下,但是需要在HKEY_CLASSES_ROOT_VirtualStore_SOFTWARE。但是随着越来越多的应用程序迁移到Windows 7中,Microsoft计划在未来版本的Windows操作系统中删除虚拟化。

反攻原理

针对UAC现在是可以通过编写恶意程序将它禁用的,因为UAC是通过策略启动的,而管理应用程序可以设置策略。但是如果禁用UAC,则会通知用户并提示启用说明。现在微软公司正在研究如何防范这种攻击。虚拟化技术也可以禁用,在本地安全策略中,将”LUA:将文件和注册表写操作失败虚拟到每用户位置”的策略设置为禁用就可以了。

好了,文章就此结束吧!看起来好像是Windows 7的说明文章了,哈哈!因为针对安全来说,知己知彼才会百战不殆。我们了解他们的防范机制才能加以突破。而那些任务等待大虾们去努力啊!有需要交流的朋友可以搜我的名字找到我,哈哈!先再见,以后希望还会继续交流网络安全技术。