Explicit Integrity Check Value Initialization for Memory Safety

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory safety and security techniques are limited in mitigating intra-object overflows, uninitialized use vulnerabilities, and use-after-free vulnerabilities, particularly in complex hierarchies of objects, and fail to provide granular integrity checking.

Innovation Solution

The implementation of explicit integrity check value (ICV) initialization methods, including instructions like InvICV, InitICV, StoreIgnoreIntegrity, LoadIgnoreIntegrity, and MemCopyWithTripwires, which set and manage ICVs to detect and prevent unauthorized memory access and uninitialized data usage, incorporating cryptographic integrity checking and tripwires to secure memory operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing memory safety techniques are used, then basic memory protection is provided, but intra-object overflows, uninitialized use vulnerabilities, and use-after-free vulnerabilities cannot be effectively mitigated

Engineering Contradiction:
Improvememory safetyVSAvoidvulnerability coverage
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent divides memory into granules with individual integrity check values (ICVs), allowing fine-grained tracking of each memory region's initialization state and ownership. This segmentation enables detection of intra-object overflows by monitoring ICV transitions at specific granule boundaries, and detection of use-after-free by tracking ownership transfers between allocations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent initializes ICVs to indicate uninitialized state before memory allocation or use. This preliminary action establishes a known baseline state that triggers vulnerability detection when accessed prematurely (uninitialized use) or when the ICV pattern doesn't match expected initialization sequences.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If granular integrity checking is implemented, then vulnerability detection capability is improved, but system complexity increases

Engineering Contradiction:
Improveintegrity check granularityVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent combines multiple safety functions (integrity checking, initialization detection, use-after-free detection, intra-object overflow detection) into a unified ICV framework. A single ICV structure encodes multiple states and triggers, eliminating the need for separate mechanisms for each vulnerability type and reducing overall system complexity despite high measurement precision.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The ICV mechanism serves multiple purposes simultaneously: it tracks initialization state, detects overflows, prevents use-after-free, and enables cryptographic verification. This multi-functionality achieves comprehensive vulnerability coverage without proportionally increasing complexity, as the same hardware structures handle all these tasks.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If cryptographic integrity checking is performed on all memory operations, then security is improved, but processing speed decreases

Engineering Contradiction:
ImprovesecurityVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies cryptographic ICV verification selectively based on vulnerability risk rather than uniformly to all memory operations. The system triggers full cryptographic checking only when ICV patterns indicate potential vulnerabilities (uninitialized use, use-after-free, intra-object overflow), while allowing faster paths for routine authenticated accesses, thus balancing security and performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP4488829A1Explicit integrity check value initialization
Publication Date: 2025.01.08 INTEL CORP
  • EP4488829A1 patent drawingFigure 1
  • EP4488829A1 patent drawingFigure 2
  • EP4488829A1 patent drawingFigure 3

AI summary

Techniques for explicit integrity check value initialization are described. In an embodiment, an apparatus includes an instruction decoder to decode a single instruction to set an integrity check value ICV corresponding to a destination location in a memory; and execution circuitry coupled to the instruction decoder, the execution circuitry to perform one or more operations corresponding to the single instruction, including storing data indicated by the single instruction into the destination location, and storing the ICV in the memory.