IP Library Granted Patent US 10,628,583
Granted Patent B2
US 10,628,583 · App. 15/664,144 · Granted Apr 21, 2020

Detecting a spoofed image in an information handling system

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,628,583
App. No.
15/664,144
Filed
Jul 31, 2017
Granted
Apr 21, 2020
Kind
B2
Art Unit
2433
USPC
726/23
Abstract

A method, information handling system (IHS) and a detection system for detecting a spoofed firmware image in an IHS. The method includes a processor triggering a controller to execute a diagnostic image for testing an image under test. At least one first test result is received from the controller executing the diagnostic image. The method further includes determining whether the first test result is a valid first test result. In response to determining that the first test result is not a valid first test result, the image under test is identified as a spoofed image that has failed testing. An error message is generated that identifies the image under test as being a spoofed image and the error message is stored to an error log.

Claims (81)

1. A computer implemented method for detecting a spoofed image in an information handling system (IHS), the method comprising:

triggering, by a processor of a diagnostic IHS, a controller to execute a diagnostic image for testing an image under test, the controller being a component of the IHS and comprising a memory having the image under test, the diagnostic image using the image under test as inputs and returning test results for a given input according to mathematical functions, the image under test being a firmware image;

receiving at least one first test result from the controller executing the diagnostic image on the image under test, the test results being values and an order of sequence calls returned by the diagnostic image;

determining whether the first test result is a valid first test result, the valid first test result comprising pre-determined values and based on a pre-determined order of sequence calls, and indicating that the image under test is authentic; and

in response to determining that the first test result is not a valid first test result:

identifying the image under test as a spoofed image that has failed testing; and

triggering the controller to prevent loading of the spoofed image that has failed testing.

2. The method of claim 1 , further comprising:

generating an error message that identifies the image under test as being a spoofed image and storing the error message to an error log.

3. The method of claim 1 , wherein determining whether the first test result is a valid first test result further comprises:

comparing the first test result to a pre-determined valid first test result, the pre-determined valid first test result being pre-determined values and order of sequence of calls that indicate that the stored image under test is authentic; and

determining whether the first test result matches the pre-determined valid first test result.

4. The method of claim 1 , further comprising:

notifying a system administrator that the image under test is a spoofed image that has failed testing.

5. The method of claim 1 , wherein triggering the controller to execute the diagnostic image for testing the image under test further comprises the controller:

retrieving, from a second memory device, the image under test;

executing the diagnostic image;

generating the at least one first test result; and

transmitting the at least one first test result to the processor.

6. The method of claim 1 , further comprising:

in response to identifying the image under test as a spoofed image, triggering the controller to delete the spoofed image that has failed testing.

7. The method of claim 1 , further comprising:

in response to identifying the image under test as a spoofed image:

retrieving a trusted image corresponding to the spoofed image;

transmitting the trusted image to the controller; and

triggering the controller to store the trusted image in place of the spoofed image which is deleted.

8. An information handling system (IHS) comprising:

a first memory device having firmware stored thereon; and

a processor communicatively coupled to a controller and the first memory device, the processor having the firmware executing thereon, wherein the firmware configures the processor to:

trigger the controller to execute a diagnostic image for testing an image under test, the controller comprising a second memory device having the image under test, the diagnostic image using the image under test as inputs and returning test results for a given input according to mathematical functions, the image under test being a firmware image;

receive at least one first test result from the controller executing the diagnostic image on the image under test, the test results being values and an order of sequence calls returned by the diagnostic image;

determine whether the first test result is a valid first test result, the valid first test result comprising pre-determined values and based on a pre-determined order of sequence calls, and indicating that the image under test is authentic; and

in response to determining that the first test result is not a valid first test result:

identify the image under test as a spoofed image that has failed testing; and

trigger the controller to prevent loading of the spoofed image that has failed testing.

9. The information handling system of claim 8 , wherein the firmware further configures the processor to:

generate an error message that identifies the image under test as being a spoofed image and store the error message to an error log.

10. The information handling system of claim 8 , wherein determining whether the first test result is a valid first test result comprises the firmware further configuring the processor to:

compare the first test result to a pre-determined valid first test result, the pre-determined valid first test result being pre-determined values and order of sequence of calls that indicate that the stored image under test is authentic; and

determine whether the first test result matches the pre-determined valid first test result.

11. The information handling system of claim 8 , wherein the firmware further configures the processor to:

notify a system administrator that the image under test is a spoofed image that has failed testing.

12. The information handling system of claim 8 , wherein the firmware configuring the processor to trigger the controller to execute the diagnostic image for testing the image under test further triggers the controller to:

retrieve, from the second memory device, the image under test;

execute the diagnostic image;

generate the at least one first test result; and

transmit the at least one first test result to the processor.

13. The information handling system of claim 8 , wherein the firmware further configures the processor to:

in response to identifying the image under test as a spoofed image, trigger the controller to delete the spoofed image that has failed testing.

14. The information handling system of claim 13 , wherein the firmware further configures the processor to:

in response to identifying the image under test as a spoofed image:

retrieve a trusted image corresponding to the spoofed image;

transmit the trusted image to the controller; and

trigger the controller to store the trusted image in place of the spoofed image, which is deleted.

15. A detection system for detecting a spoofed image in an information handling system (IHS), the detection system comprising:

a first memory device having firmware stored thereon; and

a processor communicatively coupled to a controller and the first memory device, the processor having the firmware executing thereon, wherein the firmware configures the processor to:

trigger the controller to execute a diagnostic image for testing an image under test, the controller comprising a second memory device having the image under test, the diagnostic image using the image under test as inputs and returning test results for a given input according to mathematical functions, the image under test being a firmware image;

receive at least one first test result from the controller executing the diagnostic image on the image under test, the test results being values and an order of sequence calls returned by the diagnostic image;

determine whether the first test result is a valid first test result, the valid first test result comprising pre-determined values and based on a pre-determined order of sequence calls, and indicating that the image under test is authentic; and

in response to determining that the first test result is not a valid first test result:

identify the image under test as a spoofed image that has failed testing; and

trigger the controller to prevent loading of the spoofed image that has failed testing.

16. The detection system of claim 15 , wherein the firmware further configures the processor to:

generate an error message that identifies the image under test as being a spoofed image and store the error message to an error log.

17. The detection system of claim 15 , wherein determining whether the first test result is a valid first test result comprises the firmware further configuring the processor to:

compare the first test result to a pre-determined valid first test result, the pre-determined valid first test result being pre-determined values and order of sequence of calls that indicate that the stored image under test is authentic; and

determine whether the first test result matches the pre-determined valid first test result.

18. The detection system of claim 15 , wherein the firmware further configures the processor to:

notify a system administrator that the image under test is a spoofed image that has failed testing.

19. The detection system of claim 15 , wherein the firmware configuring the processor to trigger the controller to execute the diagnostic image for testing the at least one image under test further triggers the controller to:

retrieve, from the second memory device, the image under test;

execute the diagnostic image;

generate the at least one first test result; and

transmit the at least one first test result to the processor.

20. The detection system of claim 15 , wherein the firmware further configures the processor to:

in response to identifying the image under test as a spoofed image:

trigger the controller to delete the spoofed image that has failed testing;

retrieve a trusted image corresponding to the spoofed image;

transmit the trusted image to the controller; and

trigger the controller to store the trusted image in place of the spoofed image, which is deleted.