Protecting secrets of persistent systems with volatility - Sartakov, Vasily A.; Kapitza, Rüdiger; Kapitza, Rüdiger (Proceedings - 2019 15th European Dependable Computing Conference, EDCC 2019, 2019)
The volatility of main memory and CPU caches is an important implicit protection mechanism for sensitive data: in-memory data gets erased if memory modules are disconnected from power supply. Persistent systems, on the other hand, cannot rely on volatility and without further measures their secrets can be easily retrieved by physical access. In this paper, we present Volatility, a system which protects secrets stored in persistent memory. This system provides mechanisms which turn persistent sub-systems into volatile ones by the use of AMD Secure Memory Encryption (SME), a new extension of AMD CPUs which provides encryption of main memory at the page granularity. Volatility protects secrets at two levels: it offers fine-grained memory encryption inside the kernel, where only information considered as sensitive is secured, and per-process memory encryption, which encrypts selected user space programs. Besides storing subsystems in an encrypted form, all relevant input and output paths, e.g. managed by the kernel, are protected as well. Our evaluation of Volatility demonstrates that the proposed protection mechanism does not impact the system performance, while protecting against strong adversaries.
CRIS-Team Scopus Importer:2022-07-19
Keywords: AMD SME; Memory encryption; NV RAM; Persistent systems; Volatile-by-encryption