ARM PAN
a year ago
- #PAN
- #ARM
- #security
- PAN(特权访问永不)是ARM芯片(A10及后续型号)的一项CPU特性,用于防止内核访问用户态内存。
- 研究发现存在一个漏洞:仅可执行(--x)的内存映射不会触发PAN机制,导致内核仍能访问用户态内存。
- 该问题的根源在于ARM规范中PAN仅检查读权限(忽略UXN执行权限位)。
- 漏洞利用条件取决于操作系统是否允许仅可执行映射。Linux已通过禁用此类映射修复问题,但iOS可能仍存在风险。
- 潜在攻击手段包括伪造虚函数表、ROP链攻击或解引用32位值(需确保内存已加载且经过签名验证)。
- 可能的修复方案包括:更新ARM规范、禁用仅可执行映射,或使用苹果APRR功能强制剥离权限。
- 安全措施间可能产生冲突,本例中仅可执行内存破坏PAN机制的现象,凸显了分层防护体系的脆弱性。