IP Library › Granted Patent US 8,832,454
Granted Patent B2
US 8,832,454 · App. 12/317,852 · Granted Sep 9, 2014

Apparatus and method for runtime integrity verification

Inventors: Hormuzd M. Khosravi (Portland, OR); Vincent J. Zimmer (Federal Way, WA); Divya Naidu Kolar Sunder (Hillsboro, OR)
Assignee: Intel Corporation
G06F21/64G06F2221/2101G06F21/52
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 8,832,454
App. No.
12/317,852
Granted
Sep 9, 2014
Kind
B2
Abstract

In some embodiments, a processor-based system may include at least one processor, at least one memory coupled to the at least one processor, a code block, and code which is executable by the processor-based system to cause the processor-based system to generate integrity information for the code block upon a restart of the processor-based system, securely store the integrity information, and validate the integrity of the code block during a runtime of the processor-based system using the securely stored integrity information. Other embodiments are disclosed and claimed.

Claims (47)

1. A processor-based system, comprising:

at least one processor;

at least one memory coupled to the at least one processor;

a code block; and

code which is executable by the processor-based system to cause the processor-based system to:

generate integrity information for the code block upon a restart of the processor-based system;

securely store the integrity information, wherein the integrity information corresponds to one or more code blocks;

validate an integrity of the code block during a runtime of the processor-based system using the securely stored integrity information;

securely store a list of integrity information corresponding to a plurality of code blocks; and

scan the at least one memory coupled to the at least one processor for the plurality of code blocks and validate the integrity of the scanned code blocks during runtime using the securely stored list of integrity information.

2. The system of claim 1 , wherein the code block corresponds to one of a firmware element, a basic input output system (BIOS) element, and a system management mode (SMM) element.

3. The system of claim 1 , further comprising code to cause the processor-based system to:

periodically re-validate the integrity of the code block during runtime using the securely stored integrity information.

4. The system of claim 1 , further comprising:

a network component and code to cause the processor-based system to send a remote alert if the validation fails.

5. A processor-based system, comprising:

at least one processor;

a system management memory coupled to the at least one processor;

a chipset including a manageability engine coupled to the at least one processor and the system management memory; and

code which is executable by the processor-based system to cause the manageability engine of the chipset to validate a contents of the system management memory during a runtime of the processor-based system, and further comprising code to cause the processor-based system to:

generate integrity information for the contents of the system management memory upon a restart of the processor-based system;

transfer the integrity information to the manageability engine of the chipset;

securely store the integrity information in a location accessible by the manageability engine, wherein the integrity information corresponds to one or more code blocks;

periodically re-validate the contents of the system management memory during the runtime of the processor-based system using the securely stored integrity information; and

scan the system management memory and validate the integrity of the scanned memory using the securely stored integrity information.

6. The system of claim 5 , further comprising:

a network component and code to cause the manageability engine to send a remote alert if the validation fails.

7. The system of claim 5 , wherein the location accessible by the manageability engine comprises a memory subsystem of the manageability engine.

8. The system of claim 5 , wherein the manageability engine includes a separate processor and wherein at least a portion of the code is executable by the separate processor of the manageability engine.

9. A method of performing runtime integrity verification for a processor-based system, comprising:

generating integrity information for a code block upon restart of the processor-based system;

securely storing the integrity information, wherein the integrity information corresponds to one or more code blocks;

validating an integrity of the code block during runtime using the securely stored integrity information;

securely storing a list of integrity information corresponding to a plurality of code blocks: and

scanning the at least one memory coupled to the at least one processor for the plurality of code blocks and validating the integrity of the scanned code blocks during runtime using the securely stored list of integrity information.

10. The method of claim 9 , wherein the code block corresponds to one of a firmware element, a basic input output system (BIOS) element, and a system management mode (SMM) element.

11. The method of claim 9 , further comprising:

periodically re-validating the integrity of the code block during runtime using the securely stored integrity information.

12. The method of claim 9 , further comprising: sending a remote alert if the validation fails.

13. A method of performing runtime integrity verification for a processor-based system, comprising:

generating integrity information for the contents of a system management memory upon a restart of the processor-based system;

transferring the integrity information to a manageability engine chipset of the processor-based system;

securely storing the integrity information in a location accessible by the manageability engine, wherein the integrity information corresponds to one or more code blocks;

validating a contents of the system management memory with the manageability engine during a runtime of the processor-based system using the securely stored integrity information;

periodically re-validating the contents of the system management memory with the manageability engine during the runtime of the processor-based system using the securely stored integrity information; and

scanning the system management memory and validating the integrity of the scanned memory using the securely stored integrity information.

14. The method of claim 13 , further comprising: sending a remote alert from manageability engine if the validation fails.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2012
From: KHOSRAVI, HORMUZD M.; KOLAR SUNDER, DIVYA NAIDU; ZIMMER, VINCENT J.
To: INTEL CORPORATION
Reel/Frame 027672/0604 →
Continuity (1)
Related Publication 20100169967A1 · Jul 1, 2010