Store-to-load forwarding conditioning for side channel attack mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance microprocessors face challenges in thwarting side channel attacks (SCAs) without compromising performance gains from speculative execution, as conventional methods either lengthen the execution pipeline or fail to prevent mis-speculation shadows that expose sensitive information.

Innovation Solution

Implementing a speculative out-of-order executing super-scalar processor with a short execution pipeline that conditions store-to-load forwarding on complete physical address matching and permission checks, using a memory dependence predictor and physical address proxies to verify address matching quickly and accurately, thereby preventing SCAs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If speculative store-to-load forwarding is implemented to reduce execution bottlenecks, then processing speed is improved, but side channel attacks become possible due to mis-speculation shadows

Engineering Contradiction:
Improveprocessing speedVSAvoidside channel attack vulnerability
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by performing physical address comparison and permission validation before committing the store-to-load forwarding operation. The processor speculatively forwards data based on virtual address matching, then validates the forwarding propriety using physical addresses and permission bits obtained from TLB lookups. If validation fails, the speculative forwarding is aborted and the load retrieves data from cache, preventing side channel attacks while maintaining performance benefits when forwarding is valid.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If physical address comparison and permission checks are performed before store-to-load forwarding, then security is improved, but execution pipeline length increases

Engineering Contradiction:
ImprovesecurityVSAvoidexecution pipeline length
Core Design Contradiction:
ReliabilityVSLength of moving object

Solution Approach 1:

The patent applies dynamics by making the validation process adaptive rather than static. The processor dynamically determines whether full physical address comparison and permission checks are necessary based on whether the load and store virtual addresses match. When virtual addresses differ, validation is skipped entirely. When they match, validation is performed. This dynamic approach allows the execution pipeline to remain short for the majority of cases while providing security when needed.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11989286B2Conditioning store-to-load forwarding (STLF) on past observations of STLF propriety
Publication Date: 2024.05.21 VENTANA MICRO SYSTEMS INC
  • US11989286B2 patent drawing
  • US11989286B2 patent drawing
  • US11989286B2 patent drawing

AI summary

A method and system for mitigating against side channel attacks (SCA) that exploit speculative store-to-load forwarding is described. The method comprises conditioning store-to-load forwarding on the memory dependence predictor (MDP) being trained for that load instruction. Training involves identifying situations in which store-to-load forwarding could have been performed, but wasn't, and obversely, identifying situations in which store-to-load forwarding was performed but resulted in an error.