Armv8-A架构安全特性总结

 

Arm-A 体系架构安全特性总结:

安全特性 英文拼写 说明 应对的攻击 引入的版本
XN execute never 不可执行。一般用于配置数据段不可执行,防止数据段注入可执行的shell code。

 

使用XN可执行DEP(Data execute Prevention,一般我们通常说的堆栈不可执行)
任意地址读写、代码段覆盖 < v8
PXN Privileged Execute Never 特权模式不可执行。防止在内核态模式下直接跳转到用户态的代码段进行提权攻击 执行流导向用户空间 < v8
ASLR address space layout randomization 内存地址随机化。基于MMU进行实现,对于应用来说,每次动态加载时,起始地址不同,增加攻击难度,增加对特定地址植入代码的难度 特定地址定位 < v8
XOM Execute Only Memory 内存只可执行,不可读。防止执行逻辑泄露。 信息泄露 v8.1/2
WXN Write Execute Never 可写的内存不可执行。防止注入的shell code可被执行 任意地址读写 v8.1/2
PAN Privileged Access Never 两者配合使用,实现内核态不允许访问用户态应用的数据的效果。防止高权限的内核偷应用的数据。 数据流导向用户空间 v8.1/2
UAO User Access Only
PA Pointer Authentication 函数指针检查,cpu在执行函数跳转时检查函数指针是否正确(使用MAC算法),防止跳转指针被修改。 ROP/JOP攻击 v8.3
BTI Branch Target Identifiers 对间接跳转的目标进行限制。与PA结合使用极大程度减少控制流攻击 JOP攻击 v8.5
MT Memory Tagging 内存区域进行标记,对保护区域访问必须使用具有相同标记的指针。可检测溢出、UAF类漏洞 防溢出、UAF v8.5

 

Armv8-A架构安全特性总结_第1张图片

 

SEL2: Secure EL2, Armv8.4-A 引入。在软件层面就可以支持多个TEEOS,一定程度解决TEE碎片化问题,同时对于安全级别要求更高的业务(比如支付)可以跑在一个独立TEEOS中,与通用的TEEOS隔离开。

 

Reference

  • 硬件安全:ARM体系架构的安全特性演进

你可能感兴趣的:(ARM,Armv8-A,Security)