Physical Address Randomization for Secure Memory Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer systems fail to adequately randomize physical memory addresses, leading to predictability that can compromise security, as the same physical pages are often reused across application executions, allowing adversaries to derive sensitive information.
Innovation Solution
Implementing physical address randomization by an operating system that randomly selects physical memory pages from a free list, rather than just generating random virtual address offsets, to increase the randomness of memory allocations across the entire memory space, including pages previously allocated to other applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If the operating system generates random virtual address offsets, then virtual address randomness is improved, but physical address predictability remains high because the same physical pages are reused across application executions
Solution Approach 1:
Instead of randomizing virtual addresses and expecting physical address randomness, the patent inverts the approach by directly randomizing physical address selection from the free list. This bypasses the limitation where virtual address randomization alone cannot prevent physical page reuse across executions.
Solution Approach 2:
The patent maintains a free list of physical pages and performs preliminary random selection from this list before allocation. By pre-randomizing the physical page selection and removing selected pages from the free list, the system ensures that even previously allocated pages cannot be predicted for subsequent allocations.
2Ease of operation
If the operating system allocates virtual addresses per application, then application-specific memory management is simplified, but system-wide physical address randomness is reduced
Solution Approach 1:
The patent makes the free list and physical address randomization mechanism universal across all applications. Instead of maintaining separate allocation schemes per application, a single free list serves all applications, enabling system-wide randomness while maintaining per-application virtual address management.
3Productivity
If physical pages are reused across application executions, then memory efficiency is improved, but security is compromised due to predictable physical address patterns
Solution Approach 1:
The patent changes the parameter of physical page selection from deterministic (based on allocation order) to random. By introducing randomness as a new parameter in the physical page selection process, the system maintains memory reuse efficiency while eliminating predictable patterns that create security vulnerabilities.
Data Source
AI summary
An operating system (OS) receives a request to allocate a physical memory page to an address space of an application. The OS maintains a data structure that stores references to a plurality of physical memory pages that are available to be allocated, and generates a random index into the data structure, wherein the random index comprises a random number, and wherein the random index corresponds to a first reference for a first physical memory page of the plurality of physical memory pages. The OS selects the first physical memory page of the plurality of memory pages from the data structure using the random index, and maps the first physical memory page to the address space of the application.


