Nested Enclave Virtual Machine Security via Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesecurity protection for user-mode applicationsVSAvoidapplicability to system-level software
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #7Nested doll (Nesting)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvehardware-enforced confidentiality and integrityVSAvoidmemory sharing capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvesecurity protection within enclaveVSAvoidsupport for privileged instructions
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9983894B2Method and system for providing secure system execution on hardware supporting secure application execution
Publication Date: 2018.05.29 META PLATFORMS INC
  • US9983894B2 patent drawing
  • US9983894B2 patent drawing
  • US9983894B2 patent drawing

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.