US8301907B2 - Supporting advanced RAS features in a secured computing system - Google Patents
Supporting advanced RAS features in a secured computing system Download PDFInfo
- Publication number
 - US8301907B2 US8301907B2 US11/863,563 US86356307A US8301907B2 US 8301907 B2 US8301907 B2 US 8301907B2 US 86356307 A US86356307 A US 86356307A US 8301907 B2 US8301907 B2 US 8301907B2
 - Authority
 - US
 - United States
 - Prior art keywords
 - cpu
 - bios
 - computing system
 - response
 - secured environment
 - Prior art date
 - Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
 - Expired - Fee Related, expires
 
Links
Images
Classifications
- 
        
- G—PHYSICS
 - G06—COMPUTING OR CALCULATING; COUNTING
 - G06F—ELECTRIC DIGITAL DATA PROCESSING
 - G06F15/00—Digital computers in general; Data processing equipment in general
 - G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
 
 
Definitions
- the present invention relates generally to computing environments and, more particularly, to systems and methods for supporting RAS features without compromising security in a secured computing environment.
 - LT was first introduced in client platforms.
 - LT-SX is an effort to extend LT protection to server platforms.
 - LT-SX uses a security model that allows certain RAS (Reliability, Availability and Serviceability) features to co-exist with security by allowing some of the system firmware to be within the trust boundary.
 - RAS Reliability, Availability and Serviceability
 - the basic RAS features of memory sparing and memory mirroring may be enabled to co-exist with security by utilizing protected partitions, wherein applications can run in isolation, free from being observed or compromised by software running in standard partitions and other applications running in the protected partition.
 - hot-plug and migration capabilities implemented in high-end server platforms for a central processing unit (CPU) may defy some of the requirements of an LT-based platform. That is, CPUs cannot presently be hot-plugged or migrated after launching a secure environment under the control of LT without compromising security.
 - FIG. 1 illustrates an exemplary hardware and software environment in accordance with one or more embodiments.
 - FIG. 2 is a flow diagram of a method for hot-plugging a CPU to a system according to an exemplary embodiment.
 - the present disclosure is directed to systems and methods for enabling RAS features in a secured computing environment without compromising security.
 - Such features include, but are not limited to, hot-plugging or migrating a CPU after launching a secure environment under the control of security software (e.g., LT).
 - security software e.g., LT
 - CPU hot-plug refers to the physical addition of a CPU to a running system without shutting down the operating system (OS).
 - OS operating system
 - CPU migration refers to redirecting a computing system component's attempt to access a failing CPU socket to a spare CPU.
 - the specific capability may be differentiating between a CPU hot-plug event under the secured environment and a regular boot; preventing a system boot if a BIOS does not support Firmware Interface Table or does not contain a signed ACM; inspecting a BIOS to determine whether the BIOS can be trusted, and preventing BIOS code execution if the BIOS has been compromised; configuring a processor to match a state expected by the LT or comparable security technology; detecting whether a hot-plugged CPU supports LT capability (e.g., via a sideband interface), and/or allowing trusted code to modify an LT CPU agents list.
 - LT capability e.g., via a sideband interface
 - a computing system 100 may comprise a central processing unit (CPU) 110 that is coupled to a BIOS 130 , system service processor (SSP) 140 , memory 150 and possibly a hot-plugged CPU 120 by way of bus 118 .
 - BIOS 130 is a logic code that is executed during computing system 100 's startup that recognizes and controls various system components.
 - SSP 140 comprises hardware and software components needed to monitor and control computing system 100 's platform. In some embodiments, SSP 140 may operate independently from CPU 110 and VMM 170 .
 - Memory 150 may comprise local memory, bulk storage, cache memory or any type of volatile or non-volatile type of storage medium suitable for storing data.
 - CPUs 110 , 120 are components of computing system 100 that are capable of executing program code (e.g., authenticated code modules (ACMs), microcode, application software, etc.).
 - Bus 118 is a subsystem that transfers data or power between various components of computing system 100 .
 - VMM 170 controls and manages the hardware and software resources of computing system 100 .
 - a secured computing environment may be implemented by way of employing a virtual machine monitor (VMM) 170 , configured to launch and maintain a secure environment 180 .
 - VMM virtual machine monitor
 - One or more operating systems e.g., OS 160
 - VMM 170 may be configured to protect confidential information stored in computing system 100 by implementing secured environment 180 , as provided in more detail below.
 - secure environment 180 may be supported by an Intel® trusted execution technology (e.g., LT).
 - computing system 100 may be configured to support a CPU hot-plug (or CPU migration) process while maintaining a secure environment 180 .
 - an ACM or a microcode may be executed by CPU 110 or CPU 120 to initiate a secure environment 180 and thereafter handover control to VMM 170 (S 200 ).
 - the ACM is desirably a signed module for enhancing system security, such that if the ACM's signature is not recognizable, CPU 110 may not execute the ACM and will not launch the secure environment.
 - VMM 170 performs initialization of the system 100 and stores confidential information (i.e., secrets) in memory 150 to protect said information from access by a miscreant by way of establishing a security mechanism supported by a secured environment 180 such as LT(S 205 ).
 - secrets stored by OS 160 may not be accessible to another operating system running on top of VMM 170 and vice versa.
 - CPU 120 may execute a microcode to initialize CPU 120 's internal hardware (S 230 ) and determine whether BIOS 130 has a signed reset module (S 233 ). If BIOS 130 does not have a signed reset module, then reset signal to CPU 120 may be reasserted and hot-plug process fulls (S 275 ). Otherwise, CPU 120 launches a signed ACM from BIOS 130 (S 235 ).
 - the signed ACM analyzes BIOS 130 to determine whether BIOS 130 can be trusted (S 240 ). If so, BIOS 130 proceeds to determine whether CPU 120 is compatible with other CPUs (e.g., CPU 110 ) in computing system 100 (S 245 ). In some embodiments, a list of CPUs connected or added to computing system 100 secured environment 180 is maintained. Thus, if a hot-plug operation fulls, the list may be updated to remove a failed CPU from the list. Accordingly, if BIOS 130 cannot be trusted, then SSP 140 is notified that hot-plug operation has failed. SSP removes power to CPU 120 . CPU 120 is removed from the secured environment 180 's CPU list by BIOS 130 .
 - BIOS 130 determines that the CPUs in computing system 100 are compatible, BIOS 130 configures hot-plugged CPU 120 and notifies VMM 170 that a new CPU resource is available (S 250 ) by for example adding CPU 120 to the secured environment 180 's CPU list.
 - VMM 170 may send a startup interrupt to CPU 120 (S 255 ).
 - a startup interrupt microcode may configure CPU 120 's internal state to match what VMM 170 expects before branching to the VMM entry point (S 260 ).
 - the VMM entry point can match traditional target of startup interrupt or a special secure memory location. It is noteworthy that in certain embodiments, one or more operations initiated or performed by a microcode may be also performed by an ACM, or vice versa, depending on implementation.
 - VMM 170 allows the hot-plugged CPU 120 to operate within secure environment 180 (S 265 ). Accordingly, CPU 120 may be hot-plugged to computing system 100 without jeopardizing secured environment 180 . In this manner, computing system 100 may be protected against hackers that may, for example, try to flash a rogue BIOS and thereby gain control of the secrets stored in memory 150 .
 - certain capabilities may be added to CPU 110 , hot-plugged CPU 120 , BIOS 130 , SSP 140 and other system components or software in system 100 to enable features that support CPU hot-plug and CPU migration.
 - Such capabilities may be built on top of a code root of trust (e.g., a Firmware Interface Table (FIT)) comprising starting memory addresses and sizes for firmware components that are outside a protected boot block.
 - FIT Firmware Interface Table
 - said capabilities may comprise enhancement of CPU reset microcode, for example, such that the microcode differentiates between a CPU hot-plug event under a secure environment and a regular boot.
 - a system boot may be prevented, for example, if a CPU 120 is hot-plugged under a secure environment 180 where BIOS 130 does not support FIT or does not include a signed ACM.
 - a CPU reset microcode may launch a signed ACM to inspect BIOS 130 to determine whether BIOS 130 can be trusted or not. If BIOS 130 cannot be trusted, the signed ACM prevents execution of BIOS 130 code (e.g., holds CPU 120 in reset mode).
 - An external agent e.g., SSP 140
 - SSP 140 may detect whether CPU 120 supports the secured environment 180 , for example, via a sideband interface. Sideband interface can be in the form of SMBUS and allows SSP 140 to determine the capabilities of the hot-plugged CPU 120 .
 - the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment comprising both hardware and software elements.
 - the invention may be implemented in software, which may comprise firmware, resident software, microcode, and ACMs, without limitation.
 - the medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium.
 - Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk.
 - Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
 - logic code programs, modules, processes, methods and the order in which the respective steps of each method disclosed here are performed are purely exemplary. Depending on implementation, the steps may be performed in any order or in parallel, unless indicated otherwise in the present disclosure. Further, the logic code is not related, or limited to any particular programming language, and may comprise of one or more modules that execute on one or more processors in a distributed, non-distributed or multiprocessing environment.
 
