Virtualized Graphics Mediator for Self-Modifying Code Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtualized graphics processing unit (vGPU) architectures face security concerns when executing self-modifying graphics workloads, as they lack the ability to scan privileged self-modifying code for security risks, potentially leading to malware or spyware breaches.
Innovation Solution
Implementing a virtualized graphics architecture that uses a mediator to analyze commands from a guest command buffer, sets a write protection flag, and injects semaphore commands into a shadow command buffer upon write faults, allowing for a lazy security scan when the graphics hardware is ready to execute, thereby isolating and scanning privileged self-modifying code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a fully virtualized graphics architecture is used to execute self-modifying graphics workloads, then productivity and virtualization capability are improved, but security reliability deteriorates due to inability to scan privileged self-modifying code
Solution Approach 1:
The patent introduces a mediator component that sits between the virtualized graphics hardware and the host system. This mediator intercepts command buffers from virtual machines, performs security scanning on self-modifying code, and manages the execution flow. The mediator enables security inspection without requiring changes to the virtualized graphics architecture itself, thus resolving the contradiction between maintaining full virtualization productivity and ensuring security reliability.
Solution Approach 2:
The patent segments the command buffer processing into multiple stages: initial submission to a shadow command buffer, identification of self-modifying code regions, separate security scanning of these regions, and controlled execution. By dividing the monolithic command buffer processing into separable security-checking and execution phases, the system can scan privileged code without halting overall graphics productivity.
2Reliability
If security scanning is performed on self-modifying code during execution, then security reliability is improved, but productivity deteriorates due to execution interruptions
Solution Approach 1:
The patent performs security scanning on self-modifying code in advance, before the code is executed by the graphics hardware. The mediator identifies and scans self-modifying regions in the command buffer during the preparation phase, allowing potentially malicious code to be detected and blocked before it can execute. This preliminary security check prevents security breaches without requiring interruptions during actual code execution.
Solution Approach 2:
The patent creates a shadow command buffer as a copy of the original command buffer submitted by the virtual machine. This shadow buffer serves as a sandboxed version that can be scanned and validated without affecting the original execution flow. The mediator operates on this copied buffer structure, allowing security inspection to proceed in parallel with execution preparation, thus maintaining productivity while improving security.
3Reliability
If write protection flags are set on command buffers to prevent self-modifying code, then security is improved, but functionality deteriorates due to inability to execute self-modifying graphics workloads
Solution Approach 1:
The patent implements dynamic write protection that changes based on the execution phase and code type. The mediator temporarily suspends write protection during the scanning phase to allow inspection of self-modifying code, then re-enables protection before execution. This dynamic adjustment of protection flags allows the system to maintain security while accommodating legitimate self-modifying graphics workloads that require write access during specific phases.
Solution Approach 2:
The patent applies write protection selectively to specific regions of the command buffer rather than uniformly to the entire buffer. The mediator identifies precise boundaries of self-modifying code regions and applies protection flags only to those specific areas. This localized approach allows other parts of the command buffer to remain writable and executable, preserving the functionality of legitimate self-modifying graphics workloads while blocking malicious code in protected regions.
Data Source
AI summary
Systems, apparatuses and methods may provide for technology that sets a write protection flag in a guest command buffer associated with a virtual machine and injects a semaphore command into a shadow command buffer in response to a fault. The fault is to correspond to a write of a graphics command to the guest command buffer by code executing in graphics hardware. In one example, the technology also conducts a security scan of the graphics command in response to a context switch in the graphics hardware, wherein the context switch is to be associated with the semaphore command.


