CHANCEL: Efficient Multi-client Isolation Under Adversarial Programs

 May 6, 2021 at 11:47 am

NDSS'21

Paper

Abstract

Intel SGX aims to provide the confidentiality of user data on untrusted cloud machines. However, applications that process confidential user data may contain bugs that leak information or be programmed maliciously to collect user data. Existing research that attempts to solve this problem does not consider multi-client isolation in a single enclave. We show that by not supporting such isolation, they incur considerable slowdown when concurrently processing multiple clients in different processes, due to the limitations of SGX.

This paper proposes CHANCEL, a sandbox designed for multi-client isolation within a single SGX enclave. In particular, CHANCEL allows a program’s threads to access both a per-thread memory region and a shared read-only memory region while servicing requests. Each thread handles requests from a single client at a time and is isolated from other threads, using a Multi-Client Software Fault Isolation (MCSFI) scheme. Furthermore, CHANCEL supports various in-enclave services such as an in-memory file system and shielded client communication to ensure complete mediation of the program’s interactions with the outside world. We implemented CHANCEL and evaluated it on SGX hardware using both micro-benchmarks and realistic target scenarios, including private information retrieval and product recommendation services. Our results show that CHANCEL outperforms a baseline multi-process sandbox between 4.06−53.70× on micro-benchmarks and 0.02 − 21.18× on realistic workloads while providing strong security guarantees.

Motivation & Target & Model

  • Potentially malicious binary
  • Binary/clients cannot leak confidential data
  • Clients cannot compromise others' threads
  • Multi-client isolation in a single enclave

Design & Method

  • In-memory FS, client communication, memory management
  • No additional hardware requirements (such as MPX/SGX2)
  • Reserves two registers: r14, r15
  • Provide a toolchain to generate instrumented binary

Protections

  • Chancel includes comprehensive evaluations on real-world tasks and benchmarks