CN109791515A - 用于安全恢复主机系统代码的系统和方法 - Google Patents

用于安全恢复主机系统代码的系统和方法 Download PDF

Info

Publication number
CN109791515A
CN109791515A CN201780060006.XA CN201780060006A CN109791515A CN 109791515 A CN109791515 A CN 109791515A CN 201780060006 A CN201780060006 A CN 201780060006A CN 109791515 A CN109791515 A CN 109791515A
Authority
CN
China
Prior art keywords
rom
host system
recovery
code
communicatedly
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.)
Granted
Application number
CN201780060006.XA
Other languages
English (en)
Other versions
CN109791515B (zh
Inventor
T·M·兰伯特
J·拉哈尔佐
M·P·卡特里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell Products LP
Original Assignee
Dell Products LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dell Products LP filed Critical Dell Products LP
Publication of CN109791515A publication Critical patent/CN109791515A/zh
Application granted granted Critical
Publication of CN109791515B publication Critical patent/CN109791515B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • G06F11/2635Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process

Abstract

管理控制器可以被配置为根据多种操作模式控制主机系统处理器、主ROM和恢复ROM之间的连接,所述多种操作模式包括至少一个正常模式,所述正常模式响应于没有ROM代码损坏而发生,在该模式下,所述管理控制器使所述主机系统处理器通信地联结到所述主ROM并且与所述恢复ROM通信地分离,使得所述主机系统处理器在所述主机系统的启动期间加载和执行所述ROM代码,以及所述主ROM响应于存在所述ROM代码的损坏而发生的主ROM恢复模式,在该模式中,所述管理控制器使所述主机系统处理器联结到所述主ROM和所述恢复ROM,使得所述主机系统处理器在所述主机系统启动期间加载并执行所述恢复代码。

Description

用于安全恢复主机系统代码的系统和方法
技术领域
本发明通常涉及信息处理系统,并且更具体地涉及信息处理系统中的主机系统代码的安全恢复,特别是与基本输入/输出系统相关联的代码。
背景技术
随着信息的价值和使用不断增加,个人和企业寻求其他方式来处理和存储信息。用户可以使用的一个选项是信息处理系统。信息处理系统通常为商业、个人或其他目的处理、编译、存储和/或传送信息或数据,从而允许用户利用信息的价值。由于不同用户或应用程序之间的技术和信息处理需求和要求各不相同,因此信息处理系统也可能因待处理的信息,信息处理方式,处理、存储或传送信息量、以及可以处理、存储或传送信息的处理速度和效率而异。信息处理系统的变化允许信息处理系统是通用的或被配置用于特定用户或特定用途,例如金融交易处理、航空公司预订、企业数据存储或全球通信。另外,信息处理系统可以包括各种硬件和软件组件,各种硬件和软件组件可以被配置为处理、存储和传送信息,并且可以包括一个或多个计算机系统、数据存储系统和网络系统。
信息处理系统通常包括用于这种信息处理系统的带外管理的管理控制器。在传统系统中,为了提供与主机系统和管理控制器相关联的加密功能,主机系统和管理控制器中的每一个可以“拥有”相应的加密处理器。这种方法可能存有缺点,因为它没有为管理控制器提供经由管理控制器远程管理信道读取与主机系统相关联的平台配置寄存器的方式,而必须经由主机系统应用程序访问,这可能会呈现开放对这种信息传播的攻击。这些现有方法也不允许对主机系统的加密处理器进行边带管理,不允许管理控制器导出主机系统的加密处理器的状态,或者传输桥接主机系统域和管理控制器域的安全消息。
发明内容
根据本发明的教导,可以减少或消除与用于在信息处理系统中提供加密处理器功能的现有方法相关联的缺点和问题。
根据本发明的实施方式,一种信息处理系统可以包括主机系统和主机系统处理器。主机系统可以包括主机系统处理器;用于存储由主机系统处理器执行的ROM代码的主ROM;以及恢复ROM,其用于存储恢复代码,以用于在ROM代码损坏的情况下由主机系统处理器执行。管理控制器可以通信地联结到主机系统处理器,并且被配置为经由在管理控制器和信息处理系统外部的专用管理网络之间传送的管理流量来提供信息处理系统的管理。管理控制器可以进一步被配置为根据多种操作模式控制主机系统处理器、主ROM和恢复ROM之间的连接,其包括至少:响应于没有ROM代码损坏而发生的正常操作模式,在正常操作模式中,管理控制器使主机系统处理器通信地联结到主ROM,并且通信地与恢复ROM分离,使得主机系统处理器在主机系统启动期间加载并执行ROM代码;以及主ROM恢复操作模式,其响应于存在ROM代码的损坏而发生,在主ROM恢复操作模式中,管理控制器使主机系统处理器通信地联结到主ROM和恢复ROM,使得主机系统处理器加载并在主机系统启动期间执行恢复代码。
根据本发明的这些和其他实施方式,信息处理系统可以包括主机系统和管理控制器。一种方法,可以包括根据多种操作模式,以下几者之间的控制连接:信息处理系统的主机系统的主机系统处理器、主机系统的主只读存储器(ROM),用于存储由主机系统处理器执行的ROM代码;以及主机系统的恢复ROM,用于存储用于在ROM代码损坏的情况下由主机系统处理器执行的恢复代码,所述多种操作模式至少包括:响应于没有ROM代码的损坏而发生的正常操作模式,其中,控制连接使得主机系统处理器通信地联结到主ROM,并且通信地与恢复ROM分离,使得主机系统处理器在主机系统启动期间加载并执行ROM代码;以及主ROM恢复操作模式,其响应于存在ROM代码的损坏而发生,在主ROM恢复操作模式中,控制连接使主机系统处理器通信地联结到主ROM和恢复ROM,使得主机系统处理器在主机系统的启动期间加载并执行恢复代码。
根据本发明的这些和其他实施方式,本发明包括一种制品,其可以包括:非暂时性计算机可读介质;以及计算机可读介质上承载的计算机可执行指令,所述指令为处理器可读的,当读取和执行所述指令时用于使处理器执行如下操作:根据多种操作模式,以下几者之间的控制连接:信息处理系统的主机系统的主机系统处理器、主机系统的主只读存储器(ROM),用于存储由主机系统处理器执行的ROM代码;以及主机系统的恢复ROM,用于存储用于在ROM代码损坏的情况下由主机系统处理器执行的恢复代码,所述多种操作模式至少包括:响应于没有ROM代码的损坏而发生的正常操作模式,其中,控制连接使得主机系统处理器通信地联结到主ROM,并且通信地与恢复ROM分离,使得主机系统处理器在主机系统启动期间加载并执行ROM代码;以及主ROM恢复操作模式,其响应于存在损坏ROM代码而发生,在主ROM恢复操作模式中,控制连接使主机系统处理器通信地联结到主ROM和恢复ROM,使得主机系统处理器在主机系统的启动期间加载并执行恢复代码。
通过本文包括的附图、描述和权利要求,本发明的技术优点对于本领域技术人员而言是显而易见的。至少通过权利要求中特别指出的元件、特征和组合来实现实施方式的目的和优点。
应理解,前面的一般性描述和以下的详细描述都是示例性的和解释性的,并且不限制本发明中阐述的权利要求。
附图说明
通过参考以下结合附图的描述,可以获得对本实施方式及其优点的更完整的理解,其中,相同的附图标记表示相同的特征,并且附图中:
图1示出了根据本发明的实施方式的示例性信息处理系统的框图;以及
图2示出了根据本发明的实施方式的用于安全恢复主机系统代码的示例性方法的流程图。
具体实施方式
通过参考图1和2可以最好地理解优选实施方式及其优点,其中,相同的附图标记用于表示相同和相应的部分。
出于本发明的目的,信息处理系统可以包括可用于计算、分类、处理、发送、接收、检索、发起、切换、存储、显示、展示、检测、记录、再现、处理、或利用用于商业、科学、控制、娱乐或其他目的的任何形式的信息、情报或数据的任何工具或工具集合。例如,信息处理系统可以是个人计算机、个人数字助理(PDA)、消费电子设备、网络存储设备或任何其他合适的设备,并且可以在大小、形状、性能、功能和价格上变化。信息处理系统可以包括存储器,一个或多个处理资源,例如中央处理单元(“CPU”)或硬件或软件控制逻辑。信息处理系统的附加组件可以包括一个或多个存储设备,用于与外部设备通信的一个或多个通信端口、以及各种输入/输出(“I/O”)设备,例如键盘、鼠标和视频显示。信息处理系统还可以包括可操作以在各种硬件组件之间传送通信的一个或多个总线。
出于本发明的目的,计算机可读介质可以包括可以在一段时间内保留数据和/或指令的任何工具或工具集合。计算机可读介质可以包括但不限于以下的存储介质,诸如直接访问存储设备(例如,硬盘驱动器或软盘)、顺序访问存储设备(例如,磁盘驱动器)、光盘、CD-ROM、DVD、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)和/或闪存;以及通信介质,诸如电线、光纤、微波、无线电波和其他电磁和/或光学载体;和/或前述的任何组合。
出于本发明的目的,信息处理资源可以广泛地指代信息处理系统的任何组件系统、设备或装置,包括但不限于处理器、服务处理器、基本输入/输出系统、总线、存储器、I/O设备和/或接口、存储资源、网络接口、母板和/或信息处理系统的任何其他组件和/或元件。
图1示出了根据本发明的实施方式的示例性信息处理系统102的框图。在一些实施方式中,信息处理系统102可以包括个人计算机。在一些实施方式中,信息处理系统102可以包括服务器或者是服务器的组成部分。在其他实施方式中,信息处理系统102可以包括便携式信息处理系统(例如,膝上型电脑、笔记本电脑、平板电脑、手持设备、智能电话、个人数字助理等)。如图1所示,信息处理系统102可包括处理器103,通信地联结到处理器103的存储器104,通信地联结到处理器103的网络接口108,通信地联结到处理器103的平台控制器集线器(PCH)110,通信地联结到PCH 110的纵横开关114,经由纵横开关114通信地联结到PCH110的主只读存储器(ROM)116,经由纵横开关114和多路复用器(MUX)124通信地联结到PCH110的恢复ROM 120,以及联结在管理控制器112的处理器113和恢复ROM 120以及恢复串行外围接口126之间的多路复用器123。
处理器103可以包括被配置为解释和/或执行程序指令和/或处理数据的任何系统、设备或装置,并且可以包括但不限于微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、或配置为解释和/或执行程序指令和/或过程数据的任何其他数字或模拟电路。在一些实施方式中,处理器103可以解释和/或执行存储在存储器104和/或信息处理系统102的另一组件中的程序指令和/或处理数据。
存储器104可以通信地联结到处理器103,并且可以包括被配置为在一段时间内保留程序指令和/或数据的任何系统、设备或装置(例如,计算机可读介质)。存储器104可包括RAM、EEPROM、PCMCIA卡、闪存、磁存储器、光磁存储器、或任何合适的易失性或非易失性存储器的选择和/或阵列,其在到信息处理系统102的电源切断之后保持数据。
如图1所示,存储器104可以在其上存储操作系统106。操作系统106可包括任何可执行指令程序或可执行指令程序的集合,其被配置为管理和/或控制硬件资源的分配和使用,例如存储器、处理器时间、磁盘空间以及输入和输出设备,并提供由操作系统106托管的这种硬件资源和应用程序之间的接口。此外,操作系统106可以包括用于经由网络接口进行网络通信的网络堆栈的全部或一部分(例如,用于通过数据网络进行通信的网络接口108)。操作系统106的活动部分可以被传送到存储器104,以供处理器103执行。尽管操作系统106在图1中示出为存储在存储器104中,但是在一些实施方式中,操作系统106可以存储在可由处理器103访问的存储介质中,以及处理器103的活动部分可以从该存储介质传送到存储器104,以供处理器103执行。
网络接口108可以包括任何合适的系统、装置或设备,其可操作以经由带内管理网络用作信息处理系统102与一个或多个其他信息处理系统之间的接口。网络接口108可以使信息处理系统102能够使用任何合适的传送协议和/或标准进行通信。在这些和其他实施方式中,网络接口108可以包括网络接口卡或“NIC”。在一些实施方式中,网络接口108可以包括10千兆以太网网络接口。在这些和其他实施方式中,网络接口108可以被启用为母板(LOM)卡上的局域网(LAN)。
PCH 110可以是被配置为控制某些数据路径(例如,处理器103、存储器104和外围设备之间的数据流)并且支持处理器103的某些功能的任何系统、设备或装置。PCH 110也可以被称为信息处理系统102的芯片组。
纵横开关114可以包括多个开关115(例如,开关115a、115b和115c),其基于从管理控制器112、信息处理系统102的各个组件之间的控制连接而传播的控制信号,如本发明的其他地方更详细地描述的。例如,开关115a可以联结在PCH 110的芯片选择0(CS0)接口和主ROM 116之间,使得当开关115a被激活(例如,启用、闭合、接通)时,在PCH 110和主ROM 116之间经由CS0接口建立通信路径,并且当开关115a被停用(例如,禁用、打开、关闭)时,PCH110和主ROM 116之间的连接被断开。作为另一个例子,开关115b可以联结在PCH 110的CS0接口和恢复ROM 120之间,使得当开关115b被激活(并且多路复用器124也被适当地配置)时,通过CS0接口、在PCH 110和恢复ROM 120之间建立通信路径,并且当开关115a被停用时,PCH 110和恢复ROM 120之间的连接断开。作为另一示例,开关115c可以联结在PCH 110的芯片选择1(CS1)接口和主ROM 116之间,使得当开关115c被激活时,通过CS1接口、在PCH 110和主ROM 116之间建立通信路径,并且当开关115c被停用时,PCH 110和主ROM 116之间的连接被断开。
主ROM 116可以经由纵横开关114通信地联结到PCH 110,并且可以包括被配置为在一段时间内保留程序指令和/或数据的任何系统、设备或装置,并且可以包括在供给信息处理系统102的电力关闭之后保留数据的非易失性存储器。如图1所示,主ROM 116可以存储BIOS 105。
BIOS 105可以包括被配置为识别、测试和/或初始化信息处理系统102的信息处理资源,和/或初始化信息处理系统102与其他信息处理系统的互操作的任何系统、设备或装置。“BIOS”可以广泛地指代被配置为执行该功能的任何系统、设备或装置,包括但不限于统一可扩展固件接口(UEFI)。在一些实施方式中,BIOS 105可以被实现为可以由处理器103读取并在处理器103上执行,以执行BIOS 105的功能的指令程序。在这些和其他实施方式中,BIOS 105可以包括被配置为,当信息处理系统102被启动和/或通电时,由处理器103执行的第一代码的启动固件。作为其初始化功能的一部分,用于BIOS 105的代码可以被配置为将信息处理系统102的组件设置为已知状态,使得存储在兼容媒体(例如,磁盘驱动器)上的一个或多个应用程序(例如,操作系统或其他应用程序)可以由处理器103执行并对信息处理系统102进行控制。
尽管主ROM 116在图1中被描绘为存储BIOS 105,但是主ROM 116可以存储除了BIOS 105之外或代替BIOS 105的主机系统98的其他代码。
恢复ROM 120可以经由纵横开关114和多路复用器124通信地联结到PCH 110,并且经由多路复用器123和多路复用器124通信地联结到管理控制器112,并且可以包括被配置为在一段时间内保留程序指令和/或数据的任何系统、设备或装置,并且可以包括在关闭到信息处理系统102的电力之后保留数据的非易失性存储器。如图1所示,恢复ROM 120可以存储恢复BIOS图像122,其可以包括备份图像,该备份图像可以用于在BIOS 105中发生损坏的情况下替换BIOS 105。尽管恢复ROM 120在图1中示出为存储恢复BIOS图像122,除了恢复BIOS图像122之外或代替恢复BIOS图像122,恢复ROM 120可以存储除BIOS 105之外的代码的其他恢复图像。
多路复用器123可包括任何系统、设备或装置,其被配置为基于来自管理控制器112的控制信号,选择性地将管理控制器112的处理器113联结到多路复用器124中的一个,并恢复串行外围接口126。
多路复用器124可包括任何系统、设备或装置,其被配置为基于来自管理控制器112的控制信号,选择性地将恢复ROM 120联结到纵横开关114的多路复用器123和开关115b中的一个。
在操作中,处理器103、存储器104、和网络接口108、PCH 110、纵横开关114、主ROM116、和/或恢复ROM 120可以包括信息处理系统102的主机系统98的至少一部分。
管理控制器112可以被配置为提供用于管理信息处理系统102的管理设施。即使信息处理系统102断电或供电到待机状态,这种管理也可以由管理控制器112进行。管理控制器112可以包括处理器113、存储器和与数据网络接口108分离并且与数据网络接口108物理隔离的管理网络接口118、以及恢复源图像128。在某些实施方式中,管理控制器112可以包括或可以是基板管理控制器(BMC)或远程访问控制器(例如,Dell远程访问控制器或集成Dell远程访问控制器)整体组成部分。如图1所示,管理控制器112可以包括处理器113、以及通信地联结到处理器113的网络接口118。
处理器113可以包括被配置为解释和/或执行程序指令和/或处理数据的任何系统、设备或装置,并且可以包括但不限于微处理器、微控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、或配置为解释和/或执行程序指令和/或过程数据的任何其他数字或模拟电路。在一些实施方式中,处理器113可以解释和/或执行存储在存储器和/或信息处理系统102或管理控制器112的其他组件中的程序指令和/或处理数据。如图1所示,处理器113可以是通信地联结到处理器103。这种联结可以通过通用串行总线(USB)、系统管理总线(SMBus)和/或一个或多个其他通信信道。
网络接口118可以包括任何合适的系统、装置或设备,其可操作的经由带外管理网络用作管理控制器112与一个或多个其他信息处理系统之间的接口。网络接口118可以使管理控制器112能够使用任何合适的传送协议和/或标准来通信。在这些和其他实施方式中,网络接口118可以包括网络接口卡或“NIC”。在一些实施方式中,网络接口118可以包括1千兆以太网网络接口。恢复源图像128可以包括代码图像,并且可以体现在任何合适的计算机可读介质中。如在其他地方更详细描述的,可以将这样的恢复源图像128下载到管理控制器112,管理控制器112可以将恢复源图像128的副本或大量副本作为恢复BIOS图像122和/或另一个代码恢复代码图像存储到恢复ROM 120。
恢复串行外围接口126可以包括任何合适的串行通信接口,用于由管理控制器112检索数据或其他信息。
除了处理器103、存储器104、网络接口108、PCH 110,、纵横开关114、主ROM 116、恢复ROM 120、管理控制器112和恢复串行外围接口126,信息处理系统102可以包括一个或多个其他信息处理资源。
在操作中,信息处理系统102的组件可以实现主机系统代码恢复技术,用于使用恢复BIOS图像122和/或恢复源图像126来恢复BIOS 105,如本发明其他地方更详细描述的。为了执行恢复,这种技术可以包括至少三种操作模式。第一操作模式可以称为正常操作模式。在正常模式中,主机系统98可以从存储在主ROM 116上的BIOS 105启动。在这种正常操作模式中,可以激活开关115a,并且可以停用开关115b和115b,使得PCH 110的接口CSO被联结到主ROM 116,同时恢复ROM 120断开任何与PCH 110的连接。因此,主机系统98在正常模式下不能访问恢复ROM 120,从而提供防止主机访问恢复ROM 120的安全益处,从而在正常模式期间,主机系统98可能不包括恢复BIOS图像122。
第二操作模式可以称为恢复ROM更新模式。在恢复ROM更新模式中,主机系统98可以从存储在主ROM 116上的BIOS 105启动,但是也可以从恢复源图像126引起恢复BIOS图像122的更新。在这种正常操作模式中,可以激活开关115a,并且可以停用开关115b和115b,使得PCH 110的接口CS0联结到主ROM 116,同时恢复ROM 120断开任何与PCH 110的连接。然而,此外,在恢复ROM更新模式期间,管理控制器112可以控制多路复用器123和124,以从恢复源图像126对恢复BIOS图像122的更新进行排序。在该序列中,管理控制器112可以首先控制多路复用器123,使得管理控制器112能够检索恢复源图像126。之后,管理控制器112可以控制多路复用器123和124,以在管理控制器112和恢复ROM 120之间创建通信路径,以便将恢复源图像126的所有部分或者相关的部分存储为恢复BIOS图像122。一旦恢复BIOS图像122被更新,管理控制器112可以控制多路复用器123和124,以中断管理控制器112和恢复ROM 120之间的通信路径。
值得注意的是,恢复ROM更新模式可以在任何时间执行,无论主ROM 116上的BIOS105是否正在执行。因此,恢复ROM更新可以按需要发生或作为主机系统98不知道的后台任务发生,并且管理控制器112可以在不必访问主ROM 116的情况下更新恢复ROM 120。此外,在恢复ROM更新模式中,主机系统98不能访问恢复ROM 120,提供防止主机访问恢复ROM 120的安全益处,使得在恢复ROM更新模式期间主机系统98可以不包括恢复BIOS图像122。另外,当更新恢复BIOS图像122时,管理控制器112可以在将恢复BIOS图像122复制到恢复ROM 120之前,管理控制器可以验证恢复BIOS图像122的完整性和真实性(例如,数字签名验证)。
第三操作模式可以称为主ROM恢复模式。在主ROM恢复模式中,主机系统98可以从存储在恢复ROM 120上的恢复BIOS图像122启动。在这种主ROM恢复操作模式中,可以激活开关115b和115c,可以停用开关115a,以及管理控制器112可以控制多路复用器124,使得PCH110的接口CS0联结到恢复ROM 120,同时PCH 110的接口CS1联结到主ROM 116。在主ROM恢复操作期间,主机系统98可以从存储在恢复ROM 120上的恢复BIOS图像122启动,此外,恢复BIOS图像122在其启动执行期间可以使恢复启动图像122的相关组件被复制到主ROM 116,从而修复触发主ROM恢复模式的BIOS 105的任何损坏,使得正常模式可以在信息处理系统102的后续启动上执行。
信息处理系统102的体系结构的另一个安全益处是主ROM 116始终与管理控制器112的域隔离。因此,主ROM 116只能由在主ROM恢复模式下,存储在恢复ROM 120上的恢复BIOS图像122的恢复代码更新。
图2示出了根据本发明的实施方式的用于安全恢复主机系统模式的示例性方法200的流程图。根据某些实施方式,方法200可以在步骤202开始。如上所述,本发明的教导可以在信息处理系统102的各种配置中实现。因此,方法200的优选初始化点和包括方法200的步骤的顺序可取决于所选择的实现方式。
在步骤202,主机系统98可以初始化启动。在步骤204,处理器103(例如,IntelBootGuard)的启动保证操作可以检测BIOS 105的图像是否已损坏(例如,与图像的“已批准”散列不匹配)。如果BIOS 105的图像已损坏,则方法200可以进行到步骤206。否则,方法200可以进行到步骤220。应当注意,在一些实施方式中,主机系统98的故障或损坏成(除了或代替BIOS 105的损坏)可以触发下面详述的主ROM恢复步骤。
在步骤206,响应于BIOS 105的图像已损坏,启动保证操作可以设置指示这种损坏的适当变量或标志(例如,节点管理器BootGuard错误状态位)。在步骤208,管理控制器112可以(例如,作为周期性轮询的结果)确定已经设置了这样的变量或标志,以指示BIOS 105的损坏,管理控制器112可以通过进入主ROM恢复模式来响应于此。
在步骤210,在主ROM恢复模式中,管理控制器112可以激活开关115b和115c,停用开关115a,以及控制多路复用器124,使得PCH 110的接口CS0联结到恢复ROM 120,而PCH110的接口CS1联结到主ROM 116。
在步骤212,管理控制器112可以使主机系统98重新启动,使得主机系统98从存储在恢复ROM 120上的恢复BIOS图像122启动。在步骤214,在其启动执行期间恢复BIOS图像122可以导致BIOS 105的相关组件被恢复并存储到主ROM 116(例如,从恢复BIOS图像122,管理控制器112可访问的存储介质,外部通用串行总线存储设备、或联结到信息处理系统102的其他外部存储设备等),因此修复触发主ROM恢复模式的BIOS 105的损坏。在步骤216,在完成对主ROM 116上的BIOS 105的图像的复制/修复之后,管理控制器112可以激活开关115a并停用开关115b和115c,使得PCH 110的接口CS0联结到主ROM 116,而恢复ROM 120与PCH 110分离。在步骤218,管理控制器112可以使主机系统98重新启动。
在步骤220,主机系统98可以在正常操作模式下启动。在完成步骤220之后,方法200可以结束。
尽管图2公开了关于方法200要采取的特定数量的步骤,但是它可以以比图2中描绘的那些步骤更多或更少的步骤来执行。此外,尽管图2公开了关于方法200要采用的特定步骤顺序,包括方法200的步骤可以以任何合适的顺序完成。
方法200可以使用信息处理系统102、其组件或可操作以实现方法200的任何其他系统来实现。在某些实施方式中,方法200可以部分或完全实现在计算机可读介质中体现的软件和/或固件。
如本文所使用的,当两个或多个元件被称为彼此“联结”时,该术语表示这样的两个或多个元件在合适时电子通信或机械通信,无论是间接连接还是直接连接,有或没有干预因素。
本发明包含本领域普通技术人员将理解的对本文的示例性实施方式的所有改变、替换、变化、改变和修改。类似地,在适当的情况下,所附权利要求包含对本领域普通技术人员可以理解的、本文示例性实施方式的所有改变、替换、变化、变型和修改。此外,在所附权利要求中提及适于、布置成、能够、配置成、启用、可操作或有效的以执行特定功能的装置或系统、或装置或系统的组件包括该装置、系统或组件,无论其是否被激活、打开或解锁,只要该装置、系统或组件如此适于、布置、能够、配置成、启用、可操作或有效的。
本文引用的所有示例和条件语言旨在用于教育对象,以帮助读者理解本发明和由发明人提供的用于进一步发展该领域的概念,并且被解释为不限于这些具体叙述的示例和条件。尽管已经详细描述了本发明的实施方式,但是应当理解,在不脱离本发明的精神和范围的情况下,可以对其进行各种改变、替换和变型。

