UEFI Firmware Variable Area Write-Lock for Boot Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveOS ability to rewrite configuration dataVSAvoidsystem firmware reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvepre-boot configuration initializationVSAvoidpower supply instability and noise
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
ImproveOS ability to store user dataVSAvoidpublished data update capability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10216936B2Method of preventing computer malfunction, computer program, and computer
Publication Date: 2019.02.26 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US10216936B2 patent drawing
  • US10216936B2 patent drawing
  • US10216936B2 patent drawing

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.