IP Library Granted Patent US 10,353,779
Granted Patent B2
US 10,353,779 · App. 15/587,737 · Granted Jul 16, 2019

Systems and methods for detection of firmware image corruption and initiation of recovery

Inventors: Piyush Sharma (Round Rock, TX); Eugene David Cho (Austin, TX); Kiran George Vetteth (Round Rock, TX); Murali K. Somarouthu (Austin, TX); Michael Emery Brown (Austin, TX); Brian L. Brelsford (Austin, TX)
Assignee: Dell Products L.P.
G06F11/1417G06F9/4401G06F11/1451G06F11/1469G06F11/3604G06F21/572
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,353,779
App. No.
15/587,737
Granted
Jul 16, 2019
Kind
B2
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 (46)

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 a firmware of the information handling resource by:

receiving information specifying an amount of time as a desired verification period;

verifying integrity of respective blocks of the firmware image according to a schedule that is based on a total number of blocks to be verified and further based on the specified amount of time; 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.

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

3. 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.

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

5. 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.

6. 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.

7. 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.

8. A method for performing runtime verification of a firmware image of a firmware by:

receiving information specifying an amount of time as a desired verification period;

verifying integrity of respective blocks of the firmware image according to a schedule that is based on a total number of blocks to be verified and further based on the specified amount of time; 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.

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

10. 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.

11. 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.

12. 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.

13. 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.

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 of a firmware by:

receiving information specifying an amount of time as a desired verification period;

verifying integrity of respective blocks of the firmware image according to a schedule that is based on a total number of blocks to be verified and further based on the specified amount of time; 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.

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

16. 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.

17. 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.

18. 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.

19. 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.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2017
From: SHARMA, PIYUSH; CHO, EUGENE DAVID; VETTETH, KIRAN GEORGE; SOMAROUTHU, MURALI K.; BROWN, MICHAEL EMERY; BRELSFORD, BRIAN L.
To: DELL PRODUCTS L.P.
Reel/Frame 042382/0758 →
Continuity (1)
Related Publication 20180322012A1 · Nov 8, 2018
Cited By (1)
US 12,475,228