USB Device Firmware Sanitization via Intermediary Proxy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

USB devices pose a security threat to hosts due to vulnerabilities in device driver implementations, allowing misbehaving devices to gain control and compromise the system, with existing solutions failing to effectively prevent or mitigate such attacks.

Innovation Solution

Implementing a sanitizer that intercepts communications between a USB device and its host, replacing malicious firmware with a clean implementation, acting as a proxy to sanitize communications and protect the host without modifying the host's software stack.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If USB device firmware is allowed to communicate directly with the host, then device functionality is maintained, but security vulnerabilities allow misbehaving devices to compromise the host system

Engineering Contradiction:
Improvehost system securityVSAvoidUSB device attack vectors
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a sanitizer as an intermediary component between the USB device and the host system. The sanitizer intercepts communications from the USB device, sanitizes them by removing or neutralizing malicious content, and then forwards the sanitized communications to the host. This mediator approach allows the system to maintain USB device functionality while blocking security threats, resolving the contradiction between device operation and host protection.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If device drivers run at high privilege levels to access computer resources, then device functionality is enhanced, but security risks increase as attackers can exploit these privileges to fully compromise the host

Engineering Contradiction:
Improvedevice driver resource accessVSAvoidprivilege escalation attacks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The sanitizer performs preliminary sanitization of communications from USB devices before they reach the host system's device drivers. By preprocessing and cleaning the data in advance, the system prevents malicious content from reaching high-privilege device drivers, thereby eliminating the attack vector while preserving the drivers' necessary resource access capabilities.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If USB devices are made universally compatible with hosts, then connectivity and usability improve, but the attack surface expands making devices more vulnerable to exploitation

Engineering Contradiction:
ImproveUSB device host compatibilityVSAvoidattack surface expansion
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The sanitizer serves as a universal intermediary that sits between USB devices and hosts, maintaining the universal compatibility of USB connections while adding a layer of security processing. The sanitizer can handle various USB device types and communication protocols, preserving compatibility while systematically sanitizing all incoming communications to prevent exploitation of the expanded attack surface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10216673B2USB device firmware sanitization
Publication Date: 2019.02.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10216673B2 patent drawing
  • US10216673B2 patent drawing
  • US10216673B2 patent drawing

AI summary

Communications are intercepted between a universal serial bus (USB) device and a host, at least by implementing first device firmware of the USB device. The USB device contains its own second device firmware. Using at least the implemented first device firmware, intercepted communications from the USB device toward the host are sanitized. The sanitizing is performed so that no communication from the USB device is directly forwarded to the host and instead only sanitized communications are forwarded to the host. Methods, apparatus, and computer program products are disclosed.