Virtual Machine Secure Input Bypassing Keyboard Hooks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine technologies lack sufficient protection for user input, as keyboard filtering drivers and hooks can intercept and acquire sensitive data, such as passwords, due to the lack of protective measures in the keyboard input mechanism.
Innovation Solution
A secure input method is implemented within a virtual machine, where the virtual machine monitor accepts a secure input interface invocation, converts logic addresses to physical addresses, receives and saves keyboard driver outputs directly into an application's input buffer, and returns the input result upon completion, while preventing input focus switching to other applications during secure input operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the keyboard input mechanism uses filtering drivers and hooks to allow application processing, then application functionality is enabled, but security is compromised as other programs can intercept user input
Solution Approach 1:
The patent segments the keyboard input processing into two distinct paths: a secure direct path that bypasses filtering drivers and hooks, and a standard path that goes through them. The secure path is activated only when an application explicitly requests secure input, isolating the sensitive data flow from potential interception points while maintaining the standard path for normal operations.
Solution Approach 2:
The virtual machine monitor acts as an intermediary between the keyboard driver and the application. It receives keyboard input directly from the driver, converts it to the appropriate format, and delivers it exclusively to the requesting application without passing through filtering drivers or hooks, thus preventing interception while enabling application-specific processing.
2Adaptability or versatility
If keyboard input passes through filtering drivers and hooks, then application processing is enabled, but data is exposed to unauthorized programs
Solution Approach 1:
The patent applies local quality by providing different input processing paths for different applications. Applications that require secure input (such as password entry) receive protected input through the direct path, while other applications can use the standard path with filtering drivers and hooks, thus enabling processing capability where needed without exposing sensitive data.
Solution Approach 2:
The system preemptively prevents data interception by establishing a protected input channel before the actual input occurs. When an application invokes the secure input interface, the virtual machine monitor configures the input path in advance to bypass filtering drivers and hooks, ensuring that subsequent keyboard input cannot be intercepted by malicious programs.
3Reliability
If secure direct input path is used, then security is improved, but input focus switching between applications is restricted
Solution Approach 1:
The patent implements dynamic input focus management where the virtual machine monitor tracks the current secure input application and dynamically responds to focus switching requests. When focus switching is detected during secure input, the system suspends the secure input path, switches to the standard path temporarily, and can restore secure input when the original application regains focus, thus balancing security with operational flexibility.
Data Source
AI summary
The present invention provides a secure input method based on a virtual machine, in which an application invokes directly a secure input interface provided by a virtual machine monitor and transfers the address and length of input buffer area of the application as input parameters when it requires a secure input, and the virtual machine monitor receives keyboard input information, converts it into a key value and saves the converted key value directly into the input buffer area for the application. This prevents another application from using different filtering drivers and keyboard hooks to acquire the user input and thus enhances the security for a user input.

