Arm TrustZone 是移动设备上硬件支持的可信执行环境(TEE)的事实标准,旨在隔离安全计算与普通世界(即常规操作系统)。然而,实际部署的 TEE 通常是专有、难以审查且众所周知的不安全:过去几年中,全球数百万设备的 TEE 及其托管的可信应用(TA)屡次被证明容易遭受控制流劫持等攻击。更关键的是,运行在 Arm TrustZone 安全世界中的代码可以完全访问普通操作系统的内存。自 2013 年 Thomas Roth 首次提出基于 TrustZone 的 rootkit 以来,攻击研究社区在此类 rootkit 上的进展似乎停滞。TrustZone rootkit 的最大挑战在于安全世界无法解释普通世界的内存数据。本文提出了一种机制,通过运行时自动逆向工程内核数据结构,从安全世界实现对 Linux 内核的恶意子版本并绕过基本保护机制。作者提供了一个完全可工作的概念验证 rootkit,驻留在 Arm TrustZone 中,以演示所提出的机制。他们评估并展示了该 rootkit 在不同版本的 Linux 内核上(尽管数据结构发生变化)的兼容性。研究结果表明,TrustZone rootkit 是可行的,且可能在内核更新后仍然存活,这提醒我们:信任未经审查的专有供应商代码可能带来真实危险。
💡 推荐理由: 本文证明了即使内核更新,基于 TrustZone 的 rootkit 依然可能存活,这对移动设备安全构成严重威胁,提醒安全从业者警惕 TEE 中的专有代码风险。
🎯 建议动作: 研究跟进