Secure Firmware Patching via SMRAM Buffer Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing firmware update methods for computing devices, particularly in data centers, often require rebooting, are costly, and vulnerable to time-of-check-time-of-use (TOC-TOU) attacks, and do not support modular or version-aware updates, leading to server downtime and security risks.

Innovation Solution

A computing system that stores a firmware update patch in a runtime buffer, performs a first verification check, copies it to a system management random access memory (SMRAM) buffer inaccessible by the operating system, and conducts a second verification check before executing the update, ensuring the update is secure and modular, allowing for low-impact updates without rebooting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If firmware update is performed using existing methods, then firmware can be updated, but system must reboot and server downtime occurs

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidserver downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The firmware update process is segmented into distinct phases: verification phase in runtime buffer, execution phase in SMRAM buffer, and activation phase. This segmentation allows the system to verify updates without executing them immediately, enabling the system to remain operational while preparing updates in isolated memory regions, thus avoiding complete system reboot and downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary verification of the firmware update patch in the runtime buffer before copying it to the SMRAM buffer for execution. This preliminary action includes checking the patch signature and verifying integrity, allowing the system to validate updates in advance without interrupting current operations, thereby reducing downtime when the update is actually applied.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If firmware update is performed using existing methods, then firmware can be updated, but TOC-TOU attacks can occur

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidTOC-TOU attack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The SMRAM buffer acts as an intermediary between the runtime buffer and the firmware execution environment. Updates are first placed in the runtime buffer, verified, then copied to the SMRAM buffer which is inaccessible to the operating system. This intermediary layer prevents direct manipulation of the update process by malicious software, blocking TOC-TOU attack vectors while maintaining legitimate update capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a copy of the firmware update patch in the SMRAM buffer separate from the original in the runtime buffer. This copy is then verified and executed independently. By working with a copy rather than modifying the original in-place, the system prevents race conditions and time-of-check-time-of-use attacks where malicious code could modify the update process between verification and execution steps.

Inventive Principle:
Principle #26Copying

3Reliability

If entire BIOS is replaced during update, then firmware can be updated, but update cost and complexity increase

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidupdate process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The invention extracts only the necessary firmware components that need updating rather than replacing the entire BIOS. The modular update mechanism allows selective application of patches to specific firmware modules, reducing the scope of changes required and simplifying the update process while maintaining the reliability of firmware updates.

Inventive Principle:
Principle #2Taking out (Extraction)

4Loss of time

If modular updates are implemented, then update cost and downtime reduce, but verification complexity increases

Engineering Contradiction:
Improveupdate downtimeVSAvoidverification process complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms through verification checks that occur at multiple stages: first when the patch is placed in the runtime buffer, and second when copied to the SMRAM buffer. These verification steps provide feedback on patch integrity and compatibility, allowing the system to detect and reject malicious or incompatible updates early in the process, thereby managing verification complexity through structured checking points rather than monolithic verification.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11385903B2Firmware update patch
Publication Date: 2022.07.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11385903B2 patent drawing
  • US11385903B2 patent drawing
  • US11385903B2 patent drawing

AI summary

A computing system is provided, including a processor and memory storing instructions that, when executed, cause the processor to store a firmware update patch in a runtime buffer included in the memory. The runtime buffer may be accessible by firmware and an operating system of the computing system. The processor may perform a first verification check on the firmware update patch. When the firmware update patch passes the first verification check, the processor may copy the firmware update patch to a system management random access memory (SMRAM) buffer included in the memory. The SMRAM buffer may be accessible by the firmware and inaccessible by the operating system. The processor may perform a second verification check on the copy of the firmware update patch. When the copy of the firmware update patch passes the second verification check, the processor may execute the copy of the firmware update patch.