# US 12,001,827 B2 · System and method for system-wide firmware downgrade control

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,827 B2
- Document ID: US12001827B2
- Status: Granted
- Kind: B2
- Application number: 16/939,809
- Filed: 2020-07-27
- Published: 2022-01-27
- Granted: 2024-06-04
- Earliest claimed: 2020-07-27
- Assignees: Dell Products L.P.
- Applicants: Dell Products, LP
- Inventors: Robert T. Stevens; Mukund P. Khatri; Lee E. Ballard
- Web page: https://patentgrep.com/patent/US12001827B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 21/572: {Secure firmware programming, e.g. of basic input output system [BIOS]}
- G06F 2221/033: Test or assess software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An information handling system includes a basic input/output system configured to update an attribute of a system-wide firmware downgrade security policy prior to booting to an operating system of the information handling system. The attribute of the system-wide firmware downgrade security policy is used to determine whether to allow or to disallow downgrade of a firmware to a version. A processor may perform the downgrade of the firmware, wherein the downgrade of the firmware includes the processor further configured to check the attribute of the system-wide firmware downgrade security policy and to store a firmware image in a scratchpad. If the attribute of the system-wide firmware downgrade security policy allows the downgrade of the firmware to the version, then the processor may continue with the downgrade of the firmware otherwise discard the firmware image in the scratchpad.

## Claims

### Claim 1

A method of altering firmware in an information handling system, the method comprising:
updating the firmware, wherein the information handling system is associated with a system-wide firmware downgrade security policy, and wherein the system-wide firmware downgrade security policy is stored in a storage device associated with a baseboard management controller of the information handling system;
modifying an attribute of the system-wide firmware downgrade security policy during the updating of the firmware, wherein the attribute of the system-wide firmware downgrade security policy is associated with allowing or disallowing downgrading of a release version of the firmware; and
downgrading the firmware, including:
storing a firmware image to a scratchpad, wherein the scratchpad is a non-active firmware partition, and wherein the firmware image is an older release version of the firmware;
querying the baseboard management controller for the system-wide firmware downgrade security policy in the storage device via a management communication channel;
if the downgrading of the firmware is allowed based on the attribute of the system-wide firmware downgrade security policy, then updating the non-active firmware partition to be active on boot of the information handling system; and
if the firmware image has a security vulnerability, then providing an override to allow a user to proceed with the downgrade of the firmware.

### Claim 2 (depends on 1)

The method of claim 1, further comprising if a first version is greater than or equal to a second version, then upgrading the firmware, wherein the first version is of the firmware image in the scratchpad.

### Claim 3 (depends on 2)

The method of claim 2, wherein the second version is of the firmware.

### Claim 4 (depends on 1)

The method of claim 1, further comprising determining whether the firmware image in the scratchpad has a valid signature.

### Claim 5 (depends on 1)

The method of claim 1, wherein the system-wide firmware downgrade security policy includes a white list of allowed versions.

### Claim 6 (depends on 1)

The method of claim 1, wherein the system-wide firmware downgrade security policy includes a black list of disallowed versions.

### Claim 7 (depends on 1)

The method of claim 1, wherein the system-wide firmware downgrade security policy includes a list of firmware hashes.

### Claim 8 (depends on 1)

The method of claim 1, if the downgrading of the firmware is disallowed, then removing the firmware from the scratchpad.

### Claim 9

An information handling system, comprising:
a basic input/output system configured to update an attribute of a system-wide firmware downgrade security policy prior to booting to an operating system of the information handling system and put devices of the information handling system in firmware lockdown, wherein the attribute of the system-wide firmware downgrade security policy is used to determine whether to allow or to disallow downgrade of a firmware to a version, and wherein the firmware lockdown blocks in-band firmware updates; and
a processor configured to:
perform the downgrade of the firmware, wherein the downgrade of the firmware includes the processor further configured to check the attribute of the system-wide firmware downgrade security policy and to store a firmware image in a scratchpad;
if the attribute of the system-wide firmware downgrade security policy allows the downgrade of the firmware to the version, then continue with the downgrade of the firmware; and
if the firmware image has a security vulnerability, then providing an override to allow a user to proceed with the downgrade of the firmware.

### Claim 10 (depends on 9)

The information handling system of claim 9, wherein the downgrade of the firmware includes the processor further configured to determine whether a desired version of the firmware is greater than or equal to a current version of the firmware.

### Claim 11 (depends on 9)

The information handling system of claim 9, wherein if the downgrade of the firmware is not allowed, then removing the firmware image from the scratchpad.

### Claim 12 (depends on 9)

The information handling system of claim 9, wherein the processor is further configured to load the firmware image from the scratchpad to a non-active firmware partition.

### Claim 13 (depends on 12)

The information handling system of claim 12, wherein the processor is further configured to update a flag of the non-active firmware partition such that the non-active firmware partition becomes active on system boot.

### Claim 14

A method of enforcing a system-wide firmware downgrade security policy, the method comprising:
updating an attribute in the system-wide firmware downgrade security policy, wherein the attribute is associated with whether to allow to disallow a downgrade of a firmware;
enabling, by a basic input/output system, a firmware lockdown of a device of an information handling system during a system boot prior to booting to an operating system, wherein the firmware lockdown of the device allows a unified extensible interface staged firmware management protocol process, wherein the firmware lockdown blocks an in-band firmware update;
downgrading the firmware of the device wherein the downgrading is based on the attribute of the system-wide firmware downgrade security policy;
if the downgrade of the firmware is allowed, then continuing with the downgrading of the firmware via the staged unified extensible interface firmware management protocol process instead of the in-band firmware update; and
if a firmware image has a security vulnerability, then providing an override to allow a user to proceed with the downgrade of the firmware.

### Claim 15 (depends on 14)

The method of claim 14, wherein the attribute may be set for more than one device.

### Claim 16 (depends on 14)

The method of claim 14, wherein the system-wide firmware downgrade security policy includes a whitelist of firmware hashes.

### Claim 17 (depends on 14)

The method of claim 14, wherein the system-wide firmware downgrade security policy includes a blacklist of firmware hashes.

### Claim 18 (depends on 14)

The method of claim 14, wherein the enabling of the firmware lockdown is subsequent to updating a first attribute of the system-wide firmware downgrade security policy.

### Claim 19 (depends on 14)

The method of claim 14, further comprising copying the firmware image to a scratchpad.

### Claim 20 (depends on 19)

The method of claim 19, further comprising if the downgrade of the firmware is not allowed, then deleting the firmware image from the scratchpad.
