Virtual Secure Mode Memory Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing devices are increasingly vulnerable to malicious programs that can steal information, disable systems, or use them for attacks, and existing protection methods are inadequate in preventing such threats.

Innovation Solution

Implementing a virtual secure mode with multiple virtual trust levels in a virtual machine, where each trust level has distinct memory access protections, allowing only one trust level to be active at a time, and enabling programs to switch between these levels to enhance security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional protection methods are used, then device complexity remains low, but security against malicious programs is insufficient

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments memory access rights by dividing them into multiple virtual trust levels (VTLs), where each level has distinct access permissions. This segmentation allows the system to control which programs can access which memory regions, providing granular security without requiring complete system redesign. The VSM module acts as an intermediary that enforces these segmented access rules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The Virtual Secure Mode (VSM) module serves as an intermediary between programs and memory, intercepting and controlling all memory access requests. Rather than allowing direct access, the VSM module validates each request against the configured trust levels and access rights, providing a security layer that doesn't require modifying the underlying hardware or operating system structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If memory access protections are implemented for each trust level, then security is enhanced, but processing overhead increases

Engineering Contradiction:
Improvememory access controlVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary configuration of memory access rights during system initialization or when security policies are established. The VSM module pre-configures access control lists and trust level mappings before runtime, so that during execution, access decisions can be made by simple table lookups rather than complex evaluations, minimizing processing overhead during critical operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter of memory access control from a binary allowed/disallowed model to a multi-level trust model with configurable rights. By parameterizing access control around virtual trust levels and associated rights, the system can efficiently manage security policies through structured data representations that enable fast comparison and decision-making during runtime.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP3047419B1Virtual secure mode for virtual machines
Publication Date: 2017.07.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3047419B1 patent drawingFigure 1
  • EP3047419B1 patent drawingFigure 2
  • EP3047419B1 patent drawingFigure 3

AI summary

A virtual machine manager (e.g., hypervisor) implements a virtual secure mode that makes multiple different virtual trust levels available to virtual processors of a virtual machine. Different memory access protections (such as the ability to read, write, and/or execute memory) can be associated with different portions of memory (e.g., memory pages) for each virtual trust level. The virtual trust levels are organized as a hierarchy with a higher level virtual trust level being more privileged than a lower virtual trust level, and programs running in the higher virtual trust level being able to change memory access protections of a lower virtual trust level. The number of virtual trust levels can vary, and can vary for different virtual machines as well as for different virtual processors in the same virtual machine.