CN113330436A - 基于制造状态的固件子系统恢复 - Google Patents

基于制造状态的固件子系统恢复 Download PDF

Info

Publication number
CN113330436A
CN113330436A CN201980090961.7A CN201980090961A CN113330436A CN 113330436 A CN113330436 A CN 113330436A CN 201980090961 A CN201980090961 A CN 201980090961A CN 113330436 A CN113330436 A CN 113330436A
Authority
CN
China
Prior art keywords
subsystem
manufacturing
computing device
management firmware
instructions
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.)
Pending
Application number
CN201980090961.7A
Other languages
English (en)
Inventor
J·K·让索内
R·R·布拉杜克
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co 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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN113330436A publication Critical patent/CN113330436A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Retry When Errors Occur (AREA)
  • Human Computer Interaction (AREA)

Abstract

示例计算设备包括主处理器、管理固件子系统、以及用于控制管理固件子系统的操作的控制器。控制器与主处理器分离。存储器存储可由控制器使用的子系统数据。所述计算设备进一步包括确定计算设备的制造模式的一组指令。当所述计算设备处于制造或维护中时,所述制造模式被启用。当所述计算设备处于正常操作中时,所述制造模式被禁用。所述一组指令进一步确定子系统数据的制造状态。所述制造状态指示子系统数据是否是完成的。响应于确定所述制造模式被禁用并且子系统数据的制造状态是未完成的,所述一组指令发起从子系统数据的备份中恢复子系统数据。

Description