Landscapes
- Engineering & Computer Science (AREA)
 - Computer Hardware Design (AREA)
 - Theoretical Computer Science (AREA)
 - Software Systems (AREA)
 - Physics & Mathematics (AREA)
 - General Engineering & Computer Science (AREA)
 - General Physics & Mathematics (AREA)
 - Stored Programmes (AREA)
 - Storage Device Security (AREA)
 
Abstract
Description
Claims (12)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| US11/863,563 US8301907B2 (en) | 2007-09-28 | 2007-09-28 | Supporting advanced RAS features in a secured computing system | 
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| US11/863,563 US8301907B2 (en) | 2007-09-28 | 2007-09-28 | Supporting advanced RAS features in a secured computing system | 
Publications (2)
| Publication Number | Publication Date | 
|---|---|
| US20090089566A1 US20090089566A1 (en) | 2009-04-02 | 
| US8301907B2 true US8301907B2 (en) | 2012-10-30 | 
Family
ID=40509732
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| US11/863,563 Expired - Fee Related US8301907B2 (en) | 2007-09-28 | 2007-09-28 | Supporting advanced RAS features in a secured computing system | 
Country Status (1)
| Country | Link | 
|---|---|
| US (1) | US8301907B2 (en) | 
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US10379768B2 (en) | 2016-09-30 | 2019-08-13 | Intel Corporation | Selective memory mode authorization enforcement | 
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| WO2009139779A1 (en) * | 2008-05-16 | 2009-11-19 | Hewlett-Packard Development Company, L.P. | System and method for providing a system management command | 
| WO2013089739A1 (en) * | 2011-12-15 | 2013-06-20 | Intel Corporation | Secure debug trace messages for production authenticated code modules | 
| KR102619117B1 (en) | 2016-07-05 | 2023-12-29 | 삼성전자 주식회사 | Electronic device and method for operating electronic device | 
| US11327918B2 (en) | 2018-06-29 | 2022-05-10 | Intel Corporation | CPU hot-swapping | 
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US20020169976A1 (en) * | 2001-05-10 | 2002-11-14 | Schelling Todd A. | Enabling optional system features | 
| US20030126442A1 (en) * | 2001-12-31 | 2003-07-03 | Glew Andrew F. | Authenticated code module | 
| US20030226031A1 (en) * | 2001-11-22 | 2003-12-04 | Proudler Graeme John | Apparatus and method for creating a trusted environment | 
| US20040103299A1 (en) * | 2002-11-27 | 2004-05-27 | Zimmer Vincent J. | Providing a secure execution mode in a pre-boot environment | 
- 
        2007
        
