Occlum: Secure and Efficient Multitasking Inside a Single Enclave of Intel SGX

被引:71
|
作者
Shen, Youren [1 ]
Tian, Hongliang [2 ]
Chen, Yu [1 ,3 ]
Chen, Kang [1 ]
Wang, Runji [1 ,2 ]
Xu, Yi [1 ,2 ,4 ]
Xia, Yubin [5 ]
Yan, Shoumeng [2 ]
机构
[1] Tsinghua Univ, Beijing, Peoples R China
[2] Ant Financial Serv Grp, Hangzhou, Peoples R China
[3] Peng Cheng Lab, Shenzhen, Peoples R China
[4] Purdue Univ, W Lafayette, IN 47907 USA
[5] Shanghai Jiao Tong Univ, Shanghai, Peoples R China
基金
国家重点研发计划; 中国国家自然科学基金;
关键词
Intel SGX; library OS; multitasking; Software Fault Isolation; Intel MPX;
D O I
10.1145/3373376.3378469
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Intel Software Guard Extensions (SGX) enables user-level code to create private memory regions called enclaves, whose code and data are protected by the CPU from software and hardware attacks outside the enclaves. Recent work introduces library operating systems (LibOSes) to SGX so that legacy applications can run inside enclaves with few or even no modifications. As virtually any non-trivial application demands multiple processes, it is essential for LibOSes to support multitasking. However, none of the existing SGX LibOSes support multitasking both securely and efficiently. This paper presents Occlum, a system that enables secure and efficient multitasking on SGX. We implement the LibOS processes as SFI-Isolated Processes (SIPs). SFI is a software instrumentation technique for sandboxing untrusted modules (called domains). We design a novel SFI scheme named MPX-based, Multi-Domain SFI (MMDSFI) and leverage MMDSFI to enforce the isolation of SIPs. We also design an independent verifier to ensure the security guarantees of MMDSFI. With SIPs safely sharing the single address space of an enclave, the LibOS can implement multitasking efficiently. The Occlum LibOS outperforms the state-of-the-art SGX LibOS on multitasking-heavy workloads by up to 6, 600x on micro-benchmarks and up to 500x on application benchmarks.
引用
收藏
页码:955 / 970
页数:16
相关论文
共 50 条
  • [1] Practical Enclave Malware with Intel SGX
    Schwarz, Michael
    Weiser, Samuel
    Gruss, Daniel
    [J]. DETECTION OF INTRUSIONS AND MALWARE, AND VULNERABILITY ASSESSMENT (DIMVA 2019), 2019, 11543 : 177 - 196
  • [2] An Efficient and Secure Scheme of Verifiable Computation for Intel SGX
    Ding, Wenxiu
    Sun, Wei
    Yan, Zheng
    Deng, Robert H.
    Wan, Zhiguo
    [J]. 2022 IEEE INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS, TRUSTCOM, 2022, : 473 - 482
  • [3] POSTER: Rust SGX SDK: Towards Memory Safety in Intel SGX Enclave
    Ding, Yu
    Duan, Ran
    Li, Long
    Cheng, Yueqiang
    Zhang, Yulong
    Chen, Tanghui
    Wei, Tao
    Wang, Huibo
    [J]. CCS'17: PROCEEDINGS OF THE 2017 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2017, : 2491 - 2493
  • [4] A Secure and Efficient Bitcoin Payment Channel Using Intel SGX
    Xie, Yankai
    Zhang, Chi
    Wei, Lingbo
    Wang, Qingtao
    Yang, Zhe
    [J]. IEEE INTERNATIONAL CONFERENCE ON COMMUNICATIONS (ICC 2021), 2021,
  • [5] Mobile App to SGX Enclave Secure Channel
    Ota, Fernando Kaway Carvalho
    Meira, Jorge Augusto
    Cassagnes, Cyril Renaud
    State, Radu
    [J]. 2019 IEEE 30TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW 2019), 2019, : 258 - 263
  • [6] SCONE: Secure Linux Containers with Intel SGX
    Arnautov, Sergei
    Trach, Bohdan
    Gregor, Franz
    Knauth, Thomas
    Martin, Andre
    Priebe, Christian
    Lind, Joshua
    Muthukumaran, Divya
    O'Keeffe, Dan
    Stillwell, Mark L.
    Goltzsche, David
    Eyers, David
    Kapitza, Rudiger
    Pietzuch, Peter
    Fetzer, Christof
    [J]. PROCEEDINGS OF OSDI'16: 12TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, 2016, : 689 - 703
  • [7] Secure and Private Function Evaluation with Intel SGX
    Felsen, Susanne
    Kiss, Agnes
    Schneider, Thomas
    Weinert, Christian
    [J]. CCSW'19: PROCEEDINGS OF THE 2019 ACM SIGSAC CONFERENCE ON CLOUD COMPUTING SECURITY WORKSHOP, 2019, : 165 - 181
  • [8] Enclave-based oblivious RAM using Intel's SGX
    Rachid, Maan Haj
    Riley, Ryan
    Malluhi, Qutaibah
    [J]. COMPUTERS & SECURITY, 2020, 91
  • [9] Ensuring Secure Data Input/Output Operations for SGX ENCLAVE
    Zegzhda, D. P.
    Usov, E. S.
    Nikol'skii, A. V.
    Pavlenko, E. Yu.
    [J]. AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2018, 52 (08) : 1036 - 1041
  • [10] Secure Cloud Micro Services Using Intel SGX
    Brenner, Stefan
    Hundt, Tobias
    Mazzeo, Giovanni
    Kapitza, Rudiger
    [J]. DISTRIBUTED APPLICATIONS AND INTEROPERABLE SYSTEMS, DAIS 2017, 2017, 10320 : 177 - 191