# US 2018/0322012 A1 · Systems and methods for detection of firmware image corruption and initiation of recovery

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

- Number: US 2018/0322012 A1
- Document ID: US20180322012A1
- Status: Published application
- Kind: A1
- Application number: 15/587,737
- Filed: 2017-05-05
- Published: 2018-11-08
- Earliest claimed: 2017-05-05
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Piyush SHARMA; Eugene David CHO; Kiran George VETTETH; Murali K. SOMAROUTHU; Michael Emery BROWN; Brian L. BRELSFORD
- Web page: https://patentgrep.com/patent/US20180322012A1

## CPC

- G06F 11/1417: {Boot up procedures}
- G06F 9/4401: Bootstrapping (security arrangements therefor G06F21/57)
- G06F 11/0793: {Remedial or corrective actions (recovery from an exception in an instruction pipeline G06F9/3861; by retry G06F11/1402; for recovering from a failure of a protocol instance or entity H04L69/40)}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1469: {Backup restoration techniques}
- G06F 11/3604: Analysis of software for verifying properties of programs (testing of software G06F11/3668)
- G06F 11/3612: {by runtime analysis (performance monitoring G06F11/3466)}
- G06F 21/572: {Secure firmware programming, e.g. of basic input output system [BIOS]}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In accordance with embodiments of the present disclosure, an information handling system may include a host system comprising a host system processor and a device coupled to the host system processor. The information handling system may also include a management controller communicatively coupled to the host system processor and configured to provide management of the information handling system via management traffic communicated between the management controller and a network external to the information handling system and perform runtime verification of a firmware image of the management controller by responsive to each particular read request of the firmware image during runtime of the firmware, verifying integrity of a respective block of the read request and responsive to determining the respective block is corrupted, causing a bootloader of the firmware to, on a subsequent boot of the firmware image, perform recovery of the firmware image.

## Claims

### Claim 1

An information handling system comprising:
a host system comprising:
a host system processor; and
a device coupled to the host system processor; and
an information handling resource communicatively coupled to the host system processor and configured to perform runtime verification of a firmware image of the information handling resource by:
responsive to each particular read request of the firmware image during runtime of the firmware, verifying integrity of a respective block of the read request; and
responsive to determining the respective block is corrupted, causing a bootloader of the firmware to, on a subsequent boot of the firmware image, perform recovery of the firmware image.

### Claim 2 (depends on 1)

The information handling system of claim 1, wherein verifying integrity of the respective block of the read request comprises comparing the respective block with a build-time hash of the firmware image.

### Claim 3 (depends on 1)

The information handling system of claim 1, wherein causing the bootloader of the firmware to perform recovery of the firmware image comprises setting a variable readable by the bootloader to indicate that the firmware image is corrupted.

### Claim 4 (depends on 1)

The information handling system of claim 1, wherein the bootloader performs recovery of the firmware image by loading and executing a firmware backup image in lieu of the firmware image during the subsequent boot.

### Claim 5 (depends on 1)

The information handling system of claim 1, wherein the bootloader is further configured to:
during a boot session, verify integrity of the bootloader; and
responsive to determining the respective block is corrupted, load and execute a firmware backup image in lieu of the firmware image during the same boot session.

### Claim 6 (depends on 1)

The information handling system of claim 1, wherein the bootloader is further configured to:
during a boot session, verify integrity of a file system of the firmware image; and
responsive to determining the file system is corrupted, load and execute a firmware backup image in lieu of the firmware image during the same boot session.

### Claim 7 (depends on 1)

The information handling system of claim 1, wherein the information handling resource comprises a management controller communicatively coupled to the host system processor and configured to provide management of the information handling system via management traffic communicated between the management controller and a network external to the information handling system.

### Claim 8

A method for performing runtime verification of a firmware image by:
responsive to each particular read request of the firmware image during runtime of the firmware, verifying integrity of a respective block of the read request; and
responsive to determining the respective block is corrupted, causing a bootloader of the firmware to, on a subsequent boot of the firmware image, perform recovery of the firmware image.

### Claim 9 (depends on 8)

The method of claim 8, wherein verifying integrity of the respective block of the read request comprises comparing the respective block with a build-time hash of the firmware image.

### Claim 10 (depends on 8)

The method of claim 8, wherein causing the bootloader of the firmware to perform recovery of the firmware image comprises setting a variable readable by the bootloader to indicate that the firmware image is corrupted.

### Claim 11 (depends on 8)

The method of claim 8, wherein the bootloader performs recovery of the firmware image by loading and executing a firmware backup image in lieu of the firmware image during the subsequent boot.

### Claim 12 (depends on 8)

The method of claim 8, wherein the bootloader is further configured to:
during a boot session, verify integrity of the bootloader; and
responsive to determining the respective block is corrupted, load and execute a firmware backup image in lieu of the firmware image during the same boot session.

### Claim 13 (depends on 8)

The method of claim 8, wherein the bootloader is further configured to:
during a boot session, verify integrity of a file system of the firmware image; and
responsive to determining the file system is corrupted, load and execute a firmware backup image in lieu of the firmware image during the same boot session.

### Claim 14

An article of manufacture comprising:
a non-transitory computer-readable medium; and
computer-executable instructions carried on the computer-readable medium, the instructions readable by a processor, the instructions, when read and executed, for causing the processor to perform runtime verification of a firmware image by:
responsive to each particular read request of the firmware image during runtime of the firmware, verifying integrity of a respective block of the read request; and
responsive to determining the respective block is corrupted, causing a bootloader of the firmware to, on a subsequent boot of the firmware image, perform recovery of the firmware image.

### Claim 15 (depends on 14)

The article of claim 14, wherein verifying integrity of the respective block of the read request comprises comparing the respective block with a build-time hash of the firmware image.

### Claim 16 (depends on 14)

The article of claim 14, wherein causing the bootloader of the firmware to perform recovery of the firmware image comprises setting a variable readable by the bootloader to indicate that the firmware image is corrupted.

### Claim 17 (depends on 14)

The article of claim 14, wherein the bootloader performs recovery of the firmware image by loading and executing a firmware backup image in lieu of the firmware image during the subsequent boot.

### Claim 18 (depends on 14)

The article of claim 14, wherein the bootloader is further configured to:
during a boot session, verify integrity of the bootloader; and
responsive to determining the respective block is corrupted, load and execute a firmware backup image in lieu of the firmware image during the same boot session.

### Claim 19 (depends on 14)

The article of claim 14, wherein the bootloader is further configured to:
during a boot session, verify integrity of a file system of the firmware image; and
responsive to determining the file system is corrupted, load and execute a firmware backup image in lieu of the firmware image during the same boot session.
