tzram-audit: ARM TrustZone内存隔离审计

admin 2025年3月3日09:33:55评论24 views字数 741阅读2分28秒阅读模式

ARM TrustZone 的设计初衷是将内存划分为两个世界:非安全世界(运行丰富执行环境,如 Linux/Android)和安全世界(运行受信任的执行环境,即 TEE OS)。它已在汽车、移动设备和硬件钱包等行业广泛部署。关键点如下:

* Linux 内核运行在非安全 EL1(NS.EL1)。
* TEE OS 运行在安全 EL1(S.EL1)。
* 安全监控器(例如 ARM Trusted Firmware,ATF)运行在安全 EL3(S.EL3)。
* Linux 内核通过发出 SMC(安全监控调用)指令给安全监控器,后者再将请求路由至 TEE OS。
* 默认情况下,ARM 核心架构没有为 MMU 提供安全扩展。这意味着,如果 SoC 供应商没有集成专用的 TZASC(TrustZone 地址空间控制器)IP,则两个世界之间的内存隔离将无法有效实现。
* 任何需要安全处理的外设必须由安全世界管理。因此,SoC 必须集成额外的 IP 用于 TZPC(TrustZone 防护控制器)。这一方法与 x86_64 生态系统中使用的 MMU、IOMMU、EPC、SGX 或 TDX 有显著不同。
* ARM 参考模型允许安全世界和非安全世界使用相同的物理地址(例如,非安全物理地址 np:0x1000 与安全物理地址 sp:0x1000)对应内存系统中不同的位置。然而,大多数 SoC 供应商倾向于避免这种复杂性(即 np:0x1000 和 sp:0x1000 指的是相同位置)。
* 与 x86 相比,ARM 的 TEE 更类似于系统管理模式(SMM)。

在没有TZASC/TZPC独立IP内存防护的arm64硬件上验证:

tzram-audit: ARM TrustZone内存隔离审计

https://github.com/hardenedlinux/tzram-audit

原文始发于微信公众号(赛博堡垒):tzram-audit: ARM TrustZone内存隔离审计

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月3日09:33:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   tzram-audit: ARM TrustZone内存隔离审计https://cn-sec.com/archives/3786508.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息