皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

GCC 15 增加了 Arm 保护控制堆栈“GCS”代码生成的选项

GCC 15 功能开发很快就会结束,专注于错误修复,然后在 2025 年初将 GCC 15.1 发布为稳定版。编译器代码库中的最新功能之一是围绕 Arm Guarded Control Stack (GCS) 功能的代码生成支持。

Arm 在其 2022 CPU 扩展中引入了 Guarded Control Stack,是一种帮助缓解某些返回对象编程 (ROP) 攻击的方法。如 Arm 文档中所述:

“GCS 是由软件分配的虚拟地址空间的受保护区域。当处理器执行 Branch with Link 指令(例如 BL)时,返回地址被推送到 GCS 上,并被写入 Link Register (LR)。在过程返回时,将从 GCS 中弹出最新存储的返回地址。处理器要么将 popped 值与 LR 进行比较,要么直接使用 popped 值……为了防止对 GCS 进行意外或恶意更改,引入了新的阶段 1 权限。此权限允许软件读取,但将写入限制为 GCSPUSH 指令或作为执行 BL 的副作用。

 

GCC 15 增加了 Arm 保护控制堆栈“GCS”代码生成的选项

随着星期四合并了最新的 GCC 补丁,现在支持“-mbranch-protection=gcs”选项。这样可以生成 Arm Guarded Control Stack 兼容的代码。此分支保护选项与早期 Arm 处理器也可以设置为 Branch Target Identification “BTI” 的选项相同。

GCC 15 增加了 Arm 保护控制堆栈“GCS”代码生成的选项

-mbranch-protection=gcs 选项是通过此提交引入的,而相关的 Arm GCS 补丁也在星期四合并,并且都将成为即将发布的 GCC 15.1 版本的一部分。

转自 GCC 15 Adds Option For Arm Guarded Control Stack “GCS” Code Generation – Phoronix

已有 0 条评论 新浪微博
已有 0 条评论 新浪微博
-->