Claims (26)

1.一种信息处理系统,其包括:
主机系统,其包括:
主机系统处理器;
主只读存储器(ROM),其用于存储由所述主机系统处理器执行的ROM代码;以及
恢复ROM,其用于存储恢复代码,所述恢复代码用于在所述ROM代码损坏的情况下由所述主机系统处理器执行;以及
管理控制器,其通信地联结到所述主机系统处理器,并且被配置为经由在所述管理控制器和信息处理系统外部的专用管理网络之间传送的管理流量来提供所述信息处理系统的管理,所述管理控制器进一步被配置为根据多种操作模式控制所述主机系统处理器、所述主ROM和所述恢复ROM之间的连接,其包括至少:
正常操作模式,其响应于没有所述ROM代码损坏而发生,在所述正常操作模式中,所述管理控制器使所述主机系统处理器通信地联结到所述主ROM,并且通信地与所述恢复ROM分离,使得所述主机系统处理器在所述主机系统启动期间加载并执行所述ROM代码;以及
主ROM恢复操作模式,其响应于存在所述ROM代码的损坏而发生,在所述主ROM恢复操作模式中,所述管理控制器使所述主机系统处理器通信地联结到所述主ROM和所述恢复ROM,使得所述主机系统处理器加载并在所述主机系统启动期间执行所述恢复代码。
2.如权利要求1所述的信息处理系统,其中,在所述主ROM恢复操作模式中,所述管理控制器使所述主机系统处理器通信地联结到所述主ROM和所述恢复ROM,使得在所述主机系统处理器上执行所述恢复代码修复所述ROM代码的损坏。
3.如权利要求2所述的信息处理系统,其中,在所述主ROM恢复操作模式中并且响应于完成将至少一部分所述恢复代码复制到所述主ROM,以便修复所述ROM代码的损坏,所述管理控制器使所述主机系统处理器通信联结到所述主ROM,以及
通信地与所述恢复ROM分离,并进一步使所述主机系统重启,使得所述主机系统处理器在所述主机系统的重启期间加载并执行所述ROM代码。
4.如权利要求1所述的信息处理系统,所述多种操作模式还包括恢复ROM更新模式,在所述恢复ROM更新模式中,所述管理控制器使所述主机系统处理器通信地联结到所述主ROM,并且与所述恢复ROM通信地分离,并导致所述管理控制器顺序地通信地联结到具有恢复源图像并且通信地联结到所述恢复ROM的非暂时性计算机可读介质,使得所述管理控制器基于所述恢复源图像的内容来更新所述恢复ROM。
5.如权利要求4所述的信息处理系统,其中,所述管理控制器在不访问所述主ROM的情况下更新所述恢复ROM。
6.如权利要求4所述的信息处理系统,其中,所述管理控制器在更新所述恢复ROM之前验证所述恢复源图像的真实性。
7.如权利要求1所述的信息处理系统,其中,所述ROM代码包括基本输入/输出系统。
8.如权利要求1所述的信息处理系统,其中,所述管理控制器包括基板管理控制器。
9.一种方法,其包括:
根据多种操作模式,以下几者之间的控制连接:信息处理系统的主机系统的主机系统处理器、所述主机系统的主只读存储器(ROM),用于存储由所述主机系统处理器执行的ROM代码;以及所述主机系统的恢复ROM,用于存储用于在所述ROM代码损坏的情况下由所述主机系统处理器执行的恢复代码,所述多种操作模式至少包括:
正常操作模式,其响应于没有所述ROM代码的损坏而发生,其中,所述控制连接使得所述主机系统处理器通信地联结到主ROM,并且通信地与所述恢复ROM分离,使得所述主机系统处理器在所述主机系统启动期间加载并执行所述ROM代码;以及
主ROM恢复操作模式,其响应于存在所述ROM代码的损坏而发生,在所述主ROM恢复操作模式中,所述控制连接使所述主机系统处理器通信地联结到所述主ROM和所述恢复ROM,使得所述主机系统处理器在所述主机系统的启动期间加载并执行所述恢复代码。
10.如权利要求9所述的方法,其中,在所述主ROM恢复操作模式中,所述控制连接使所述主机系统处理器通信地联结到所述主ROM和所述恢复ROM,使得在所述主机系统处理器上执行所述恢复代码修复所述ROM代码的损坏。
11.如权利要求10所述的方法,其中,在所述主ROM恢复操作模式中,所述控制连接响应于完成将所述恢复代码的至少一部分复制到所述主ROM,以便修复所述ROM代码的损坏,使得所述主机系统处理器通信地联结到所述主ROM,并且通信地与所述恢复ROM分离,并进一步使得所述主机系统重启,使得所述主机系统处理器在所述主机系统的重启期间加载并执行所述ROM代码。
12.如权利要求9所述的方法,所述多种操作模式还包括恢复ROM更新模式,在所述恢复ROM更新模式中,所述控制连接使得所述主机系统处理器通信地联结到所述主ROM,并且与所述恢复ROM通信地分离,并使得管理控制器通信地联结到所述主机系统处理器,并且被配置为经由在所述管理控制器和所述信息处理系统外部的专用管理网络之间传送的管理流量,来顺序地通信地联结到非暂时性计算机可读介质来提供所述信息处理系统的管理,所述非暂时性计算机可读介质具有恢复源图像并且通信地联结到所述恢复ROM,使得所述管理控制器基于所述恢复源图像的内容来更新所述恢复ROM。
13.如权利要求12所述的方法,其中,所述管理控制器包括基板管理控制器。
14.如权利要求12所述的方法,其中,所述管理控制器在不访问所述主ROM的情况下更新所述恢复ROM。
15.如权利要求12所述的方法,其中,所述管理控制器在更新所述恢复ROM之前验证所述恢复源图像的真实性。
16.如权利要求9所述的方法,其中,所述ROM代码包括基本输入/输出系统。
17.如权利要求9所述的方法,其中,由管理控制器执行所述控制连接。
18.一种制品,其包括:
非暂时性计算机可读介质;以及
计算机可读介质上承载的计算机可执行指令,所述指令为处理器可读的,当读取和执行所述指令时用于使所述处理器执行如下操作:
根据多种操作模式,以下几者之间的控制连接:信息处理系统的主机系统的主机系统处理器、所述主机系统的主只读存储器(ROM),用于存储由所述主机系统处理器执行的ROM代码;以及所述主机系统的恢复ROM,用于存储用于在所述ROM代码损坏的情况下由所述主机系统处理器执行的恢复代码,所述多种操作模式至少包括:
正常操作模式,其响应于没有所述ROM代码的损坏而发生,其中,所述控制连接使得所述主机系统处理器通信地联结到所述主ROM,并且通信地与所述恢复ROM分离,使得所述主机系统处理器在所述主机系统启动期间加载并执行所述ROM代码;以及
主ROM恢复操作模式,其响应于存在所述ROM代码的损坏而发生,在所述主ROM恢复操作模式中,所述控制连接使所述主机系统处理器通信地联结到所述主ROM和所述恢复ROM,使得所述主机系统处理器在所述主机系统的启动期间加载并执行所述恢复代码。
19.如权利要求18所述的制品,其中,在所述主ROM恢复操作模式中,所述控制连接使所述主机系统处理器通信地联结到所述主ROM和所述恢复ROM,使得在所述主机系统处理器上执行所述恢复代码修复所述ROM代码的损坏。
20.如权利要求19所述的制品,其中,在所述主ROM恢复操作模式中,所述控制连接响应于完成将所述恢复代码的至少一部分复制到所述主ROM,以便修复所述ROM代码的损坏,使得所述主机系统处理器通信地联结到所述主ROM,并且通信地与所述恢复ROM分离,并进一步使得所述主机系统重启,使得所述主机系统处理器在所述主机系统的重启期间加载并执行所述ROM代码。
21.如权利要求18所述的制品,所述多种操作模式还包括恢复ROM更新模式,在所述恢复ROM更新模式中,所述控制连接使得所述主机系统处理器通信地联结到所述主ROM,并且与所述恢复ROM通信地分离,并使得管理控制器通信地联结到所述主机系统处理器,并且被配置为经由在所述管理控制器和所述信息处理系统外部的专用管理网络之间传送的管理流量,来顺序地通信地联结到非暂时性计算机可读介质来提供所述信息处理系统的管理,所述非暂时性计算机可读介质具有恢复源图像并且通信地联结到所述恢复ROM,使得所述管理控制器基于所述恢复源图像的内容来更新所述恢复ROM。
22.如权利要求21所述的制品,其中,所述管理控制器包括基板管理控制器。
23.如权利要求21所述的制品,其中,所述管理控制器在不访问所述主ROM的情况下更新所述恢复ROM。
24.如权利要求21所述的制品,其中,所述管理控制器在更新所述恢复ROM之前验证所述恢复源图像的真实性。
25.如权利要求18所述的制品,其中,所述ROM代码包括基本输入/输出系统。
26.如权利要求18所述的制品,其中,由管理控制器执行所述控制连接。
CN201780060006.XA 2016-08-04 2017-07-27 用于安全恢复主机系统代码的系统和方法 Active CN109791515B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/228,656 US10133637B2 (en) 2016-08-04 2016-08-04 Systems and methods for secure recovery of host system code
US15/228,656 2016-08-04
PCT/US2017/044176 WO2018026629A1 (en) 2016-08-04 2017-07-27 Systems and methods for secure recovery of host system code

