解密Windows 7用户帐户控制(UAC)

来源:岁月联盟 编辑:zhuzhu 时间:2009-03-25
解密Windows 7用户帐户控制(UAC)内容简介:导言 如果你还没有听说过用户帐户控制(UAC),那么有必要花一些时间看看关于Vista和UAC的资料信息。UAC最初出现在Vista系统中,一直以来都是XP系统后的系统中最受关注、讨论最多、争议最多的技术。 现在我们已经看   导言

如果你还没有听说过用户帐户控制(UAC),那么有必要花一些时间看看关于Vista和UAC的资料信息。UAC最初出现在Vista系统中,一直以来都是XP系统后的系统中最受关注、讨论最多、争议最多的技术。 现在我们已经看到了完整版本的Vista系统,而下一代系统Windows 7正在进行测试和评估,很多人对其包含UAC功能表示不满。本文将对新旧UAC技术进行对比分析,帮助用户确定是否需要考虑使用Windows 7和UAC。

  UAC的设计目的

UAC功能最初的设计目的是为了解决需要管理特权的应用程序问题,让最终用户配置为本地管理员。最开始的时候,UAC被称为LUA(最小特权用户访问),但是由于发现并不只是解决这个问题时被立即改名了。

最终的产品UAC是一个安全相关的技术,目的在于保护操作系统文件以及注册表,防止恶意软件、病毒和代码试图更新电脑保护区域。该恶意软件试图添加、修改删除操作系统的关键部件以在不被发现的情况下控制计算机。

UAC运行方式

(Vista和Windows 7的)UAC都是以类似的方式运作,在windows7中有一些Vista没有的功能,在下文中我们将讨论到。UAC的工作就是在例行功能中去除用户执行的应用程序、任务、功能或者行动的“特权”。其实UAC适用于这两种不同的模式:属于本地管理员组成员的用户以及不属于本地管理员组成员的用户。

如果看看vista系统的UAC功能的运作方式,我们就能对比出其与windows 7的不同。我们需要审视这两种运作模式,首先,让我们看看非管理员登录的情况,在这种情况下,用户没有管理权限凭证来登录,这样当要求管理权限时所有应用程序、任何或者功能将无法运行。当启用UAC功能时(默认情况下会弹出确认对话框),会弹出对话框让用户输入管理权限帐户用户名和密码。当输入这些信息时,只有UAC功能标记的和要求的应用程序、任务或者功能能够有管理权限操作。图1显示的是UAC弹出确认对话框。

解密Windows 7用户帐户控制(UAC)【图】_

 图1:UAC对标准用户的确认提示框

 
    接下来,我们需要调查Vista系统的UAC在“管理员”已登录的情况,在这种情况下,当用户使用管理员权限登陆时,UAC基本上会取消所有管理权限,只到有任务需要管理权限为止。这样做的话,后台应用程序、病毒、恶意软件、蠕虫等就不能使用登录凭证修改操作系统文件和注册表。如果看看属于域管理员组成员的用户帐户登录后的验证令牌,我们就能够清楚地看到“管理特权”已经被取消。图2清楚地显示了域管理组SID已经将令牌设置为“拒绝”。
 


   

解密Windows 7用户帐户控制(UAC)【图】_

图2:UAC设置域管理组(Domain Admins group) SID来拒绝对令牌的使用

 
    这是管理员登录最重要的方面,因为几乎所有被写入的恶意程序都利用了当前登录的信息,拒绝令牌使用时就能使恶意程序失效。当然这样做的不利影响就是所有应用程序(即使是那些众所周知的程序)在启动时都会弹出确认对话框以启动程序,这种对话框正如图3所示。
    
   

解密Windows 7用户帐户控制(UAC)【图】_

图3: 在进行某操作前UAC将弹出确认对话框让用户确认


    
    当你第十次运行一个已知为安全的应用程序,并且第十次看到确认框时,会感到非常厌烦。我们知道,安全向来都是很麻烦的。不过这样做的好处时,当恶意应用程序试图靠近受保护的文件或者注册表项时,就会出现提示框,提示用户有东西正在后台运行,而此时用户并没有启动任何程序。

这种对于非管理员和管理员的提示框是UAC最安全模式,任何启动的任务都会要求管理权限。任何比这种提示框模式低级的保护模式都不能保护计算机免受恶意软件或者病毒的攻击,因为后台活动很难被发现并且将改变系统。

   Windows 7的UAC功能选项

Vista的这种UAC功能模式让很多管理员和公司(非管理员)对Vista敬而远之,微软公司被迫解决UAC中被认为“让人厌烦的”弹出式窗口问题,而在Windows 7中微软公司想出了所谓的UAC滑块模式。

该滑块控制运行计算机管理员控制部署UAC提示和安全的级别,该滑块可以控制哪种类型的应用程序将出现弹出窗口,哪些程序可以不需要提示窗口。总共有四种不同的滑块设置,如图4所示。

解密Windows 7用户帐户控制(UAC)【图】_

 图4:windows 7中的UAC 滑块

 
    这四种级别定义如下:

1. 对每个系统变化进行通知。这也就是Vista的模式,任何系统级别的变化(windows设置、软件安装等)都会出现UAC提示窗口。

2. 仅当程序试图改变计算机时发出提示。当用户更改windows设置(如控制面板和管理员任务时)将不会出现提示信息。

3. 仅当程序试图改变计算机时发出提示,不使用安全桌面。这与第2有些类似,但是UAC提示窗口仅出现在一般桌面,而不会出现在安全桌面。这对于某些视频驱动程序是有用的,因为这些程序让桌面转换很慢,请注意安全桌面对于试图伪装响应的软件而言是一种阻碍。

4. 从不提示,这也等于完全关闭UAC功能。

很多人表示,滑块是个很不错的选择,当然第1是最安全的设置。但是即使是第1也已经被攻击过,微软系统的安全性确实值得人质疑。

windows 7的UAC可以使用滑块来选择提示级别,而vista系统中只有提示模式和非提示模式。最安全的设置通常是最让人厌烦的,但是非常安全。非提示环境基本上让Windows 7计算机的安全性回到XP系统水平。

总结

因为Vista系统提供UAC功能,因此Vista比XP更加安全。如果你选择非提示模式或者禁用UAC,那么系统安全性就基本与XP系统差不多。如果你运行windows 7中除最安全模式以外的模式,那么安全性也将回到XP水平。安全从来都不是轻而易举可以实现的。如果你决定禁用伟大的UAC安全功能或者将选择较低级别的滑块,那么你就错过了Windows系统为你提供的最佳安全模式。如果安全不是大问题,为什么要升级系统?当新版本ConFlicker发动攻击时,你会发现确实值得花钱升级至windows 7系统。