目录
B.1 安全监控调用指令
指令 | 功能描述 | 适用异常等级 | 典型应用场景 |
---|---|---|---|
SMC | 生成安全监控调用 | EL1/EL2 | 请求EL3安全服务 |
HVC | 生成Hypervisor调用 | EL0/EL1 | 虚拟化环境服务请求 |
ERET | 从异常返回 | EL3 | 安全世界切换后返回 |
B.2 内存保护指令
指令 | 功能描述 | 安全特性 |
---|---|---|
AT S1E1R | 地址转换(安全) | 安全页表查询 |
DC CVAC | 数据缓存清理 | 防止侧信道攻击 |
TLBI ALLE1 | TLB失效(所有EL1) | 安全状态切换时使用 |
PACIASP | 指针认证(函数指针) | ROP攻击防护 |
B.3 加密扩展指令(AArch64)
指令集扩展 | 关键指令 | 功能描述 |
---|---|---|
AES | AESE , AESD | AES加解密 |
SHA | SHA1H , SHA256H | 哈希计算 |
PMULL | PMULL , PMULL2 | 多项式乘法(GHASH) |
SM4 | SM4E , SM4EKEY | 国密SM4算法 |
B.4 TrustZone相关指令
指令 | 功能 | 备注 |
---|---|---|
MRS/MSR DAIF | 中断标志访问 | 安全状态控制 |
MRS/MSR SCR_EL3 | 安全配置寄存器 | NS位控制 |
MRS/MSR VBAR_EL3 | 向量基址寄存器 | 安全异常向量表 |
B.5 指针认证指令(PAC, ARMv8.3+)
指令 | 功能 | 保护目标 |
---|---|---|
PACIA | 指令地址签名 | 函数指针 |
PACIB | 指令地址签名 | 返回地址 |
AUTIA | 指令地址验证 | 代码完整性 |
XPACLRI | 指针解认证 | 调试用途 |
B.6 内存标记扩展(MTE, ARMv8.5+)
指令 | 功能 | 安全应用 |
---|---|---|
STG | 存储标签 | 内存安全 |
LDG | 加载标签 | 溢出检测 |
CMPP | 标签比较 | UAF检测 |
B.7 调试安全指令
指令 | 功能 | 安全限制 |
---|---|---|
DBGCLAIM | 调试声明 | 安全调试控制 |
MRS DBGDTR_EL0 | 调试数据传输 | 安全世界禁用 |
MSR OSLAR_EL1 | 调试锁寄存器 | 防JTAG攻击 |
B.8 特权级别切换指令
指令 | 源EL | 目标EL | 安全考虑 |
---|---|---|---|
SVC | EL0 | EL1 | 用户态到内核态 |
HVC | EL1 | EL2 | 虚拟化监控调用 |
SMC | EL1/EL2 | EL3 | 安全世界切换 |
B.9 安全系统寄存器速查
寄存器 | 功能 | 访问指令 |
---|---|---|
SCR_EL3 | 安全配置寄存器 | MSR/MRS |
TCR_EL3 | 转换控制寄存器 | MSR/MRS |
ESR_EL3 | 异常综合征寄存器 | MRS |
SP_EL3 | 安全堆栈指针 | MSR/MRS |
B.10 安全异常处理标志
标志位 | 寄存器 | 描述 |
---|---|---|
NS | SCR_EL3 | 非安全状态位 |
FIQ | SCR_EL3 | 快速中断路由 |
EA | SPSR_EL3 | 异步异常使能 |
TWE/TWI | SCR_EL3 | WFE/WFI陷阱控制 |
注:本速查表基于ARMv8.7-A架构,部分指令需要特定架构扩展支持。实际使用时请参考对应芯片的技术参考手册(TRM)和ARM架构参考手册(ARM ARM)。