Virtualized GPU Local Memory Partitioning for Trusted Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
GPU local memory in virtualized environments is vulnerable to physical attacks, privileged software attacks, and attacks from other kernels due to conventional management by the host kernel mode driver outside the trusted computing base, compromising workload security.
Innovation Solution
Implementing memory encryption and access control mechanisms, including a GPU trusted agent, multiple key encryption engine, and GPU memory partitioning to protect GPU local memory against attacks, ensuring secure allocation and translation of memory resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If GPU local memory is managed by the host kernel mode driver, then memory management is simplified and centralized, but security against physical attacks, privileged software attacks, and attacks from other kernels is compromised
Solution Approach 1:
The patent segments GPU local memory into multiple isolated regions, each associated with specific virtual functions or trusted domains. This segmentation prevents attacks from other kernels by ensuring that each region is accessible only to authorized entities, while still allowing centralized management through the host driver.
Solution Approach 2:
The patent introduces an intermediary layer (such as a translation table or address mapping mechanism) between the host kernel mode driver and GPU local memory. This intermediary enforces security policies, verifies access permissions, and translates host addresses to GPU physical addresses, preventing privileged software attacks while maintaining simplified management.
2Ease of operation
If GPU local memory is accessible to the host system, then memory allocation and management is easier, but vulnerability to privileged software attacks increases
Solution Approach 1:
The patent applies local quality by making different portions of GPU local memory have different accessibility properties. Some regions are made accessible to the host for easy allocation, while other regions are protected with restricted access. This allows the system to balance ease of allocation with protection against privileged software attacks.
Solution Approach 2:
The patent implements preliminary anti-action by pre-configuring access control policies and address translation tables before the host can access GPU local memory. These pre-established security measures prevent privileged software attacks by blocking unauthorized access attempts before they can exploit memory allocation vulnerabilities.
3Reliability
If address translation is implemented for GPU local memory, then security against attacks from other kernels is improved, but complexity of memory management increases
Solution Approach 1:
The patent makes the address translation mechanism universal by using the same translation table structure and access control logic for multiple purposes: protecting from kernel attacks, managing memory allocation, and enabling host access. This multi-functionality reduces overall complexity despite the added security layer.
Data Source
AI summary
Embodiments are directed to trusted local memory management in a virtualized GPU. An embodiment of an apparatus includes one or more processors including a trusted execution environment (TEE); a GPU including a trusted agent; and a memory, the memory including GPU local memory, the trusted agent to ensure proper allocation/deallocation of the local memory and verify translations between graphics physical addresses (PAs) and PAs for the apparatus, wherein the local memory is partitioned into protection regions including a protected region and an unprotected region, and wherein the protected region to store a memory permission table maintained by the trusted agent, the memory permission table to include any virtual function assigned to a trusted domain, a per process graphics translation table to translate between graphics virtual address (VA) to graphics guest PA (GPA), and a local memory translation table to translate between graphics GPAs and PAs for the local memory.


