Selective Serializing Instructions for Spectre Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods to mitigate side-channel attacks, such as Spectre, on speculative execution architectures are either ineffective or come with significant performance overhead, as they either disable speculative execution entirely or require costly microcode updates and OS changes.

Innovation Solution

The use of selective serializing instructions with novel prefixes and parameters to enforce ordered execution for specific instructions, combined with randomization of branch history and source addresses for indirect branches, to prevent information leakage without disabling speculative execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If speculative execution is disabled entirely to prevent side-channel attacks, then security is improved, but processing performance deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the mitigation approach by applying selective serializing instructions only to specific vulnerable instruction sequences rather than disabling speculative execution globally. This allows security-critical sections to be protected while other code paths can continue to execute speculatively, thus resolving the contradiction between security and performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making the serialization property local to specific instructions or code regions that are vulnerable to side-channel attacks. The processor maintains speculative execution capability in general but enforces ordered execution only where necessary, thus protecting security without sacrificing overall processing performance.

Inventive Principle:
Principle #3Local quality

2Reliability

If serializing instructions are used to prevent Spectre attacks, then security is improved, but execution speed deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent applies partial action by using serializing instructions selectively only for vulnerable instruction sequences rather than applying them universally. This partial mitigation approach provides sufficient security protection for critical paths while minimizing the impact on overall execution speed.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If microcode updates and OS changes are implemented to mitigate attacks, then security is improved, but system complexity deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent enables the processor to self-protect against side-channel attacks through built-in hardware mechanisms that detect and mitigate vulnerable execution patterns. This self-service approach eliminates the need for external microcode updates and OS changes, thus improving security without increasing system complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11544070B2Efficient mitigation of side-channel based attacks against speculative execution processing architectures
Publication Date: 2023.01.03 INTEL CORP
  • US11544070B2 patent drawing
  • US11544070B2 patent drawing
  • US11544070B2 patent drawing

AI summary

The present disclosure is directed to systems and methods for mitigating or eliminating the effectiveness of a side-channel based attack, such as one or more classes of an attack commonly known as Spectre. Novel instruction prefixes, and in certain embodiments one or more corresponding instruction prefix parameters, may be provided to enforce a serialized order of execution for particular instructions without serializing an entire instruction flow, thereby improving performance and mitigation reliability over existing solutions. In addition, improved mitigation of such attacks is provided by randomizing both the execution branch history as well as the source address of each vulnerable indirect branch, thereby eliminating the conditions required for such attacks.