Dynamic Firmware Module Loader in Trusted Execution Environment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing UEFI firmware implementations by different original equipment manufacturers and BIOS vendors introduce security vulnerabilities and increase costs due to reliance on System Management Mode (SMM), which also bypasses operating system security and creates maintainability burdens across various vendors.
Innovation Solution
Implementing UEFI capabilities within a containerized Trusted Execution Environment (TEE) that isolates firmware modules, eliminating the need for SMM and providing a scalable hardware IPC channel, abstracting storage, and enabling secure non-volatile memory management to ensure data integrity and confidentiality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If System Management Mode (SMM) is used to manage firmware and access controlled resources, then firmware management capabilities are provided, but security vulnerabilities are introduced and attack surface is increased
Solution Approach 1:
The patent extracts SMM-dependent firmware management functionality and relocates it to a Trusted Execution Environment (TEE). The TEE provides a secure container that isolates firmware from the host system, eliminating security vulnerabilities associated with SMM while preserving firmware management capabilities through secure enclave mechanisms.
Solution Approach 2:
The TEE acts as an intermediary between the host system and access-controlled resources. Instead of SMM directly managing firmware and resources, the TEE mediates these operations through secure interfaces, providing the same functionality without the security risks of SMM.
2Adaptability or versatility
If multiple storage drivers are implemented to support various storage types in UEFI firmware, then storage compatibility is improved, but device complexity and maintainability burden increase
Solution Approach 1:
The patent implements a universal storage abstraction layer within the TEE that provides multi-functional support for various storage types through a single unified interface. This abstraction layer handles different storage protocols and devices generically, eliminating the need for multiple specialized drivers while maintaining compatibility across storage types.
3Adaptability or versatility
If vendor-specific customizations are implemented in UEFI firmware, then specific features are enabled, but maintainability across vendors deteriorates
Solution Approach 1:
The patent segments firmware functionality into standardized core components hosted in the TEE and vendor-specific extensions. The TEE provides a uniform execution environment with standardized interfaces, while vendor-specific features are implemented as separate, modular extensions that can be independently developed, tested, and maintained without affecting the core firmware.
4Ease of operation
If SMM is used for firmware execution, then system management functions are provided, but operating system security is bypassed
Solution Approach 1:
The patent extracts system management functions from SMM and relocates them to the TEE. The TEE provides a secure execution environment that operates independently of the host OS security model, allowing system management functions to execute with appropriate privileges while maintaining OS security boundaries through controlled interfaces.
Solution Approach 2:
The TEE creates an inert, isolated execution environment that is separate from the host OS. This secure enclave provides the necessary system management capabilities while being immunized against OS-level security threats, effectively creating a security-aware zone that does not compromise the overall system security architecture.
Data Source
AI summary
A dynamic firmware module loader loads one of a plurality of a firmware contexts or modules as needed in a containerized environment for secure isolated execution. The modules, called applets, may be loaded and unloaded in a firmware context. The loader may use a hardware inter process communication channel (IPC) to communicate with the secure engine. The modules may be designed to implement specific features desired by basic input/output system vendors, without the use of a system management mode. Designed modules may provide necessary storage and I/O access driver capabilities to be run in trusted execution environment containers.


