Glibc更新为最新的Linux CET卷影堆栈支持

2024年 1月 3日 66.5k 0

Glibc更新为最新的Linux CET卷影堆栈支持-1
随着Linux6.6的发布,主线内核终于落地在Intel/AMD CPU上支持卷影堆栈这最初是作为英特尔控制流执行技术(CET)的一部分推出的,目的是更好地抵御ROP攻击。GNU C库“glibc”最近更新了一些围绕CET/Shadow Stack支持的更改。

最新的Glibc开发代码现在具有已同步针对x86_64上的Linux 6.6+发现的卷影堆栈接口。这项工作继续进行到启用阴影堆栈启动期间:

“以前,CET是由内核在将控制权传递给用户空间之前启用的,如果应用程序或共享库没有启用CET,则启动代码必须禁用CET。 由于当前内核只支持影子堆栈,并且在将控制权传递给用户空间之前不会启用影子堆栈,因此如果应用程序和所有共享库都启用了影子堆栈,则需要在启动时启用影子堆栈。 没有必要在启动时禁用影子堆栈。 阴影堆栈只能在永远不会返回的函数中启用。 否则,影子堆栈将在函数返回时下溢。”

但随后的一个后续补丁清楚地表明, 默认情况下未将CET设置为活动:

“并非所有支持CET的应用程序和库都在支持CET的环境中经过了正确的测试。 当启用CET时,某些启用CET的应用程序或库将崩溃或行为不当。 默认情况下不要将CET设置为活动状态,这样无论CET是否处于活动状态,所有应用程序和库都将正常运行。 阴影堆栈可以通过以下方式启用:

$EXPORT GLIBC_TUNABLES=glibc.cpu.hwcaps=SHSTK

在运行时,如果内核可以启用影子堆栈。

注意:如果默认为所有应用程序和库启用CET,则可以恢复此提交。”

These CET Shadow Stack additions for the GNU C Library will be part of the glibc 2.39 release due out roughly next month.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论