为何在 Microsoft Windows Vista 之前的计算机上难以作为标准用户运行?以下内容详述了另外的原因:
许多 Windows 应用程序都要求登录用户是管理员,但实际上并不要求管理员级的访问。这些应用程序会在允许运行之前执行多种管理员访问检查,其中包括:
管理员访问令牌检查。
系统受保护位置中的“完全访问访问请求。
将数据写入到受保护位置,例如,%ProgramFiles%、%WinDir% 和 HKLMSoftware。
许多 Windows 应用程序在设计时都没有采用最小特权这个概念,并且没有将用户和管理员功能分为两个不同的进程。
默认情况下,Windows 2000 和 Windows XP 将每个新用户帐户都创建为管理员;因此,关键的 Windows 组件(如“日期和时间、“电源管理控制面板)对于标准用户就不能正常工作。
Windows 2000 和 Windows XP 管理员必须创建两个不同的用户帐户 - 一个帐户用于管理任务,另一个是标准用户帐户,用于执行日常任务。这样,用户必须退出其标准用户帐户,并作为管理员重新登录或使用“运行方式才能执行任何管理任务。
借助“用户帐户控制(UAC),Microsoft 将提供一种可以简化企业和家庭标准用户桌面部署的技术。
按照最初在 Microsoft Windows NT 3.1 操作系统中的设计构建 Windows 安全体系结构后,UAC 小组力求实现一种兼有灵活性和更多安全性的标准用户模型。对于 Windows 先前版本,在登录过程中会为管理员创建一个访问令牌。该管理员访问令牌包含了多数 Windows 特权和管理安全标识符 (SID)。它保证了管理员可以安装应用程序、配置操作系统和访问任何资源。
在 Windows Vista 中,UAC 小组采用了一种截然不同的方法来创建访问令牌。当管理员用户登录到 Windows Vista 计算机时,将创建两个访问令牌:一个是筛选后的标准用户访问令牌,一个是完整的管理员访问令牌。此时,使用标准用户访问令牌而不是管理员访问令牌来启动桌面 (Explorer.exe)。所有子进程都从桌面的这个初始启动(explorer.exe 进程)继承而来,从而有助于限制 Windows Vista 的攻击面。默认情况下,所有用户(包括管理员)都作为标准用户登录到 Windows Vista 计算机。
注意 对于以上综述存在一种例外情况:访客登录计算机时所具备的用户权限和特权要低于标准用户。
当管理员尝试执行管理任务(例如,安装应用程序)时,UAC 会提示用户批准该操作。当用户批准该操作时,任务将通过管理员的完整管理员访问令牌启动。这是默认的管理员提示行为,可在本地安全策略管理器单元 (secpol.msc) 中使用组策略 (gpedit.msc) 进行配置。
注意 启用了 UAC 的 Windows Vista 计算机上的管理员帐户也称为“管理批准模式下的管理员帐户。管理批准模式标识了管理员的默认用户体验。
每次管理提升也是特定于进程的,这可防止其他进程未提示用户进行批准就使用访问令牌。这样,管理员用户可以对安装哪些应用程序进行更精确的控制,同时又极大冲击了期望登录用户使用完整管理员访问令牌运行的恶意软件。
通过使用 UAC 基础结构,标准用户也有机会按流程提升并执行管理任务。当标准用户尝试执行管理任务时,UAC 会提示用户输入有效的管理员帐户凭据。这是默认的标准用户提示行为,可在本地安全策略管理器单元 (secpol.msc) 中使用组策略 (gpedit.msc) 进行配置。
Windows Vista 更新
以下更新体现了 Windows Vista 在功能方面累积的核心变化。
默认情况下将启用 UAC
所有后续的“用户帐户均创建为“标准用户
默认情况下,在安全桌面上显示提升提示
后台应用程序的提升提示会最小化到任务栏上
在用户的登录路径中阻塞提升
默认情况下,在新安装的系统中禁用内置管理员帐户
用户帐户控制和远程应用场景
新的默认访问控制列表 (ACL) 设置
UAC 工作原理
本部分为应用程序开发人员介绍了 UAC 的体系结构和功能组件,其中包括主题“Windows Vista 的新技术和“UAC 体系结构。
Windows Vista 的新技术
以下各部分详细介绍了 Windows Vista 所应用的新技术。
安装程序检测
通过 Windows Installer 4.0 为标准用户修补应用程序
用户界面特权隔离
虚拟化
UAC 体系结构
以下内容介绍了 UAC 体系结构图表中显示的流程以及当可执行程序尝试启动时如何实现 UAC。
标签: