Glamdring: automatic application partitioning for Intel SGX
File(s) atc17-lind.pdf (1.27 MB)
Published version
Author(s)
Type
Conference Paper
Abstract
Trusted execution support in modern CPUs, as offered by
Intel SGX
enclaves
, can protect applications in untrusted
environments. While prior work has shown that legacy
applications can run in their entirety inside enclaves, this
results in a large trusted computing base (TCB). Instead,
we explore an approach in which we
partition
an applica-
tion and use an enclave to protect only security-sensitive
data and functions, thus obtaining a smaller TCB.
We describe
Glamdring
, the first source-level parti-
tioning framework that secures applications written in
C using Intel SGX. A developer first annotates security-
sensitive application data. Glamdring then automatically
partitions the application into untrusted and enclave
parts: (i) to preserve data confidentiality, Glamdring uses
dataflow analysis
to identify functions that may be ex-
posed to sensitive data; (ii) for data integrity, it uses
back-
ward slicing
to identify functions that may affect sensitive
data. Glamdring then places security-sensitive functions
inside the enclave, and adds runtime checks and crypto-
graphic operations at the enclave boundary to protect it
from attack. Our evaluation of Glamdring with the Mem-
cached store, the LibreSSL library, and the Digital Bitbox
bitcoin wallet shows that it achieves small TCB sizes and
has acceptable performance overheads.
Intel SGX
enclaves
, can protect applications in untrusted
environments. While prior work has shown that legacy
applications can run in their entirety inside enclaves, this
results in a large trusted computing base (TCB). Instead,
we explore an approach in which we
partition
an applica-
tion and use an enclave to protect only security-sensitive
data and functions, thus obtaining a smaller TCB.
We describe
Glamdring
, the first source-level parti-
tioning framework that secures applications written in
C using Intel SGX. A developer first annotates security-
sensitive application data. Glamdring then automatically
partitions the application into untrusted and enclave
parts: (i) to preserve data confidentiality, Glamdring uses
dataflow analysis
to identify functions that may be ex-
posed to sensitive data; (ii) for data integrity, it uses
back-
ward slicing
to identify functions that may affect sensitive
data. Glamdring then places security-sensitive functions
inside the enclave, and adds runtime checks and crypto-
graphic operations at the enclave boundary to protect it
from attack. Our evaluation of Glamdring with the Mem-
cached store, the LibreSSL library, and the Digital Bitbox
bitcoin wallet shows that it achieves small TCB sizes and
has acceptable performance overheads.
Date Issued
2018-01-31
Date Acceptance
2017-04-21
Citation
Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC ’17), 2018, pp.285-298
ISBN
978-1-931971-38-6
Publisher
USENIX
Start Page
285
End Page
298
Journal / Book Title
Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC ’17)
Copyright Statement
SENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone.
Sponsor
Engineering & Physical Science Research Council (EPSRC)
Commission of the European Communities
Commission of the European Communities
Grant Number
EP/K008129/1
645011
690111
Source
USENIX Annual Technical Conference 2017
Publication Status
Published
Start Date
2017-07-12
Finish Date
2017-07-14
Coverage Spatial
Santa Clara, CA, USA
