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.
翻译:作为新兴的保密计算技术,值得信赖的执行环境(TEE)受到了很多关注。为了更好地开发、部署和运行诸如英特尔的SGX等TEE平台上的安全应用,学术和工业团队都为开发可靠和方便的TEE集装箱做出了大量努力。在本文中,我们研究了15个现有的TEE集装箱的隔离战略,以保护其安全应用不受潜在恶意操作系统(OS)或不受信任的应用,使用半自动方法,将反馈制导分析器与人工代码审查相结合。我们的分析揭示了这些TEE集装箱的隔离保护,以及它们的安全弱点。我们发现,现有的TEE集装箱由于在设计和实施过程中遇到各种缺陷,没有一个能够实现它们设定的目标。我们报告了从指导更安全集装箱开发的研究中吸取的经验教训,并进一步讨论TEE集装箱设计的趋势。我们还释放了我们的分析器,帮助评估飞地和内仓的集装箱中器。