- 2007-09-28 US US11/863,563 patent/US8301907B2/en not_active Expired - Fee Related
 
 
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US20020169976A1 (en) * | 2001-05-10 | 2002-11-14 | Schelling Todd A. | Enabling optional system features | 
| US20030226031A1 (en) * | 2001-11-22 | 2003-12-04 | Proudler Graeme John | Apparatus and method for creating a trusted environment | 
| US20030126442A1 (en) * | 2001-12-31 | 2003-07-03 | Glew Andrew F. | Authenticated code module | 
| US20040103299A1 (en) * | 2002-11-27 | 2004-05-27 | Zimmer Vincent J. | Providing a secure execution mode in a pre-boot environment | 
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| US10379768B2 (en) | 2016-09-30 | 2019-08-13 | Intel Corporation | Selective memory mode authorization enforcement | 
Also Published As
| Publication number | Publication date | 
|---|---|
| US20090089566A1 (en) | 2009-04-02 | 
Similar Documents
| Publication | Publication Date | Title | 
|---|---|---|
| US10719400B2 (en) | System and method for self-healing basic input/output system boot image and secure recovery | |
| US7962738B2 (en) | Hypervisor runtime integrity support | |
| TWI476630B (en) | Continuity service method executed by at least one processor,continuity service apparatus and non-transitory computer readable storage medium | |
| CN106030512B (en) | Initialization Tracking of Computing Devices | |
| EP1906333B1 (en) | Methods and arrangements to launch trusted, co-existing environments | |
| US9176752B1 (en) | Hardware-based mechanisms for updating computer systems | |
| CN101454751B (en) | Apparatus and method for performing security environment initialization in point-to-point interconnection | |
| US20140229942A1 (en) | Isolated guest creation in a virtualized computing system | |
| KR101823888B1 (en) | Multinode hubs for trusted computing | |
| JP5307196B2 (en) | Providing a system integrated with silicon code | |
| US20140025941A1 (en) | Providing an immutable antivirus payload for internet ready compute nodes | |
| US8448222B2 (en) | Method and apparatus for registering agents onto a virtual machine monitor | |
| US11977631B2 (en) | Hypervisor level signature checks for encrypted trusted execution environments | |
| US11321077B1 (en) | Live updating of firmware behavior | |
| US9418223B2 (en) | System and method for securing embedded controller communications by verifying host system management mode execution | |
| US10552345B2 (en) | Virtual machine memory lock-down | |
| US8843742B2 (en) | Hypervisor security using SMM | |
| US8301907B2 (en) | Supporting advanced RAS features in a secured computing system | |
| US11755745B2 (en) | Systems and methods for monitoring attacks to devices | |
| US12001870B2 (en) | Injection and execution of workloads into virtual machines | |
| WO2023027687A1 (en) | Hashes to control code execution | |
| CN119989338A (en) | Hypervisor-based kernel management method and device | 
Legal Events
| Date | Code | Title | Description | 
|---|---|---|---|
| AS | Assignment | 
             Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NATU, MAHESH S.;DATTA, SHAM;WIEDEMEIER, JEFF;AND OTHERS;REEL/FRAME:021800/0265;SIGNING DATES FROM 20070923 TO 20071001 Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NATU, MAHESH S.;DATTA, SHAM;WIEDEMEIER, JEFF;AND OTHERS;SIGNING DATES FROM 20070923 TO 20071001;REEL/FRAME:021800/0265  | 
        |
| ZAAA | Notice of allowance and fees due | 
             Free format text: ORIGINAL CODE: NOA  | 
        |
| ZAAB | Notice of allowance mailed | 
             Free format text: ORIGINAL CODE: MN/=.  | 
        |
| STCF | Information on status: patent grant | 
             Free format text: PATENTED CASE  | 
        |
| FPAY | Fee payment | 
             Year of fee payment: 4  | 
        |
| MAFP | Maintenance fee payment | 
             Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8  | 
        |
| FEPP | Fee payment procedure | 
             Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY  | 
        |
| LAPS | Lapse for failure to pay maintenance fees | 
             Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY  | 
        |
| STCH | Information on status: patent discontinuation | 
             Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362  | 
        |
| FP | Lapsed due to failure to pay maintenance fee | 
             Effective date: 20241030  |