Memory Tagging Circuitry for Side-Channel Defense and Memory Safety

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face challenges in securing memory from side-channel attacks, bounds bypass, and use-after-free vulnerabilities, particularly due to difficulties in rolling out mitigations for speculative execution vulnerabilities like Spectre and Meltdown, which introduce performance penalties and require application recompilation.

Innovation Solution

The implementation of memory tagging circuitry that configures memory pointers with identification, encryption, small object, and bound distance tags to prevent unauthorized access and manipulation, enabling byte-level granularity and sandboxing to secure memory within CPUs, allowing speculative operations while maintaining security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If OS and CPU microcode patch-based mitigations are applied for speculative execution vulnerabilities, then security against Spectre and Meltdown attacks is improved, but performance deteriorates and application recompilation is required

Engineering Contradiction:
Improvesecurity against speculative execution vulnerabilitiesVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the security validation process by implementing fine-grained memory tagging at the byte level, allowing security checks to be performed on individual memory accesses rather than requiring system-wide patches. This segmentation enables selective validation that maintains performance for untagged memory while providing security where needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary security validation by tagging memory regions with security attributes before speculative execution occurs. The memory tagging circuitry pre-configures security parameters for memory regions, enabling the system to validate speculative accesses against pre-established tags without requiring post-execution patching or recompilation.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If fine-grained memory tagging is implemented, then security granularity is improved, but device complexity increases

Engineering Contradiction:
Improvememory tagging granularityVSAvoidmemory tagging circuitry complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent merges the memory tagging circuitry with existing cache memory structures, integrating tag storage and validation logic into the cache hierarchy. This consolidation achieves fine-grained byte-level tagging capability while leveraging existing memory infrastructure to minimize the increase in device complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent adds a new dimension to memory addressing by incorporating security tags as an additional field in the memory address structure. This dimensional extension enables fine-grained security control without fundamentally redesigning the core memory architecture, as the tags are appended to existing address bits rather than replacing them.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Reliability

If memory pointers are protected with tags, then security against pointer manipulation is improved, but ease of operation deteriorates due to additional validation overhead

Engineering Contradiction:
Improvepointer securityVSAvoidmemory access operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements self-service security validation where the memory tagging circuitry automatically validates pointer integrity without requiring software intervention. The hardware automatically compares tagged pointers against stored security attributes and blocks unauthorized accesses, eliminating the need for application-level security checks or recompilation while maintaining ease of operation.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11630920B2Memory tagging for side-channel defense, memory safety, and sandboxing
Publication Date: 2023.04.18 INTEL CORP
  • US11630920B2 patent drawing
  • US11630920B2 patent drawing
  • US11630920B2 patent drawing

AI summary

A system may use memory tagging for side-channel defense, memory safety, and sandboxing to reduce the likelihood of successful attacks. The system may include memory tagging circuitry to address existing and potential hardware and software architectures security vulnerabilities. The memory tagging circuitry may prevent memory pointers from being overwritten, prevent memory pointer manipulation (e.g., by adding values), and increase the granularity of memory tagging to include byte-level tagging in cache. The memory tagging circuitry may sandbox untrusted code by tagging portions of memory to indicate when the tagged portions of memory include contain a protected pointer. The memory tagging circuitry provides security features while enabling CPUs to continue using and benefiting from speculatively performing operations. By co-locating all tagging information at a cacheline granularity with its associated data, the processor has all the information needed to perform access control decisions immediately and non-speculatively, while maintaining high performance and cache coherency.