文章目录
ARM PAC 简介
- Pointer Authentication Code (PAC) 是在 ARMv8.3-A 架构中引入的一种硬件安全特性。PAC 通过对指针生成和验证加密签名,确保指针的完整性和真实性,从而防止代码重用攻击(如 ROP 和 JOP)。
ARM PAC 工作原理
- 生成签名:使用特定的密钥对指针进行签名,生成一个指针认证码(PAC)。
- 验证签名:在指针使用前验证签名,确保指针未被篡改。
ARM PAC 主要指令
PACIA
:使用密钥 A 对指针进行签名。AUTIA
:使用密钥 A 验证指针签名。
ARM PAC示例代码
.global _start
.section .data
success_msg:
.asciz "Pointer authentication succeeded.\n"