GPU Address Randomization to Prevent Malicious Resource Tampering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics processing units (GPUs) face vulnerabilities due to deterministic addressing, which allows malicious software to predict and tamper with graphics resources, as the address mapping is predictable and shared between CPU and GPU, leading to security risks.

Innovation Solution

Implementing hardware and software arrangements to transform allocated deterministic addresses into randomized and obscured effective addresses, ensuring that only the GPU has knowledge of the actual resource locations, thereby preventing malicious access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If deterministic addressing is used for GPU resources, then software can predictably locate and access resources, but malicious software can exploit this predictability to tamper with or read protected resources

Engineering Contradiction:
Improvepredictability of resource locationVSAvoidsecurity vulnerability to malicious access
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a translation layer (page table or address translation mechanism) as an intermediary between the deterministic virtual addresses used by software and the actual physical addresses of GPU resources. This intermediary randomizes the mapping, so that while software can still access resources using predictable virtual addresses, the actual resource locations become unpredictable to malicious actors. The intermediary translates and obscures the true address locations while maintaining functional access.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If CPU and GPU share virtual memory space with common page tables, then memory management is simplified, but resource addresses become determined by user processes and vulnerable to exploitation

Engineering Contradiction:
Improvememory management structureVSAvoidsecurity against process exploitation
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the address translation functionality by introducing separate or modified page table structures for GPU resources, distinct from the general CPU virtual memory management. This segmentation allows the GPU address space to be independently controlled and randomized without affecting the overall memory management system. The GPU page tables can apply specific randomization schemes while the rest of the system continues to use standard virtual memory management.

Inventive Principle:
Principle #1Segmentation

3Productivity

If resource addresses are allocated by user-level processes, then allocation is flexible and efficient, but the addresses become predictable and can be exploited by modified kernels or shaders

Engineering Contradiction:
Improveallocation efficiencyVSAvoidexploitability by modified execution code
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary randomization to the address allocation process itself. Instead of allocating sequential or predictable addresses, the system pre-randomizes the address space layout when resources are allocated or when the system initializes. This preliminary action ensures that even though user-level processes perform the allocation, the resulting addresses are already randomized and unpredictable, preventing exploitation by modified kernels or shaders that might otherwise predict resource locations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9972065B2Resource layout randomization for GPU execution
Publication Date: 2018.05.15 APPLE INC
  • US9972065B2 patent drawing
  • US9972065B2 patent drawing
  • US9972065B2 patent drawing

AI summary

The embodiments disclosed herein relate to the field of graphics processing and, without limitation, the use of hardware and software in the memory layout of graphics items to prevent the malicious use of graphics resources. In greater particularity, embodiments of the disclosure provide varying software and hardware arrangements for transforming an allocated resource address that is deterministic and often visible to software in the system into an effective address that is neither deterministic nor visible to most software. For example, in an embodiment of the disclosure, software in the user-space of the operating system may use allocated addresses to map certain graphics resources for GPU access. When those allocated addresses are presented to the kernel, the addresses are transformed to effective addresses, which may be both randomized (e.g., not easily predictable from the allocated address) and/or obscured from the user space processes.