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 | 两者配合使用,实现内核态不允许访问用户态应用的数据的效果。防止 |