Enclave-Aware Executable Loading for Protected Code Isolation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If enclave isolation is implemented for all executable sections, then security is improved, but device complexity and implementation difficulty increase
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.
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.
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
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.
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.
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
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.
Data Source
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.


