IP Library Granted Patent US 11,416,614
Granted Patent B2
US 11,416,614 · App. 16/918,791 · Granted Aug 16, 2022

Statistical detection of firmware-level compromises

Inventors: Mark Aeden Walker (Round Rock, TX); Ricardo L. Martinez (Leander, TX)
Assignee: Dell Products L.P.
G06F21/572G06F21/566G06F2221/033
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 11,416,614
App. No.
16/918,791
Granted
Aug 16, 2022
Kind
B2
Abstract

Statistical detection of firmware-level compromises can be enabled and performed on a computing system. During pre-boot, a pre-boot agent can access firmware loaded in memory and cause it to be stored in a manner that will allow the firmware to be accessed at runtime. During runtime, the firmware can be accessed and stored as files in the file system or other storage location accessible to an antivirus solution. The antivirus solution can then analyze the files using statistics-based techniques to thereby detect compromises in firmware.

Claims (45)

1. A method for analyzing firmware, the method comprising:

during pre-boot, accessing firmware stored in one or more regions of memory;

during pre-boot, storing the firmware in one or more separate regions of memory that remain accessible at runtime;

during runtime, accessing the firmware that is stored in the one or more separate regions of memory; and

during runtime, storing the firmware as one or more files in a file system at a location accessible to an antivirus solution to thereby enable the antivirus solution to perform a statistical analysis on the one or more files to detect a compromise in the firmware.

2. The method of claim 1 , wherein the one or more regions of memory comprise at least one memory region that stores dynamic firmware.

3. The method of claim 2 , wherein the dynamic firmware includes firmware configuration settings.

4. The method of claim 1 , wherein storing the firmware in the one or more separate regions of memory comprises storing the firmware in one or more Advanced Configuration and Power Interface (ACPI) tables.

5. The method of claim 1 , wherein accessing the firmware that is stored in the one or more separate regions of memory comprises reading the firmware from the one or more ACPI tables.

6. The method of claim 1 , wherein storing the firmware in the one or more separate regions of memory comprises storing the firmware in an ACPI non-volatile (NV) region of memory.

7. The method of claim 6 , wherein accessing the firmware that is stored in the one or more separate regions of memory comprises reading the firmware from the ACPI NV region of memory.

8. The method of claim 1 , wherein the firmware comprises multiple portions of firmware, and wherein storing the firmware in the file comprises storing each portion of firmware as a separate file in the file system.

9. The method of claim 1 , further comprising:

accessing the file system to analyze the firmware.

10. The method of claim 9 , wherein the firmware is analyzed using a statistics-based technique.

11. The method of claim 1 , further comprising:

during a subsequent pre-boot:

accessing the firmware stored in one or more regions of memory;

storing the firmware in one or more separate regions of memory that remain accessible at runtime;

during a subsequent runtime corresponding to the subsequent pre-boot:

accessing the firmware that is stored in the one or more separate regions of memory; and

storing the firmware in the file system in conjunction with the firmware that was previously stored in the file system.

12. The method of claim 11 , further comprising:

accessing the file system to analyze the firmware that was stored during the subsequent runtime against the firmware that was previously stored in the file system.

13. One or more computer storage media storing computer executable instruction which when executed on a computing system implement a method for analyzing firmware, the method comprising:

during pre-boot, accessing one or more portions of firmware that are stored in one or more regions of memory;

during pre-boot, storing the one or more portions of firmware in memory in a manner that causes the one or more portion of firmware to remain accessible during runtime; and

during runtime, storing the one or more portions of firmware as one or more files in a file system to thereby enable an antivirus solution to perform a statistical analysis on the one or more files to detect a compromise in the firmware.

14. The computer storage media of claim 13 , wherein storing the one or more portions of firmware in memory in a manner that causes the one or more portion of firmware to remain accessible during runtime comprises one or more of:

storing the one or more portions of firmware in one or more Advanced Configuration and Power Interface (ACPI) tables; or

storing the one or more portions of firmware in an ACPI non-volatile (NV) region of memory.

15. The computer storage media of claim 13 , wherein the one or more portions of firmware that are stored in one or more regions of memory comprise firmware configuration settings.

16. The computer storage media of claim 13 , wherein storing the one or more portions of firmware in the file system comprises creating a separate file in the file system for each of the one or more portions of firmware.

17. The computer storage media of claim 13 , wherein the method further comprises:

accessing the file system to evaluate the one or more portion of firmware using a statistics-based technique.

18. A computing system comprising:

one or more processors; and

one or more computer storage media storing computer executable instructions which when executed by the one or more processors implement a method for enabling firmware to be analyzed at runtime, the method comprising:

loading, during pre-boot, a pre-boot agent;

identifying, by the pre-boot agent, a memory region that stores firmware;

causing, by the pre-boot agent and during pre-boot, the firmware stored in the memory region to be copied to a portion of memory that remains accessible at runtime;

accessing, at runtime and by a runtime agent, the portion of memory that remains accessible at runtime to obtain the firmware; and

storing the firmware as one or more files in a file system to thereby enable an antivirus solution to perform a statistical analysis on the one or more files to detect a compromise in the firmware.

19. The computing system of claim 18 , wherein the firmware comprises firmware configuration settings.

20. The computing system of claim 18 , wherein the portion of memory that remains accessible at runtime comprises an Advanced Configuration and Power Interface (ACPI) region of memory.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2020
From: WALKER, MARK AEDEN; MARTINEZ, RICARDO L.
To: DELL PRODUCTS L.P.
Reel/Frame 053103/0457 →
Continuity (1)
Related Publication 20220004636A1 · Jan 6, 2022