首次引入 UAC 时,大多数表现良好的应用程序都安装在 Program Files 文件夹中,因此在未经用户明确同意的情况下篡改可执行文件变得不可能。因此,当用户执行恶意软件应用程序时,只有该用户的数据会被破坏。
但是,现在很多应用程序都安装到 AppData 中。一些应用程序希望为受限用户进行安装,一些应用程序不想在每次自动更新时征求用户同意。其他应用程序在安装过程中要求管理员权限,将其文件放入 Program Files,但更改其文件夹的权限。
一些例子:
- 谷歌浏览器安装到 AppData 中。我已经将它安装到 Program Files 中,但后来发现它实际上使用了 AppData 文件夹中的可执行文件。
- Valve Steam 在安装期间为所有用户提供对 SteamApps 文件夹的完全访问权限。此文件夹包含 Steam 管理的所有游戏的可执行文件和数据。
好吧,谷歌浏览器似乎没有要求管理员权限,所以如果它在工作期间以黄色显示 UAC 对话框,那将是高度可疑的。但 Steam 游戏在首次运行时会定期要求管理员权限。用户会对安装过程中出现的任何对话框盲目地说“是”。结果呢?所有用户的整个系统都受到了损害。
像这样的应用程序似乎使 UAC 更弱,更容易绕过。任何可执行文件都可以更改所有用户使用的可执行文件。我想拥有多个具有管理员权限的用户的 PC 在设计上是不安全的,但 UAC 在这种情况下至少提供了一些保护。
这对安全性有何影响,我应该担心吗?如果是,我能做些什么吗?