如何在 Windows 11 中启用内核模式硬件强制堆栈保护

2023年 9月 24日 176.9k 0

-1内核模式硬件强制堆栈保护是 Windows 11 22H2 中引入的一项安全功能,可保护系统免受各种内存攻击,例如堆栈缓冲区溢出。Microsoft 在 2023 年 4 月作为Microsoft Defender 更新的一部分将此功能添加到 Windows 11 22H2 中  。启用后, 内核模式硬件强制堆栈保护 将通过使用硬件强制堆栈保护来增强 Windows 的安全性,使攻击者更难以利用漏洞。

什么是内核模式硬件强制堆栈保护?

Windows 内核模式硬件强制堆栈保护是一项安全功能,主要防止堆栈缓冲区溢出攻击,攻击者试图通过溢出堆栈(用于存储数据的数据结构)上的缓冲区(临时内存存储)来触发任意代码执行。程序的函数调用和局部变量)。在这些攻击期间,攻击者尝试覆盖返回地址或控制数据以重定向程序的执行以运行攻击者选择的恶意代码。覆盖返回地址或控制数据以重定向程序执行流的技术称为面向返回编程 (ROP) 攻击。Windows 内核模式硬件强制堆栈保护功能需要一个称为“影子堆栈”的特殊的基于硬件的临时堆栈才能工作。影子堆栈是一个临时内存堆栈,它镜像操作系统使用的标准堆栈,并且 Windows 中运行的应用程序无法修改该堆栈。这些影子堆栈的使用方式如下:

  1. 当调用程序的函数时,返回地址同时存储在普通堆栈和影子堆栈中。
  2. 当函数返回时,硬件强制堆栈保护功能会检查主堆栈的返回地址是否与影子堆栈中存储的地址匹配。
  3. 如果返回地址匹配,则函数按预期返回,程序继续正常执行。
  4. 但是,如果返回地址不匹配,则可能表明存在攻击,例如堆栈缓冲区溢出或 ROP 攻击。发生这种情况时,Windows 将终止该进程以防止恶意代码的执行。

使用影子堆栈,硬件强制堆栈保护功能可以减轻攻击,从而保护系统免受漏洞(包括零日漏洞)的影响。然而,由于 Shadow Stacks 需要 Intel 的控制流强制技术 (CET) 技术,因此该功能仅在较新的 CPU 上可用。因此,要使用 Windows 内核模式硬件强制堆栈保护,设备必须具有 Intel Tiger Lake CPU 或 AMD Zen3 CPU 及更高版本,并且  在 BIOS 中启用了 CPU 虚拟化。

如何启用内核模式硬件强制堆栈保护

虽然 Windows 内核模式硬件强制堆栈保护功能可能难以理解,但启用该功能相当容易。如果您运行的是带有最新更新的 Windows 11 22H2,请打开 Windows 安全并进入 设备安全 > 核心隔离。如果您拥有所需的硬件并且启用了 CPU 虚拟化,您将看到一个名为“内核模式硬件强制堆栈保护”的设置,如下所示。

-1内核模式硬件强制堆栈保护
来源:BleepingComputer

要启用该功能,只需将其切换为“打开”,Windows 将检查加载的设备驱动程序,看看是否有任何可能与安全功能冲突的驱动程序。如果检测到任何冲突的驱动程序,它会提示您查看驱动程序列表以更新到较新版本,然后才能启用该功能。将驱动程序更新到最新版本后,您可以尝试再次启用该功能并查看是否存在任何进一步的冲突。如果未找到冲突的驱动程序,Windows 可能会提示您重新启动计算机以启用该功能。

可能会导致意外行为

不幸的是,启用此功能后,您可能会发现特定程序不再工作,因为它们的驱动程序与内核模式硬件强制堆栈保护功能发生冲突。当 Windows 不知道与该功能冲突的驱动程序并允许启用该功能时,通常会发生这种情况。虽然这些冲突可能会导致 Windows 崩溃,但更常见的是程序将不再启动,并且 Windows 会声明驱动程序不兼容并提示您禁用安全功能。

-1不兼容的驱动程序消息
来源:  Reddit

启用此功能的用户报告称,许多冲突与游戏使用的版权保护和反作弊驱动程序有关,包括 PUBG、  Valorant  (Riot Vanguard)、  Bloodhunt、  Destiny 2、  Genshin Impact、  Phantasy Star Online 2  (Game Guard)和 戴兹。然而,随着越来越多的用户开始使用此 Windows 安全功能,我们可能会看到这些反作弊和版权保护程序的升级版本以支持堆栈保护。

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论