Displaced Dilated Address Spaces for Control Plane Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for securing computer systems against control-flow attacks are either predictable and exploitable or incur high overhead, failing to provide comprehensive protection with both high entropy and runtime re-randomization while maintaining low overhead.

Innovation Solution

The implementation of Displaced and Dilated Address Spaces (DDAS) using an inflation mechanism and cryptographic functions to obfuscate pointers, combined with runtime re-randomization and custom hardware, creates a high-entropy defense that makes it difficult for attackers to manipulate code pointers, achieving low performance overhead and high security efficacy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional pointer protection techniques (CFI, CPI, ASLR) are used, then control flow attacks are mitigated, but memory usage and computation cycles increase

Engineering Contradiction:
Improvecontrol flow attack mitigationVSAvoidmemory and computation overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a displaced address space that adds a new dimensional layer to the traditional address space. By mapping virtual addresses to physical addresses through a displacement function rather than direct mapping, the system achieves enhanced security without proportionally increasing memory overhead. The displacement parameter acts as an additional dimension that attackers must guess, effectively increasing the security dimension without linearly increasing resource consumption.

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

Solution Approach 2:

The patent dynamically changes the displacement parameter at runtime, transforming the address space mapping relationships. This parameter change approach allows the system to maintain strong protection against control flow attacks while using computation-only overhead for the transformation. The displacement parameter can be changed without requiring additional memory structures, thus improving reliability while controlling device complexity.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If pointer values are randomized (ASLR), then attackers cannot create pointers to desired targets, but the technique is predictable and exploitable

Engineering Contradiction:
Improvepointer securityVSAvoidpredictability of randomization
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies displacement transformation to address spaces before attackers can exploit predictable patterns. By pre-establishing the displaced address space mapping with a secret displacement parameter, the system ensures that even if attackers observe address patterns, the underlying displacement relationship remains hidden. This preliminary action of transforming the address space prevents attackers from learning predictable patterns that would exist in conventional ASLR implementations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The displacement function serves as an intermediary layer between the virtual address space and the physical address space. This intermediary transformation obscures the relationship between virtual addresses and their physical counterparts, making it difficult for attackers to predict or manipulate pointer values. The intermediary displacement mechanism adds computational overhead but significantly improves the difficulty of detecting and measuring address patterns.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If address space layout randomization is applied, then attackers are unable to create pointers to desired targets, but performance overhead increases

Engineering Contradiction:
Improveattack preventionVSAvoidperformance overhead
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces complex memory management mechanisms with a simpler computational displacement transformation. Instead of requiring extensive memory structures and complex address translation tables, the system uses a mathematical displacement function that can be computed with minimal overhead. This substitution of mechanical memory-based approaches with computational transformations maintains strong attack prevention while reducing performance overhead.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent uses parameter-based displacement transformation that can be efficiently computed and changed. The displacement parameter allows the system to achieve address space randomization through simple arithmetic operations rather than complex memory manipulations. This parameter-driven approach maintains high productivity by using computation-efficient transformations while preserving reliable attack prevention through dynamic parameter changes.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20220277072A1Thwarting control plane attacks with displaced and dilated address spaces
Publication Date: 2022.09.01 THE RGT UNIV OF MICHIGAN
  • US20220277072A1 patent drawing
  • US20220277072A1 patent drawing
  • US20220277072A1 patent drawing

AI summary

A method of securing a virtual address space against unauthorized access from an unauthorized agent includes generating a superimposed address space corresponding to the virtual address space, dilating the superimposed address space by inserting dununy memory at a plurality of locations in the superimposed address space, and displacing the superimposed address space by shifting a segment of the superimposed address space by a d-bit key. A computer processor includes a memory and a dedicated functional unit in a stage of a pipeline of the computer processor, the computer processor including an instruction that when executed by the dedicated functional unit causes the computer processor to translate one or more pointers between displaced and dilated address spaces of the memory and virtual address spaces of the memory.