Reducing the Price of Protection: Identifying and Migrating Non-Sensitive Code in TEE

Reducing the Price of Protection: Identifying and Migrating Non-Sensitive Code in TEE
复制标题

DOI:
10.1109/trustcom50675.2020.00028
复制
发表时间:
2020-12
期刊:
2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom)
影响因子:
--
通讯作者:
Yin Liu;Eli Tilevich
Yin Liu;Eli Tilevich
中科院分区:
其他
文献类型:
--
作者:
Yin Liu;Eli Tilevich

文献摘要

相似文献

随着可信计算基础(TCB)不必要地增加其规模,可信执行环境(TEE)的性能和安全性可能会迅速恶化。现有的解决方案专注于仅将必要的程序部分放置在TEE中,但忽略了遗留软件具有错位的基于TEE的非敏感代码的许多情况。在本文中,我们介绍了一种新的类型的软件重构-TEE内源-识别和迁移非敏感代码的TEE。我们提出了TEE-DRUP,第一个半自动TEE内包框架,其过程包括两个阶段:(1)变量敏感性分析指定每个变量为敏感或非敏感;(2)编译器辅助的程序转换自动将从不对敏感变量进行操作的函数移出TEE。开发人员可以参与验证和确认敏感变量,并指定要迁移的其他非敏感函数。TEE-DRUP在真实世界项目上的评估结果令人鼓舞。TEE-DRUP区分敏感和非敏感变量,具有令人满意的准确度,精确度和召回率-在大多数评估场景中,它们的实际值都大于80%。此外,将非敏感代码移出TEE可以提高系统性能,加速比在1.35到10 K之间。最后,TEE-DRUP的自动化程序转换只需要很小的编程工作。
As the trusted computing base (TCB) unnecessarily increases its size, the performance and security of Trusted Execution Environments (TEE) can deteriorate rapidly. Existing solutions focus on placing only the necessary program parts in TEE, but neglect the numerous cases of legacy software with misplaced TEE-based non-sensitive code. In this paper, we introduce a new type of software refactoring—TEE Insourcing—that identifies and migrates non-sensitive code out of TEE. We present TEE-DRUP, the first semi-automated TEE Insourcing framework whose process comprises two phases: (1) a variable sensitivity analysis designates each variable as sensitive or non-sensitive; (2) a compiler-assisted program transformation automatically moves the functions that never operate on the sensitive variables out of TEE. Developers can participate to verify and confirm sensitive variables, and specify additional non-sensitive functions to migrate. The evaluation results of TEE-DRUP on real-world programs are encouraging. TEE-DRUP distinguishes between sensitive and non-sensitive variables with satisfactory accuracy, precision, and recall — all of their actual values are greater than 80% in the majority of evaluation scenarios. Further, moving non-sensitive code out of TEE improves system performance, with the speedup ranging between 1.35 and 10K. Finally, TEE-DRUP's automated program transformation requires only a small programming effort.