Enclave-Aware Executables With eABI Symbol Resolution
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
Implementing enclave-aware compilers, loaders, and runtime libraries, along with an enhanced Application Binary Interface (eABI) to automate the isolation of executable code within secure enclaves and facilitate dynamic communication between these enclaves, ensuring only published symbols can be accessed securely.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If enclave technology is used to isolate executable code and data, then security and confidentiality are improved, but device complexity and difficulty of operation increase
Solution Approach 1:
The system segments executable code and data into separate enclaves, isolating trusted code from untrusted code in the host operating system. This segmentation allows security-critical functions to run in isolated environments while non-critical functions remain in the general system, resolving the contradiction by providing targeted security without requiring complete system restructuring.
Solution Approach 2:
The patent introduces an intermediary layer that manages enclave creation, loading, and execution. This intermediary handles the complexity of enclave management transparently, allowing applications to benefit from enclave security without directly dealing with the underlying complexity of enclave technology.
2Reliability
If enclave technology is implemented to protect data, then data confidentiality is improved, but ease of manufacture and adoption decrease
Solution Approach 1:
The system designs enclaves to be universally applicable across different applications and workloads. The enclave technology is created in a way that can serve multiple purposes - protecting cryptographic keys, securing sensitive data processing, and isolating untrusted code - making it easier for organizations to adopt by demonstrating broad utility rather than requiring application-specific customization.
Solution Approach 2:
The patent establishes preliminary frameworks and standards for enclave creation and management before widespread adoption. By pre-defining best practices, security policies, and integration patterns, the system reduces the effort required for organizations to implement enclave technology, thereby improving ease of manufacture and adoption.
3Reliability
If enclave isolation is enforced to prevent unauthorized access, then security is improved, but interoperability and communication between components deteriorate
Solution Approach 1:
The system introduces intermediary mechanisms that facilitate secure communication between enclaves and the host system. These intermediaries act as controlled gateways, allowing necessary data exchange and interoperability while maintaining security boundaries. The intermediaries enforce security policies on communications, ensuring that isolation is maintained without preventing legitimate interactions.
Solution Approach 2:
The enclave system implements dynamic control over communication channels, allowing security policies to be adjusted based on the specific interaction context. Rather than static isolation, the system dynamically permits or restricts communications based on trust relationships, data sensitivity, and operational requirements, thereby maintaining both security and interoperability.
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 processor, memory, an enclave-aware Application Binary Interface (eABI) and an eABI-aware runtime. The system may also include an eABI-aware executable, an eABI-aware library, a published symbol, and an external symbol dependency, where the eABI-aware main executable may interoperate with the eABI-aware library via the eABI-aware runtime. The eABI-aware runtime allows external access to the published symbol to resolve the external symbol dependency. The system may also include an enclave-aware executable, an enclave-aware library, a main enclave, and a library enclave. The main-enclave may be configured to interoperate with the library-enclave via the eABI-aware runtime. The memory may also include an enclave-aware compiler for compiling generic source code into an enclave-aware executable, and an enclave-aware loader, further automating communication between enclaves via the eABI-aware runtime.


