Paper Proposes CHANCEL, a Sandbox Designed for Appealing Target for Service Providers

Paper Proposes CHANCEL, a Sandbox Designed for Appealing Target for Service Providers

CHANCEL: Efficient Multi-client Isolation Under Adversarial Programs Adil Ahmady Juhee Kimx Jaebaek Seo∗ Insik Shinz Pedro Fonsecay Byoungyoung Leex yPurdue University xSeoul National University ∗Google zKAIST Abstract—Intel SGX aims to provide the confidentiality of confidential data, even if protected by SGX. For example, user data on untrusted cloud machines. However, applications consider a scenario where a service provider rents a cloud that process confidential user data may contain bugs that leak machine, with SGX capabilities, to provide a service to its information or be programmed maliciously to collect user data. clients. In this scenario, SGX will protect client data from a Existing research that attempts to solve this problem does not malicious cloud provider, but cannot prevent the data from consider multi-client isolation in a single enclave. We show being collected by the service provider using an adversarial that by not supporting such in-enclave isolation, they incur considerable slowdown when concurrently processing multiple program. Therefore, clients must trust the service provider to clients in different enclave processes, due to the limitations of not leak their confidential data. SGX. The significant value of private user data makes itan This paper proposes CHANCEL, a sandbox designed for appealing target for service providers. For example, consider a multi-client isolation within a single SGX enclave. In particular, popular messaging platform, Signal [2], which supports private CHANCEL allows a program’s threads to access both a per-thread contact discovery [3]. Signal keeps an offline database of its memory region and a shared read-only memory region while users and periodically updates it on an SGX machine. The servicing requests. Each thread handles requests from a single users connect to the SGX machine to discover which contacts client at a time and is isolated from other threads, using a Multi- use Signal. The private contact discovery is meant to prevent Client Software Fault Isolation (MCSFI) scheme. Furthermore, Signal from extracting a social graph, i.e., determine which CHANCEL supports various in-enclave services such as an in- memory file system and shielded client communication to ensure contacts know each other. However, although Signal’s source complete mediation of the program’s interactions with the outside code is available for inspection, it is non-trivial to determine world. We implemented CHANCEL and evaluated it on SGX that it satisfies such security properties. Moreover, unlike Signal, hardware using both micro-benchmarks and realistic target many companies do not disclose their proprietary algorithms scenarios, including private information retrieval and product which further aggravates the problem by requiring users to recommendation services. Our results show that CHANCEL out- blindly trust service providers. performs a baseline multi-process sandbox by 4:06 − 53:70× on micro-benchmarks and 0:02−21:18× on realistic workloads while Existing research concerning client data protection in remote providing strong security guarantees. machines (e.g., Ryoan [4], VC3 [5]) does not support multi- client isolation within a single enclave. Considering the Signal example, the application could be designed such that multiple I. INTRODUCTION threads (handling requests from individual clients) directly Intel SGX guarantees the confidentiality and integrity ofa share a contact database provided by Signal. However, lacking program without trusting software components such as the OS such support, prior approaches require a dedicated enclave or hypervisor, and protects against specific hardware attacks1 [ ]. process for each client. Although lacking a single process SGX also supports remote attestation to ensuring that programs multi-client sandbox is not critical in non-SGX environments, are correctly installed on remote machines. Thus, SGX is a it is a significant drawback in SGX environments. In particular, promising candidate to ensure the confidentiality of sensitive the lack of secure memory sharing between enclaves and limited data running on remote machines in the cloud. enclave memory (i.e., only 128−256 MB), results in inefficient use of the limited memory and prohibitive overheads when different processes have distinct copies of shared data. However, the traditional assumption behind SGX’s im- To further elaborate, SGX does not allow the sharing of plementation is that the program running inside an enclave enclave pages between different enclave processes; therefore, is trusted. This assumption is not always valid because common data must either be shared through untrusted interfaces applications may contain bugs or may have been built by (e.g., OS-controlled IPC), which is insecure, or be cloned to malicious programmers (i.e., adversarial programs). Hence, each enclave process. However, since SGX has limited trusted users cannot trust remote programs because they may leak memory, cloning common data for each process/enclave would ∗ waste precious memory resources and eventually slowdown the The author worked on this project as a PhD student at KAIST. entire system due to the expensive page-swaps between trusted and untrusted memory [6]. Our experiments on a real-world product recommendation application suggest that under a four Network and Distributed Systems Security (NDSS) Symposium 2021 client scenario with 112 MB of product catalog memory, a 21-25 February 2021, Virtual multi-process sandbox (i.e., the catalog is cloned to 4 processes) ISBN 1-891562-66-5 https://dx.doi.org/10.14722/ndss.2021.24057 incurs almost 20× more page-swaps, and an overhead of more www.ndss-symposium.org than 17×, compared to a multi-client sandbox (i.e., the catalog is shared by 4 threads) (§VIII-C). scenarios, including private information retrieval and product recommendation services. This paper proposes CHANCEL1, a multi-client sandbox that enables multiple threads to securely and efficiently handle re- To ease program development for CHANCEL, we implement quests from different clients, within a single enclave. CHANCEL a compiler toolchain using LLVM [14]. The service provider relies on a novel Multi-Client SFI (MCSFI) scheme to enable must utilize CHANCEL’s toolchain to build an instrumented thread isolation, i.e., sensitive client data and other thread binary, which is loaded into CHANCEL’s enclave after instru- content is only available within the thread’s context, and shared mentation validation using an x86 disassembler, capstone [15]. memory enforcement, i.e., threads can only use shared memory During program execution, CHANCEL provides various services, that is protected against data leakage or tampering. Furthermore, i.e., dynamic memory allocation, file system, and shielded CHANCEL ensures the confidentiality of computational results client communication, and also protects against covert channel by encrypting all outgoing data using a shared secret key attacks (e.g., encoding information in the output size). Our with each client. Lastly, CHANCEL provides various in-enclave evaluated programs required no manual changes to build using functionalities (e.g., an in-memory filesystem) and offers our toolchain and few additional code (less than 10 lines) to practical protections against covert channel attacks. utilize CHANCEL’s runtime services. Existing SFI techniques are not designed for multi-client We evaluate CHANCEL on SGX hardware to assess its scenarios and require advanced hardware features to implement security impact and performance. Our security evaluation in SGX enclaves. In particular, Native Client (NaCl) [7] consid- confirms that CHANCEL can prevent a wide range of attack ers the program’s data to belong to a single client; therefore, it scenarios, including attempts to compromise the instrumentation provisions a single memory view for each thread and does not checks, perform code injection attacks, and leak client data. support thread isolation. Furthermore, Multi-Domain SFI [8, 9] Furthermore, our evaluation shows that CHANCEL has supports thread isolation but lacks shared memory (or its significantly higher performance than the baseline secure enforcement) between the threads, crucial to ensure efficient multi-process sandbox approach (e.g., Ryoan [4]). CHANCEL memory usage, and hence high performance for SGX enclaves. showed a 4:06 − 53:70× performance improvement in micro- Finally, SGX implementations of SFI techniques [4, 9, 10] benchmarks and 0:02 − 21:18× improvement across a range require hardware features that are not widely available, e.g., of important real-world workloads—intrusion detection sys- SGX2 [11], or have been discontinued, e.g., Memory Protection tems (OSSEC [16] and Snort [17]), private information re- eXtensions (MPX) [12, 13], significantly hindering deployment. trieval (DrugBank database [18, 19] and ShieldStore [20] Therefore, to enable efficient multi-client separation, we pro- key-value store), and product recommendation systems (Rec- pose Multi-Client SFI (MCSFI), inspired by Native Client [7]. ommender [21]). Finally, the average overhead of CHANCEL In particular, MCSFI allows each thread to access two memory compared to a native execution is only 12:43% on the nbench regions: (a) per-thread private data region, (b) shared read- benchmark [22], which demonstrates CHANCEL’s applicability only region for all threads of the program. Each thread stores to a wide range of scenarios with only modest overheads. sensitive data obtained from a single

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us