Skip to main content
QUICK REVIEW

[论文解读] Understanding TEE Containers, Easy to Use? Hard to Trust

Weijie Liu, Hongbo Chen|arXiv (Cornell University)|Sep 4, 2021
Security and Verification in Computing参考文献 60被引用 4
一句话总结

本文针对15个基于Intel SGX的TEE容器进行了系统性安全分析,采用结合自定义模糊测试工具(TECUZZER)与手动代码审查的混合方法。研究揭示了关键的隔离缺陷,如未受保护的Ocall参数、未经验证的返回值以及不完整的SFI(软件故障隔离)强制执行,表明尽管这些容器在可信计算中被广泛使用,但其所有实现均未能完全实现所宣称的安全保证。

ABSTRACT

As an emerging technique for confidential computing, trusted execution environment (TEE) receives a lot of attention. To better develop, deploy, and run secure applications on a TEE platform such as Intel's SGX, both academic and industrial teams have devoted much effort to developing reliable and convenient TEE containers. In this paper, we studied the isolation strategies of 15 existing TEE containers to protect secure applications from potentially malicious operating systems (OS) or untrusted applications, using a semi-automatic approach combining a feedback-guided analyzer with manual code review. Our analysis reveals the isolation protection each of these TEE containers enforces, and their security weaknesses. We observe that none of the existing TEE containers can fulfill the goal they set, due to various pitfalls in their design and implementation. We report the lessons learnt from our study for guiding the development of more secure containers, and further discuss the trend of TEE container designs. We also release our analyzer that helps evaluate the container middleware both from the enclave and from the kernel.

研究动机与目标

  • 评估用于Intel SGX的TEE容器(Tcon)的安全保证,这些容器被广泛用于简化可信计算。
  • 确定现有Tcon设计与实现是否确实能对不受信任的操作系统和恶意的机密环境内代码实现强隔离。
  • 揭示宣称的安全属性与实际实现之间的差距,特别是在Ocall、Ecall和机密环境内隔离等关键攻击面。
  • 开发并发布一种新型模糊测试工具(TECUZZER),用于从机密环境和操作系统两个视角,对Tcon中间件进行自动化、内核集成的测试。
  • 为未来设计更安全的TEE容器提供可操作的见解与经验教训。

提出的方法

  • 设计TECUZZER,一种双组件模糊测试工具,其中一部分运行于机密环境中,另一部分运行于操作系统内核中,以全面测试Tcon中间件的攻击面。
  • 采用反馈驱动的模糊测试技术,探索Ocall、异常和侧信道攻击面,重点关注参数与返回值的处理机制。
  • 通过手动代码审查分析Ecall接口、远程认证机制以及语义级保护措施(如SFI,即软件故障隔离)。
  • 使用安全属性分类法评估15个Tcon实现,包括威胁模型、攻击面大小(TCB)、隔离技术、侧信道防护和远程认证能力。
  • 通过静态与动态分析,测量内存隔离机制(如机密环境中内存分离)、直接跳转检查和RSP寄存器溢出控制等保护机制。
  • 通过自动化模糊测试与源代码手动检查相结合的方式验证发现,重点关注真实世界中的可利用攻击面,如Iago攻击和系统调用窥探。

实验结果

研究问题

  • RQ1现有SGX的TEE容器在多大程度上实现了对不受信任的操作系统与机密环境之间的隔离?
  • RQ2Tcon开发者所宣称的安全属性——特别是关于Ocall参数与返回值保护——在实践中是否真正得到强制执行?
  • RQ3如SFI等机密环境内隔离机制在防止代码注入与绕过攻击方面实际效果如何?
  • RQ4哪些关键实现缺陷破坏了TEE容器的安全保证,尽管其设计声称具备安全性?
  • RQ5像TECUZZER这样的系统化、自动化方法是否能够有效检测出TEE中间件中的细微安全弱点?

主要发现

  • 在分析的15个TEE容器中,没有一个完全强制执行其宣称的安全保证,所有实现均存在关键缺陷。
  • 许多Tcon未能对Ocall参数进行清理,导致存在信息泄露和系统调用窥探等攻击的漏洞。
  • 大量Tcon(包括Deflection和Ratel)未检查系统调用返回值,使其容易受到Iago风格攻击。
  • Occlum与Deflection虽声称支持SFI,但未验证直接跳转目标,导致可绕过代码插桩,引发未受检查的内存写入。
  • Chancel声称可抵御基于FS的Iago攻击,但其发布版本中并未实现该保护机制,尽管文档中有所暗示。
  • TECUZZER通过结合内核级代码插桩与机密环境内模糊测试控制,成功发现此前未知的漏洞,证明了自动化Tcon测试的可行性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。