Re-order Buffer Timing Randomization for Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer processor architectures with out-of-order execution are vulnerable to timing-based security attacks, such as Meltdown and Spectre, which exploit predictable timing patterns in re-order buffers to leak privileged information.

Innovation Solution

Introducing randomness in the timing pattern of re-order buffers by dynamically adjusting their capacity based on random number generator outputs, either periodically or at random intervals, to disrupt the predictability of data timing and prevent attackers from exploiting timing-based attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If out-of-order execution is implemented to improve processor utilization and execution speed, then processing efficiency is improved, but security vulnerability increases due to predictable timing patterns in re-order buffers

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsecurity vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The re-order buffer capacity is made dynamic rather than fixed. The buffer capacity is adjusted based on randomly selected values from a range, causing the timing patterns of instruction execution to vary unpredictably. This dynamic adjustment maintains the out-of-order execution functionality while preventing attackers from exploiting consistent timing patterns to leak privileged information.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If fixed re-order buffer capacity is used to simplify processor design, then device complexity is reduced, but timing predictability increases making the system vulnerable to security attacks

Engineering Contradiction:
Improveprocessor design complexityVSAvoidtiming predictability
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The re-order buffer capacity parameter is changed from a fixed value to a variable that is randomly selected from a range. This parameter change introduces unpredictability into the system's timing behavior, preventing security attacks that rely on predictable timing patterns, while adding minimal complexity to the processor design.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20220350609A1Protection Against Timing-based Security Attacks on Re-order Buffers
Publication Date: 2022.11.03 MICRON TECHNOLOGY INC
  • US20220350609A1 patent drawing
  • US20220350609A1 patent drawing
  • US20220350609A1 patent drawing

AI summary

Methods, systems, and apparatuses related to re-order buffers and for protection from timing-based security attacks are described. A processor may have functional units configured to execute instructions out of order, a re-order buffer configured to buffer the execution results of instructions for output in order, and a controller configured to randomize data timing in the re-order buffer. For example, the controller can make random adjustments to the capacity of the re-order buffer in buffering and/or sorting execution results and thus randomize data timing in the re-order buffer.