赞助

浅谈Windows用户帐户控制(User Account Control,UAC)

Microsoft一个事实:大多数用户都用一个Administrator(管理员)帐户来登录Windows。利用这个帐户,用户几乎没有任何限制地访问重要的系统资源,因为该帐户被授予很高的权限。一旦用户这样的一个特权帐户来登录Vista之前的某个Windows操作系统,就会创建一个安全令牌(security token)。每当有代码试图访问一个受保护的安全资源时,操作系统就会使用(出示)这个安全令牌。这个令牌会与新建的所有进程关联。第一个进程就是Windows资源管理前,后者随即将令牌拿给它的所有子进程,并以此类推。在这样的配置中,如果从Internet下载的一个而已程序开始运行,或者电子邮件中的一个恶意脚本开始运行,就会继承Administrator帐户的高特权(因为它们的宿主应用程序正在这个帐户下运行)-----因为更改机器上的任何内容,甚至可以启动另一个进程,并让启动的进程继承相同的高特权。

相反,在Windows Vista中,如果用户使用Administrator这样的一个被授予高特权的帐户登录,那么除了与这个帐户对应的安全令牌之外,还会创建一个经过筛选的令牌(filtered token),后者将只被授予Standard User(标准用户)的权限。以后,系统代表最终用户启动的所有新进程都会关联这个筛选令牌。第一个进程仍然是Windows资源管理器。你可能马上会对此提出疑问:既然所有应用程序都只有标准用户的权限集,那么如何访问受限制的资源呢?比较短的一个回答是:权限受限的进程无法访问需要更高权才能访问的安全资源。

posted @ 2018-02-27 12:00  车臣  阅读(1833)  评论(0编辑  收藏  举报