IP Library › Granted Patent US 10,943,015
Granted Patent B2
US 10,943,015 · App. 15/928,863 · Granted Mar 9, 2021

Continuous monitoring for detecting firmware threats

Inventors: Peter P. Eacmen, III (Clarksville, MD); Terry J. Dunlap, Jr. (Olney, MD)
Assignee: ReFirm Labs, Inc.
G06F21/577G06F2221/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 10,943,015
App. No.
15/928,863
Granted
Mar 9, 2021
Kind
B2
Abstract

Continuous monitoring for detecting firmware threats is provided herein. An example system includes a processing pipeline that receives a firmware image from an entity, an extractor that receives the firmware image through the processing pipeline, the extractor being configured to determine and extract files within the firmware image, a task queue that receives the extracted files and one or more analyzers that: obtain the files from the task queue; and perform at least one type of vulnerability analysis on the files. The system includes a database that stores a log of the at least one type of vulnerability analysis, the log being associated with any of the firmware image and a device identifier of the device.

Claims (43)

1. A system, comprising:

a processing pipeline configured to execute instructions by a processor to:

receive a firmware image from an entity via the entity transmitting the firmware image to the system over a network, the firmware image being indicative of firmware installed on a device of the entity;

an extractor configured to execute instructions by the processor to: receive the firmware image through the processing pipeline, the extractor being configured to determine and extract files within the firmware image;

a task queue that receives the extracted files;

one or more analyzers configured to execute instructions by the processor to:

obtain the files from the task queue;

perform at least one type of vulnerability analysis on the files;

wherein the one or more analyzers are selected based on file types of the files;

and re-execute the at least one type of vulnerability analysis when the one or more analyzers are updated, wherein the at least one type of vulnerability analysis is run against all files that were previously extracted such that all firmware images for the entity are analyzed to detect new threats; and

a database that stores a log of the at least one type of vulnerability analysis, the log being associated with any of the firmware image and a device identifier of the device.

2. The system according to claim 1 , wherein the database stores additional logs from other vulnerability analyses of other firmware images of the device that are older versions of the firmware image.

3. The system according to claim 1 , further comprising an alerting module configured to execute instructions by the processor to transmit a message to the entity in real-time or near real-time that the at least one type of vulnerability analysis indicates that a vulnerability exists.

4. The system according to claim 3 , wherein the message indicates which file of the files is implicated relative to the vulnerability.

5. The system according to claim 1 , wherein the at least one type of vulnerability analysis includes comparing properties of the files to entries in a common vulnerabilities and exposures (CVE) database.

6. The system according to claim 5 , further comprising a remediation module configured to execute instructions by the processor to automatically repair or remove any of the files that are determined to be vulnerable based on the comparison of the files to the CVE database.

7. The system according to claim 1 , wherein the device is an Internet-of-Things (IoT) device.

8. The system according to claim 1 , wherein the at least one type of vulnerability analysis includes scanning the files for artifacts when the files are executables and extracting versioning information.

9. The system according to claim 1 , wherein the at least one type of vulnerability analysis includes any of:

scanning the files for strings of characters that are indicative of a vulnerability; and

analyzing binary code of the files to determine if an executable file has a vulnerability.

10. The system according to claim 1 , wherein the at least one type of vulnerability analysis includes scanning the files for password hashes.

11. A method, comprising:

receiving a firmware image from an entity via transmitting the firmware image to a system over a network, the firmware image being a copy of that which is installed on a device of the entity;

placing the firmware image in a processing pipeline;

determining and extracting files within the firmware image using an extractor;

placing the extracted files in a task queue;

launching one or more analyzers to:

obtain the files from the task queue;

perform a vulnerability analysis on the files; and

wherein the one or more analyzers are selected based on file types of the files;

re-launching the one or more analyzers to perform an updated vulnerability analysis on the files at a subsequent point in time after the one or more analyzers have been updated, the updated vulnerability analysis being executed against the firmware image stored in a database; and

storing the firmware image and a log of the vulnerability analysis in the database, the log being associated with any of the firmware image and a device identifier of the device.

12. The method according to claim 11 , further comprising storing additional logs from other vulnerability analyses of other firmware images of the device that are older versions of the firmware image, wherein the updated vulnerability analysis is performed against the older versions of the firmware image.

13. The method according to claim 11 , further comprising transmitting a message to the entity in real-time or near real-time that the vulnerability analysis indicates that a vulnerability exists.

14. The method according to claim 13 , wherein the message indicates which file of the files is implicated relative to the vulnerability.

15. The method according to claim 11 , wherein the vulnerability analysis comprises comparing the files to a common vulnerabilities and exposures (CVE) database.

16. The method according to claim 11 , wherein the vulnerability analysis includes any of:

scanning the files for artifacts when the files are executables and extracting versioning information;

analyzing binary code of the files to determine if an executable file has a vulnerability;

scanning the files for strings of characters that are indicative of a vulnerability; and

scanning the files for password hashes.

17. The method according to claim 11 , further comprising automatically repairing or removing any of the files that are determined to be vulnerable based on a comparison of the files to a common vulnerabilities and exposures (CVE) database.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2021
From: REFIRM LABS, INC.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 056666/0203 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2018
From: EACMEN, PETER P., III; DUNLAP, TERRY J., JR.
To: REFIRM LABS, INC.
Reel/Frame 045860/0277 →
Continuity (1)
Related Publication 20190294802A1 · Sep 26, 2019