SMT Protection Mode for Virtual Machine Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Simultaneous multithreading (SMT) processors pose security risks in confidential computing environments where different entities' virtual machines share hardware resources, leading to potential unauthorized data access, and disabling SMT limits processing efficiency and flexibility.

Innovation Solution

Implementing a programmable SMT protection mode that allows each virtual machine to selectively enable or disable SMT operation based on programmable security control information, preventing concurrent execution with other software and managing interrupts to protect sensitive data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If SMT capabilities are enabled in a processor, then processing efficiency and throughput are improved, but security risks increase due to potential unauthorized data access between concurrent threads

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The processor dynamically switches between SMT mode and non-SMT mode based on security requirements. The mode switch is controlled by security control information that can be programmed to enable or disable SMT operation, allowing the system to adapt between performance and security needs in real-time

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the operational parameter of the processor by introducing programmable security control information that modifies the SMT execution state. This control mechanism allows the processor to transition between different operational modes (SMT enabled/disabled) based on security policies

Inventive Principle:
Principle #35Parameter changes

2Reliability

If SMT capabilities are disabled to address security issues, then security risks are reduced, but processing efficiency and system flexibility are limited

Engineering Contradiction:
ImprovesecurityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Rather than statically disabling SMT, the system dynamically controls SMT operation through programmable security control information. This allows SMT to be enabled when security permits (maintaining efficiency) and disabled when security requires it (maintaining protection)

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The processor is designed to serve multiple functions by supporting both SMT and non-SMT modes through the same hardware infrastructure. The security control mechanism enables the processor to adapt its behavior to different security and performance requirements without requiring separate hardware configurations

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If SMT operation is allowed for a virtual machine, then processing throughput is improved, but unauthorized access to data from other software increases

Engineering Contradiction:
ImprovethroughputVSAvoidunauthorized data access
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system takes preliminary action by checking security control information before allowing SMT execution. The security control mechanism prevents potentially harmful SMT operations from occurring in the first place, rather than attempting to mitigate damage after unauthorized access occurs

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS20240111563A1Security for simultaneous multithreading processors
Publication Date: 2024.04.04 ADVANCED MICRO DEVICES INC
  • US20240111563A1 patent drawing
  • US20240111563A1 patent drawing
  • US20240111563A1 patent drawing

AI summary

A processor implements a simultaneous multithreading (SMT) protection mode that, when enabled, prevents execution of particular software (e.g., a virtual machine) at a processor core when a thread associated with different software (e.g., a different virtual machine or a hypervisor) is currently executing at the processor core. By preventing execution of the software, data, software execution patterns, and other potentially sensitive information is kept protected from unauthorized access or detection. Further, in at least some embodiments the SMT protection mode is implemented on a per-software basis, so that different software can choose whether to implement the protection mode, thereby allowing the processor to be employed in a wide variety of computing environments.