Towards Memory Safe Enclave Programming with Rust-SGX

Towards Memory Safe Enclave Programming with Rust-SGX
复制标题

DOI:
10.1145/3319535.3354241
复制
发表时间:
2019-11
期刊:
Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security
影响因子:
--
通讯作者:
Huibo Wang;Pei Wang;Yu Ding;Mingshen Sun;Yiming Jing;Ran Duan;Long Li;Yulong Zhang;Tao W
Huibo Wang;Pei Wang;Yu Ding;Mingshen Sun;Yiming Jing;Ran Duan;Long Li;Yulong Zhang;Tao W
中科院分区:
其他
文献类型:
--
作者:
Huibo Wang;Pei Wang;Yu Ding;Mingshen Sun;Yiming Jing;Ran Duan;Long Li;Yulong Zhang;Tao W

文献摘要

被引文献

相似文献

英特尔软件保护扩展(SGX)是硬件支持的可信执行环境(TEE),旨在保护安全关键型应用程序。然而,它不能终止在Enclave内运行的软件的传统内存损坏漏洞,因为Enclave软件仍然是使用C/C++等类型不安全的语言开发的。本文介绍了RUST-SGX,这是一种有效的分层方法,用于根除在SGX Enclaves内运行的软件的内存损坏。其核心思想是通过解决如何(1)使SGX软件内存安全和(2)同时与英特尔提供的SDK一样高效地运行的关键挑战,利用RUST-SGX SDK来开发具有高效内存安全系统语言Rust的Enclave程序。因此,我们建议在Intel SGX SDK之上构建Rust-SGX,并用经过正式验证的内存安全来驯服不安全的组件。我们已经实现了RUST-SGX,并通过一系列基准程序进行了测试。我们的评估结果表明,Ruust-SGX施加的额外开销很小(与Intel SGX SDK开发的软件相比,SGX特定功能和服务的额外开销不到5%),同时具有更强的存储安全性。
Intel Software Guard eXtension (SGX), a hardware supported trusted execution environment (TEE), is designed to protect security critical applications. However, it does not terminate traditional memory corruption vulnerabilities for the software running inside enclave, since enclave software is still developed with type unsafe languages such as C/C++. This paper presents RUST-SGX, an efficient and layered approach to exterminating memory corruption for software running inside SGX enclaves. The key idea is to enable the development of enclave programs with an efficient memory safe system language Rust with a RUST-SGX SDK by solving the key challenges of how to (1) make the SGX software memory safe and (2) meanwhile run as efficiently as with the SDK provided by Intel. We therefore propose to build RUST-SGX atop Intel SGX SDK, and tame unsafe components with formally proven memory safety. We have implemented RUST-SGX and tested with a series of benchmark programs. Our evaluation results show that RUST-SGX imposes little extra overhead (less than 5% with respect to the SGX specific features and services compared to software developed by Intel SGX SDK), and meanwhile have stronger memory safety.