Enclave Logic Epoch Tracking for VMM-Guest OS Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors face challenges in securely managing architecturally protected memory regions, particularly in preventing enclave tracking conflicts between a virtual machine monitor (VMM) and a guest OS, which can lead to security breaches and inefficiencies, such as fatal errors during the eviction of Enclave Page Cache (EPC) pages.

Innovation Solution

The processor implements an enclave logic that tracks epochs to ensure non-conflicting execution of tracking instructions by maintaining a record of epochs for blocking and tracking operations, allowing the guest OS to safely execute tracking instructions without suspending enclave activities, thereby preventing conflicts and ensuring secure eviction of EPC pages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the VMM executes tracking instructions to monitor EPC pages, then the security monitoring capability is improved, but conflicts with guest OS tracking operations occur causing fatal errors

Engineering Contradiction:
Improvesecurity monitoring capabilityVSAvoidtracking conflicts causing fatal errors
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces an intermediary mechanism (the epoch counter and flag system) between the VMM and guest OS tracking operations. This intermediary coordinates the tracking activities by assigning epochs to each tracking instruction and using flags to indicate completion status, thereby preventing direct conflicts between VMM and guest OS while maintaining both security monitoring capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary action by having the VMM execute a blocking instruction before the guest OS can execute its tracking instruction. This blocking instruction sets up the epoch counter and prevents the guest OS from proceeding with its tracking operation until the VMM's tracking is complete, thereby avoiding conflicts in advance.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the guest OS executes tracking instructions to manage EPC pages, then the enclave management capability is improved, but conflicts with VMM operations occur leading to security breaches

Engineering Contradiction:
Improveenclave management capabilityVSAvoidtracking conflicts leading to security breaches
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The epoch counter and flag system serve as an intermediary that mediates between VMM and guest OS tracking operations. This intermediary allows both the VMM and guest OS to execute tracking instructions for enclave management while preventing conflicts through coordinated epoch assignment and completion signaling.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The VMM executes a blocking instruction as a preliminary action before the guest OS can execute its tracking instruction. This blocking instruction prevents the guest OS from proceeding with its tracking operation until the VMM's tracking is complete, thereby avoiding conflicts that could lead to security breaches.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If tracking instructions are executed without epoch coordination, then the operation simplicity is improved, but conflicts arise causing fatal errors during EPC page eviction

Engineering Contradiction:
Improvetracking instruction executionVSAvoidEPC page eviction safety
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The epoch counter and flag system act as an intermediary that adds coordination between tracking operations without significantly complicating the execution process. The intermediary automatically manages conflict resolution through epoch comparison and flag checking, maintaining ease of operation while ensuring reliable EPC page eviction.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback through the flag system that signals the completion of tracking instructions. The epoch counter provides feedback about the current tracking phase, allowing the system to determine when it is safe to proceed with EPC page eviction, thereby ensuring reliability while maintaining operational simplicity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10180854B2Processor extensions to identify and avoid tracking conflicts between virtual machine monitor and guest virtual machine
Publication Date: 2019.01.15 INTEL CORP
  • US10180854B2 patent drawing
  • US10180854B2 patent drawing
  • US10180854B2 patent drawing

AI summary

A processing system includes an execution unit, communicatively coupled to an architecturally-protected memory, the execution unit comprising a logic circuit to execute a virtual machine monitor (VMM) that supports a virtual machine (VM) comprising a guest operating system (OS) and to implement an architecturally-protected execution environment, wherein the logic circuit is to responsive to executing a blocking instruction by the guest OS directed at a first page stored in the architecturally-protected memory during a first time period identified by a value stored in a first counter, copy the value from the first counter to a second counter, responsive to executing a first tracking instruction issued by the VMM, increment the value stored in the first counter, and set a flag to indicate successful execution of the second tracking instruction.