External Function Call Injection in Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems lack a general, OS-independent technique for external control of virtual machines without the use of an in-GVM agent, leading to security and transparency issues due to the presence of software agents and a semantic gap in understanding the internal state of Guest Virtual Machines (GVMs).
Innovation Solution
The method involves using a Secure Virtual Machine (SVM) to inject function calls into a Guest Virtual Machine (GVM) by externally manipulating the GVM's memory and CPU register contents through a security API, eliminating the need for an in-GVM agent and reducing the semantic gap by relying on the GVM's own code to interpret its state.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a software agent is used to control a virtual machine, then the virtual machine can be controlled externally, but security and transparency are compromised and memory footprint increases
Solution Approach 1:
The patent extracts the control functionality from a traditional software agent and implements it through external manipulation of the virtual machine's memory and CPU register contents. This allows external control to be achieved without inserting a separate agent component into the guest virtual machine, thereby maintaining security and transparency while eliminating the memory footprint overhead of a traditional agent.
Solution Approach 2:
The patent uses the virtual machine's own memory and register state as an intermediary mechanism. Instead of using a software agent as a mediator between the external controller and the virtual machine, the control is achieved by directly manipulating the virtual machine's internal state through a security API, eliminating the need for a separate mediating agent.
2Ease of operation
If a software agent is pre-installed or dynamically injected into a virtual machine, then external control is enabled, but the presence of the agent creates security risks and transparency issues
Solution Approach 1:
The patent removes the software agent entirely from the system. Instead of having an agent present within the virtual machine (whether pre-installed or dynamically injected), the control functionality is extracted and performed externally by manipulating the virtual machine's memory and register contents through a security API, thereby eliminating security risks associated with agent presence.
3Ease of operation
If the SVM accesses the GVM's memory directly, then control is possible, but the semantic gap prevents understanding of the internal state
Solution Approach 1:
The patent employs the guest virtual machine's own code to interpret and provide semantic understanding of its internal state. Rather than requiring the SVM to directly interpret raw memory contents across a semantic gap, the GVM's code is leveraged to perform the interpretation, allowing the SVM to access and understand the internal state without bridging the semantic gap manually.
Data Source
AI summary
A method and apparatus for injecting function calls into a virtual machine whereby a Function Call Injection (FCI) process is employed, through which a Secure Virtual Machine (SVM) is used to trigger desired function call invocations inside a Guest Virtual Machine (GVM) by externally manipulating the GVMs memory and CPU register contents using a security API. Once the triggered function is executed, control is then returned at the originating SVM invocation point. Therefore, the GVM state is manipulated to externally inject function calls, making it possible to create control appliances which do not require an in-GVM agent.


