IP Library › Granted Patent US 11,847,227
Granted Patent B2
US 11,847,227 · App. 17/107,467 · Granted Dec 19, 2023

Firmware version corruption attack prevention

Inventors: Michael Tsirkin (Lexington, MA); Amnon Ilan (Ra'anana, IL)
Assignee: Red Hat, Inc.
G06F21/572G06F21/577G06F21/64G06F21/71G06F2221/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,847,227
App. No.
17/107,467
Filed
Nov 30, 2020
Granted
Dec 19, 2023
Kind
B2
Art Unit
2187
USPC
713/2
Abstract

A method includes detecting a change in control of a peripheral device from a first security domain to a second security domain of a computer system and in response to detecting the change in control of the peripheral device, reading a current firmware version of the peripheral device and determining whether the current firmware version of the peripheral device is trusted by the computer system. The method further includes in response to determining that the current firmware version is trusted by the computer system, providing control of the peripheral device to the second security domain.

Claims (63)

1. A method comprising:

detecting, by a processing device, a change in control of a peripheral device from a first virtualized environment of a first security domain to a second virtualized environment of a second security domain of a computer system;

in response to detecting the change in control of the peripheral device:

reading, by the processing device, a current firmware version of the peripheral device; and

determining, by the processing device, whether the current firmware version of the peripheral device is trusted by the computer system; and

in response to determining that the current firmware version is trusted by the computer system:

inserting a trusted signature into the current firmware version for a subsequent verification of the current firmware version; and

providing control of the peripheral device to the second security domain.

2. The method of claim 1 , further comprising:

detecting an initialization of the peripheral device on the computer system; and

in response to detecting the initialization of the peripheral device:

reading, by the processing device, the current firmware version of the peripheral device; and

determining, by the processing device, whether the current firmware version of the peripheral device is trusted by the computer system.

3. The method of claim 1 , wherein determining whether the current firmware version is trusted by the computer system comprises comparing the current firmware version to one or more certified versions of firmware associated with the peripheral device.

4. The method of claim 3 , wherein comparing the current firmware version to the one or more certified versions of firmware associated with the peripheral device comprises comparing a hash of the current firmware version to the one or more certified versions of firmware associated with the peripheral device.

5. The method of claim 3 , wherein comparing the current firmware version to the one or more certified versions of firmware associated with the peripheral device comprises comparing a signature included in the current firmware version to known signatures of one or more versions of firmware associated with the peripheral device trusted by the computer system.

6. The method of claim 1 ,

wherein the trusted signature identifies the current firmware version as trusted by the computer system.

7. The method of claim 6 , further comprising:

detecting a second change in control of the peripheral device from the second security domain to a third security domain of the computer system; and

determining that the current firmware version on the peripheral device includes the trusted signature; and

in response to determining that the current firmware version on the peripheral device includes the trusted signature, providing control of the peripheral device to the third security domain.

8. A system comprising:

a memory; and

a processing device operatively coupled to the memory, the processing device to:

detect a change in control of a peripheral device from a first virtualized environment of a first security domain to a second virtualized environment of a second security domain of a computer system;

in response to detecting the change in control of the peripheral device:

read a current firmware version of the peripheral device; and

determine whether the current firmware version of the peripheral device is trusted by the computer system; and

in response to determining that the current firmware version is trusted by the computer system:

insert a trusted signature into the current firmware version for a subsequent verification of the current firmware version; and

provide control of the peripheral device to the second security domain.

9. The system of claim 8 , wherein the processing device is further to:

detect an initialization of the peripheral device on the computer system; and

in response to detecting the initialization of the peripheral device:

read the current firmware version of the peripheral device; and

determine whether the current firmware version of the peripheral device is trusted by the computer system.

10. The system of claim 8 , wherein to determine whether the current firmware version is trusted by the computer system the processing device is to compare the current firmware version to one or more certified versions of firmware associated with the peripheral device.

11. The system of claim 10 , wherein to compare the current firmware version to the one or more certified versions of firmware associated with the peripheral device the processing device is to compare a hash of the current firmware version to the one or more certified versions of firmware associated with the peripheral device.

12. The system of claim 10 , wherein to compare the current firmware version to the one or more certified versions of firmware associated with the peripheral device the processing device is to compare a signature included in the current firmware version to known signatures of one or more versions of firmware associated with the peripheral device trusted by the computer system.

13. The system of claim 8 ,

wherein the trusted signature identifies the current firmware version as trusted by the computer system.

14. The system of claim 13 , wherein the processing device is further to:

detect a second change in control of the peripheral device from the second security domain to a third security domain of the computer system; and

determine that the current firmware version on the peripheral device includes the trusted signature; and

in response to determining that the current firmware version on the peripheral device includes the trusted signature, provide control of the peripheral device to the third security domain.

15. A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:

detect, by the processing device, a change in control of a peripheral device from a first virtualized environment of a first security domain to a second virtualized environment of a second security domain of a computer system;

in response to detecting the change in control of the peripheral device:

read, by the processing device, a current firmware version of the peripheral device; and

determine, by the processing device, whether the current firmware version of the peripheral device is trusted by the computer system; and

in response to determining that the current firmware version is trusted by the computer system:

insert a trusted signature into the current firmware version for a subsequent verification of the current firmware version; and

provide control of the peripheral device to the second security domain.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the processing device is further to:

detect an initialization of the peripheral device on the computer system; and

in response to detecting the initialization of the peripheral device:

read the current firmware version of the peripheral device; and

determine whether the current firmware version of the peripheral device is trusted by the computer system.

17. The non-transitory computer-readable storage medium of claim 15 , wherein to determine whether the current firmware version is trusted by the computer system the processing device is to compare the current firmware version to one or more certified versions of firmware associated with the peripheral device.

18. The non-transitory computer-readable storage medium of claim 17 , wherein to compare the current firmware version to the one or more certified versions of firmware associated with the peripheral device the processing device is to compare a hash of the current firmware version to the one or more certified versions of firmware associated with the peripheral device.

19. The non-transitory computer-readable storage medium of claim 17 , wherein to compare the current firmware version to the one or more certified versions of firmware associated with the peripheral device the processing device is to compare a signature included in the current firmware version to known signatures of one or more versions of firmware associated with the peripheral device trusted by the computer system.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the trusted signature identifies the current firmware version as trusted by the computer system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2020
From: TSIRKIN, MICHAEL; ILAN, AMNON
To: RED HAT, INC.
Reel/Frame 054495/0138 →
Continuity (1)
Related Publication 20220171851A1 · Jun 2, 2022
Cited By (1)
US 12,596,812