Trusted Execution Environment Microarchitectural Attack Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods fail to detect microarchitectural attacks on trusted execution environments (TEEs) that leak small portions of secrets, introducing significant overhead and missing fragmented attacks, as they rely on assumptions of large execution time variations and require direct interaction with the protected enclave.
Innovation Solution
An assistant TEE uses transactional memory to measure execution times of the client TEE without interrupting its operation, leveraging eviction sets and transactional aborts to detect anomalies and violations of the expected execution flow, thereby minimizing overhead and burden on the programmer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing detection methods are used, then detection capability is provided, but significant overhead is introduced and fragmented attacks are missed
Solution Approach 1:
The patent introduces an intermediary detection mechanism that operates through transactional memory and eviction sets, allowing detection of microarchitectural attacks without direct interaction with the protected enclave. The intermediary uses transactional aborts and execution time measurement to infer attacks, thereby reducing overhead while maintaining detection capability.
Solution Approach 2:
The patent replaces direct mechanical interaction with the enclave (which would cause overhead) with a substitution using transactional memory mechanisms and eviction set monitoring. This allows indirect detection through transactional aborts and timing variations, eliminating the need for direct enclave interaction and reducing runtime overhead.
2Reliability
If existing detection methods are used, then detection capability is provided, but fragmented attacks are missed
Solution Approach 1:
The patent implements feedback mechanisms by continuously monitoring execution times and comparing them against expected values. When variations indicate potential attacks, the system accumulates evidence across multiple measurements and can detect fragmented attacks that leak small portions of secrets, providing feedback that enables detection of previously undetectable attack patterns.
Solution Approach 2:
The patent performs preliminary actions by establishing expected execution times and eviction set configurations before actual attacks occur. This allows the system to detect deviations from normal behavior, including fragmented attacks, by comparing actual execution against pre-established baselines of legitimate operation.
3Difficulty of detecting and measuring
If direct interaction with the protected enclave is used, then detection is possible, but significant overhead is introduced
Solution Approach 1:
The patent uses transactional memory and eviction sets as intermediaries between the detector and the protected enclave. This intermediary layer allows detection of microarchitectural attacks through transactional aborts and timing variations without requiring direct interaction with the enclave, thereby eliminating significant runtime overhead.
Solution Approach 2:
The patent extracts the detection function from direct enclave interaction and places it in the transactional memory management layer. By taking out the detection mechanism from the enclave boundary and implementing it through eviction set monitoring and transactional aborts, the system achieves detection capability without the overhead of direct enclave access.
Data Source
AI summary
A method for detecting a microarchitectural attack on a trusted execution environment (TEE) and/or a violation of an expected execution flow of an application running in the TEE includes implementing a counting thread. An eviction set is loaded in a transaction. The eviction set corresponds to a cache set used by an operation of the application such that a transactional abort is received upon the operation being executed. A value of the counting thread is read upon receiving the transactional abort. These steps are repeated for a next operation of the application running in the TEE and an execution time is measured for the operation based on a difference between the values of the counting thread. The measured execution time for the operation is compared with an expected execution time to detect one or more variations that indicate the microarchitectural attack and/or the violation of the expected execution flow.