Publications (2)

Publication Number Publication Date
CN109791515A true CN109791515A (zh) 2019-05-21
CN109791515B CN109791515B (zh) 2023-03-03

Family

ID=61069377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780060006.XA Active CN109791515B (zh) 2016-08-04 2017-07-27 用于安全恢复主机系统代码的系统和方法

Country Status (4)

Country Link
US (1) US10133637B2 (zh)
EP (1) EP3494471B1 (zh)
CN (1) CN109791515B (zh)
WO (1) WO2018026629A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732592A (zh) * 2019-10-28 2021-04-30 爱思开海力士有限公司 存储器设备及其操作方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6723863B2 (ja) * 2016-08-01 2020-07-15 オリンパス株式会社 組み込みシステム、撮影機器及びリフレッシュ方法
EP3471339B1 (en) * 2016-10-31 2020-04-29 Huawei Technologies Co., Ltd. Method and enabling device for starting physical device
US10997296B2 (en) * 2017-03-22 2021-05-04 Oracle International Corporation System and method for restoration of a trusted system firmware state
US10430241B2 (en) * 2017-04-26 2019-10-01 Dell Products L.P. Systems and methods for scalable cloud computing by optimally utilizing management controller for host compute processing
US11182148B2 (en) * 2018-03-13 2021-11-23 Dell Products L.P. System and method for automated BIOS recovery after BIOS corruption
US20200250313A1 (en) * 2019-01-31 2020-08-06 Quanta Computer Inc. Bios recovery and update
US11288372B2 (en) 2019-10-07 2022-03-29 Microsoft Technology Licensing, Llc Secure installation of baseboard management controller firmware via a physical interface
US11704197B2 (en) * 2019-10-22 2023-07-18 Ncr Corporation Basic input/output system (BIOS) device management
US20200226260A1 (en) * 2020-03-27 2020-07-16 Intel Corporation Firmware resiliency mechanism
KR20220007988A (ko) 2020-07-13 2022-01-20 에스케이하이닉스 주식회사 신뢰성 확보를 위한 메모리 시스템
US11409518B2 (en) * 2020-07-23 2022-08-09 Dell Products L.P. Remote access controller device update system
US11429490B1 (en) * 2021-08-02 2022-08-30 Dell Products L.P. Systems and methods for management controller instrumented and verified pre-EFI BIOS recovery via network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185696B1 (en) * 1996-07-29 2001-02-06 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
US20030005277A1 (en) * 2001-06-29 2003-01-02 Harding Matthew C. Automatic replacement of corrupted BIOS image
US20060143600A1 (en) * 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US7484084B1 (en) * 2005-12-20 2009-01-27 Netapp, Inc. Use of a baseboard management controller to facilitate installation of firmware in a processing system
CN103858107A (zh) * 2011-08-16 2014-06-11 谷歌公司 安全恢复装置和方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471674A (en) 1992-02-07 1995-11-28 Dell Usa, L.P. Computer system with plug-in override of system ROM
US5327531A (en) 1992-09-21 1994-07-05 International Business Machines Corp. Data processing system including corrupt flash ROM recovery
US5805882A (en) 1996-07-19 1998-09-08 Compaq Computer Corporation Computer system and method for replacing obsolete or corrupt boot code contained within reprogrammable memory with new boot code supplied from an external source through a data port
US6167532A (en) 1998-02-05 2000-12-26 Compaq Computer Corporation Automatic system recovery
US7305668B2 (en) * 2002-07-31 2007-12-04 Intel Corporation Secure method to perform computer system firmware updates
US7809836B2 (en) * 2004-04-07 2010-10-05 Intel Corporation System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system
US7313685B2 (en) * 2004-07-23 2007-12-25 Hewlett-Packard Development Company, L.P. Unattended BIOS recovery
CN102339242A (zh) * 2010-07-23 2012-02-01 鸿富锦精密工业(深圳)有限公司 计算机系统数据修复装置
TWI483105B (zh) * 2013-01-31 2015-05-01 Hon Hai Prec Ind Co Ltd 主機板及其備份基板管理控制系統的方法
US9542195B1 (en) * 2013-07-29 2017-01-10 Western Digital Technologies, Inc. Motherboards and methods for BIOS failover using a first BIOS chip and a second BIOS chip
US10114747B2 (en) * 2015-05-13 2018-10-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Systems and methods for performing operations on memory of a computing device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185696B1 (en) * 1996-07-29 2001-02-06 Micron Electronics, Inc. System for a primary BIOS ROM recovery in a dual BIOS ROM computer system
US20030005277A1 (en) * 2001-06-29 2003-01-02 Harding Matthew C. Automatic replacement of corrupted BIOS image
US20060143600A1 (en) * 2004-12-29 2006-06-29 Andrew Cottrell Secure firmware update
US7484084B1 (en) * 2005-12-20 2009-01-27 Netapp, Inc. Use of a baseboard management controller to facilitate installation of firmware in a processing system
CN103858107A (zh) * 2011-08-16 2014-06-11 谷歌公司 安全恢复装置和方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732592A (zh) * 2019-10-28 2021-04-30 爱思开海力士有限公司 存储器设备及其操作方法

