从Vista到Windows 7微软用户帐户控制功能

在Windows 7中,微软改变了用户帐户控制功能的工作方式,根据来自安全专家的观点,这将会降低操作系统的安全性 。可信赖计算技术是否会因此受到影响,而变得无关紧要?
2002年1月,比尔犯谴姆⒉剂丝尚爬导扑慵际酰痈旧辖⑷淼墓ぷ髦氐愦哟唇üδ芊岣坏牟僮飨低常频奖U嫌没У陌踩鸵健8谴南壬诒竿贾薪馐退担?/p>“过去,我们致力于让软件变得拥有更多新功能和特色,让整个平台具有丰富的可扩展性,以便为用户提供更多服务 。在这一领域,我们已经作出了出色的工作,但除非用户信赖我们的软件,否则,所有的伟大功能都将变成无关紧要的 。
为了强调这一点,盖茨先生继续说:
“因此,当需要在新功能和安全之间进行选择时,现在我们必须选择安全 。我们的产品必须可以立即使用,随着安全形式的发展变化,还必须不断地进行完善和改进 。
大多数人认为这种持续的努力获得了成功,特别是随着用户帐户控制(UAC)功能的到来 。
什么是用户帐户控制
微软意识到,如果要建立可信赖计算技术,容许用户在所有时间都拥有系统管理员权限(安全方面的主要风险来源)是不可接受的 。因此,从Vista操作系统开始,微软开始了调整 。这些调整最终成为用户帐户控制功能,包含了如下所示的内容:
*在可行的情况下,进行操作的权限将从系统管理员调整为标准用户 。在这方面,最明显的一个例子就是给予标准用户调整时区设置的权限 。
*利用虚拟化技术在没有获得系统管理员权限的情况下协助程序运行 。
*对程序进行再处理,这样用户帐户控制功能就可以知道在什么情况下需要系统管理员权限 。
*确保在系统管理员权限下运行的程序和在标准用户权限下运行的程序是分离的 。
用户帐户控制功能的工作原理
用户帐户控制功能是相当复杂的 。因此,我推荐大家阅读微软公司的马克仿澄髋滴捌娣⒈碓赥echNet上的文章《深入了解WindowsVista的用户帐户控制功能》,在文中他对用户帐户控制功能的工作原理进行了详细的介绍 。
在默认设置下,用户帐户控制功能会授予用户标准权限 。如果一个程序需要系统管理员权限才能运行的话,用户帐户控制功能将询问用户是否提高该任务的权限 。这样的调整可以防止恶意软件在自动安装的时间获取系统管理员权限 。
系统管理员批准模式
用户帐户控制功能利用系统管理员批准模式(AAM)来处理权限的调整 。AAM在用户的登陆日志中创建了两个配置文件,一个用来处理标准的用户权限,一个用来提供系统管理员权限 。正如我前面提到的,UAC可以提升用户的权限 。我并不知道这里存在两种类型的调整方式 。一种叫作“即时权限提升(OTS)型,另一种则是“同意型 。
用户使用的权限调整类型,取决于他是否属于本地系统管理员组 。如果不属于的话,UAC将使用OTS型,这时请求需要获得属于本地系统管理员组的用户批准 。如果用户属于本地系统管理员组的话,UAC将使用同意型的权限调整方式,请求当前用户许可 。
看起来UAC是一个非常好的创意 。它模仿自Linux的超级用户,同时操作起来更加便利 。正如我所想的 。进一步的深入研究发现了一些问题 。
便利与安全
马克仿澄髋滴捌婧图贩阿尔钦(原微软成员)都承认,AAM模式的关注重点是方便,而不是安全 。在关于AAM模式的文章中,阿尔钦先生提到:
“该功能(AAM)仅仅是为了方便系统管理员的操作而设计的 。系统管理员可以利用该模式在不同的进程之间建立安全边界 。在这种情况下,处在隔离中的进程是有可能被干扰的 。

推荐阅读