Nested Enclave Virtual Machine Security via Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hardware extensions for secure application execution, such as Intel SGX, do not provide protection for system-level software like operating systems, which are vulnerable to attacks and data leaks, and do not support secure execution of virtual machines containing both user-mode and kernel-mode components.
Innovation Solution
A software-based method for securing virtual machine execution using processor features for memory integrity and confidentiality, allowing applications within a VM to create protected regions isolated from the guest OS, enabling nested secure execution regions to protect against privileged and physical attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If hardware extensions like Intel SGX are used to provide secure application execution, then confidentiality and integrity protection for user-mode applications is improved, but protection for system-level software such as operating systems and virtual machines is not achieved
Solution Approach 1:
The patent implements nested enclaves where a root enclave contains child enclaves, allowing hierarchical protection structures. The root enclave executes privileged instructions and manages child enclaves, while child enclaves provide protection for specific applications or system components. This nesting enables system-level software to be protected through a hierarchy of enclave layers, each providing security boundaries.
Solution Approach 2:
The patent divides system software into separate enclaves that can be individually protected. Instead of protecting the entire system as one unit, the system is segmented into multiple isolated enclave regions, each with its own security context. This segmentation allows different parts of system software to have appropriate protection levels and enables granular security management.
2Reliability
If enclaves are designed to reside entirely within a single virtual address space, then hardware enforcement of confidentiality and integrity is simplified, but protected memory cannot be shared across enclaves and system software protection is limited
Solution Approach 1:
The patent introduces a memory mapping mechanism that acts as an intermediary between enclaves. The processor's memory management unit translates enclave virtual addresses to physical addresses, enabling controlled memory sharing. This intermediary layer allows enclaves to access shared memory regions while maintaining security boundaries, as the translation process enforces access controls and isolation policies.
Solution Approach 2:
The patent creates a unified memory management system that serves multiple functions: it provides isolation between enclaves, enables controlled sharing of memory regions, and supports both user-mode and kernel-mode operations. The same memory management infrastructure handles private enclave memory, shared memory regions, and inter-enclave communication buffers, making the system versatile for different protection scenarios.
3Reliability
If first-generation Intel SGX supports only unprivileged user-mode instructions within an enclave, then hardware security implementation is simpler, but secure execution of privileged kernel-mode instructions and system software is not possible
Solution Approach 1:
The patent implements dynamic privilege management where enclaves can transition between different privilege levels. Child enclaves can execute privileged instructions under the control of the root enclave, which manages the privilege transitions. This dynamic approach allows the system to provide privileged instruction execution when needed while maintaining security through controlled transitions and oversight by the root enclave.
Solution Approach 2:
The root enclave performs self-service by managing its own child enclaves and handling privileged operations. The root enclave executes privileged instructions to create, destroy, and manage child enclaves, and can perform operations that require higher privilege levels. This self-service capability allows the enclave system to provide privileged functionality without requiring external trust, as the root enclave autonomously manages its security context.
Data Source
AI summary
An application such as a virtual machine are executed securely using a software-based, full-system emulator within a hardware-protected enclave, such as an SGX enclave. The emulator may thereby be secure even against a malicious underlying host operating system. In some cases, paging is used to allow even a large application may run within a small enclave using paging. Where the application itself uses enclaves, these guest enclaves may themselves be emulated within an emulator enclave such that the guest enclave(s) are nested as sibling enclaves by the emulator.


