VM Protected Data Persistence Across Reboots and Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machines (VMs) face challenges in preserving sensitive data across reboots and migrations, exposing them to security vulnerabilities due to transient memory exposure during shutdown and startup processes.
Innovation Solution
A local agent on the VM writes protected data to a virtual disk during shutdown after user-space processes terminate and reads it back into transient memory before user-space processes start during startup, ensuring data security by isolating it from malware attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is stored in persistent memory to maintain data between reboots, then data persistence is achieved, but security vulnerabilities increase due to exposure to malware attacks
Solution Approach 1:
The patent extracts sensitive data from persistent memory storage and transfers it to transient memory during the boot process. By removing data from persistent memory before user-space processes can access it, the system eliminates the security vulnerability while maintaining data availability through the extraction and relocation mechanism.
Solution Approach 2:
The system performs preliminary actions by writing data to transient memory during the early boot phase before user-space processes are fully initialized. This preliminary data placement ensures that sensitive information is available when needed but is not exposed to potential malware attacks during the vulnerable period when persistent memory is accessible.
2Reliability
If data is written to persistent memory during shutdown, then data is preserved across reboots, but data exposure to user-space processes increases
Solution Approach 1:
The system performs the data preservation action during the shutdown process before user-space processes are fully terminated. By completing the data write to transient memory during shutdown, the system ensures data is preserved while minimizing the window of exposure to user-space processes.
Solution Approach 2:
The patent introduces transient memory as an intermediary between persistent memory and user-space processes. Data flows through transient memory during the transition period, serving as a secure intermediary that preserves data while isolating it from potential malware in user-space processes.
3Reliability
If data is read from persistent memory during startup, then data is restored to transient memory, but security risks increase during the startup phase
Solution Approach 1:
The system performs data restoration as a preliminary action during the boot process, reading data from transient memory before user-space processes are fully initialized. This timing ensures data is restored to its secure location while minimizing the window during which data could be exposed to malicious processes.
Solution Approach 2:
The patent extracts data from the secure transient memory location during the startup phase and makes it available to the system before user-space processes can potentially access it. This extraction ensures data restoration while maintaining security by controlling when and how data becomes accessible.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Securely persisting transient data between virtual machine restarts or VM migrations involves terminating, by a first virtual machine (102), VM, during a shutdown process for the first VM (102), execution of user-space processes on the first VM (102), writing, by a first agent (114A) executing on the first VM (102), protected data (118) from transient memory (104A) of the first VM (102) to a virtual disk (142) accessible by the first VM (102) and shutting down the first VM (102). The process also involves initiating a startup process of a second VM (102), the second VM (102) mounting the virtual disk (142); and executing, at the second VM (102) and prior to execution of user-space processes, a second agent (114B), the second agent (114B) being configured to: read the protected data (118) from the virtual disk (142) into transient memory (104B) of the second VM (102); and delete the protected data (118) from the virtual disk (142).