I/O Filtering Layer for Guest OS Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing filtering components within operating systems are vulnerable to the same vulnerabilities they aim to address and are limited by requiring specific operating system designs, with hypervisor integration posing challenges due to varying hypervisor types and extensibility.

Innovation Solution

A method involving the creation of an input/output filtering layer outside the guest operating system, which intercepts and filters communications between the guest operating system and hardware devices or hypervisor, allowing for flexible placement and operation independent of the guest operating system or hypervisor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If filtering components are integrated into a hypervisor, then filtering capability is provided, but software vendors must design each filtering component for a specific type of hypervisor and some hypervisors are not extensible

Engineering Contradiction:
Improvefiltering capabilityVSAvoidhypervisor compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a filtering component interface as an intermediary layer between the hypervisor and filtering components. This interface acts as a mediator that standardizes communication between diverse hypervisors and filtering components, allowing filtering components to work across different hypervisor types without requiring vendor-specific design for each hypervisor. The interface translates between hypervisor-specific mechanisms and a unified filtering API.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If filtering components execute within the same operating system they regulate, then they can directly filter I/O operations, but they become vulnerable to the same vulnerabilities and limited to specific operating systems

Engineering Contradiction:
Improvefiltering operationVSAvoidsecurity vulnerability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent extracts filtering components from the guest operating system and relocates them to run in the host operating system context, specifically within the virtualization management layer. This separation removes filtering components from the vulnerable guest OS environment while maintaining their ability to intercept and filter I/O operations through hypervisor hooks and device driver interfaces.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If filtering components are designed for specific operating systems, then they can effectively filter I/O operations, but they are limited to operating within that specific operating system

Engineering Contradiction:
Improvefiltering effectivenessVSAvoidoperating system compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal filtering component interface that enables filtering components to operate across multiple operating systems and hypervisor types. The interface defines standardized methods for intercepting I/O operations, filtering data, and managing filter states, allowing a single filtering component design to serve multiple platforms without requiring OS-specific implementations.

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

Data Source

PatentUS8490086B1Filtering I/O communication of guest OS by inserting filter layer between hypervisor and VM and between hypervisor and devices
Publication Date: 2013.07.16 CA TECH INC
  • US8490086B1 patent drawing
  • US8490086B1 patent drawing
  • US8490086B1 patent drawing

AI summary

A computer-implemented method for filtering input/output communications of guest operating systems may include: 1) identifying a guest operating system running in a virtual machine, 2) creating an input/output filtering layer that resides outside the guest operating system, 3) intercepting, at the input/output filtering layer, an input/output communication involving the guest operating system, and then 4) performing a filtering operation on the input/output communication. Various other methods, systems, and computer-readable media are also disclosed.