微软今天宣布了Windows操作系统的一项新的安全功能。
该特性名为“硬件强制堆栈保护”,它允许应用程序使用本地CPU硬件来保护它们的代码,同时运行在CPU内存中。
正如该功能的名字所暗示的,它的主要作用是保护(内存)堆栈——应用程序的代码在执行期间存储在这里。
“硬件强制的堆栈保护”通过(1)现代CPU硬件和(2)影子堆栈的组合使用来加强对内存堆栈的严格管理。
术语“影子堆栈”是一个新的术语,它指的是程序预期执行流的副本(也称为代码的执行顺序)。
新的“硬件强制堆栈保护”功能计划在现代cpu中使用基于硬件的安全功能,以便在硬件安全的环境中保留应用程序的影子堆栈(预期的代码执行流)的副本。
微软表示,这将防止恶意软件通过利用堆栈缓冲区溢出、悬空指针或未初始化变量等常见内存漏洞来劫持应用程序的代码。任何与影子堆栈不匹配的修改都会被忽略,从而有效地关闭任何攻击尝试。
据微软Windows内核组经理Hari Pulapaka称,目前,新的“硬件强制堆栈保护”功能还处于初级阶段,仍在积极开发中。
微软今天发布了Windows 10内部预览版(fast ring)的“硬件强制堆栈保护”功能的早期预览。
开发者可以使用最新版本的Windows 10 Insider预览版来测试他们的应用程序,看看它是如何工作的,以及是否会出现任何问题。
“为了在您的应用程序上接收硬件强制的堆栈保护,有一个新的链接器标志,它在PE头中设置了一个位来请求内核对可执行文件的保护,”Pulapaka在一篇博客文章中解释说。
“如果应用程序设置了这个位,并且运行在受支持的Windows构建和影子堆栈兼容的硬件上,内核将在程序的整个运行期间维护影子堆栈,”微软经理说。
目前,“硬件强制栈保护”功能只适用于支持Intel控制流强制技术(CET)指令的芯片组,而这些指令反过来又支持影子栈机制。
如果一台计算机运行在旧的硬件上,不支持影子堆栈,普拉帕卡说,Windows将简单地忽略启用“硬件强制堆栈保护”功能的PE位,程序将像现在一样运行。
这个新特性是微软最新的安全特性,与底层硬件紧密集成。
去年,微软宣布了一个名为Secured-core PCs的新项目,这是一种新型的个人电脑和笔记本电脑品牌,Windows操作系统与底层CPU硬件紧密结合,为企业用户提供了更多的保护(见下面的视频)。
但据普拉帕卡说,这只是个开始,雷德蒙计划增加更多类似的功能,把Windows操作系统和底层硬件结合起来,以增加安全性。
“我们现在正在探索深度硬件集成的安全特性,以进一步提高抵御攻击的标准,”Pulapaka说。“通过将Windows及其内核与硬件深度集成,我们让攻击者很难发起大规模攻击,而且代价高昂。”
免责声明:本文由用户上传,如有侵权请联系删除!