作者Heelen年仅19岁,从2003年开始接触网络并学习计算机,但现在已经是微软最有价值专家(MVP)之一,学习范围较广,从Windows Client到Windows Server,从网页设计到编程,其中最擅长的是Windows Client的系统维护、安全设置等。
为懒人做出的妥协——UAC诞生记
1.Windows 2000/XP倡导的多用户权限
大家知道在Windows 2000和XP中采取了多用户的特性,用户权力和权限因此得到了很好的分配,使不同用户组的用户在默认情况下只能进行某些系统操作,从而提高了系统的安全性。如果再搭配NTFS文件系统的“控制访问列表”特性,那么整个系统的安全性将会大大增强。例如,Guests用户组的用户无法安装软件,Users用户组的用户无法更改系统时间。而Administrators是具有系统最高权限的用户组,其用户可以进行几乎所有的系统操作。
2.懒人的安全哲学——越方便越好
权力是一把双刃剑,它既可方便用户使用和配置系统,又时时对系统造成很大的威胁。微软建议用户在日常操作时使用权力较低的Users组或Power Users组用户,需要进行系统配置时再使用Administrators组用户登录系统进行操作。为了更好地方便使用,Windows 2000和XP提供了一个“Runas”命令,通过该命令可以在不注销当前用户的情况下以其他用户的身份运行某个程序。不过为了贪图方便,绝大部分的用户日常操作时都是使用Administrators组用户,甚至根本没有设置密码!这样当运行了某个病毒程序后,该病毒程序就会获得与当前用户同样高的权力,对系统造成严重的威胁。
显然,微软早就注意到这个现象,也煞费苦心了一番,终于在Windows Vista中提出了一个全新功能:User Account Control(简称UAC)。
彩色盾牌的秘密——UAC怎么保护系统
UAC旧称为UAP(User Account PRotection),其作用是当用户进行一个对整个系统有影响的操作时,先中断该操作,并提示用户进行确认或者取消(如果当前用户不具备管理员权限,那么会提示输入管理员账户及密码)。那么,究竟哪些操作会激活UAC功能呢?在Windows Vista中需要经过UAC验证的操作选项前面都会显示一个彩色盾牌,见下图。
UAC的提示窗口有两种,如果当前用户拥有管理员权利,那么UAC默认就会提示用户进行确认。我们可以单击“细节”箭头,此时就会显示该程序的详细路径,帮助用户确定该程序是否为可信赖程序,见下图。
如果当前用户不具备管理员权利,那么就会提示用户选择一个管理员账户并输入相应的密码,见下图。
UAC的这个特性,很有效地保护了系统。比如当前用户不小心运行了病毒程序,该病毒程序在后台暗箱操作,想进行一些对系统破坏性的操作。如果是Windows Vista以前版本的系统,那么这些操作由于在后台发生,用户都是无法知晓的。但现在,UAC不管前台还是后台的操作,都会像一个坚固可靠的火警装置一样主动进行拦截,并出现提示窗口提示用户。如果用户发现自己没有进行某项操作或运行某个程序,而出现UAC提示窗口了,那很可能就是病毒在作怪了。
不要留给恶意程序任何机会——UAC的安全桌面
大家可能会发现,在系统出现UAC提示窗口时,整个桌面会暗下来,只有UAC提示窗口高亮度显示。此时只能在UAC提示窗口中进行操作,而无法进行其他任何操作。
这个就是Secure Desktop(安全桌面)特性,它是Windows Vista在最近的测试版本中新添加的一个功能,它能够有效地预防了一些恶意程序利用欺骗手段来通过UAC的验证。例如,在没有Secure Desktop特性的Windows Vista上,恶意程序可以模拟一个UAC提示窗口(覆盖真正的UAC提示窗口),以此盗取用户输入的管理员密码。或者,恶意程序可以隐藏用户真实的鼠标指针,然后模拟一个鼠标指针。在出现UAC提示窗口提示用户“确定”或“取消”操作时,用户点的是“取消”按钮,而其实被隐藏的真实的鼠标指针点的却是旁边的“确定”按钮。
在结合了Secure Desktop特性的UAC功能,只允许当前系统中以SYSTEM身份运行的进程不经过UAC监控,而以其他身份运行的程序都难逃UAC的法眼。
没有东西是完美的——UAC的兼容性弊端
1.管理员也有可能被束缚
除了系统内置的管理员账户“Administrator”不受UAC束缚外,计算机上所有的用户都要受到UAC的控制。这样一来,即便是就具有管理员权利的用户,运行一些程序或者访问一些资源,都被UAC所拦截,需要确认操作才可以继续,这无疑造成使用上的不便。而且,正是UAC大大限制了管理员账户对资源的权限,导致管理员账户无法运行一些管理命令,例如“BCDEdit”。在“命令行提示”下运行“BCDEdit”命令后,出现“无法打开启动配置数据存储,拒绝访问”的错误提示。但是,此时没有出现UAC提示窗口和任何导致该错误的详细解释,很容易让普通用户摸不着头脑,见下图。
2.烦琐的操作,删除快捷方式竟要7步
在应用了UAC的Vista上删除快捷方式需要这些步骤:①按下Delete键。②提示“删除快捷方式并不会移除程序,您确定要将快捷方式移到回收站吗?”,选择“是”。③提示“快捷方式无法被移除到回收站,您要将其永久删除吗?”,选择“是”。 ④提示错误“您没有删除这个档案的权限。请按‘继续’完成操作” ,按“继续”。⑤提示“Windows需要您的许可进行文件操作。”,点击“允许”。 ⑥快捷方式并没有按照第三步的要求进行操作,快捷方式进了回收站。⑦清空回收站,再次点“确定”。
安全是安全了,可是删完之后人已经疯了……
3.新功能,意味着新的兼容性测试
Windows Vista上出现了很多兼容问题,其中UAC和第三方应用程序的兼容性也是其中之一。就如Windows 2000/XP时代由于当前用户权力的限制,部分程序无法访问相关资源而出现错误一样,UAC也有可能与第三方应用程序出现类似的兼容问题。目前据微软UAC开发部的人员称,日后的第三方软件应需要经过微软的测试,才可以获得“Certified for Windows Vista”的LOGO。
4.如果UAC造成了麻烦,我们可以这么干
如果由于UAC造成了某些软件的使用故障,那么在这个软件通过微软新的兼容性认证之前,我们只能选择关闭UAC功能,依次打开“控制面板→用户账户”,单击“更改安全设置”选项,然后取消“使用用户账户控制(UAC)帮助保护您的计算机”的勾选,最后重新启动,见下图。
后记:目前Windows Vista仍然处于测试阶段,所以UAC功能难免有些不足。很多用户都想把该功能禁用,但是在一般情况下并不建议这样做,因为该功能确实能够在很大程度上保护计算机的安全。同时希望微软在正式版的Windows Vista能够为UAC设计一个折衷的兼容性解决方案,比如类似Windows xp SP2中DEP的保护列表,让用户能够有选择地将程序设置为不受UAC监管。