基于制造状态的固件子系统恢复
背景技术
诸如台式计算机、笔记本计算机、服务器、平板计算机和智能电话之类的计算设备通常包括存储在非易失性存储器中的固件。当计算设备被启动(boot)时,固件可以初始化计算设备的硬件,并且开始可以由计算设备所执行的操作系统或应用使用的运行时服务。
可以向固件提供各种机制来减轻错误的或未经授权的修改,该错误的或未经授权的修改可能会允许恶意人员或程序取得对计算设备的控制,使计算设备不可操作、或类似情况。
附图说明
图1是包括固件子系统的示例计算设备的框图,该固件子系统包括可以基于制造信息而被恢复的子系统数据。
图2是用于基于制造信息来恢复固件子系统数据的示例方法的流程图。
图3是包括固件子系统的示例计算设备的框图,该固件子系统包括可以基于制造信息而被备份并且然后恢复的子系统数据。
图4是用于基于制造信息来备份和恢复固件子系统数据的示例方法的流程图。
具体实施方式
计算设备可以由不同方提供的不同组件来制造。例如,中央处理器(CPU)、平台控制芯片组、基板或主板、固件、存储器等可以由不同的公司来制造。
可能的情况是,组件包含专有信息。例如,向计算设备提供管理功能(诸如,远程管理服务)的组件可能包含该组件的提供商出于安全性或其他原因希望保持模糊或保密的信息。这种组件可以以芯片组或片上系统的形式被提供作为自主管理固件子系统,该自主管理固件子系统与计算设备的主处理器(例如,CPU)分离。这种管理固件子系统的示例可以包括子系统控制器以及子系统控制器可访问的子系统数据。子系统控制器可以执行由子系统数据定义的程序,以执行该子系统的功能。示例管理固件子系统功能包括启动保护、远程访问或管理服务、对设备物理属性(例如,冷却风扇速度、CPU/主板温度、CPU/主板电压等)的监测/控制、网络功能、安全性功能、复制保护、数字权限管理等。
管理固件可能与硬件初始化固件(诸如,基本输入/输出系统(BIOS)固件和统一可扩展固件接口(UEFI)固件)分离并且不同。管理固件子系统可以由专用控制器自主地执行,而不是由CPU或主处理器执行。硬件初始化固件可以由执行操作系统和应用的相同主处理器来执行。主处理器可能不能够有权访问存储管理固件子系统的存储器设备或分区。虽然硬件初始化固件和管理固件子系统是分离且不同的,但是在功能上可能是重叠的。
子系统数据的备份和恢复可以允许从侵入(incursion)、灾害、或影响计算机系统的其他事件中恢复。然而,子系统数据的备份和恢复可能会被管理固件子系统的专有性质所混淆(confound)。
可以参考计算设备的制造信息来备份和恢复管理固件子系统。例如,在计算设备的制造或维护期间,该设备可以被置于制造模式中。固件子系统可以包括制造状态,即指示子系统数据是完成(complete)还是未完成(incomplete)的状态信息。当制造状态被设置为未完成时,子系统可以允许对一次性可编程存储器或熔丝的设置,如在制造期间所预期的那样。当制造状态被设置为完成时,该子系统可以减轻对可编程存储器(诸如,一次性可编程存储器)的修改,并且可以阻止对安全存储器的访问。由此,制造状态可以防范(guardagainst)对管理固件子系统的非预期或未经授权的修改或访问。
当管理固件子系统状态是完成的并且当计算设备处于制造模式时,可以备份子系统的数据,这是因为制造环境或授权的维护事件对于该目的而言是足够安全的。稍后,当计算设备与终端用户一起处于正常操作中时,可以参考计算设备的制造模式和管理固件子系统的制造状态来触发对管理固件子系统的备份的恢复。例如,未经授权的程序或用户可能尝试将管理固件子系统放回到制造状态中,以尝试修改该子系统。然而,计算设备的制造模式可能仍然被禁用,这与管理固件子系统的制造状态相矛盾。因此,当计算设备的制造模式被禁用时检测到管理固件子系统的制造状态为未完成可以触发对管理固件子系统的备份的恢复,以阻碍或减轻对管理固件子系统的修改。因此,计算设备的制造模式可以用作针对对管理固件子系统的错误的或未经授权的修改的防范。
图1示出了示例计算设备100。计算设备100可以是台式计算机、服务器、笔记本计算机、平板计算机、智能电话或类似设备。
计算设备100包括主处理器102、存储器104和控制器106。计算设备100可以包括为了清楚而未图示的其他组件,诸如用户接口设备(例如,键盘、显示器、触摸屏等)、大容量存储设备(例如,硬盘驱动器、固态驱动器等)、电源供给等等。
主处理器102可以被称为CPU,并且可以执行硬件初始化固件(例如,BIOS、UEFI)、操作系统和应用程序。
存储器104是非暂时性计算机可读介质,其包括非易失性存储器,诸如电可擦除可编程只读存储器(EEPROM)、闪速存储器、或能够在没有外部功率的情况下保存内容的类似类型的存储器。存储器104存储子系统数据108以及子系统数据108的制造状态110。存储器104还可以存储硬件初始化固件或其他信息。
控制器106可以是微控制器、微处理器或类似设备。控制器106与主处理器102分离。控制器106和处理器102可以具有不同的架构和不同的指令集。在一些示例中,控制器106具有少于主处理器102的能力。
控制器106和主处理器102分离地执行相应的指令集。由控制器106和主处理器102进行的指令执行可以在不同的时间处发生或同时发生。控制器106可以独立于主处理器102自主地操作。例如,当主处理器102处于睡眠模式或休眠模式或关闭时,控制器106可以正常操作。
可以通过限制对其中存储了意图用于控制器106的指令的存储器部分的访问来减轻主处理器102对意图用于控制器106的指令的访问。这可以通过主处理器102在访问存储器104时所参考的存储器104的描述符或分区表来实现。
控制器106、子系统数据108和制造状态110可以形成管理固件子系统112,管理固件子系统112的操作由控制器106来控制。管理固件子系统112可以是自主管理固件子系统。子系统数据108可以包括可由控制器106执行以实现管理固件子系统112的功能的一组子系统指令、以及支持数据。例如,子系统数据108可以包括实现远程管理服务或者本文中关于管理固件子系统描述的任何其他示例功能的一组子系统指令,该远程管理服务允许组织远程地管理大量计算设备100。
制造状态110指示子系统数据108是完成的还是未完成的。在制造时,可以安装并配置子系统数据108,并且一旦它完成就设置制造状态110。制造状态110可以被称为制造结束(EoM)状态。制造状态110可以是存储在存储器104中并且在固件子系统数据108的完全安装时被设置的值。制造状态110暴露于管理固件子系统112外部,诸如暴露于主处理器102。
计算设备100进一步包括一组恢复指令114以及子系统数据108的备份116。恢复指令114和子系统数据备份116可以存储在计算设备100的非易失性存储器(诸如,存储器104)中。恢复指令114可以由主处理器102或计算设备100的不同处理器/控制器来执行。
子系统数据备份116是一些或所有子系统数据108的副本。子系统数据备份116可以在计算设备100的制造时被捕获,如将在下面更详细地讨论的那样。
该组恢复指令114使用子系统数据备份116将子系统数据108恢复到存储器104,以校正可能影响子系统数据108的错误、侵入或其他事件。为此,恢复指令114确定计算设备100是否处于制造模式118,并且进一步确定管理固件子系统112的制造状态110。
可以启用或禁用计算设备100的制造模式118。当计算设备处于制造或维护中时,制造模式118被启用。当制造或维护完成并且计算设备100将由最终用户在正常操作下使用时,制造模式118被禁用。制造模式118可以由硬件初始化固件、安全性控制器等等来控制。改变制造模式118可能需要提供访问凭证,诸如密码、数字证书等等。改变制造模式118可能需要对计算设备100执行物理动作,诸如断开和重新连接电源适配器、翻转(flip)开关、按下键盘键、按下复位按钮等等。
响应于确定制造模式118被禁用并且子系统数据108的制造状态110是未完成的,该组恢复指令114发起从子系统数据备份116中对子系统数据108的恢复。因此,如果恶意用户或程序或错误改变了该子系统的制造状态110,这会触发从备份中对子系统数据108的恢复,从而减少或消除了制造状态110所允许的对子系统数据108的修改或操纵的风险。
响应于发起从子系统数据备份116中对子系统数据108的恢复,备份116被复制到存储器104中以替换存在的版本。制造状态110然后被设置为完成的。
图2示出了用于基于制造信息来恢复固件子系统数据的示例方法200。方法200可以由本文中描述的任何设备和系统来执行。方法200可以由可存储在非暂时性计算机可读介质中的一组可执行指令来体现。该方法在框202处开始。
在框204处,确定计算设备的制造模式。制造模式可以用于允许对存储器的受保护区域的访问。当计算设备处于制造或维护中时,制造模式被启用,并且当计算设备处于正常操作中时,制造模式被禁用。如果计算设备的制造模式被启用,则方法200结束,并且计算设备被认为处于其中可以允许固件修改的受控环境中,该受控环境诸如制造或修复环境。如果制造模式被禁用,则计算设备被认为是已部署的,并且处于未经授权或错误的固件修改的风险下,并且因此检查固件子系统的制造状态。
在框206处,确定计算设备的固件子系统的制造状态。制造状态指示固件子系统是否是完成的。例如,固件程序和相关数据可以被安装到固件子系统的非易失性存储器。因此,固件子系统的制造状态可以指示这种安装的完全性(completeness)。如果制造状态是完成的,则方法200在框210处结束。
如果制造状态是未完成的,则检测到未经授权或错误的固件修改,并且在框208处,该方法作为响应触发对固件子系统的备份的恢复。实际上,计算设备的制造模式防范了固件子系统的制造状态中的未经授权或非预期的改变。
框204、206的检查可以以任何次序执行,或者可以同时执行。可以在计算设备的启动期间、在计算设备的正常操作期间、或者在启动和正常操作两者期间执行方法200。在对备份的恢复之后,制造状态被设置为完成的。
图3示出了另一示例计算设备300。本文中描述的其他设备和系统的特征和方面可以与计算设备300一起使用。相同的数字标识相同的组件,并且为了清楚起见,省略了冗余的描述。
计算设备300包括主处理器102、非易失性存储器104、管理固件子系统112、硬件初始化固件子系统302、安全性控制器304和安全存储器306。
管理固件子系统112包括固件控制器106、以及存储器104的一部分。存储在存储器104中的管理固件子系统112的数据108可以包括程序和相关数据。此外,指示管理固件子系统112是否被完全安装和配置的制造状态110也可以存储在存储器104中。管理固件子系统112可以向计算设备300提供安全性和管理功能,诸如远程管理服务、远程擦除、加密、数字权限管理等等。
硬件初始化固件子系统302包括存储在存储器104中并且可由主处理器102执行的指令308。指令308可以执行硬件初始化,测试硬件组件,从大容量存储装置加载启动加载器以初始化操作系统,向操作系统或应用提供运行时服务,以及向计算设备300提供类似的功能。
硬件初始化固件子系统302提供了制造模式118,制造模式118可以允许不意图用于正常使用的硬件诊断和存储器访问。当计算设备300处于制造或维护中时,制造模式118被启用,并且当计算设备300处于正常操作中时,制造模式118被禁用。
对存储器104的访问可以由存储在存储器104中的描述符310来控制。描述符310可以定义存储器104的如下区域:该区域对于管理固件子系统112是可获得的并且对于主处理器102或安全性控制器304是不可访问的。描述符310可以是SPI描述符、分区表等等。
安全性控制器304可以向计算设备300、并且具体地向存储器104提供安全性功能。安全性控制器304可以监测存储器104,并且检测对存储器104的内容的未经授权或错误的修改。例如,安全性控制器304可以检测并且停止对覆盖(override)硬件初始化指令308的启动信息的尝试。
安全性控制器304和硬件初始化固件子系统302可以例如通过消息传递或其他机制进行通信。
由于描述符310,安全性控制器304可能无法访问管理固件子系统数据108,这是因为管理固件子系统112可能包括专有或秘密信息和/或功能。此外,管理固件子系统112可以具有内部验证过程,以检测和停止对子系统数据108的未经授权或错误的修改。
制造状态110对于安全性控制器304是可获得的,使得安全性控制器304可以确定管理固件子系统112是完成的还是未完成的。制造状态110可以对于安全性控制器304是直接可获得的,或者制造状态110通过硬件初始化指令308的执行可以对于主处理器102是可获得的,并且由硬件初始化指令308将制造状态110提供给安全性控制器304。由此,安全性控制器304能够确定管理固件子系统112的表观制造状态。
安全存储器306连接到安全性控制器304,并且可以存储供安全性控制器304使用的指令和数据。安全存储器306是非暂时性计算机可读介质,其包括非易失性存储器,诸如EEPROM、闪速存储器、或能够在没有外部功率的情况下保存内容的类似类型的存储器。安全存储器306可以存储可由安全性控制器304执行的一组指令314,以确定计算设备300的制造模式118和管理固件子系统112的制造状态,并且在某些条件下恢复该固件子系统的备份116。
指令314可以响应于确定制造模式118被禁用并且管理固件子系统112的状态110是未完成的而触发对管理固件子系统112的备份116的恢复。也就是说,当管理固件子系统112易受到修改但是计算设备300却指示没有发生制造/维护时,管理固件子系统112的恢复被触发。
可以暂时修改或忽略描述符310,以允许将备份116复制到存储器104中。
计算设备300可以进一步包括用户接口312,用户接口312可以包括键盘、鼠标、触控板、显示器、扬声器或类似组件。用户接口312可以耦合到主处理器102。当满足备份恢复条件时,指令314可以进一步生成对子系统数据108的侵入的指示。示例侵入指示是被显示给用户或保存在日志中的文本字符串。由此,可以使用户意识到潜在的侵入以及由此导致的对备份116的恢复。
指令314可以进一步响应于检测到管理固件子系统数据108的制造状态110是完成的并且备份116不可用而生成管理固件子系统数据108的备份116,并且将管理固件子系统的备份116存储在安全存储器306中。也就是说,可以基于制造状态110从未完成到完成的转变来捕获管理固件子系统数据108的初始备份116。这表示管理固件子系统数据108具有完成的安装。备份116的生成可以进一步以制造模式118被启用为条件。
图4是用于基于制造信息来备份和恢复管理固件子系统的示例方法400的流程图。方法400可以由本文中描述的任何设备和系统来执行。方法400可以由可存储在非暂时性计算机可读介质中的一组可执行指令来体现,其中这种指令可以由安全性控制器来执行。该方法在框402处开始。
框404和406/408分别基于计算设备的制造模式和计算设备的管理固件子系统的制造状态来定义多个判定路径。在正常使用下,在计算设备的初始制造和经授权的维护期间使用制造模式,并且制造状态被设置为在制造或维护期间成功安装管理固件子系统后指示已完成。然后,可以备份管理固件子系统。管理固件子系统的制造状态在其他时间处的改变可能指示对管理固件子系统的未经授权或错误的修改(或尝试的修改),在这种情况下,可以恢复该备份以覆盖任何未经授权或错误的修改。
在框410处,响应于制造模式被启用并且管理固件子系统的制造状态是完成的,生成管理固件子系统的备份。这表示管理固件子系统在制造或维护时完成安装和配置。由此,捕获了完成的状态的备份。框412可以强加备份尚不可用的条件以避免多个或冗余捕获。
当计算设备的制造模式被禁用并且管理固件子系统的制造状态是完成的时,方法400在备份可用时经由框414结束。该路径表示在制造或维护之后的计算设备的正常操作。
如果备份不可用并且管理固件子系统被破坏,则经由框416,在框418处,禁用管理固件子系统的恢复。这可能预示计算设备或固件有问题,诸如从外部源对管理固件的失败或错误捕获。如果管理固件子系统未被破坏,则可以在框410处捕获备份。
在框420处,响应于确定制造模式被启用并且管理固件子系统的制造状态是未完成的,可以清除管理固件子系统的备份。例如,在制造或维护时,可以修改管理固件子系统,并且由此可以删除以前的备份。框422可以强加备份可用的条件以便被清除。当管理固件正在被更新时,通过框420的路径可以用于清除过时的备份。
在框424处,响应于确定制造模式被禁用并且管理固件子系统的制造状态是未完成的,发起从备份中对管理固件子系统的恢复。框426可以强加备份可用的条件以便进行恢复。另外,在框428处,可以做出对该路径的检测和/或固件恢复的指示,诸如用户接口消息或日志消息。该路径表示对管理固件子系统的未经授权或错误的尝试修改或实际修改,包括改变管理固件子系统的制造状态。因此,恢复备份以便排除(preclude)该修改。在对备份的恢复之后,制造状态被设置为完成的。
方法400在框430处结束。框404、406/408和412/414/422/426的检查可以以任何次序执行、或者可以同时执行。可以在计算设备的启动期间、在计算设备的正常操作期间、或者在启动和正常操作两者期间执行方法400。结束框430可以触发系统重启,使得在方法400的随后执行期间可以实现并且重新评估对制造模式和制造状态的改变。
在示例场景中,制造中的计算设备具有被启用的制造模式,其中管理固件子系统的制造状态是未完成的。方法400前进通过框422以在框430处结束。在随后的时间处,管理固件子系统被完全安装和配置,并且制造状态被设置为完成的。制造状态从未完成到完成的转变可以触发计算设备的重启。计算设备重启,并且方法400前进通过框412、410以捕获管理固件的备份。制造完成,并且制造模式被禁用。在正常使用期间,方法400前进通过框414,以确认管理固件子系统的备份仍然可用,并且在框430处结束。在正常使用期间,如果管理固件子系统的制造状态被改变为未完成的,则该方法在框424处恢复该备份,并且在框428处提供对可能的侵入或错误的指示。
鉴于以上内容,应当明显的是,可以基于制造信息来捕获并恢复固件备份。计算设备的制造模式可以防范对管理固件子系统的恶意或无意修改。此外,可以检测侵入并且对侵入进行警报。可以使攻击(诸如,默认图像替换攻击)停止。
应当认识到,上面提供的各种示例的特征和方面可以被组合成进一步的示例,这些示例也落入本公开的范围内。另外,附图不是按比例绘制的,并且出于说明性目的,其大小和形状可能被夸大。

