Trusted Binary Translation with Input Verification in TEE
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing trusted execution environments (TEEs) face challenges in securely translating and executing binaries, particularly when code needs to be modified or compiled for different architectures, as they typically do not extend security verification beyond installation time, and may not support binary translation or just-in-time compilation within the TEE, potentially defeating security purposes.
Innovation Solution
A system and method that includes a trusted binary translation engine (BTE) and input verification engine (IVE) within a TEE, where the BTE translates signed binaries into a native format suitable for execution within the TEE, and the IVE verifies and sanitizes inputs to prevent security breaches, ensuring the integrity and security of the binary translation process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If binary translation is performed outside the TEE, then translation flexibility and architecture compatibility are improved, but security verification is weakened because the translated code cannot be executed within the trusted environment
Solution Approach 1:
The system segments the binary translation process into two parts: (1) translation performed outside the TEE using a binary translation engine, and (2) verification and execution of the translated binary performed inside the TEE. This segmentation allows flexible translation for different architectures while maintaining security verification within the trusted environment.
Solution Approach 2:
The patent introduces an intermediary verification mechanism where the TEE verifies the translated binary before execution. This intermediary step acts as a bridge between the untrusted translation process outside the TEE and the trusted execution environment, ensuring that even though translation occurs externally, the security properties are maintained through verification.
2Reliability
If security verification is extended to cover translation processes, then security integrity is improved, but system complexity increases due to the need for verification mechanisms within the TEE
Solution Approach 1:
The system performs preliminary verification of the translated binary before it is executed within the TEE. The verification process checks critical security properties such as control flow integrity and memory access patterns in advance, simplifying the runtime verification requirements and reducing the overall system complexity while maintaining security integrity.
Solution Approach 2:
The patent changes the verification parameters from comprehensive static analysis to dynamic runtime verification of specific critical properties. Instead of verifying all aspects of the binary translation, the system focuses on verifying key security parameters such as control flow correctness and memory safety, thereby reducing complexity while maintaining security.
3Reliability
If comprehensive input verification is performed, then security against malicious attacks is improved, but processing time and resource consumption increase
Solution Approach 1:
The input verification mechanism applies different verification strengths to different input locations based on their security sensitivity. Critical inputs that affect control flow or security-critical operations undergo rigorous verification, while less sensitive inputs receive minimal or no verification. This localized approach maintains security against malicious attacks while reducing overall processing time and resource consumption.
Data Source
Figure 1
Figure 2~3
Figure 4A
AI summary
In an example, a computing device includes a trusted execution environment (TEE), including an enclave. The enclave may include both a binary translation engine (BTE) and an input verification engine (IVE). In one embodiment, the IVE receives a trusted binary as an input, and analyzes the trusted binary to identify functions, classes, and variables that perform input/output operations. To ensure the security of these interfaces, those operations may be performed within the enclave. The IVE tags the trusted binary and provides the binary to the BTE. The BTE then translates the trusted binary into a second format, including designating the tagged portion for execution within the enclave. The BTE may also sign the new binary in the second format and export it out of the enclave.