Published April 23, 2017 | Version v1
Conference paper Open

SGXBOUNDS: Memory Safety for Shielded Execution

  • 1. TU Dresden
  • 2. The University of Edinburgh
  • 3. University of Neuchâtel

Description

Shielded execution based on Intel SGX provides strong security guarantees for legacy applications running on untrusted platforms. However, memory safety attacks such as Heartbleed can render the confidentiality and integrity properties of shielded execution completely ineffective. To prevent these attacks, the state-of-the-art memory-safety approaches can be used in the context of shielded execution.

In this work, we first showcase that two prominent software- and hardware-based defenses, AddressSanitizer and Intel MPX respectively, are impractical for shielded execution due to high performance and memory overheads. This motivated our design of SGXBounds---an efficient memory-safety approach for shielded execution exploiting the architectural features of Intel SGX. Our design is based on a simple combination of tagged pointers and compact memory layout.

We implemented SGXBounds based on the LLVM compiler framework targeting unmodified multithreaded applications. Our evaluation using Phoenix, PARSEC, and RIPE benchmark suites shows that SGXBounds has performance and memory overheads of 17% and 0.1% respectively, while providing security guarantees similar to AddressSanitizer and Intel MPX. We have obtained similar results with SPEC CPU2006 and four real-world case studies: SQLite, Memcached, Apache, and Nginx.

Files

sgxbounds2017.pdf

Files (325.3 kB)

Name Size Download all
md5:f06da257d18abdc0e1c610e6eed3d922
325.3 kB Preview Download

Additional details

Funding

SERECA – Secure Enclaves for REactive Cloud Applications 645011
European Commission
SecureCloud – Secure Big Data Processing in Untrusted Clouds 690111
European Commission