Encrypted VM Shadow ID for Time-Shift Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In encrypted virtual machine environments, time-reversal operations can lead to security issues and inconsistencies due to the hypervisor's potential malicious behavior, causing discrepancies in generation IDs and compromising time-based security measures, such as expired certificates being reused.
Innovation Solution
The system modifies a shadow identifier in private memory and saves the virtual machine state as a snapshot, ensuring that the guest can differentiate between the current and restored states by using a different generation ID, even in environments where the hypervisor is not trusted, by either copying the hypervisor-provided ID or generating a new random ID.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the hypervisor provides generation IDs in encrypted VM environments, then time-reversal operations can be performed, but security issues arise due to potential malicious hypervisor behavior and inconsistencies in generation IDs
Solution Approach 1:
The patent introduces a shadow copy of the generation ID stored in private memory as an intermediary between the hypervisor-provided generation ID and the guest's usage. This shadow copy acts as a trusted reference that the guest can compare against the current generation ID to detect time-reversal operations, thereby maintaining security consistency even when the hypervisor behavior is untrusted.
Solution Approach 2:
The patent creates a shadow copy (copy) of the generation ID and stores it in private memory. This copy serves as a immutable reference point that allows the guest to verify whether it is running from a restored state by comparing the current generation ID with the shadow copy, thus enabling secure time-reversal detection.
2Reliability
If the guest uses hypervisor-provided generation IDs, then time-based security measures can be implemented, but malicious hypervisor behavior can compromise certificate validity and create security vulnerabilities
Solution Approach 1:
The shadow copy of the generation ID in private memory serves as an intermediary trusted reference that protects against malicious hypervisor behavior. The guest uses this shadow copy to verify certificate validity by comparing generation IDs, ensuring that time-based security measures remain reliable even when the hypervisor cannot be trusted.
Solution Approach 2:
The guest performs self-verification by comparing the hypervisor-provided generation ID against its own shadow copy stored in private memory. This self-service mechanism allows the guest to independently detect time-reversal operations and invalidate compromised certificates without relying on the hypervisor's honesty.
3Ease of repair
If snapshots are saved and restored in encrypted VMs, then state recovery is enabled, but the guest cannot distinguish between current and restored states due to hypervisor interference
Solution Approach 1:
The patent creates a shadow copy of the generation ID at the time of snapshot creation and stores it in private memory. When a snapshot is restored, the guest compares the restored generation ID with the shadow copy to detect the restoration. This copying mechanism preserves the ability to distinguish between current and restored states even in encrypted VM environments where the hypervisor may interfere.
Solution Approach 2:
The shadow copy of the generation ID is created and stored in private memory before the snapshot operation. This preliminary action ensures that when the snapshot is later restored, the guest has a pre-existing reference point to compare against, enabling reliable detection of the restoration without requiring additional information from the hypervisor.
Data Source
AI summary
Systems and methods for secure saving sand restoration of virtualized states is disclosed herein, wherein a guest and/or a virtual machine is aware of being executed from a restored snapshot. An example system comprises a hypervisor; an application running in an encrypted virtual machine; a memory; a processor in communication with the memory executing an application, wherein the application is configured to modify, by an application running in an encrypted VM, a shadow identifier (Shadow ID) saved in private memory; and save a state of the encrypted VM, as a snapshot.


