Califorms Microarchitectural Memory Blacklisting for Intra-Object Overflow Detection
Find Innovative SolutionsGenerate 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
Engineering 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)
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.
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.
2Measurement precision
If fine-grained memory safety monitoring is implemented, then detection precision is improved, but metadata storage overhead increases (≈100% overhead)
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.
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.
3Reliability
If intrusive code changes are made to achieve memory safety, then security detection capability is improved, but ease of operation deteriorates
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.
Data Source
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.


