Speculative Load Queue Cache Coherency Protocol for Side Channel Attack Mitigation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Speculative execution in processors leads to permanent changes in microarchitectural structures, which can be exploited for side channel attacks, leaking confidential information and violating security assumptions in software security mechanisms.
Innovation Solution
Implementing a cache coherency protocol that prevents changes to microarchitectural states during speculative execution by using a speculative-modified state to track speculative loads and ensure that cache state changes only occur after the correctness of speculative execution is confirmed, thereby preventing side channel attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If speculative execution is implemented to enhance processing efficiency, then productivity is improved, but security is worsened due to side channel attacks leaking confidential information
Solution Approach 1:
The patent segments the cache state into two distinct states: speculative-modified state for addresses accessed during speculative execution and modified state for confirmed addresses. This segmentation allows the system to track and differentiate between speculative and non-speculative cache accesses, preventing side channel attacks while maintaining speculative execution performance benefits
Solution Approach 2:
The patent introduces a speculative-modified state as an intermediary state between invalid and modified states in the cache coherency protocol. This intermediary state acts as a buffer that captures speculative cache accesses without allowing them to persist as permanent modifications, thereby blocking the attack path while preserving speculative execution functionality
2Productivity
If cache state changes are allowed during speculative execution, then productivity is improved, but reliability is worsened due to information leakage
Solution Approach 1:
The patent implements dynamic state transitions in the cache coherency protocol where cache lines can transition to speculative-modified state during speculative execution, and then either commit to modified state or revert to invalid state based on speculation outcome. This dynamic approach allows flexible handling of speculative accesses while ensuring security through proper state management
Solution Approach 2:
The patent employs feedback mechanisms through the cache coherency protocol that monitor speculative execution outcomes and adjust cache states accordingly. When speculation is confirmed correct, cache lines transition from speculative-modified to modified state; when speculation fails, they revert to invalid state, providing feedback-based security control
Data Source
AI summary
A processor includes a first core and a second core to execute computer instructions. Each of the cores includes its own private memory cache and speculative load queue. The speculative load queue stores cachelines for the computer instructions and data when the core is operating in a speculative state with respect to a process or thread. The processor includes a state tracking buffer having a state field to store a speculative exclusive ownership state for each cacheline in the speculative load queue when present therein.


