
文章插图
首先,考虑提升对话框本身 。它显示将被授予管理权限的主要可执行文件的名称和发布者 。遗憾的是,尽管越来越多的软件发布者为其代码添加了数字签名,但仍然有一些软件发布者没有这样做,并且还有许多未添加签名的旧版应用程序 。对于未签名的软件而言,提升对话框只会显示可执行文件的文件名,因此,对于某些恶意软件(例如,已采用用户帐户运行并且正在监视未签名 Setup.exe 应用程序安装程序的提升)而言,将能够将可执行文件替换为恶意的 Setup.exe,而用户却一无所知(请参阅图 1) 。
其次,该对话框不会告知用户可执行文件在启动时将会加载哪些 DLL 。如果可执行文件位于用户可以控制的目录中,则使用用户标准权限运行的恶意软件将能够替换该位置中软件将使用的任何关联 DLL 。此外,恶意软件可以使用并行功能,使可执行文件加载应用程序或系统 DLL 的恶意版本 。并且,除非用户警惕地单击详细信息按钮,并仔细查看为提升可执行文件列出的文件路径,否则恶意软件可以将可执行文件复制到名称类似的位置,例如,/ProgramFiles/Vendor/Application.exe(注意应为“Program Files”的内容中缺少的空格),在该位置中,恶意软件将可控制应用程序加载哪些 DLL 。在图 2 中,我已将 Microsoft 网络监视器的一个组件复制到用户创建的 C:/ProgramFiles 目录(用户可控制该目录),并启动了该组件 。

文章插图
最后,为了实现应用程序兼容性,提升的应用程序与标准用户环境共享实质性状态,恶意应用程序可以使用该状态来影响提升的应用程序的行为 。就这一点而言,最直观的示例就是用户的注册表配置文件 HKEY_CURRENT_USER (HKCU) 。该配置文件是共享的,因为用户希望他们作为标准用户注册的设置和扩展能够在提升的应用程序中工作 。恶意软件可以使用 HKCU 中注册的外壳扩展来加载到使用任何外壳浏览对话框(比如“打开文件”和“保存文件”)的已提升应用程序中 。其他各种状态也是共享的,特别是基本命名对象命名空间,应用程序将在其中创建同步和共享内存对象 。举例来说,恶意软件可以利用该共享来劫持提升的应用程序使用的共享内存对象,从而对应用程序和系统造成危害 。
至于 Windows 完整性机制,由于我前面提到的提升问题,因此它作为屏障的有效性是有限的,而它还存在由于应用程序兼容性而导致的限制 。举例来说,UIPI 不会阻止标准用户应用程序在桌面上绘图,这一点可能会被用来欺骗用户,采用为恶意软件授予管理权限的方式来与提升的应用程序交互 。同时,Windows 完整性机制也不能跨网络应用 。采用 PA 帐户运行的标准用户应用程序将能访问 PA 帐户具有管理权限的远程系统上的系统资源 。如果解决这些限制,将会对应用程序兼容性造成很大影响 。尽管如此,我们一直在探寻提高系统安全性(例如,改善保护模式 IE),同时解决应用程序兼容性问题并与软件开发人员密切配合的方法 。
那么,当您在启用了 UAC 的情况下采用 Windows Vista PA 帐户运行时,您将得到什么程度的恶意软件防护?首先,请记住,要使任何这种情况发生,恶意软件首先必须进入系统并且开始执行 。Windows 具有许多深层防御功能,其中包括数据执行保护 (DEP)、地址空间加载随机化 (ASLR)、保护模式 IE、IE 8 SmartScreen 筛选器,以及可以帮助防止恶意软件进入系统并运行的 Windows Defender 。
推荐阅读
- 孕妇可不可以吃芦柑
- 双厨狂喜什么意思?双厨狂喜出处
- 科目二靠边停车30公分技巧 靠边停车30公分技巧
- 杭长高速起点和终点 长深高速起点和终点
- 蚂蚱吃什么是益虫还是害虫 蚂蚱吃什么
- 三星手机是安卓系统吗?
- 如何选择空开?如何选择空开安数
- 网页不能复制粘贴页不能复制粘贴文字怎么办
- 北回归线有什么用 北回归线是指什么