GPU Address Randomization to Prevent Malicious Resource Tampering
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


