内核模式硬件强制堆栈保护

在windows 11 24H2版本的操作系统中有一个功能叫做“内核模式硬件强制堆栈保护”,那么这个功能是什么呢?有什么作用呢?

作用

该功能用于防范内核中的堆栈免受基于返回地址的共计(ROP),该共计可以通过篡改函数返回地址,达到执行攻击者自己的代码或修改程序执行流程的目的。

实现原理

windows系统会采用控制流强制(CET)技术(需要CPU支持),该功能会在程序调用接口的过程中在影子堆栈中记录每一个call指令压如的返回值,当程序执行ret进行返回时,系统会检查ret所要跳转的地址是否与影子堆栈中记录的地址是相同的,如果是相同的程序可以正常执行,如果不相同,则会抛出异常终止程序

现象

当以内核模式的驱动程序遇到此问题时会触发异常,然后导致系统蓝屏,这时我们可以卸载驱动或关闭“内核模式硬件强制堆栈保护”模式以让我们的程序能够正常运行。那么系统已经蓝屏了无法进入系统我们又应该如何卸载驱动或者关闭此功能呢?这时,我们可以进入windows的安全模式进行操作

在R3级应用程序中也有类似的功能,叫做“硬件强制实施的堆栈保护”,当应用级程序触发时系统会终止进程的运行,表现的现象就是程序无法正常启动运行

如何开启

首先我们说一下如何开启“内核模式硬件强制堆栈保护”功能,首先是需要我们的CPU支持CET功能,然后是我们的系统不能低于 winsows 11 24H2 的版本。然后按 Win + i 键打开设置 -> 隐私和安全性 -> 打开Windows安全中心->设备安全性,在内核隔离下面点击“内核隔离详细信息”,我们需要先开启“内存完整性”的设置才能够开启“内核模式硬件强制堆栈保护”,开启内存完整性后我们开启内核模式硬件强制堆栈保护后然后重启我们的电脑就大功告成了,如果没有该选项可能是由于我们的CPU不支持,我们可以查阅微软的官方文档

接下来我们来说一下应用级程序如何开启“硬件强制实施的堆栈保护”功能,同样我们按 win + i 打开设置 -> 隐私和安全性 -> 打开 Windows 安全中心 -> 应用和浏览器控制,在攻击防护下面打开”攻击防护设置“,打开后我们选择”程序设置“,再点击添加程序进行自定义,打开后我们需要先设置我们要保护的程序,确定后会让我们选择要进行保护的选项,在其中我们找到”硬件强制实施的堆栈保护“,勾选后进行确认即可开启

其它的安全保护措施

如果我们想更加全面的保护我们的应用程序免受恶意攻击者的攻击,我们需要选择一个高强度的加壳工具对我们的应用程序进行加壳保护,加壳工具会通过各种技术手段保护我们的应用程序,比如混淆,虚拟化等等,让其他人无法分析我们的程序,从而避免我们的核心算法或授权等等被其他人破解

这里像大家推荐 Virbox Protector 工具来对我们的应用程序进行保护,它是一款高强度的全面的加壳工具,可以通过简介的界面操作也可以通过命令行集成到CI/CD环境中,让我们的应用程序多一层有效的阿安全保障

滚动至顶部
售前客服
周末值班
电话

电话

13910187371