Claims (15)

1.一种计算设备,包括:
主处理器;
管理固件子系统;
控制器,用于控制管理固件子系统的操作,其中控制器与主处理器分离;
存储器,用于存储可由控制器使用的子系统数据;以及
一组指令,用于确定所述计算设备的制造模式,其中当所述计算设备处于制造或维护中时,所述制造模式被启用,并且其中当所述计算设备处于正常操作中时,所述制造模式被禁用;
其中所述一组指令进一步用于确定子系统数据的制造状态,其中所述制造状态指示子系统数据是否是完成的;以及
其中响应于确定所述制造模式被禁用并且子系统数据的制造状态是未完成的,所述一组指令用于发起从子系统数据的备份中对子系统数据的恢复。
2.根据权利要求1所述的计算设备,其中响应于确定所述制造模式被禁用并且子系统数据的制造状态是未完成的,所述一组指令进一步用于生成对子系统数据的侵入的指示。
3.根据权利要求1所述的计算设备,其中响应于确定子系统数据的制造状态是完成的并且子系统数据的备份不可用,所述一组指令用于生成子系统数据的备份。
4.根据权利要求1所述的计算设备,其中响应于确定子系统数据被破坏,所述一组指令用于禁用子系统数据的恢复。
5.根据权利要求1所述的计算设备,其中响应于确定所述制造模式被启用并且子系统数据的制造状态是未完成的,所述一组指令用于清除子系统数据的备份。
6.根据权利要求1所述的计算设备,其中子系统数据包括可由控制器使用并且不可由所述计算设备的主处理器使用的一组子系统指令和数据。
7.根据权利要求1所述的计算设备,进一步包括:
安全性控制器,用于向存储器提供安全性;
其中所述一组指令可由所述安全性控制器来执行。
8.一种非暂时性计算机可读介质,其包括一组指令,用于:
确定计算设备的制造模式,其中当所述计算设备处于制造或维护中时,所述制造模式被启用,并且其中当所述计算设备处于正常操作中时,所述制造模式被禁用;
确定所述计算设备的管理固件子系统的制造状态,其中所述制造状态指示管理固件子系统是否是完成的;以及
响应于确定所述制造模式被禁用并且管理固件子系统的制造状态是未完成的,触发对管理固件子系统的备份的恢复。
9.根据权利要求8所述的非暂时性计算机可读介质,其中响应于确定所述制造模式被禁用并且管理固件子系统的制造状态是未完成的,所述一组指令进一步用于生成对管理固件子系统的侵入的指示。
10.根据权利要求8所述的非暂时性计算机可读介质,其中响应于确定管理固件子系统的制造状态是完成的,所述一组指令用于生成管理固件子系统的备份。
11.根据权利要求8所述的非暂时性计算机可读介质,其中响应于确定管理固件子系统被破坏,所述一组指令用于禁用管理固件子系统的恢复。
12.根据权利要求8所述的非暂时性计算机可读介质,其中响应于确定所述制造模式被启用并且管理固件子系统的制造状态是未完成的,所述一组指令用于清除管理固件子系统的备份。
13.一种计算设备,包括:
主处理器;
管理固件子系统,其包括固件控制器和存储器,其中固件控制器与主处理器分离,其中存储器用于存储对于主处理器不可访问的管理固件子系统的指令和数据,其中管理固件子系统进一步包括制造状态,所述制造状态指示管理固件子系统是否是完成的;
安全性控制器;
可由所述安全性控制器执行的一组指令,用于:
确定所述计算设备的制造模式,其中当所述计算设备处于制造或维护中时,所述制造模式被启用,并且其中当所述计算设备处于正常操作中时,所述制造模式被禁用;
确定管理固件子系统的制造状态;以及
响应于确定所述制造模式被禁用并且管理固件子系统的制造状态是未完成的,触发对管理固件子系统的备份的恢复。
14.根据权利要求13所述的计算设备,进一步包括连接到所述安全性控制器的安全存储器,其中所述一组指令进一步用于生成管理固件子系统的备份,并且将管理固件子系统的备份存储在所述安全存储器中。
15.根据权利要求13所述的计算设备,进一步包括硬件初始化固件子系统,所述硬件初始化固件子系统包括存储在存储器中并且可由主处理器执行的指令。
CN201980090961.7A 2019-02-11 2019-02-11 基于制造状态的固件子系统恢复 Pending CN113330436A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/017496 WO2020167284A1 (en) 2019-02-11 2019-02-11 Restoration of firmware subsystems based on manufacturing states

