UEFI Protocol Security via Firmware Interface Engine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing devices and UEFI firmware lack the ability to identify the driver that originated or installed a UEFI protocol, allowing malicious drivers to impersonate authorized drivers and bypass security checks, potentially leading to eavesdropping or malicious configuration.

Innovation Solution

An Information Handling System (IHS) with a firmware interface engine that receives protocol pointers from consumer drivers, identifies their origin, and generates a protocol security violation if the pointer is not stored within the associated memory range of the producer driver, ensuring only authorized drivers provide UEFI protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If any driver is allowed to install UEFI protocols without verification, then system adaptability and ease of operation are improved, but security reliability deteriorates as malicious drivers can impersonate authorized drivers

Engineering Contradiction:
Improvedriver protocol installation flexibilityVSAvoidprotocol security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary verification by checking whether the protocol pointer is stored within the producer driver's memory range before allowing protocol installation. This advance check prevents malicious drivers from installing unauthorized protocols while still allowing legitimate drivers to operate freely.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The firmware interface engine acts as an intermediary between protocol consumer drivers and protocol producer drivers. It receives protocol pointers from consumer drivers, verifies their authenticity by checking memory range associations, and only allows execution of verified protocols, thus mediating security between competing drivers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If protocol pointers are verified against producer driver memory ranges, then protocol security is improved, but device complexity increases due to additional verification mechanisms

Engineering Contradiction:
Improveprotocol securityVSAvoidfirmware interface complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification mechanism uses the existing memory range information that is already associated with each producer driver. The firmware interface engine checks whether the protocol pointer falls within the producer's own memory range, using self-contained information rather than requiring external verification databases or complex validation infrastructure.

Inventive Principle:
Principle #25Self-service

3Reliability

If malicious drivers are prevented from installing protocols, then security is improved, but ease of operation worsens due to additional security checks

Engineering Contradiction:
Improvesystem securityVSAvoidprotocol installation process
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The verification process is integrated into the existing protocol installation flow and executes as a rapid memory range comparison check. The firmware interface engine quickly determines whether the protocol pointer is within the producer's memory range and either permits or blocks execution immediately, without requiring manual intervention or lengthy validation procedures.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS11501002B2Protocol security system
Publication Date: 2022.11.15 DELL PROD LP
  • US11501002B2 patent drawing
  • US11501002B2 patent drawing
  • US11501002B2 patent drawing

AI summary

A protocol security system includes a protocol producer driver stored in a first memory range on a primary memory system, a protocol consumer driver stored on the primary memory system, and a firmware interface engine provided via the primary memory system. The firmware interface engine receives a protocol pointer from the protocol consumer driver, and identifies that the protocol pointer was provided by the protocol producer driver. If the firmware interface engine determines that the protocol pointer is not stored in the first memory range on the primary memory system, it generates a protocol security violation. If the firmware interface engine determines that the protocol pointer is stored in the first memory range on the primary memory system and points to an architectural protocol, it determines whether the protocol producer driver originated from a secondary memory system and, if not, generates a protocol security violation.