Memory Alignment Randomization for Heap Exploit Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for mitigating heap exploits focus on randomizing memory positions within heap areas but still align memory addresses based on CPU configurations (multiples of 4 or 8), leading to potential performance degradation and vulnerability to attacks, as attackers can predict memory start addresses.

Innovation Solution

A method that randomizes memory alignment by adding a random value to the start address of memory allocation, ensuring objects are aligned without fixed alignment to multiples of 4 or 8, and includes a specific range for random value selection to prevent performance degradation and enhance security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If memory addresses are aligned at multiples of 4 or 8 based on CPU configuration, then CPU access speed is optimized, but memory address predictability increases making systems vulnerable to heap exploits

Engineering Contradiction:
ImproveCPU access speedVSAvoidheap exploit vulnerability
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The patent changes the memory alignment parameter from fixed multiples of 4 or 8 to random values. The heap allocator adds a random offset to the base address, so instead of always aligning to 4 or 8 byte boundaries, the alignment value becomes a random parameter that changes per allocation, preventing attackers from predicting memory addresses while the system adapts to modern CPU architectures that handle unaligned access efficiently

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent makes the memory alignment dynamic rather than static. The alignment value is not fixed but changes randomly for each memory allocation. This dynamic approach ensures that even though the CPU prefers aligned access, the system adapts by using random alignment values that prevent exploitation while maintaining acceptable performance through modern CPU capabilities

Inventive Principle:
Principle #15Dynamics

2Object-affected harmful factors

If memory positions of objects inside heap areas are randomized, then heap exploit vulnerability is reduced, but memory access performance may degrade due to unaligned access

Engineering Contradiction:
Improveheap exploit vulnerabilityVSAvoidmemory access speed
Core Design Contradiction:
Object-affected harmful factorsVSSpeed

Solution Approach 1:

The patent changes the alignment parameter from fixed CPU-dependent values to random values. By modifying how alignment is calculated (using random offsets instead of fixed multiples), the system achieves both goals: randomization for security and maintained performance through efficient handling of the new parameter regime by modern CPUs

Inventive Principle:
Principle #35Parameter changes

3Object-affected harmful factors

If a random value is added to the return start address to calculate the object start address, then memory address predictability is reduced mitigating heap exploits, but memory alignment precision is compromised

Engineering Contradiction:
Improvememory address predictabilityVSAvoidmemory alignment precision
Core Design Contradiction:
Object-affected harmful factorsVSManufacturing precision

Solution Approach 1:

The patent deliberately changes the alignment precision parameter by introducing random offsets. Instead of maintaining precise alignment to fixed boundaries, the system accepts variable alignment as a feature rather than a bug, transforming the precision parameter from a fixed high-value state to a random variable state that provides security while remaining functional

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10664589B2Memory alignment randomization method for mitigation of heap exploit
Publication Date: 2020.05.26 KOREA ADVANCED INST OF SCI & TECH
  • US10664589B2 patent drawing
  • US10664589B2 patent drawing
  • US10664589B2 patent drawing

AI summary

A memory alignment randomization method of a memory heap exploit is provided, memory alignment of objects inside a heap area is randomly performed to mitigate the exploits of the vulnerability of the software memory heap area The heap exploit is powerfully mitigated by aligning randomly obtained memory addresses instead of aligning memory addresses at multiples of 4 or 8 when the memory alignment for the objects inside the heap area.