Trusted Binary Translation with Input Verification in TEE

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

VSEngineering 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

Engineering Contradiction:
Improvearchitecture compatibilityVSAvoidsecurity verification
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvesecurity integrityVSAvoidverification mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If comprehensive input verification is performed, then security against malicious attacks is improved, but processing time and resource consumption increase

Engineering Contradiction:
Improvesecurity against attacksVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3238120B1Binary translation of a trusted binary with input tagging
Publication Date: 2020.03.18 MCAFEE LLC
  • EP3238120B1 patent drawingFigure 1
  • EP3238120B1 patent drawingFigure 2~3
  • EP3238120B1 patent drawingFigure 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.