Enclave-Aware Executable Loading for Protected Code Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing environments lack effective methods to securely manage partitioned executable code and data within isolated memory regions, leading to vulnerabilities in data confidentiality and integrity due to shared virtual address spaces and the inability to verify trustworthiness of third-party libraries.

Innovation Solution

Implement an enclave-aware processor and loader to automate the isolation of executable code within secure enclaves, facilitating encrypted communication between these enclaves and integrating enclave-aware compilers and runtimes to support secure partitioning and verification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If executables are loaded into a shared virtual address space, then ease of operation and compatibility are improved, but security and data confidentiality deteriorate due to unauthorized access risks

Engineering Contradiction:
Improveease of operationVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent divides the virtual address space into isolated enclave regions and non-enclave regions. The loader segments the executable into protected sections (loaded into enclaves) and unprotected sections (loaded into common memory), allowing simultaneous ease of operation for standard operations and security for sensitive code through spatial segmentation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The enclave-aware loader acts as an intermediary between the executable and the memory system. It automatically determines which sections should be loaded into enclaves versus common memory, managing the complexity of secure loading while maintaining ease of operation for users who don't need to manually configure security settings.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If enclave isolation is implemented for all executable sections, then security is improved, but device complexity and implementation difficulty increase

Engineering Contradiction:
ImprovesecurityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of applying uniform enclave isolation to all executable sections, the patent applies enclave loading selectively based on the security requirements of individual sections. The loader analyzes section attributes and applies protection only where necessary, reducing overall system complexity while maintaining security for critical components.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The enclave-aware loader automatically performs the complex task of determining which sections require enclave isolation without requiring manual configuration or complex external security management systems. The loader self-services the security configuration based on executable attributes, reducing implementation complexity.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If manual configuration of enclave loading is required, then manufacturing precision and security control are improved, but productivity and ease of operation deteriorate due to substantial development effort

Engineering Contradiction:
Improvesecurity controlVSAvoidproductivity
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The enclave-aware loader automatically analyzes executable sections and determines their loading destination without requiring manual security configuration. This self-service approach maintains precise security control by making informed decisions about section placement while dramatically improving productivity by eliminating the need for developers to manually configure enclave loading for each executable.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary analysis of executable sections during the loading process, automatically identifying which sections require enclave protection before they are loaded. This preliminary action ensures security control is maintained while improving productivity by preventing security configuration bottlenecks during deployment.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If third-party libraries are allowed in the common virtual address space, then adaptability and ecosystem integration are improved, but reliability deteriorates due to inability to verify trustworthiness

Engineering Contradiction:
ImproveadaptabilityVSAvoidtrustworthiness verification
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments third-party libraries into protected sections (loaded into enclaves) and unprotected sections (loaded into common memory). This allows the system to maintain adaptability by supporting third-party libraries while improving reliability by isolating their code in secure enclave regions where trustworthiness can be verified through enclave attestation mechanisms.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250291895A1System and method and for loading enclave-aware executables
Publication Date: 2025.09.18 APPLIED ENCLAVES LLC
  • US20250291895A1 patent drawing
  • US20250291895A1 patent drawing
  • US20250291895A1 patent drawing

AI summary

Ways for enhancing security in computing environments through automating the execution of enclaves are provided. A system includes an enclave-aware loader, an enclave-aware Application Binary Interface (eABI), an eABI-aware runtime, a usermode process, and an enclave-aware executable including protected and unprotected sections. The enclave-aware loader may analyze the enclave-aware executable, create an instance of an enclave in the memory, add a portion of the enclave-aware executable into the enclave, and initialize the enclave. The enclave-aware loader may provision the usermode process to interoperate with the enclave. The enclave-aware loader may load the protected sections into the enclave, and the unprotected sections into common memory. The enclave-aware loader may load the eABI-aware runtime into memory and initialize for interoperability between the eABI and the enclave. The system may also include an enclave-aware compiler that may translate generic source code into an enclave-aware executable.