可以通过编程关闭低于最大值的 UAC 级别吗?

可以通过编程关闭低于最大值的 UAC 级别吗?

最近有人告诉我,如果您的 UAC 级别低于最大值(始终通知),那么恶意程序可以通过编程降低您的 UAC 设置,从而使 UAC 变得无用。

现在,我记得这是 Windows 7 测试版中的一个问题,但它已在 RC 中修复:

有了这些反馈和更多内容,我们将提供对候选版本进行了两处更改我们将会看到这一点。首先,UAC 控制面板将在高度诚信过程,这需要提升。这在讨论之前就已经在进行中了,这样做会阻止 SendKeys 等所有机制正常工作。其次,更改 UAC 级别也会提示确认(来源)

那么,我们中的谁已经过时了?是我没有发现新的 rootkit 吗?还是另一个人没有注意到 RC 中正在修复的问题?

有没有一种可行的方法可以在没有 UAC 提示的情况下降低 UAC 级别?

答案1

在标准的 Windows 7 系统上,答案是否定的,但还有几个问题。

UAC 控制面板是高度完整的流程并且 MS 在您引用的博客文章中说过 UAC 界面将始终需要提升,但是……

  1. 如果您以内置管理员帐户运行(在大多数安装中默认禁用),则所有进程和桌面都将以高完整性运行,因此不会出现 UAC 提示。它是为系统安装和升级而设计的,但让您的客户端每天以这种模式运行是一种不好的做法。这基本上就像以管理员身份运行 Windows XP,在这种情况下,攻击者不需要修改 UAC,因为它永远不会出现。
  2. 即使 MS 进行了更改,攻击者仍然可以编写可以绕过 UAC 的程序。在默认 UAC 级别,操作系统会豁免许多 Microsoft 签名的二进制文件,攻击者可以创建恶意程序,欺骗操作系统,使其认为它们是可信的。将 UAC 设置为“始终通知”将强制提示所有管理操作,无论应用程序是否已签名。

相关内容