Publications (1)

Publication Number Publication Date
CN113330436A true CN113330436A (zh) 2021-08-31

Family

ID=72044217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980090961.7A Pending CN113330436A (zh) 2019-02-11 2019-02-11 基于制造状态的固件子系统恢复

Country Status (4)

Country Link
US (1) US11947675B2 (zh)
EP (1) EP3891631A4 (zh)
CN (1) CN113330436A (zh)
WO (1) WO2020167284A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200364135A1 (en) * 2019-05-14 2020-11-19 University Of Florida Research Foundation, Inc. Automated security analysis of baseband firmware
CN114721880A (zh) * 2022-05-19 2022-07-08 中诚华隆计算机技术有限公司 任务恢复方法、soc芯片及电子设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021154200A1 (en) * 2020-01-27 2021-08-05 Hewlett-Packard Development Company, L.P. Firmware corruption recovery

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907602B2 (en) * 2000-08-10 2005-06-14 Mustek Systems Inc. Method for updating firmware of computer device
US9627081B2 (en) * 2007-10-05 2017-04-18 Kinglite Holdings Inc. Manufacturing mode for secure firmware using lock byte
US8286093B2 (en) 2008-01-09 2012-10-09 Dell Products L.P. Replacement motherboard configuration
US8296554B2 (en) 2008-12-30 2012-10-23 Intel Corporation Pre-boot recovery of a locked computer system
CN102279914B (zh) 2011-07-13 2014-08-06 中国人民解放军海军计算技术研究所 一种uefi可信支撑系统及其控制方法
WO2014175861A1 (en) * 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Recovering from compromised system boot code
WO2014175864A1 (en) * 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Event data structure to store event data
US9852298B2 (en) * 2013-04-23 2017-12-26 Hewlett-Packard Development Company, L.P. Configuring a system
US9594910B2 (en) 2014-03-28 2017-03-14 Intel Corporation In-system provisioning of firmware for a hardware platform
US10055296B2 (en) * 2015-10-30 2018-08-21 Quanta Computer Inc. System and method for selective BIOS restoration
US10606605B2 (en) 2016-09-29 2020-03-31 Verizon Patent And Licensing, Inc. Software upgrade and disaster recovery on a computing device
US10740468B2 (en) 2016-09-30 2020-08-11 Hewlett Packard Enterprise Development Lp Multiple roots of trust to verify integrity

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200364135A1 (en) * 2019-05-14 2020-11-19 University Of Florida Research Foundation, Inc. Automated security analysis of baseband firmware
US11663338B2 (en) * 2019-05-14 2023-05-30 University Of Florida Research Foundation, Incorporated Automated security analysis of baseband firmware
CN114721880A (zh) * 2022-05-19 2022-07-08 中诚华隆计算机技术有限公司 任务恢复方法、soc芯片及电子设备

