Control Flow Speculation State Tracking for Secure Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Speculative execution in data processing, particularly control flow speculation, can lead to security vulnerabilities such as unintended access to secured data, as processors may speculatively execute privileged code and fail to clear caches properly, allowing side-channel attacks.

Innovation Solution

An apparatus and method that generate sequences of instructions with indirect control flow instructions, storing a state of control flow speculation after execution, and using speculation barriers to inhibit data value speculation, ensuring correct control flow speculation tracking and secure data access by maintaining a state of control flow speculation across function calls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If control flow speculation is performed to improve processing speed, then execution speed is improved, but security vulnerabilities occur due to unauthorized access to privileged data

Engineering Contradiction:
Improveexecution speedVSAvoidsecurity vulnerabilities
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by performing control flow speculation before the actual control flow decision is resolved. The processor speculatively executes instructions along predicted control flow paths, and only after the speculation is validated or invalidated does the system commit or discard the speculative results. This allows speed improvement while maintaining security through subsequent validation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary mechanisms including speculation state tracking and validation logic that act as mediators between speculative execution and secure data access. These intermediaries monitor control flow speculation, track speculative states, and prevent unauthorized access to privileged data by validating speculation before allowing access to sensitive resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If speculative execution is allowed to improve performance, then processing throughput is improved, but data leaks occur through side-channel attacks

Engineering Contradiction:
Improveprocessing throughputVSAvoiddata leaks
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements feedback mechanisms where the processor continuously monitors control flow speculation outcomes and feeds this information back to validate or invalidate speculative execution paths. The speculation state tracking system provides feedback about whether speculative access to data was legitimate, preventing data leaks by using this feedback to control subsequent access and prevent side-channel attacks.

Inventive Principle:
Principle #23Feedback

3Reliability

If control flow speculation tracking is implemented to prevent security issues, then data security is improved, but instruction complexity increases

Engineering Contradiction:
Improvedata securityVSAvoidinstruction complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing control flow speculation tracking into distinct components: speculation state tracking, validation logic, and control flow management. Each component handles a specific aspect of speculation management, making the overall system more manageable and less complex than a monolithic approach would require.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11467842B2Speculation with indirect control flow instructions
Publication Date: 2022.10.11 ARM LTD
  • US11467842B2 patent drawing
  • US11467842B2 patent drawing
  • US11467842B2 patent drawing

AI summary

There is provided input circuitry to receive input data. Output circuitry outputs a sequence of instructions to be executed by data processing circuitry. Generation circuitry performs a generation process to generate the sequence of instructions using the input data with at least some of the instructions being grouped into functions. The sequence of instructions comprises an indirect control flow instruction comprising a field that indicates where a target of the indirect control flow instruction is stored. The target is an entry point to one of the functions and the generation process causes at least one of the instructions in the sequence of instructions to store a state of control flow speculation after execution of the indirect control flow instruction.