Hypervisor Abort Code for Virtual Machine Interrupt Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualization systems face challenges in protecting against interrupts in virtual machine functions, which can lead to resource access vulnerabilities and potential system crashes.

Innovation Solution

The system employs a hypervisor that determines a location in memory corresponding to a virtual machine function, loads abort code at a separate memory location, activates a trap before executing an interrupt data structure, and modifies the page table to point to the initialized abort code, ensuring that interrupts cause the virtual machine function to abort and limiting resource access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the hypervisor allows normal interrupt handling in virtual machine functions, then the system maintains operational flexibility and responsiveness, but the system becomes vulnerable to interrupt-related security attacks and resource access violations

Engineering Contradiction:
Improvesystem securityVSAvoidinterrupt handling capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The hypervisor preemptively loads abort code into memory and configures page tables before the virtual machine function executes, so that when an interrupt occurs during execution, the interrupt handler automatically aborts the virtual machine function. This preliminary preparation prevents security attacks without requiring active intervention during normal operation.

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The hypervisor introduces an intermediary abort code mechanism between the interrupt handler and the virtual machine function execution. Instead of allowing direct interrupt handling, the hypervisor intercepts interrupts during virtual machine function execution and redirects them to abort code, which then terminates the vulnerable execution context.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the hypervisor implements comprehensive protection against interrupts by aborting virtual machine functions, then system security and resource protection are improved, but the complexity of the hypervisor increases

Engineering Contradiction:
Improveresource access protectionVSAvoidhypervisor complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The hypervisor performs preliminary actions by loading abort code into memory and configuring the corresponding page table entries before the virtual machine function starts executing. This setup occurs during hypervisor initialization or before invoking the virtual machine function, so that protection mechanisms are already in place without adding runtime complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The hypervisor creates a copy of the abort code in memory at a predetermined location and configures the page table to map interrupt data structure addresses to this copy. This copying approach allows the hypervisor to provide protection without modifying the original virtual machine function code or requiring complex runtime analysis.

Inventive Principle:
Principle #26Copying

3Productivity

If the hypervisor uses page table modification to implement interrupt protection, then the protection mechanism becomes more efficient and direct, but the risk of page table corruption and system instability increases

Engineering Contradiction:
Improveprotection mechanism efficiencyVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The hypervisor segments the memory space by loading abort code at a predetermined memory location separate from the virtual machine function code. The page table modification only affects the specific region corresponding to the interrupt data structure, isolating the protection mechanism from the rest of the memory space and reducing the impact of potential corruption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hypervisor prepares the abort code and configures the page table entries in advance, creating a safety cushion that prevents unauthorized interrupt handling even if the virtual machine function is compromised. This preliminary configuration ensures that malformed or malicious interrupts cannot cause system instability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS9477509B2Protection against interrupts in virtual machine functions
Publication Date: 2016.10.25 RED HAT ISRAEL
  • US9477509B2 patent drawing
  • US9477509B2 patent drawing
  • US9477509B2 patent drawing

AI summary

A system, methods, and apparatus for protection against interrupts in virtual machine functions are disclosed. A system includes memory, one or more physical processors, a virtual machine executing on the one or more physical processors, and a hypervisor executing on the one or more physical processors. The hypervisor determines a first location in the memory, corresponding to a physical address of the virtual machine function, and loads into memory at a second location in the memory outside the first location in the memory. The hypervisor initializes abort code at the second location in the memory. Prior to an execution of an instruction that loads an interrupt data structure on the virtual machine, a trap to the hypervisor is activated. The hypervisor then modifies a page table corresponding to the interrupt data structure to point to the initialized abort code.