UEFI Firmware Variable Area Write-Lock for Boot Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The transition to UEFI firmware has exposed vulnerabilities in system firmware data management, particularly in configuration and global variables, leading to risks of accidental or malicious rewriting, which can cause system malfunctions and hinder boot processes due to instability and malware interference.
Innovation Solution
Implementing a method that segregates data into distinct variable areas within nonvolatile memory, with write-locking mechanisms in both hardware and software to protect critical configuration data, and providing a mechanism to restore default values during pre-boot to ensure reliable boot operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the OS is allowed to rewrite global variables in nonvolatile memory, then the OS can update configuration data flexibly, but the configuration data may be accidentally or maliciously rewritten causing system malfunction
Solution Approach 1:
The patent segments the nonvolatile memory into distinct variable areas: a first variable area for configuration data and a second variable area for published data and user data. This segmentation isolates critical configuration data from OS rewriting operations, allowing the OS to freely modify published data while protecting configuration data from accidental or malicious corruption.
Solution Approach 2:
The system firmware acts as an intermediary between the OS and the nonvolatile memory. It receives rewrite requests from the OS, determines whether the target data is configuration data or published data, and selectively permits or blocks the rewrite operation. This intermediary mechanism enables flexible OS operation while maintaining system reliability through intelligent access control.
2Ease of operation
If the system firmware allows extensive writing to nonvolatile memory during pre-boot, then the system can initialize all configuration parameters, but the configuration data may be corrupted by power supply instability or noise
Solution Approach 1:
The patent applies write-locking to the first variable area containing configuration data before the pre-boot process completes. This preliminary protective action ensures that once configuration data is written during pre-boot, it cannot be accidentally corrupted by subsequent power instability or noise, while still allowing the pre-boot process to fully initialize all parameters.
3Adaptability or versatility
If the second variable area is allowed to store user data without restriction, then the OS can create and store application data freely, but the area may overflow disabling further writing or updating of published data
Solution Approach 1:
The system firmware monitors the usage status of the second variable area and provides feedback to the OS. When the area approaches capacity limits, the firmware can notify the OS to prevent overflow that would disable published data updates. This feedback mechanism balances user data storage needs with the reliability of published data maintenance.
Data Source
AI summary
The malfunction of a system caused by data managed by system firmware is prevented. A firmware ROM 100 is provided with a code area, a default area, and variable areas. Data (CV) fundamental to pre-boot created by a UEFI are written to the variable area. Global variables (GV) defined by the UEFI and data (UV) created by an OS are written to the variable area. The variable area is a recording area capable of being write-locked in the firmware ROM. The UEFI write-locks the variable area after completion of the pre-boot. Thus, the rewriting of CV by the OS can be prevented.


