USB Stack Isolation via Virtual Machine for Kernel Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Malicious USB devices and similar hardware can compromise host security by installing malicious firmware, allowing attacks such as keystroke injection and unauthorized access to files and network activity, posing a risk even if the host OS kernel is compromised.

Innovation Solution

Implementing a virtual secure mode (VSM) with a protected container that executes on the virtualization component of the host, using authentication filters and hypervisor components to manage virtual machines, which isolate untrusted devices by creating a virtual device stack that bypasses the kernel space, preventing direct interaction and containing potential attacks within a virtual environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the host OS kernel directly interacts with USB devices, then device functionality is fully accessible, but security is compromised by malicious firmware attacks

Engineering Contradiction:
ImprovesecurityVSAvoiddevice accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a Virtual Machine (VM) as an intermediary layer between the host OS kernel and USB devices. The VM receives USB device connections and processes them through virtualized device stacks, allowing the kernel to interact with devices indirectly through the VM boundary. This mediator architecture enables secure isolation while maintaining device functionality, as the VM can emulate standard USB interfaces without exposing the kernel to malicious firmware.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the system into distinct isolation layers: the host OS kernel space, the VM boundary, and the device stack within the VM. By dividing the monolithic kernel-device interaction into separate virtualized components, the system achieves security through compartmentalization. The kernel is separated from direct device access, while the VM provides a controlled environment for device operation.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a virtual machine is introduced to isolate USB devices from the kernel, then security is improved, but system complexity increases

Engineering Contradiction:
ImprovesecurityVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal VM-based isolation architecture that can handle multiple types of USB devices (storage, audio, video, etc.) through a single virtualized framework. The VM contains generic USB device stack components that can emulate various device types without requiring separate isolation mechanisms for each device category. This multi-functional approach reduces overall system complexity compared to implementing device-specific isolation solutions.

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

3Productivity

If direct kernel access to USB devices is allowed, then device performance is optimized, but vulnerability to attacks increases

Engineering Contradiction:
Improvedevice performanceVSAvoidattack vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The VM acts as a performance-optimized intermediary that maintains low-latency USB communication while blocking malicious attacks. The virtualized device stacks within the VM can process USB transactions efficiently, and the VM boundary automatically filters out harmful operations before they reach the kernel. This mediator approach preserves productivity by maintaining fast device communication while eliminating attack vulnerability through automated security enforcement.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10210326B2USB stack isolation for enhanced security
Publication Date: 2019.02.19 VMWARE INC
  • US10210326B2 patent drawing
  • US10210326B2 patent drawing
  • US10210326B2 patent drawing

AI summary

Disclosed is a computer and method in a computer that detects attachment of an external device. A determination may be made whether the external device is trusted or untrusted. When the external device is deemed to be trusted, a first device stack may be instantiated in a first OS executing on the computer to conduct interactions with the external device. When the external device is deemed to be untrusted, a second device stack may be instantiated in a second OS executing on the computer to conduct interactions with the external device.