该论文提出 MyTEE,一种在嵌入式设备上构建可信执行环境(TEE)的方案,其核心假设是大部分 ARM TrustZone 硬件扩展(如 TZASC、TZMA、TZPC、IOMMU)均不可用。为克服缺乏硬件内存隔离、DMA 防护和安全 IO 通道的问题,MyTEE 采用以下关键技术:1)内存隔离:利用 stage-2 页表(扩展页表)将 TEE 与非可信的操作系统(REE)隔离,并确保 hypervisor 自身的页表不映射 TEE 且不可修改,以防止特权提升攻击。2)DMA 防护:实现一个 DMA 过滤器,该过滤器拦截、验证并模拟所有对 DMA 控制器的内存映射 IO(MMIO)访问,从而阻止恶意 DMA 攻击。3)安全 IO:将设备驱动的大部分逻辑保留在非可信 OS 中,仅将外围设备输出缓冲区和控制器 MMIO 区域通过 stage-2 页表保护,同时将设备驱动的部分代码块提升至 hypervisor 权限,使其能访问受保护对象并记录事务日志,供后续可信应用(TA)验证。这种方式避免了在 TEE 内完整移植设备驱动所带来的新攻击面。MyTEE 的原型在树莓派 3 开发板(基于 Broadcom BCM2837 SoC,不支持 TrustZone 扩展)上实现,并成功演示了与硬件 TPM、帧缓冲和 USB 键盘的安全 IO 通信。实验表明,即便在缺乏硬件安全原语的最差环境中,MyTEE 仍能有效提供 TEE 所需的内存隔离、DMA 防护和安全 IO 通道。该工作适合嵌入式安全研究人员、IoT 设备开发者以及关注 TEE 底层机制的工程师阅读。
💡 推荐理由: 该研究使缺乏 TrustZone 等硬件扩展的嵌入式设备也能建立 TEE,大幅扩展了 TEE 的适用场景,对提升 IoT 等低成本设备的安全性具有重要参考价值。
🎯 建议动作: 研究跟进