Also Published As

Publication number Publication date
EP3891631A1 (en) 2021-10-13
US11947675B2 (en) 2024-04-02
WO2020167284A1 (en) 2020-08-20
US20210357499A1 (en) 2021-11-18
EP3891631A4 (en) 2022-07-06

Similar Documents

Publication Publication Date Title
US11520894B2 (en) Verifying controller code
US10853179B2 (en) Information handling system and method for restoring firmware in one or more regions of a flash memory device
US10742427B2 (en) Tamper-proof secure storage with recovery
CN103718165B (zh) Bios闪存攻击保护和通知
US9880908B2 (en) Recovering from compromised system boot code
TWI530790B (zh) 系統啓動碼恢復方法、運算系統、及供於系統中使用之控制器
Regenscheid Platform firmware resiliency guidelines
US20080155216A1 (en) Protection and Recovery System for Automatic Disk Recovery
US8819330B1 (en) System and method for updating a locally stored recovery image
US11599426B2 (en) Recovery via backups of recovery information
JP5689429B2 (ja) 認証装置、および、認証方法
US11321454B2 (en) Notice of intrusion into firmware
TWI665604B (zh) 具開機之可信驗證與容錯移轉之計算機系統及方法
US11947675B2 (en) Restoration of firmware subsystems based on manufacturing states
US10628168B2 (en) Management with respect to a basic input/output system policy
US11797679B2 (en) Trust verification system and method for a baseboard management controller (BMC)
WO2021262161A1 (en) Authentication of hardware component firmware
US11593490B2 (en) System and method for maintaining trusted execution in an untrusted computing environment using a secure communication channel
US20240152469A1 (en) Self-Detecting and Data Rewriting System and Application Method Thereof
US11836048B2 (en) Information processing apparatus
WO2006087695A2 (en) Protection and recovery system for automatic disk drive recovery

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