Trampoline Page Interrupt Handling in Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine systems lack effective protection mechanisms against guest interrupts, which can lead to unintended exits to the hypervisor and resource inefficiencies.
Innovation Solution
The implementation of trampoline pages with specific instructions to configure access privileges and clear interrupt flags, allowing secure execution of protected virtual machine functions by switching between views and disabling interrupts to prevent full exits during protected function execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If guest interrupts are allowed during virtual machine function execution, then guest operating system responsiveness is improved, but security protection and resource management deteriorate due to unintended hypervisor exits
Solution Approach 1:
The patent applies preliminary action by pre-configuring trampoline pages with specific instruction sequences that automatically clear interrupt flags and switch to protected views before executing sensitive virtual machine functions. This preliminary setup ensures that even if interrupts are enabled, they cannot trigger unwanted hypervisor exits during critical operations, thus maintaining security while allowing guest OS responsiveness.
2Reliability
If interrupt flags are cleared to prevent unintended hypervisor exits, then security and resource management are improved, but guest operating system functionality deteriorates
Solution Approach 1:
The patent applies local quality by implementing view-specific interrupt handling: in trampoline views, interrupt flags are cleared to prevent unintended hypervisor exits during protected function execution, while in normal guest views, interrupt handling remains fully functional. This localized approach ensures security where needed without compromising overall guest OS functionality.
Solution Approach 2:
The patent implements dynamic interrupt flag management that changes based on the current execution context. The interrupt flags are conditionally cleared only when executing specific instructions on trampoline pages during view transitions, and restored when returning to normal guest execution. This dynamic approach maintains both security and guest OS functionality.
3Reliability
If trampoline pages with view switching instructions are implemented, then security against guest interrupts is improved, but device complexity increases
Solution Approach 1:
The patent applies segmentation by dividing the virtual machine execution environment into distinct views (trampoline view and protected view) with separate page table configurations. Trampoline pages are segmented as special-purpose code pages that handle view transitions, while protected pages contain sensitive functions. This segmentation provides clear security boundaries without requiring complete restructuring of the virtual machine architecture.
Data Source
AI summary
An example method for secure virtual machine access to a protected virtual machine function includes storing a first virtual machine function instruction, which is executable to configure access privileges of a guest according to a trampoline view, as a last instruction on a first trampoline page. The method also includes storing a clear interrupt flag instruction as a first instruction on a second trampoline page. The method further includes storing a second virtual machine function instruction, which is executable to configure access privileges of the guest according to a protected view, as a last instruction on the second trampoline page. The method also includes in response to detecting an extended page fault violation while the trampoline view is active, clearing the interrupt flag of the guest and entering execution on an instruction following the clear interrupt flag instruction on the second trampoline page.


