MPTEE: bringing flexible and efficient memory protection to Intel SGX
MPTEE: bringing flexible and efficient memory protection to Intel SGX
复制标题
DOI:
10.1145/3342195.3387536
复制
发表时间:
2020-04
期刊:
影响因子:
--
通讯作者:
Wenjia Zhao;Kangjie Lu;Yong Qi;Saiyu Qi
中科院分区:
文献类型:
--
作者:
Wenjia Zhao;Kangjie Lu;Yong Qi;Saiyu Qi
Intel Software Guard extensions (SGX), a hardware-based Trusted Execution Environment (TEE), has become a promising solution to stopping critical threats such as insider attacks and remote exploits. SGX has recently drawn extensive research in two directions---using it to protect the confidentiality and integrity of sensitive data, and protecting itself from attacks. Both the applications and defense mechanisms of SGX have a fundamental need---flexible memory protection that updates memory-page permissions dynamically and enforces the least-privilege principle. Unfortunately, SGX does not provide such a memory-protection mechanism due to the lack of hardware support and the untrustedness of operating systems. This paper proposes MPTEE, a memory-protection mechanism that provides flexible and efficient enforcement of memory-page permissions in SGX. The enforcement relies on our elastic cross-region bound check technique which uses only three bound registers but provides six memory permissions. To defend MPTEE against potential attacks, we further develop an efficient mechanism that exploits the in-place bound-check technique to ensure the integrity of the memory protection. With MPTEE, developers can enhance the protection for data and code in SGX enclaves and enforce the least-privilege principle such as Execute-no-Read memory readily. We have implemented MPTEE and extensively evaluated its effectiveness, utility, and performance. The results show that MPTEE incurs a performance overhead of only 2%--8%, and is effective in ensuring memory protection and in defending against potential attacks.