Virtualization Shadow Mappings for VM Isolation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer systems face challenges in providing effective isolation between software modules, particularly against malicious software that can breach protection mechanisms and corrupt code and data, necessitating a solution that enhances security without requiring significant hardware changes.
Innovation Solution
Implementing virtualization software that creates multiple virtual machines (VMs) with distinct address mappings to isolate software modules, ensuring that each VM has separate memory access and preventing interference between them.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If virtualization software with distinct address mappings is implemented to isolate software modules, then security and isolation between modules is improved, but device complexity increases
Solution Approach 1:
The patent divides the address mapping system into separate virtual address spaces for different software modules (VMs). Each VM has its own virtual address space that is mapped to physical memory through distinct address mapping structures. This segmentation isolates software modules from each other, preventing one module from accessing another module's memory space, thereby improving reliability while managing complexity through structured division.
Solution Approach 2:
The patent introduces virtualization software as an intermediary layer between software modules and physical memory. This intermediary manages address mappings and translates virtual addresses to physical addresses, controlling access to memory resources. The intermediary enforces isolation policies and prevents direct access between modules, achieving security without requiring hardware changes while managing complexity through software-based mediation.
2Reliability
If separate address mappings are used for each software module, then security against malicious software is improved, but memory access efficiency deteriorates
Solution Approach 1:
The patent pre-establishes address mapping structures and virtual address spaces before software modules execute. The virtualization software configures the mapping relationships between virtual and physical addresses in advance, so that during execution, memory accesses can be translated efficiently without requiring complex runtime decisions. This preliminary setup maintains security while improving access speed.
Solution Approach 2:
The patent creates virtual copies of address mapping structures for each software module. Instead of sharing a single complex mapping structure, each VM has its own simplified virtual address space that mirrors the necessary memory organization. This copying approach isolates modules for security while keeping each module's address translation simple and efficient.
3Reliability
If hardware address mappings are activated for each VM, then isolation between VMs is improved, but system resource overhead increases
Solution Approach 1:
The patent combines multiple address mapping functions into a unified virtualization software layer that manages all VMs' address spaces. Instead of maintaining completely separate hardware mapping structures for each VM, the system merges the management function into software that handles address translation for multiple VMs simultaneously. This reduces redundant memory structures while maintaining isolation through software-enforced virtual address spaces.
Data Source
AI summary
Virtualization software establishes multiple execution environments within a virtual machine, wherein software modules executing in one environment cannot access private memory of another environment. A separate set of shadow memory address mappings is maintained for each execution environment. For example, a separate shadow page table may be maintained for each execution environment. The virtualization software ensures that the shadow address mappings for one execution environment do not map to the physical memory pages that contain the private code or data of another execution environment. When execution switches from one execution environment to another, the virtualization software activates the shadow address mappings for the new execution environment. A similar approach, using separate mappings, may also be used to prevent software modules in one execution environment from accessing the private disk space or other secondary storage of another execution environment.


