Virtualized Graphics Mediator for Self-Modifying Code Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvevirtualization capabilityVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

2Reliability

If security scanning is performed on self-modifying code during execution, then security reliability is improved, but productivity deteriorates due to execution interruptions

Engineering Contradiction:
ImprovesecurityVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
ImprovesecurityVSAvoidfunctionality
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11907377B2Supporting self-modifying graphics workloads in fully virtualized graphics architectures
Publication Date: 2024.02.20 INTEL CORP
  • US11907377B2 patent drawing
  • US11907377B2 patent drawing
  • US11907377B2 patent drawing

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.