网络安全 频道

Vista安全与易用 深度解析UAC功能

    当微软对这种设计进行可用性测试的时候,迅速得到两个反馈:第一,系统请求同意的次数太频繁了;第二件事情是,C-A-D组合键的使用让大多数用户感觉很困扰,大多数人通常把它联系到调出任务管理器的操作。为了解决第一个问题,微软检查了系统,并仔细的分析了各个任务,确保只有在操作真正需要管理员权限的时候才弹出提示框。微软还与应用软件厂商进行了交流,以确保除非真正需要,他们的软件无需要求用户具有管理员权限,以及让他们对应用程序进行兼容性升级,从而减少弹出验证提示框的次数。

    第二个问题要更加难于解决,因为C-A-D方式实际上是可以确保你不会被恶意软件所欺骗的唯一方法。但是,如果微软一直需要键入C-A-D组合键,大多数用户将会选择一直作为管理员登陆系统,这与潜在的信用欺骗的安全风险相比,是一个更加严重的安全风险。因此,默认情况下,C-A-D功能将被禁用,但是Vista依然在安全桌面模式下请求同意操作,这样,用户可以了解这是一个来自系统的特殊请求。最终,微软在Vista操作系统中保留了UAC的C-A-D整合功能,但是默认情况下,系统禁用了这个功能。假若一个用户想要使用该功能的话,他们也可以通过组策略或本地策略来轻松将其打开。网络系统管理员也可以通过组策略来启用UAC的C-A-D功能。因此,如果你想要得到一个更安全的Vista,那么打开UAC的C-A-D功能吧。

图1(点击看大图)

    注意:如果你的系统中已经有了木马等恶意软件,那么UAC功能有可能不会帮助你发现他们。

    正如上面所讨论的,微软一方面希望让那些以本地管理员身份登陆的用户具有非常好的可用性,但是同时又要让他们可以得到比在XP中更好的安全体验。为了达到这个目的,微软创建了一个UAC模式,叫做管理同意模式(admin approval mode)。默认情况下,所有属于本地管理组的成员登陆系统后,都默认处于这种模式,每一个具有管理特权的用户一般作为一个普通用户来运行系统;但是当一个应用软件或者一个系统需要进行一些只有管理员可以进行的操作的时候,该用户则被提示是否同意这种操作。不像UNIX中的超级用户管理模式一样,管理同意模式仅仅对请求同意的该任务启用管理特权,一旦该任务完成后,自动将用户置成普通用户权限。

    但是,这个功能主要是为了提高系统管理员易用性。假若一个管理员在同一个桌面系统上执行了多个任务,那么恶意软件有可能会悄悄的注入或者进行权限提升。因此,对Vista来说,最安全的配置是在两个不同的帐号中运行程序,管理任务就让管理员来执行,而所有其他任务则在普通用户帐号下执行。

    当微软第一次把管理同意模式设计成UAC的一部分的时候,最初的默认方式是要求用户输入他们的密码。但是与上面我们所讨论的C-A-D功能一样,可用性测试的反馈结果让我们必须作出改变。不得不为每一个提示来输入密码,这会令用户感觉到过于复杂,由此带来的后果自然和前面所说的C-A-D功能一样。尽管不输入密码的安全模式不可能防止诈骗行为,但是其安全性也要远远好于Windows XP了。因此最后的设计是,默认情况下,管理同意模式并不需要密码,但是,如果你需要这个功能的话,你可以通过组策略来启用它。见下图。

图2(点击看大图)

    我们所碰到的另一个需要处理易用性和安全性之间平衡的比较大的例子是,在Vista中的数据执行保护(DEP)功能的启用上。简单来说,在数据执行保护功能中,数据就是数据,代码就是代码,并且阻挡任何数据内容的执行。由此带来的好处是,如果在系统(或者一个应用软件中)存在一个允许缓冲区溢出的漏洞,如果启用了数据执行保护,对黑客来说就很难来执行放在数据缓存中的恶意代码,从而也就阻挡了攻击。对于Vista内核来说,默认情况下就启用了数据执行保护(DEP)。同时,这是保护系统外的其他部分和应用软件免受缓冲区溢出攻击的的一个不错的方法。但是随之也带来了新的问题:有一些第三方的插件就是动态的产生代码,并存储在数据区域,对于数据执行保护(DEP)来说,没有办法可以区分这些插件和恶意软件。因此,更好的安全性或者更好的应用程序兼容性,你只能选择其一。

    Vista的数据执行保护(DEP)默认设置如下:

图3

    值得一提的是,如果你愿意,你可以为所有程序和服务都启用数据执行保护(DEP)。很明显这是一种更安全的状态,但是由此带来的应用程序兼容性问题也不容忽视。Jim表示,我当然建议企业可以测试一下看他们是否可以为所有程序和服务启用数据执行保护(DEP)。在某些情况下它是可行的;其他则是不可行的。这又是一个需要把握平衡的问题。

0
相关文章