Also Published As

Publication number Publication date
WO2018026629A1 (en) 2018-02-08
EP3494471A1 (en) 2019-06-12
US20180039546A1 (en) 2018-02-08
CN109791515B (zh) 2023-03-03
US10133637B2 (en) 2018-11-20
EP3494471A4 (en) 2020-03-11
EP3494471B1 (en) 2021-09-15

Similar Documents

Publication Publication Date Title
CN109791515A (zh) 用于安全恢复主机系统代码的系统和方法
US10353779B2 (en) Systems and methods for detection of firmware image corruption and initiation of recovery
US9015458B2 (en) Computer system and method for updating basic input/output system by switching between local mode and bypass mode through baseboard management controller
CN103197919B (zh) 用于还原寄存器重命名映射的方法和装置
TWI386846B (zh) 利用共享式非揮發性記憶體初始化多個處理元件之方法、系統及快閃記憶體元件
JP6850331B2 (ja) マルチノードストレージシステムにおけるファームウェアアップグレード方法
CN106462707A (zh) 安全引导计算设备
JP2009116859A (ja) 1つ以上の仮想マシンをマイグレートするシステムおよび方法
CN101373433A (zh) 更新bios的方法以及使用该方法的电脑与系统
CN103729220A (zh) 一种利用ec rom恢复bios rom的方法及装置
US10430366B2 (en) Systems and methods for configuration of hot-inserted device prior to operating system control of device
CN102521289B (zh) 一种文件同步方法、装置及系统
US20210240831A1 (en) Systems and methods for integrity verification of secondary firmware while minimizing boot time
CN108733311A (zh) 用于管理存储系统的方法和设备
CN111694760A (zh) 服务器系统、快闪存储器模块及更新固件映像文件的方法
US10387257B1 (en) Systems and methods for reliable redundant management controller firmware update
US9471256B2 (en) Systems and methods for restoring data in a degraded computer system
CN109804598A (zh) 用于在管理控制器所拥有的加密器中存储管理员秘密的系统和方法
US20210072977A1 (en) Systems and methods for hosting multiple firmware images
CN102880478B (zh) 软件更新方法
US20190004948A1 (en) Systems and methods for prognosticating likelihood of successful save operation in persistent memory
US11514951B2 (en) Identification of storage resources in multiple domains
US9541976B1 (en) Systems and methods for management of an information handling system having no alternating current power source
KR101576370B1 (ko) 컴퓨터 시스템의 원격 복원 시스템 및 그 방법, 그리고 기록한 컴퓨터로 읽어 들일 수 있는 기록매체
CN110569042B (zh) 一种支持虚拟机内更新fpga功能的系统,方法,设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant