GPU Hardware Privilege Checks for Secure Graphics Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing systems face challenges in maintaining security against malicious attacks, particularly due to CPU bandwidth consumption and performance degradation caused by software-based security parsing of command buffers, which can lead to excessive power consumption and latency.
Innovation Solution
Offloading a portion of the security processing from software-based parsing in the kernel-mode driver to hardware-based parsing in the Graphics Processing Unit (GPU), where privilege access checks are performed, allowing the GPU to distinguish between legitimate and illegitimate commands and restricting privileged command execution from non-privileged batch buffers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If software-based security parsing is performed in the kernel-mode driver, then security validation of privileged commands is achieved, but CPU bandwidth consumption increases and performance degradation occurs
Solution Approach 1:
The patent extracts the security parsing function from the kernel-mode driver (software) and relocates it to the GPU (hardware). The command buffer is passed to the GPU with a privilege indicator, and the GPU's command parser hardware automatically validates privileged commands against the current privilege level, removing the CPU bandwidth burden while maintaining security.
Solution Approach 2:
The patent introduces a privilege indicator as an intermediary mechanism between the kernel-mode driver and the GPU. This indicator is set by the driver to denote whether the command buffer contains privileged commands, enabling the GPU hardware to perform appropriate security validation without requiring continuous CPU intervention.
2Reliability
If software-based security parsing is performed in the kernel-mode driver, then security validation of privileged commands is achieved, but power consumption increases
Solution Approach 1:
The patent extracts the security parsing function from the kernel-mode driver (software) and relocates it to the GPU (hardware). The command buffer is passed to the GPU with a privilege indicator, and the GPU's command parser hardware automatically validates privileged commands against the current privilege level, removing the CPU bandwidth burden while maintaining security.
Solution Approach 2:
The GPU hardware performs security validation autonomously using its own command parser and privilege level registers. The hardware automatically compares the privilege level in the command buffer against the current GPU privilege level and blocks unauthorized privileged commands without requiring CPU participation, thereby eliminating the power consumption associated with CPU-based validation.
3Reliability
If software-based security parsing is performed in the kernel-mode driver, then security validation of privileged commands is achieved, but latency increases
Solution Approach 1:
The patent extracts the security parsing function from the kernel-mode driver (software) and relocates it to the GPU (hardware). The command buffer is passed to the GPU with a privilege indicator, and the GPU's command parser hardware automatically validates privileged commands against the current privilege level, removing the CPU bandwidth burden while maintaining security.
Solution Approach 2:
The kernel-mode driver performs preliminary action by setting the privilege indicator in the command buffer before submission to the GPU. This preliminary tagging enables the GPU hardware to perform rapid validation without requiring complex runtime analysis, reducing latency while maintaining security.
Data Source
AI summary
Techniques are disclosed for processing rendering engine workload of a graphics system in a secure fashion, wherein at least some security processing of the workload is offloaded from software-based security parsing to hardware-based security parsing. In some embodiments, commands from a given application are received by a user mode driver (UMD), which is configured to generate a command buffer delineated into privileged and/or non-privileged command sections. The delineated command buffer can then be passed by the UMD to a kernel-mode driver (KMD), which is configured to parse and validate only privileged buffer sections, but to issue all other batch buffers with a privilege indicator set to non-privileged. A graphics processing unit (GPU) can receive the privilege-designated batch buffers from the KMD, and is configured to disallow execution of any privileged command from a non-privileged batch buffer, while any privileged commands from privileged batch buffers are unrestricted by the GPU


