【ARM 芯片 安全与攻击 6 -- ARM 中的 PAC 是什么?】

什么是 ARM Pointer Authentication (PAC)?

Pointer Authentication (PAC) 是 ARMv8.3-A 架构引入的一种硬件安全特性,旨在防止代码重用攻击(如返回导向编程(ROP)和跳转导向编程(JOP))。PAC 通过对指针(函数指针、数据指针等)生成和验证加密签名,确保指针的完整性和真实性,从而增强系统的安全性。

PAC 的基本原理

PAC 通过在指针中加入一个签名(authentication code)来验证指针的有效性。签名生成和验证过程需要一个密钥,这个密钥存储在处理器的特权控制寄存器中,并且对用户态代码不可见。
PAC 主要由以下指令构成:

  • 生成签名(Sign a pointer)
    • PACIA:使用 A 键对指针生成签名。
    • PACIB:使用 B 键对指针生成签名。
  • 验证签名(Authenticate a pointer)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

主公讲 ARM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值