Blindfold: Confidential Memory Management by Untrusted Operating System
Caihua Li, Seung-Seob Lee, Lin Zhong
Abstract
Confidential Computing (CC) has received increasing attention in recent years as a mechanism to protect user data from untrusted operating systems (OSes). Existing CC solutions hide confidential memory from the OS and/or encrypt it to achieve confidentiality. In doing so, they render OS memory optimization unusable or complicate the trusted computing base (TCB) required for optimization. This paper presents our results toward overcoming these limitations, synthesized in a CC design named Blindfold. Like many other CC solutions, Blindfold relies on a small trusted software component running at a higher privilege level than the kernel, called Guardian. It features three techniques that can enhance existing CC solutions. First, instead of nesting page tables, Guardian mediates how the OS accesses memory and handles exceptions by switching page and interrupt tables. Second, Blindfold employs a lightweight capability system to regulate the kernel semantic access to user memory, unifying case-by-case approaches in previous work. Finally, Blindfold provides carefully designed secure ABI for confidential memory management without encryption. We report an implementation of Blindfold that works on ARMv8-A/Linux. Using Blindfold prototype, we are able to evaluate the cost of enabling confidential memory management by the untrusted Linux kernel. We show Blindfold has a smaller runtime TCB than related systems and enjoys competitive performance. More importantly, we show that the Linux kernel, including all of its memory optimizations except memory compression, can function properly for confidential memory. This requires only about 400 lines of kernel modifications.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 406f2bcf-8b22-4acc-b78a-7ed1670a76efBuilds on8
- SANCTUARY: ARMing TrustZone with User-space EnclavesFerdinand Brasser, David Gens, Patrick Jauernig, Ahmad-Reza Sadeghi et al.NDSS 2019 · 191 citations
- SKEE: A lightweight Secure Kernel-level Execution Environment for ARMAhmed M. Azab, Kirk Swidowski, Rohan Bhutkar, Jia Ma et al.NDSS 2016 · 105 citations
- Protecting Cloud Virtual Machines from Hypervisor and Host Operating System ExploitsShih-Wei Li, John S. Koh, Jason NiehUSENIX Security 2019 · 49 citations
- Ginseng: Keeping Secrets in Registers When You Distrust the Operating SystemMin Hong Yun, Lin ZhongNDSS 2019 · 48 citations
- BlackBox: A Container Security Monitor for Protecting Containers on Untrusted Operating SystemsAlexander Van't Hof, Jason NiehOSDI 2022 · 44 citations
Related papers
- SHELTER: Extending Arm CCA with Isolation in User SpaceYiming Zhang, Yuxin Hu, Zhenyu Ning, Fengwei Zhang et al.USENIX Security 2023
- CAGE: Complementing Arm CCA with GPU ExtensionsChenxu Wang, Fengwei Zhang, Yunjie Deng, Kevin Leach et al.NDSS 2024
- BLACKOUT: Data-Oblivious Computation with Blinded CapabilitiesHossam ElAtali, Merve Gülmez, Thomas Nyman, N. AsokanCCS 2025
- RContainer: A Secure Container Architecture through Extending ARM CCA Hardware PrimitivesQihang Zhou, Wenzhuo Cao, Xiaoqi Jia, Peng Liu et al.NDSS 2025
- UIEE: Secure and Efficient User-space Isolated Execution Environment for Embedded TEE SystemsHuaiyu Yan, Zhen Ling, Xuandong Chen, Xinhui Shao et al.NDSS 2026 · 4 citations
