Fuzzing SGX Enclaves via Host Program Mutations

Arslan Khan, Muqi Zou, Kyungtae Kim, Dongyan Xu, Antonio Bianchi, Dave Jing Tian

Research output: Chapter in Book/Report/Conference proceedingConference contribution

3 Scopus citations

Abstract

Intel Software Guard eXtension (SGX) is the cornerstone of Confidential Computing, enabling runtime code and data integrity and confidentiality via enclaves. Unfortunately, memory-unsafe and type-unsafe programming languages, such as C/C++, are commonly used to develop enclave implementations. As a result, a memory corruption or a data race within enclaves could lead to different attacks against the enclaves, such as Return-Of-Programming (ROP) and data leakage, breaking the hardware security guarantee provided by SGX. To automatically identify these issues in existing enclave implementations, in this paper, we propose FuzzSGX, an input and program mutation-based fuzzer for Intel SGX enclave implementations. FuzzSGX provides an enclave fuzzing runtime, FuzzSGX Runtime, a drop-in library for Intel SGX SDK, enabling code coverage and sanitization within enclaves. To explore the host app-enclave boundary, FuzzSGX conducts static analysis and symbolic execution on existing host apps and enclave implementations to generate promising fuzzing programs, fuzzing both ECALLs and OCALLs. We evaluate FuzzSGX using 30 popular SGX applications and enclave implementations and find 93 bugs among these SGX projects, including data races, null pointer dereferences, out-of-bound accesses, division-by-zero, etc. FuzzSGX achieves 3.2x higher code coverage and finds 48.2% more bugs by directly targeting the host appenclave boundary by using program mutations, compared to state-of-the-art fuzzers.

Original languageEnglish (US)
Title of host publicationProceedings - 8th IEEE European Symposium on Security and Privacy, Euro S and P 2023
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages472-488
Number of pages17
ISBN (Electronic)9781665465120
DOIs
StatePublished - 2023
Event8th IEEE European Symposium on Security and Privacy, Euro S and P 2023 - Delft, Netherlands
Duration: Jul 3 2023Jul 7 2023

Publication series

NameProceedings - 8th IEEE European Symposium on Security and Privacy, Euro S and P 2023

Conference

Conference8th IEEE European Symposium on Security and Privacy, Euro S and P 2023
Country/TerritoryNetherlands
CityDelft
Period7/3/237/7/23

All Science Journal Classification (ASJC) codes

  • Information Systems
  • Safety, Risk, Reliability and Quality
  • Artificial Intelligence
  • Computer Networks and Communications
  • Computer Science Applications
  • Software

Fingerprint

Dive into the research topics of 'Fuzzing SGX Enclaves via Host Program Mutations'. Together they form a unique fingerprint.

Cite this