I/O Device Emulation Using Protected Memory Access Policies

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face vulnerabilities as malicious entities can exploit I/O devices to obtain secure data, tamper with encrypted data, or cause damage, necessitating improved security measures to manage access rights and prevent unauthorized access.

Innovation Solution

Implementing I/O device emulation systems that store and manage access rights in a protected memory portion, allowing secure emulation of I/O devices through policies that control access levels, isolating access from malicious software, and using microcode patches to initialize and secure memory for encryption and anti-replay protection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If I/O devices are made accessible to software for normal operation, then ease of operation and functionality are improved, but security is worsened as malicious software can exploit these devices to obtain secure data, tamper with encrypted data, or cause damage

Engineering Contradiction:
ImproveI/O device accessibilityVSAvoiddata security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an intermediary layer between software and I/O devices by emulating I/O devices through software-based register structures. This emulator acts as a mediator that intercepts access requests, validates them against security policies stored in protected memory, and only permits access if authorized. The emulator structure includes virtual registers that map to physical I/O devices, creating a controlled interface that prevents direct software access to hardware while maintaining functional operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates virtual copies of I/O device registers in protected memory space. Instead of allowing direct access to physical I/O devices, the system emulates these devices by copying their register structures into secure memory regions. These virtual registers can be accessed by software but are isolated from direct hardware access, enabling functionality while maintaining security through the copy-isolation relationship.

Inventive Principle:
Principle #26Copying

2Reliability

If access control mechanisms are implemented to prevent malicious access, then security is improved, but device complexity increases due to additional access rights management and emulation layers

Engineering Contradiction:
Improveaccess securityVSAvoidaccess control system
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the access control system into distinct modular components: (1) protected memory regions for storing access rights, (2) emulator structures for I/O device registration, (3) access validation logic, and (4) policy management mechanisms. Each component handles specific aspects of security independently, making the overall system more manageable despite increased complexity. The segmentation allows access rights to be stored separately from device emulation logic, enabling fine-grained control without monolithic complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to the traditional I/O access model by introducing a protected memory space dimension. Instead of controlling access through hardware switches or simple enable/disable mechanisms, the system uses a multi-dimensional access control structure that includes: (1) device identification, (2) access right validation, (3) policy checking, and (4) emulator routing. This dimensional expansion allows sophisticated access control without proportionally increasing hardware complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of operation

If traditional operating systems are used for I/O management, then ease of operation is maintained, but security is worsened as they lack the protected memory isolation and emulation capabilities needed to prevent malicious access

Engineering Contradiction:
Improvesoftware compatibilityVSAvoidI/O device security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent maintains software compatibility while improving security by inserting an intermediary emulator layer between traditional operating system software and physical I/O devices. This emulator preserves the conventional software-I/O interface paradigm for ease of operation while adding security through protected memory isolation. The emulator intercepts I/O requests, validates them against stored access rights, and only permits access if authorized, thus maintaining compatibility without sacrificing security.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates virtual copies of I/O device interfaces in protected memory that replicate traditional operating system I/O behavior. These virtual register structures maintain compatibility with existing software by providing the same access patterns and interfaces, while the copying mechanism isolates security-critical operations in protected memory. The virtual copies respond to software requests in the same way physical devices would, ensuring compatibility while enabling security control.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12511141B2System and methods for Input/Output device emulation
Publication Date: 2025.12.30 SDG LOGIC INC
  • US12511141B2 patent drawing
  • US12511141B2 patent drawing
  • US12511141B2 patent drawing

AI summary

A system is disclosed for Input/Output (I/O) device emulation that allows a service provider to configure and enforce a policy for software access to some or all I/O resources in a platform. I/O device emulation enables service providers to protect their platforms from malicious guest software that may be executed on associated platforms that has direct access to I/O resources in case of bare-metal servers, escalates the privilege level from guest to host in case of hosted-Virtual Machine servers, or escalates the privilege level from guest to System Management Mode in case of either bare-metal servers or hosted-Virtual Machine servers. The technology enables service providers to protect their platforms from malicious guest software running on their platforms that either has direct access to legacy I/O and memory mapped I/O resources. In one illustrative example, the platform may include a microprocessor.