Sgx-dl: Dynamic loading and hot-patching for secure applications: Experience paper - Weichbrodt, Nico; Heinemann, Joshua; Almstedt, Lennart; Aublin, Pierre Louis; Kapitza, Rüdiger (Middleware 2021 - Proceedings of the 22nd International Middleware Conference, 2021)
Trusted execution as offered by Intel's Software Guard Extensions (SGX) is considered as an enabler to protect the integrity and confidentiality of stateful workloads such as key-value stores and databases in untrusted environments. These systems are typically long running and require extension mechanisms built on top of dynamic loading as well as hot-patching to avoid downtimes and apply security updates faster. However, such essential mechanisms are currently neglected or even missing in combination with trusted execution. We present sgx-dl, a lean framework that enables dynamic loading of enclave code at the function level and hot-patching of dynamically loaded code. Additionally, sgx-dl is the first framework to utilize the new SGX version 2 features and also provides a versioning mechanism for dynamically loaded code. Our evaluation shows that sgx-dl introduces a performance overhead of less than 5% and shrinks application downtime by an order of magnitude in the case of a database system.
CRIS-Team Scopus Importer:2022-07-19
Keywords: dynamic code loading; hot-patching; Intel software guard extensions; trusted execution