IP Library Granted Patent US 9,129,115
Granted Patent B2
US 9,129,115 · App. 14/505,692 · Granted Sep 8, 2015

System, method, and computer program product for mounting an image of a computer system in a pre-boot environment for validating the computer 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 9,129,115
App. No.
14/505,692
Granted
Sep 8, 2015
Kind
B2
Abstract

A system, method, and computer program product are provided for mounting an image of a computer system in a pre-boot environment for validating the computer system. An image of an operating system is mounted in a pre-boot environment of the programmable device. An untrusted component of the operating system is identified that is registered to be automatically loaded or loaded during a boot-up stage of the operating system that is predetermined to be early. The untrusted component is rescheduled to be initiated after loading of at least a portion of a security system on the programmable device.

Claims (47)

1. A non-transitory computer readable medium comprising instructions stored thereon that when executed cause a programmable device to:

mount an image of an operating system in a pre-boot environment of the programmable device;

identify an untrusted component of the operating system registered to be automatically loaded or loaded during a boot-up stage of the operating system that is predetermined to be early; and

reschedule the untrusted component to be initiated after loading of at least a portion of a security system on the programmable device.

2. The non-transitory computer readable medium of claim 1 , wherein the instructions stored thereon that when executed cause the programmable device to reschedule the untrusted component to be initiated after loading of at least a portion of a security system on the programmable device comprise instructions that when executed cause the programmable device to:

reschedule the untrusted component to be initiated after loading predetermined components of the security system.

3. The non-transitory computer readable medium of claim 1 , wherein the instructions stored thereon that when executed cause the programmable device to identify an untrusted component of the operating system comprise instructions that when executed cause the programmable device to:

verify a digital signature associated with components of the operating system registered to be automatically loaded or loaded during a boot-up stage of the operating system that is predetermined to be early.

4. The non-transitory computer readable medium of claim 1 , wherein the instructions stored thereon further comprise instructions that when executed cause the programmable device to:

monitor a security system of the programmable device during execution of the operating system, to ensure that the security system executes as expected.

5. The non-transitory computer readable medium of claim 1 , wherein the pre-boot environment is a virtualized pre-boot environment.

6. The non-transitory computer readable medium of claim 1 , wherein the pre-boot environment is provided by a chipset extension.

7. A programmable apparatus, comprising:

one or more processors; and

a memory, coupled to the one or more processors, on which are stored instructions, comprising instructions that when executed cause at least some of the one or more processors to:

mount an image of an operating system in a pre-boot environment of the programmable apparatus;

identify an untrusted component of the operating system registered to be automatically loaded or loaded during a boot-up stage of the operating system that is predetermined to be early; and

reschedule the untrusted component to be initiated after loading of at least a portion of a security system on the programmable apparatus.

8. The programmable apparatus of claim 7 , wherein the programmable apparatus is a mobile device.

9. The programmable apparatus of claim 7 , wherein the programmable apparatus is an embedded programmable device.

10. The programmable apparatus of claim 7 , wherein the instructions that when executed cause at least some of the one or more processors to reschedule the untrusted component to be initiated after loading of at least a portion of a security system on the programmable apparatus comprise instructions that when executed cause at least some of the one or more processors to:

reschedule the untrusted component to be initiated after loading predetermined components of the security system.

11. The programmable apparatus of claim 10 , wherein the one or more processors and memory are virtualized.

12. The programmable apparatus of claim 7 , wherein the instructions that when executed cause at least some of the one or more processors to identify an untrusted component of the operating system comprise instructions that when executed cause at least some of the one or more processors to:

verify a digital signature associated with components of the operating system registered to be automatically loaded or loaded during a boot-up stage of the operating system that is predetermined to be early.

13. A method of controlling loading of an operating system, comprising:

mounting an image of an operating system in a pre-boot environment of a programmable device;

identifying an untrusted component of the operating system registered to be automatically loaded or loaded during a boot-up stage of the operating system that is predetermined to be early; and

rescheduling the untrusted component to be initiated after loading of at least a portion of a security system on the programmable device.

14. The method of claim 13 , wherein rescheduling the untrusted component to be initiated after loading of at least a portion of a security system on the programmable device further comprises:

rescheduling the untrusted component to be initiated after loading predetermined components of the security system.

15. The method of claim 13 , wherein identifying an untrusted component of the operating system further comprises:

verifying a digital signature associated with components of the operating system registered to be automatically loaded or loaded during a boot-up stage of the operating system that is predetermined to be early.

16. The method of claim 13 , further comprising:

monitoring a security system of the programmable device during execution of the operating system, to ensure that the security system executes as expected.

17. The method of claim 13 , wherein the pre-boot environment is a virtualized pre-boot environment.

18. The method of claim 13 , wherein the pre-boot environment is provided by a chipset extension.

19. A non-transitory computer readable medium comprising instructions stored thereon that when executed cause a programmable device to:

mount an image of an operating system in a pre-boot environment of the programmable device;

identify an untrusted component of the operating system registered to be automatically loaded or loaded during a boot-up stage of the operating system that is predetermined to be early; and

reschedule the untrusted component to be initiated on-demand by a security system on the programmable device.

20. The non-transitory computer readable medium of claim 19 , wherein the instructions stored thereon that when executed cause the programmable device to identify an untrusted component of the operating system comprise instructions that when executed cause the programmable device to:

verify a digital signature associated with components of the operating system registered to be automatically loaded or loaded during a boot-up stage of the operating system that is predetermined to be early.

21. The non-transitory computer readable medium of claim 19 , wherein the instructions stored thereon further comprise instructions that when executed cause the programmable device to:

monitor a security system of the programmable device during execution of the operating system, to ensure that the security system executes as expected.

22. The non-transitory computer readable medium of claim 19 , wherein the pre-boot environment is a virtualized pre-boot environment.

23. The non-transitory computer readable medium of claim 19 , wherein the pre-boot environment is provided by a chipset extension.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →