Califorms Microarchitectural Memory Blacklisting for Intra-Object Overflow Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software and hardware solutions for memory safety are not effective in detecting fine-grained memory safety issues, such as overflows within objects, due to high performance overheads and the need for intrusive code changes, which limits pre-deployment and post-deployment monitoring capabilities.

Innovation Solution

The implementation of a microarchitectural approach called Califorms, which uses cache line formatting and metadata storage in dead spaces within data memory to provide low-overhead memory blacklisting, allowing byte-granular blacklisting and detection of intra-object overflows, reducing metadata storage and access overheads significantly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional blacklisting techniques are used for intra-object memory safety, then memory safety detection capability is improved, but performance overhead increases significantly (2.2× slowdown)

Engineering Contradiction:
Improvememory safety detectionVSAvoidprogram execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache line is segmented into data bytes and metadata bytes (dead space), allowing independent handling of security information and actual data. This segmentation enables the blacklisting mechanism to operate on small metadata portions rather than entire memory regions, reducing overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges metadata storage with existing dead space in cache lines, combining security functionality with unused memory resources. By integrating blacklisting metadata into cache line formatting rather than using separate structures, the system eliminates additional memory accesses and reduces performance overhead.

Inventive Principle:
Principle #5Merging (Combining)

2Measurement precision

If fine-grained memory safety monitoring is implemented, then detection precision is improved, but metadata storage overhead increases (≈100% overhead)

Engineering Contradiction:
Improvememory access violation detectionVSAvoidmetadata storage space
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent applies blacklisting metadata only to specific dead space locations within cache lines rather than uniformly across all memory. This localized approach provides fine-grained detection capability where needed while minimizing overall metadata storage requirements.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses existing dead space in cache lines (unused memory regions) to store blacklisting metadata, allowing the memory structure to serve dual purposes: storing actual data and maintaining security information. This self-service approach eliminates the need for separate metadata storage structures.

Inventive Principle:
Principle #25Self-service

3Reliability

If intrusive code changes are made to achieve memory safety, then security detection capability is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvememory safety enforcementVSAvoidcode modification requirement
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism at the hardware/microarchitecture level (cache line formatting) that mediates between program execution and memory safety enforcement. This intermediary handles blacklisting operations without requiring changes to application code, as the security checks are performed automatically by the memory subsystem.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11995324B2Methods and systems for fine granularity memory blacklisting to detect memory access violations
Publication Date: 2024.05.28 THE TRUSTEES OF COLUMBIA UNIV IN THE CITY OF NEW YORK
  • US11995324B2 patent drawing
  • US11995324B2 patent drawing
  • US11995324B2 patent drawing

AI summary

Disclosed are devices, methods, systems, media, and other implementations that include a method comprising accessing during execution of a process a memory element, determining whether data stored in the accessed memory element includes security data representative of locations that, if accessed, indicate a potential system violation condition, determining, in response to a determination that the accessed memory element includes the security data, whether execution of the process involves access of one or more memory locations in the accessed memory element containing the security data, and performing one or more remedial actions in response to a determination that the one or more memory locations in the memory element containing the security data are being accessed.