CN103718165A - Bios闪存攻击保护和通知 - Google Patents
Bios闪存攻击保护和通知 Download PDFInfo
- Publication number
- CN103718165A CN103718165A CN201280037871.XA CN201280037871A CN103718165A CN 103718165 A CN103718165 A CN 103718165A CN 201280037871 A CN201280037871 A CN 201280037871A CN 103718165 A CN103718165 A CN 103718165A
- Authority
- CN
- China
- Prior art keywords
- bios
- initialization
- processor
- firmware
- initialization firmware
- 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
Links
- 238000012795 verification Methods 0.000 claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000002955 isolation Methods 0.000 claims description 17
- 238000005538 encapsulation Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000011084 recovery Methods 0.000 abstract description 4
- 230000000977 initiatory effect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000001010 compromised effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000002045 lasting effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 208000012978 nondisjunction Diseases 0.000 description 4
- 230000003716 rejuvenation Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 230000002155 anti-virotic effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 102100031767 Mitochondrial peptide methionine sulfoxide reductase Human genes 0.000 description 1
- 101710095205 Mitochondrial peptide methionine sulfoxide reductase Proteins 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000002041 carbon nanotube Substances 0.000 description 1
- 229910021393 carbon nanotube Inorganic materials 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 229910000859 α-Fe Inorganic materials 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/74—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2153—Using hardware token as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
提供用于BIOS闪存攻击保护和通知的系统和方法。处理器初始化模块(包括初始化固件检验模块)可配置成响应加电和/或复位而首先运行,以及检验处理器封装的非易失性存储器中存储的初始化固件。初始化固件配置成检验BIOS。如果初始化固件和/或BIOS的检验失败,则系统配置成选择多个响应的至少一个,其中包括但不限于阻止BIOS运行、发起恢复、报告检验失败、暂停、关机和/或允许BIOS运行以及操作系统(OS)在受限功能性模式进行引导。
Description
技术领域
本公开涉及BIOS保护,以及更具体来说,涉及BIOS闪存攻击保护和通知。
背景技术
计算装置、个人计算机、工作站和服务器(以下称作“计算机”或“多个计算机”)通常包括作为计算机硬件(例如处理器、芯片组、存储器等)与操作系统(OS)之间的接口的基本输入和输出系统(BIOS)。BIOS包括固件和/或软件代码,以便初始化和实现计算机的低级硬件服务,例如与计算机主板关联的基本键盘、视频、磁盘驱动器、输入/输出(I/O)端口和芯片组驱动程序(例如存储控制器)。
通过固件、例如基本输入/输出系统(BIOS)对计算机系统的初始化和配置在预引导阶段期间进行。在复位之后,处理器引用预定地址,其映射到存储BIOS固件的非易失性存储装置。处理器依次取BIOS指令。这些指令通常使计算机初始化其电子硬件,初始化其外围装置,以及引导操作系统。统一可扩展固件接口(UEFI)是一种现代BIOS固件架构,其包括若干阶段,例如安全性阶段(SEC)、平台环境初始化(PEI)、驱动程序运行环境(DXE)阶段以及引导装置选择(BDS)阶段。
损害平台固件的方法不断被开发。损害平台固件使许多工具能够攻击系统。与软件攻击不同,被损害固件难以检测,并且恢复是困难的。被损害固件一般是系统的软件层(包括大多数防病毒和间谍软件工具)不可见的。固件的不可见和持久性质使它对于恶意rootkit是理想的。Rootkit是平台中小巧并且隐匿的恶意钩子,其获得运行软件的最高可能特权以及最低可见性。其主要功能是发动攻击或者向被感染系统上的其它病毒和蠕虫提供API。
BIOS通常存储在闪速存储器中,以便允许可重编程性。编程则可由于波状因数和最终用户便利的原因,在没有跳线变化的情况下执行。此可重编程性引起由未经授权人员和/或恶意软件进行攻击的弱点。也可利用BIOS中的弱点。通过访问系统BIOS,可安装rootkit,其经过系统重新引导继续存在。防病毒软件可能无法可靠地检测这种“持久”rootkit。
在一些情况下,BIOS可存储在真ROM中,从而阻止可重编程性。但是,BIOS更新和其它合法修改可以是必需的,其可以仅通过对系统和ROM(其存储BIOS)的物理访问来实现。
附图说明
通过按照要求保护主题的实施例的以下详细描述,要求保护主题的特征和优点将会显而易见,其中,应该认为描述是参照附图,附图包括:
图1示出按照本公开的各个实施例的系统(计算平台);
图2示出按照本公开的一个实施例、闪速存储器中存储的信息的示范存储布置;
图3示出按照本公开、用于检验BIOS的示范操作的流程图;
图4示出按照本公开、用于检验BIOS的示范操作的另一个流程图;以及
图5是按照本公开的一个实施例、与从复位到OS引导的引导过程关联的操作的图示。
虽然以下详细描述将参照说明性实施例进行,但是,本领域的技术人员将会清楚地知道对它们的许多备选、修改和变更方案。
具体实施方式
一般来说,本公开提供用于BIOS存储攻击保护和通知的系统(和方法)。一种示例系统(计算平台)包括处理器复合体(processor complex),其包括处理器以及耦合到处理器的管芯外(off-die)非易失性存储器。处理器包括处理器初始化模块,并且可包括易失性和非易失性存储器。处理器初始化模块包括初始化固件检验模块,以及处理器复合体包括初始化固件。初始化固件可通过处理器的指令集架构(ISA)来编写,并且可存储在管芯外非易失性存储器中。
处理器初始化模块配置成响应复位而首先来运行,以便执行处理器的内部初始化。复位可通过加电和/或模型特定寄存器的状态来触发。如本文所使用的“复位”是重启事件,其中流程控制返回给处理器初始化模块。复位包括加电复位,其中系统的电气组件在重启之前使电力被去除。存储器内容可以或者可以不保存以供后续恢复。复位还包括仅CPU复位,其中对系统的电气组件保持电力。
初始化固件检验模块作为处理器初始化模块的组成部分配置成检验(即,尝试检验或认证)初始化固件。处理器初始化模块和/或初始化固件检验模块可包括处理器易失性和/或非易失性存储器中存储的微码、电路和/或状态信息。初始化固件配置成在初始化固件检验模块之后来运行,并且配置成检验(即,尝试检验)BIOS。初始化固件可按照处理器ISA或者内部格式。如果初始化固件和/或BIOS的检验失败,则系统配置成发起一个或多个响应。响应包括但不限于:阻止初始化固件和/或BIOS运行,发起恢复(例如使用带外(OOB)通信),使用模型特定寄存器(MSR)报告检验失败,暂停,关机,和/或将计算平台配置用于“隔离模式(quarantine mode)”中的操作,从而允许BIOS运行以及操作系统(OS)进行引导。在隔离模式中,可使系统的某种功能性是对BIOS和OS不可用的。
有利地,处理器初始化模块、初始化固件检验模块和初始化固件是处理器封装的整体部分,并且通常是除了处理器制造商之外的各方不可用的。初始化固件起源和真实性可由处理器复合体来保证,以及初始化固件可在隔离运行模式(其可包括分区存储器)来运行。与UEFI BIOS不同,可以不使内部处理器初始化/复位和固件接口是一般可用的。允许隔离模式中的操作在BIOS检验失败时提供受限操作,而不是完全阻止操作。然后,可将BIOS检验失败传递给用户。例如,可使用例如主板上的物理跳线设定来本地更新BIOS。在另一个示例中,可通过网络、使用与远程代理的OOB通信来更新BIOS。
系统架构
图1示出按照本公开的各个实施例的系统。图1的系统100可包括处理器复合体102、系统存储器(RAM)104(包括OS 150)、平台控制器集线器(PCH)106、可信平台模块(TPM)108、一个或多个盘驱动器110、微处理器子系统112、EEPROM 114和网络端口116。系统100可经由网络120和网络端口116耦合到远程代理118。虽然示为独立块,但是在一些实施例中,TPM 108可包含在微处理器子系统112中。
作为系统100的一般概述,处理器复合体102配置成响应系统复位,例如响应系统的加电和/或模型特定寄存器(MSR)的状态,而运行处理器初始化模块126(其中包括初始化固件检验模块128),并且可运行初始化固件130。处理器初始化模块126和初始化固件检验模块128可通过微码和/或电路来实现。初始化固件检验模块128配置成检验初始化固件130,以及初始化固件130配置成检验BIOS。初始化固件检验模块128可在管芯上(即,在处理器122管芯上)和/或封装上(即,在处理器复合体102中)包含。例如,专用状态机和/或嵌入式(从属)控制器可帮助和/或进行检验活动。这类专用状态机和/或嵌入式控制器可包含在处理器复合体102中。例如,初始化固件130可对密码签名BIOS执行密码完整性校验,以便实现经检验的引导。如果BIOS检验失败,则处理器复合体102配置成发起一个或多个响应。响应包括但不限于限制对一些系统技术的BIOS(和OS)访问和/或禁用一些系统技术(即,隔离模式中的引导)、更新模型特定寄存器(例如用于报告)、发起恢复(例如经由带外(OOB)功能性)、阻止BIOS的操作、阻止OS的引导、暂停、关机和/或它们的组合。(一个或多个)特定响应可在制造时选择,和/或可通过更新处理器配置和/或初始化固件来选择,如本文所述。
处理器复合体102可包括处理器(CPU)122和管芯外非易失性存储器124。例如,管芯外非易失性存储器124可包含在处理器复合体封装(其包括处理器122和管芯外非易失性存储器124)中。在另一个示例中,非易失性存储器124可包含在例如同一管芯上的处理器122中。处理器122可包括非易失性存储器123、处理器初始化模块126、初始化固件检验模块128、pMSR 132和/或eMSR 133。初始化固件检验模块128可包含在处理器初始化模块126中,或者可以是独立模块。处理器初始化模块126和/或初始化固件检验模块128可包括易失性和/或非易失性存储器中存储的微码、电路和/或状态信息。
管芯上和/或封装上的非易失性存储器可包括多种非易失性存储器技术,其中包括但不限于其内容在制造时设置的只读(例如ROM)、工厂可更新(例如熔丝)、和/或现场可更新(例如熔丝、闪存)。例如,处理器非易失性存储器123可配置成存储微码和/或其它持久处理器状态信息。管芯外非易失性存储器124配置成存储初始化固件130。初始化固件检验模块128和初始化固件130通常可由处理器制造商来生成,并且在制造过程期间存储。处理器复合体102(其中包括初始化固件检验模块128和初始化固件130)可以是比较安全的,并且一般是恶意软件进行的攻击不可访问的。初始化固件检验模块128(例如包括熔丝和/或可重编程状态机)和初始化固件130可使用例如密码密钥来安全地更新。
处理器非易失性存储器123的至少一部分可以是经由一个或多个模型特定寄存器(MSR)132、133可访问的。MSR可配置成访问和/或控制处理器配置。MSR可包括持久MSR(“pMSR”)132和/或短暂MSR(“eMSR”)133。持久MSR 132配置成跨电力循环持续存在,即,可被认为是非易失性的。短暂MSR 133配置成仅在系统100被加电和运行时持续存在,即,可被认为是易失性的。pMSR 132和eMSR 133均配置成暴露配置策略,以及向第三方报告处理器122状态。例如,MSR 132、133可用于开启或关闭电源管理功能、报告差错、报告状态和/或开启或关闭某些功能性(例如管理程序(hypervisor))。在一些实施例中,eMSR 133可用于报告检验失败。例如,如果BIOS检验失败,则可设置BIOS_VERFICATION MSR。有利地,将BIOS_VERIFICATION MSR配置为短暂MSR 133允许BIOS厂商在计算平台的操作寿命期间更新BIOS。
一般来说,MSR 132、133可由第三方功能使用读MSR(例如访问状态)或者写MSR指令(例如改变MSR的内容)来访问。一些MSR 132、133可以是“不可变的”,表示不可变MSR的内容不可由第三方带外或带内处理器ISA代码运行动作来改变。例如,BIOS_VERIFICATION MSR可以是不可变的。恶意软件可能无法改变不可变MSR的内容,使得不可变MSR可提供用于报告例如BIOS的状态的比较安全通道。在一个实施例中,MSR 132、133可包括Platform_Update MSR,Platform_Update MSR配置成触发初始化固件检验模块128和初始化固件130及其关联检验动作的运行。例如,Platform_Update MSR可在随候选BIOS固件更新而被写入时触发运行。
处理器复合体102配置成响应系统100复位,而运行处理器初始化模块126,包括初始化固件检验模块128。处理器复合体102可配置成基于模型特定寄存器、例如Platform_Update MSR,来运行处理器初始化模块126和初始化固件检验模块128。初始化固件检验模块128配置成检验初始化固件130,如本文所述。如果初始化固件130的检验失败,则初始化固件检验模块128可配置成发起一个或多个响应,如本文所述。例如,处理器初始化模块126和初始化固件检验模块128可包括易失性和/或非易失性存储装置中存储的微码、电路和/或状态信息。如果初始化固件130的检验成功,则处理器复合体102配置成运行初始化固件130。这样,可在检验BIOS之前检查(检验)初始化固件。本文所述的方法和系统配置成建立信任链,其根源于处理器初始化模块126和初始化固件检验模块128中,然后扩展到初始化固件130,并且然后扩展到BIOS 134。
EEPROM 114配置成存储BIOS 134、固件接口表(FIT)136和可管理性引擎(ME)固件138。EEPROM 114是可重编程的,从而允许对BIOS 134的更新。BIOS 134可经由例如微处理器子系统112和可管理性引擎固件138耦合到网络120,从而允许远程编程。例如,EEPROM 114可以是闪速存储器,其配置成本地或远程重编程。例如,闪速存储器可以是“或非”类型闪速存储器。“或非”闪速存储器通常是字节可写、块可擦、小于“与非”类型闪速存储器(例如用于“或非”的1兆字节至16兆字节对用于“与非”的千兆字节),并且通常用于原处运行(execute-in-place)代码。EEPROM 114可以是另一种类型的可重编程非易失性存储装置,其中包括但不限于基于电阻和/或基于电荷的存储器(例如铁氧体磁芯存储器)、相变存储器(PCM)、基于磁的存储器(MRAM)、基于碳纳米管的非易失性存储器技术等。这类技术在它们是可重编程时可称作“非易失性RAM”或者“NVRAM”,并且可包括一次性写入存储装置,例如熔丝/熔丝阵列。虽然本文中论述“或非”闪存和闪速存储器,但是按照本公开,可采用其它非易失性存储器技术。所使用的特定存储器技术可取决于系统要求,并且是设计选择。
图2示出用于闪速存储器114中存储的信息的示范存储布置200。闪存可包括BIOS初始化模块202、BIOS 204和其它固件206。BIOS初始化模块202可包括处理器复位向量208、FIT指针210和FIT结构212。FIT结构212可包括FIT结束标记214、BIOS初始化模块指针216、检验证书218和/或FIT报头220。图2的FIT结构212对应于图1的FIT 136,以及图2的BIOS 204对应于图1的BIOS 134。
FIT 136配置成提供到闪速存储器114中存储的固件(其中包括BIOS 134)的接口(例如指针)。如果FIT 136为空或者为零(nullified),则处理器自举可配置成回复到缺省处理器自举或复位向量地址。如果FIT 136不为空,则它可包含配置成描述可运行代码和/或数据的多种记录。这类记录可包含指针和其它元数据,例如到闪速存储器中将要运行的的代码/数据块的指针,代替或者补充缺省复位向量地址。FIT 136或者相似机制配置成允许功能性的备选指定和/或加载,代替或者补充使用处理器的缺省复位向量208所实现的缺省行为。这个配置对系统定制和加补丁目的可以是有用的。初始化固件130可使用FIT结构212中的指针(例如BIOS初始化模型指针216)来确定闪存114中的BIOS 134的位置。在一些实施例中,初始化固件130可使用其它技术、例如搜索闪存114和/或平台跨接(strapping)选项,以便确定BIOS 134的位置。
BIOS 134配置成初始化和测试硬件,以及加载OS 150。可重编程性允许BIOS 134被更新(无需更换EEPROM 114),但是也提供恶意程序进行攻击的途径。恶意程序(其可损害BIOS 134)通常以较高特权等级运行,因此难以通过常规防恶意软件程序来检测。有利地,按照本公开的初始化固件检验模块128和初始化固件130配置成在处理器122取和/或运行BIOS 134代码之前运行,并且因此可在其运行之前检测被损害BIOS。如果BIOS 134被损害(即,检验失败),则初始化固件130配置成发起一个或多个响应,如本文所述。例如,响应检测到被损害系统,备选FIT条目可配置成指向EEPROM 114中的存储结构200中的恢复BIOS块。在另一个示例中,EEPROM 114可包括EEPROM 114的独立区域(或者另一个不同的EEPROM)中存储的BIOS 134的副本,其可响应检测到被损害系统而被访问(解码)。换言之,系统100可包括“备份”BIOS,其配置成在BIOS 134的检验失败时被运行。备份BIOS可存储在EEPROM 114和/或另一个EEPROM中。
再次来看图1,微处理器子系统112可包括嵌入式微处理器140、高速缓冲存储器142和非易失性存储器(ROM)144。微处理器子系统112配置成运行闪速存储器114中存储的可管理性引擎固件138。在这个实施例中,微处理器子系统112经由平台控制器集线器(PCH)106耦合到处理器复合体102,以及经由网络端口116耦合到网络120和远程代理118。微处理器子系统112配置成提供带外通信。带外通信可在微处理器子系统112与处理器复合体102之间和/或在系统100与远程代理118之间进行。例如,如果BIOS 134的检验失败,则微处理器子系统112(和可管理性引擎固件138)可配置成与远程代理118进行OOB通信,以便从远程代理118来取回已更新、经检验的BIOS。有利地,这可允许远程更新和/或认证闪速存储器中存储的BIOS(其已经被攻击),而无需对闪速存储器114的实际现场物理访问。
因此,响应复位(例如与加电关联,和/或基于模型特定寄存器的状态),系统100配置成运行处理器初始化模块126,以便执行初始化序列(即,处理器122初始化阶段),以及初始化固件检验模块128配置成检验处理器复合体102中包含的初始化固件130。系统100还配置成运行初始化固件130,以检验BIOS 134。如果初始化固件130和/或BIOS 134的检验失败,则系统100还配置成发起一个或多个响应,其中包括但不限于将系统(计算平台)配置成在具有受限功能性的隔离模式中进行引导、发起恢复过程(例如经由OOB功能性)、使用一个或多个MSR来报告检验状态、阻止初始化固件和/或BIOS运行、关机和/或停止处理器。有利地,与BIOS 134不同,处理器复合体102中包含的处理器初始化模块126、初始化固件检验模块128和初始化固件130是相对不可访问的(例如,它们是管芯上的或者在处理器封装衬底上),并且一般没有包括所发布接口协议。处理器初始化模块126、初始化固件检验模块128、初始化固件130和处理器复合体102的这个配置提供“信任根”,由其可检验BIOS 134。
示范方法
图3示出按照本公开、用于检验(认证)BIOS的示范操作的流程图300。本实施例中所示的操作可由与系统100关联的电路、固件和/或软件模块(例如包括CPU 122的处理器复合体102)来执行。过程流程可开始于操作305。操作305包括复位,例如加电复位或者仅CPU复位。操作310包括运行处理器初始化模块。操作310包括运行初始化固件检验模块,并且可包括与加电关联的其它处理器活动。初始化固件是否得到检验(即,通过检验)可在操作315来确定。
如果初始化固件得到检验,则初始化固件可在操作330来运行。BIOS是否得到检验可在操作335来确定。如果BIOS得到检验,则可在操作340启用全系统引导。例如,检验可包括沿缺省复位向量路径或者备选FIT指定路径或模块的一个或多个BIOS元件。全系统引导表示所有系统功能性可以是对BIOS和OS可用的。操作345可包括将控制传递给BIOS。例如,初始化固件130可将系统100的控制传递给BIOS 134。操作350可包括引导系统,引导系统包括初始化系统硬件和加载OS。
如果初始化固件没有得到检验(即,未通过检验)和/或BIOS没有得到检验(即,未通过检验),则可在操作355发起一个或多个响应。如果初始化固件未通过检验,则初始化固件检验模块128可配置成选择和发起这些响应。如果BIOS未通过检验,则初始化固件130可配置成选择和发起这些响应。响应可包括操作360、365、370(和375)、380、385、390和395中的一个或多个。操作380包括暂停。例如,可在操作380暂停处理器122。操作385包括阻止初始化固件和/或BIOS的运行。系统(例如系统100)可在操作395关机。
操作360包括在隔离模式(即,受约束或受限操作模式)中引导系统。在隔离模式中,可禁用一些系统功能性和/或对一些系统组件的访问。当初始化固件和/或BIOS未通过检验时,隔离模式配置成允许受限系统功能性。例如,可禁用“较高”系统功能、例如管理程序。操作365包括更新模型特定寄存器(MSR)。模型特定寄存器的更新可配置成传递初始化固件和/或BIOS检验失败。模型特定寄存器可以是不可变的,使得它不可由第三方来改变,从而提供比较安全的报告方法。例如,可更新MSR以传递失败,而无需传递失败情形的细节。这个受限报告配置成阻止攻击者使用失败情形的细节来损害检测功能性。
可在操作370发起恢复过程。操作370可包括保持配置成允许初始重试的交叉复位状态,其中初始重试包括复位、翻转到初始化固件和/或BIOS的备份副本、回退到初始化固件和/或BIOS的先前镜像,和/或更新初始化固件和/或BIOS。初始化固件的备份副本是否存在可取决于与非易失性存储器关联的性质。操作370中的重试次数可受到限制。例如,可实现计数器,其配置成在重试次数达到预定值时,触发从恢复过程的退出。在另一个示例中,翻转或回退可引起持久状态的修改,使得后续重试可触发从恢复过程的退出。初始化固件和/或BIOS可使用安全(即,密码)技术来更新。
操作370可包括经由带外(OOB)通信来更新初始化固件和/或BIOS。例如,图1的微处理器子系统112可配置成通过网络120、经由OOB通信与远程代理118进行通信,以便取回已更新、未损害BIOS。例如,已更新BIOS可具有比失败BIOS要高的无变化修订版(例如以便避免对先前可能的错误BIOS的回退攻击)。微处理器子系统112还可配置成以所取回BIOS对闪速存储器114重新编程。然后可在操作375发起复位。
操作390可包括实现时间延迟。例如,时间延迟可插入响应之间。在另一个示例中,时间延迟可插入操作370的重试之间。(一个或多个)时间延迟配置成降低攻击速率以及可将攻击评估为成功或失败的速率。
通过操作360、365、370、375、380、385、390和395所述的响应可单独地或者组合地执行。特定响应可被预先确定并且存储在例如管芯外非易失性存储器124中。例如,响应可在各种时间并且使用各种方法来选择,其中包括但不限于在制造时、在初始操作时、通过跳线、通过特殊保护用户初始设置和/或通过更新初始化固件检验模块和/或初始化固件。
因此,如流程图300所示,处理器初始化模块和初始化固件检验模块可配置成在初始化固件和BIOS之前运行,以便检验初始化固件和BIOS。如果初始化固件和/或BIOS未通过检验,则可发起一个或多个响应。有利地,一些响应配置成允许系统、例如系统100工作在隔离模式中,更新初始化固件和/或BIOS,和/或传递初始化固件和/或BIOS检验失败。相应地,对BIOS检验失败的响应并不局限于停止系统100。
图4示出按照本公开、用于检验BIOS的示范操作的另一个流程图400。本实施例中所示的操作可由与系统100关联的电路、固件和/或软件模块(例如包括CPU 122的处理器复合体102)来执行。图4中,与检验BIOS关联的操作包含在初始化ROM 402(其对应于图1的初始化ROM 127)中,以及与BIOS关联的操作包含在UEFI(BIOS)固件404(其对应于BIOS 134)中。
程序流程可开始于操作405。操作405可响应系统复位而执行。操作405可包括处理器初始化模块(其中包括初始化固件检验模块及其初始化固件的检验)的运行以及初始化固件的运行。如果初始化固件检验模块成功地检验初始化固件,则处理器可开始初始化固件的运行。操作405可以可选地包括初始化基本存储器功能(例如建立系统存储器),和/或初始化其它系统元件、例如互连结构。快速路径接口是互连结构的一个示例,其可配置成将处理器子系统与平台控制器集线器和/或微处理器子系统互连。操作410包括确定在闪速存储器中是否存在具有签名清单(manifest)的固件接口表(FIT)和OEM BIOS块。例如,在包括TPM 108的系统中,操作410可包括通过将清单的散列(hash)与TPM 108的NV数据寄存器中的所存储散列值进行比较,来确认签名清单的完整性。
如果闪速存储器中不存在具有签名清单的固件接口表(FIT)或者不存在OEM BIOS块,则可执行操作415。操作415包括设置不可变模型特定寄存器(NOT_SIGNED_MSR)和/或暂停处理器子系统。如果在闪速存储器中存在具有签名清单的FIT和OEM BIOS块,则可执行操作420。操作420包括读取签名清单和关联OEM UEFI BIOS固件卷。操作420还可包括向远程证书授权中心(certificate authority,CA)检验签名清单(数字签名)。例如,检验签名清单可使用微处理器子系统112和可管理性引擎固件138来OOB执行。
可在操作425确定数字签名是否匹配、关联公开密钥是否尚未撤消并且没有到期以及IN_UPDATE_MSR模型特定寄存器是否为“假(FALSE)”。如果不是,则可在操作430读取FIT中的下一个条目。可在操作435确定FIT条目是否已经穷尽。如果FIT条目已经穷尽(即,FIT中没有未测试条目),则可执行操作415。如果数字签名匹配、关联公开密钥尚未撤消并且没有到期以及IN_UPDATE_MSR模型特定寄存器为“假”,则可在操作440启用全引导。全引导可包括启用高级技术和其它硬件能力。
操作445可包括将控制传递给UEFI BIOS固件,其可包括安全性阶段(SEC)、平台环境初始化阶段(PEI)和/或驱动程序运行环境(DXE)。可在操作450确定是否存在UEFI固件更新。如果存在UEFI固件更新,则可在操作455使用UEFI固件验证来认证更新。操作460包括设置模型特定寄存器IN_UPDATE_MSE,更新闪速存储器中的UEFI固件,并且清除模型特定寄存器IN_UPDATE_MSR。然后可在操作465发起复位。如果不存在UEFI固件更新,则UEFI BIOS固件可在操作470完成引导。
图5是与从复位到OS引导的引导过程500关联的操作的图示。图5的引导过程500对应于BIOS固件的成功检验,如本文所述。过程500可包括两个阶段(阶段1和阶段2)以及多个子阶段。过程500可随复位(例如加电或者仅CPU)502而发起。响应复位,处理器初始化模块(包括初始化固件检验模块)可在子阶段504期间如本文所述来运行。初始化固件检验模块可配置成定位FIT,以及认证初始化固件,如本文所述。初始化固件则可在子阶段506期间、如本文所述来检验OEM BIOS,和/或启用互连结构(例如QPI)和系统存储器。子阶段504和子阶段506包含在阶段1中。阶段1的操作可由处理器初始化模块和初始化固件来执行,并且因此可以是比较安全的。UEFI BIOS固件则可在子阶段508期间初始化平台(例如系统100),其中包括SEC、PEI和DXE。SEC建立暂时存储器存储库,其中包括但不限于使用处理器的高速缓存作为RAM(CAR),以便运行PEI核心和PEI模块。当DXE开始时,初始化存储器应当是可用的。DXE可包括PCI、UI、USB、I/O、遗留BIOS、SMBIOS和/或ACPI。该过程可结束于子阶段510、即引导装置选择,其对应于发起操作系统的引导。子阶段508和子阶段510包含在阶段2中。阶段1包括初始化固件检验和BIOS检验。阶段2包括经检验的UEFI BIOS固件和引导装置选择的启动和运行。
一般来说,本公开提供用于BIOS存储攻击保护和通知的系统(和方法)。一个示例系统包括处理器初始化模块,其可包括处理器非易失性存储器中存储的处理器控制和/或数据状态以及耦合到处理器的处理器封装中的非易失性存储器中存储的初始化固件。处理器初始化模块(包括初始化固件检验模块)配置成响应复位而首先运行,以及初始化固件检验模块配置成检验初始化固件。初始化固件配置成在由初始化固件检验模块进行检验之后运行,并且又配置成检验BIOS。如果初始化固件和/或BIOS的检验失败,则系统配置成执行下列步骤的至少一个:阻止初始化固件和/或BIOS运行,发起恢复(例如使用带外(OOB)通信),使用模型特定寄存器(MSR)报告检验失败,暂停处理器,关机,和/或允许BIOS运行以及操作系统(OS)在受限功能性(“隔离”)模式中进行引导。在隔离模式中,可使系统的某种功能性是对BIOS和OS不可用的。
如本文的任何实施例所使用的“电路”可包括例如单一或者任何组合的硬连线电路、可编程电路、状态机电路、嵌入式控制器和/或固件(其存储由可编程电路运行的指令)。
OS 150可包括任何通用或定制操作系统。例如,OS 150可使用Microsoft Windows、HP-UX、Linux或UNIX和/或其它通用操作系统来实现。
虽然图3、图4和图5示出按照各个实施例的方法,但是要理解,在任何实施例中,并非所有这些操作都是必需的。实际上,本文中完全预期,在本公开的其它实施例中,图3、图4和/或图5所示的操作可按照附图的任一个中未具体示出的方式相结合,但是仍然完全符合本公开。因此,针对一个附图中没有完全示出的特征和/或操作的权利要求被认为处于本公开的范围和内容之内。
本文所述的实施例可使用硬件、软件和/或固件来实现,例如以便执行本文所述的方法和/或操作。本文所述的某些实施例可作为存储机器可执行指令的有形机器可读介质来提供,其中机器可运行指令在由机器运行时,使机器执行本文所述的方法和/或操作。有形机器可读介质可包括但不限于:任何类型的盘,包括软盘、光盘、致密光盘只读存储器(CD-ROM)、可重写致密光盘(CD-RW)和磁光盘;半导体器件,例如只读存储器(ROM)、诸如动态随机存取存储器(RAM)和静态RAM之类的RAM、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器、磁卡或光卡;或者适合于存储电子指令的任何类型的有形介质。机器可包括任何适当的处理平台、装置或系统、计算平台、装置或系统,并且可使用硬件和/或软件的任何适当组合来实现。指令可包括任何适当类型的代码,并且可使用任何适当的编程语言来实现。
因此,在一个实施例中,本公开提供用于检验计算平台的基本输入/输出系统(BIOS)的方法。该方法包括:响应复位而运行处理器初始化模块,其中处理器初始化模块包含在计算平台中的处理器中,并且处理器初始化模块包括初始化固件检验模块;尝试使用初始化固件检验模块来检验计算平台中的处理器封装中的非易失性存储器中存储的初始化固件;尝试使用初始化固件来检验BIOS,其中BIOS包含在可重编程非易失性存储器中;以及如果初始化固件和BIOS中的至少一个未通过检验,则发起至少一个响应。
在另一个实施例中,本公开提供计算平台。计算平台包括处理器封装,其中包括:处理器,包括处理器初始化模块,其中处理器初始化模块包括初始化固件检验模块;以及管芯外非易失性存储器,其中存储了初始化固件。计算平台还包括可重编程非易失性存储器,其中存储了基本输入/输出系统(BIOS)固件。处理器配置成:响应计算平台的复位而运行处理器初始化模块,尝试使用初始化固件检验模块来检验初始化固件,尝试使用初始化固件来检验BIOS固件,以及如果初始化固件和BIOS固件中的至少一个未通过检验,则发起至少一个响应。
在另一个实施例中,本公开提供包括其上存储的指令的有形计算机可读介质,指令在由一个或多个处理器来运行时,使一个或多个处理器执行包括响应复位而运行处理器初始化模块的操作,其中处理器初始化模块包含在计算平台的处理器中,并且处理器初始化模块包括初始化固件检验模块;尝试使用初始化固件检验模块来检验计算平台的处理器封装的非易失性存储器中存储的初始化固件;尝试使用初始化固件来检验BIOS,其中BIOS包含在可重编程非易失性存储器中;以及如果初始化固件和BIOS中的至少一个未通过检验,则发起至少一个响应。
本文采用的术语和表达用作描述而非限制性方面,并且在使用这类术语和表达时,不是要排除所示和所述特征的任何等效方案(或者它们的一部分),并且要知道,在权利要求书的范围之内,各种修改是可能的。因此,权利要求书意在涵盖所有这类等效方案。
本文描述了各种特征、方面和实施例。特征、方面和实施例容许相互结合以及变更和修改,如本领域的技术人员将会理解。因此,本公开应当被认为包含这类组合、变更和修改。
Claims (18)
1. 一种用于检验计算平台的基本输入/输出系统(BIOS)的方法,所述方法包括:
响应复位而运行处理器初始化模块,其中所述处理器初始化模块包含在所述计算平台中的处理器中,并且所述处理器初始化模块包括初始化固件检验模块;
尝试使用所述初始化固件检验模块来检验所述计算平台中的处理器封装中的非易失性存储器中存储的初始化固件;
尝试使用所述初始化固件来检验所述BIOS,其中所述BIOS包含在可重编程非易失性存储器中;以及
如果所述初始化固件和所述BIOS中的至少一个未通过检验,则发起至少一个响应。
2. 如权利要求1所述的方法,还包括将所述计算平台的控制传递给所述BIOS,其中所述至少一个响应包括将所述计算平台配置用于具有受限平台功能性的隔离模式中的操作。
3. 如权利要求1所述的方法,其中,所述至少一个响应从包括以下项的多个响应来选取:阻止所述初始化固件运行、阻止所述BIOS运行、发起恢复、使用模型特定寄存器来报告所述检验失败、暂停所述处理器、将所述计算平台关机以及将所述计算平台配置用于具有受限平台功能性的隔离模式中的操作。
4. 如权利要求1所述的方法,还包括响应所述初始化固件的检验失败,而更新所述初始化固件。
5. 如权利要求1所述的方法,其中,所述至少一个响应包括通过网络、使用带外通信、经由所述计算平台的微处理器子系统来更新所述BIOS。
6. 如权利要求1所述的方法,还包括响应将候选BIOS固件更新写到模型特定寄存器,而触发所述初始化固件检验模块和所述初始化固件的运行。
7. 一种计算平台,包括:
处理器封装,包括:
处理器,包括处理器初始化模块,其中所述处理器初始化模块包括初始化固件检验模块,以及
管芯外非易失性存储器,其中存储了初始化固件;以及
可重编程非易失性存储器,其中存储了基本输入/输出系统(BIOS)固件;
所述处理器配置成:
响应所述计算平台的复位而运行所述处理器初始化模块,
尝试使用所述初始化固件检验模块来检验所述初始化固件,
尝试使用所述初始化固件来检验所述BIOS,以及
如果所述初始化固件和所述BIOS固件中的至少一个未通过检验,则发起至少一个响应。
8. 如权利要求7所述的计算平台,其中,所述处理器还配置成将所述计算平台的控制传递给所述BIOS,以及所述至少一个响应包括将所述计算平台配置用于具有受限平台功能性的隔离模式中的操作。
9. 如权利要求7所述的计算平台,其中,所述至少一个响应从具有以下项的多个响应来选取:阻止所述初始化固件运行、阻止所述BIOS运行、发起恢复、使用模型特定寄存器来报告所述检验失败、暂停所述处理器、将所述计算平台关机以及将所述计算平台配置用于具有受限平台功能性的隔离模式中的操作。
10. 如权利要求7所述的计算平台,其中,所述处理器还配置成响应所述初始化固件的检验失败而更新所述初始化固件。
11. 如权利要求7所述的计算平台,还包括配置成通过网络、使用带外通信来更新所述BIOS固件的微处理器子系统。
12. 如权利要求7所述的计算平台,还包括模型特定寄存器,其中所述处理器配置成响应候选BIOS固件被写到模型特定寄存器,而运行所述初始化固件检验模块和所述初始化固件。
13. 一种包括其上存储的指令的有形计算机可读介质,所述指令在由一个或多个处理器来运行时,使所述一个或多个处理器执行包括下列步骤的操作:
响应复位而运行处理器初始化模块,其中所述处理器初始化模块配置成包含在所述计算平台中的处理器中,并且所述处理器初始化模块包括初始化固件检验模块;
尝试使用所述初始化固件检验模块来检验配置成存储在所述计算平台中的处理器封装中的非易失性存储器中的初始化固件;
尝试使用所述初始化固件来检验所述BIOS,其中所述BIOS配置成包含在可重编程非易失性存储器中;以及
如果所述初始化固件和所述BIOS中的至少一个未通过检验,则发起至少一个响应。
14. 如权利要求13所述的计算机可读介质,其中,所述操作还包括将所述计算平台的控制传递给所述BIOS,其中所述至少一个响应包括将所述计算平台配置用于具有受限平台功能性的隔离模式中的操作。
15. 如权利要求13所述的计算机可读介质,其中,所述至少一个响应从包括以下项的多个响应来选取:阻止所述初始化固件运行、阻止所述BIOS运行、发起恢复、使用模型特定寄存器来报告所述检验失败、暂停所述处理器、将所述计算平台关机以及将所述计算平台配置用于具有受限平台功能性的隔离模式中的操作。
16. 如权利要求13所述的计算机可读介质,其中,所述操作还包括响应所述初始化固件的检验失败而更新所述初始化固件。
17. 如权利要求13所述的计算机可读介质,其中,所述至少一个响应包括通过网络、使用带外通信、经由所述计算平台的微处理器子系统来更新所述BIOS。
18. 如权利要求13所述的计算机可读介质,其中,所述操作还包括响应将候选BIOS固件更新写到模型特定寄存器,而触发所述初始化固件检验模块和所述初始化固件的运行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/178338 | 2011-07-07 | ||
US13/178,338 US9015455B2 (en) | 2011-07-07 | 2011-07-07 | Processsor integral technologies for BIOS flash attack protection and notification |
PCT/US2012/045551 WO2013006698A1 (en) | 2011-07-07 | 2012-07-05 | Bios flash attack protection and notification |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103718165A true CN103718165A (zh) | 2014-04-09 |
CN103718165B CN103718165B (zh) | 2016-08-17 |
Family
ID=47437440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280037871.XA Expired - Fee Related CN103718165B (zh) | 2011-07-07 | 2012-07-05 | Bios闪存攻击保护和通知 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9015455B2 (zh) |
EP (2) | EP3543888A1 (zh) |
JP (1) | JP5767751B2 (zh) |
KR (1) | KR101626397B1 (zh) |
CN (1) | CN103718165B (zh) |
WO (1) | WO2013006698A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103996002A (zh) * | 2014-05-29 | 2014-08-20 | 四川九成信息技术有限公司 | 一种防病毒终端设备启动方法 |
CN104239760A (zh) * | 2014-09-03 | 2014-12-24 | 山东超越数控电子有限公司 | 一种安全等级可配置的计算机的实现方法 |
CN104679685A (zh) * | 2013-11-29 | 2015-06-03 | 英业达科技有限公司 | 基板管理控制器存取方法 |
CN108845834A (zh) * | 2018-06-01 | 2018-11-20 | 上海兆芯集成电路有限公司 | 计算机装置 |
CN110321170A (zh) * | 2018-03-29 | 2019-10-11 | 纬创资通股份有限公司 | 开机方法 |
Families Citing this family (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9666241B2 (en) * | 2012-01-19 | 2017-05-30 | Quixant Plc | Firmware protection and validation |
US8909983B2 (en) * | 2012-03-08 | 2014-12-09 | Synology Incorporated | Method of operating a storage device |
US9256744B2 (en) * | 2012-04-10 | 2016-02-09 | Asmedia Technology Inc. | System-on-chip and booting method thereof |
US20130326404A1 (en) * | 2012-05-30 | 2013-12-05 | Robert C. Brooks | Disable Feature of Computing Device |
US8904162B2 (en) * | 2012-08-01 | 2014-12-02 | Intel Corporation | Methods and apparatus for performing secure BIOS upgrade |
US10581763B2 (en) | 2012-09-21 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | High availability application messaging layer |
US9967106B2 (en) | 2012-09-24 | 2018-05-08 | Brocade Communications Systems LLC | Role based multicast messaging infrastructure |
US20140208133A1 (en) * | 2013-01-23 | 2014-07-24 | Dell Products L.P. | Systems and methods for out-of-band management of an information handling system |
CN104981814B (zh) * | 2013-03-15 | 2018-08-14 | 英特尔公司 | 安全协处理器引导性能 |
CN105144185B (zh) * | 2013-04-23 | 2018-06-05 | 惠普发展公司,有限责任合伙企业 | 验证控制器代码和系统启动代码 |
US9129113B2 (en) | 2013-11-13 | 2015-09-08 | Via Technologies, Inc. | Partition-based apparatus and method for securing bios in a trusted computing system during execution |
US9367689B2 (en) | 2013-11-13 | 2016-06-14 | Via Technologies, Inc. | Apparatus and method for securing BIOS in a trusted computing system |
US9798880B2 (en) | 2013-11-13 | 2017-10-24 | Via Technologies, Inc. | Fuse-enabled secure bios mechanism with override feature |
US9779243B2 (en) | 2013-11-13 | 2017-10-03 | Via Technologies, Inc. | Fuse-enabled secure BIOS mechanism in a trusted computing system |
US10049217B2 (en) | 2013-11-13 | 2018-08-14 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9779242B2 (en) | 2013-11-13 | 2017-10-03 | Via Technologies, Inc. | Programmable secure bios mechanism in a trusted computing system |
US9183394B2 (en) | 2013-11-13 | 2015-11-10 | Via Technologies, Inc. | Secure BIOS tamper protection mechanism |
US10055588B2 (en) | 2013-11-13 | 2018-08-21 | Via Technologies, Inc. | Event-based apparatus and method for securing BIOS in a trusted computing system during execution |
US9507942B2 (en) | 2013-11-13 | 2016-11-29 | Via Technologies, Inc. | Secure BIOS mechanism in a trusted computing system |
US9547767B2 (en) | 2013-11-13 | 2017-01-17 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US10095868B2 (en) | 2013-11-13 | 2018-10-09 | Via Technologies, Inc. | Event-based apparatus and method for securing bios in a trusted computing system during execution |
US9767288B2 (en) | 2013-11-13 | 2017-09-19 | Via Technologies, Inc. | JTAG-based secure BIOS mechanism in a trusted computing system |
CN103632086B (zh) * | 2013-11-15 | 2017-04-05 | 北京奇虎科技有限公司 | 修复基本输入输出系统bios恶意程序的方法和装置 |
TW201525858A (zh) | 2013-12-31 | 2015-07-01 | Ibm | 基板管理控制器與其韌體載入方法 |
CN104915591A (zh) * | 2014-03-10 | 2015-09-16 | 联想(北京)有限公司 | 一种数据处理方法及电子设备 |
US9563437B2 (en) * | 2014-06-27 | 2017-02-07 | Intel Corporation | Technologies for pre-memory phase initialization of a computing device |
TWI505078B (zh) * | 2014-07-28 | 2015-10-21 | Ibm | 系統管理控制器、電腦系統、以及系統管理方法 |
JP6482211B2 (ja) * | 2014-09-03 | 2019-03-13 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
US9619349B2 (en) * | 2014-10-14 | 2017-04-11 | Brocade Communications Systems, Inc. | Biasing active-standby determination |
WO2016093856A1 (en) * | 2014-12-12 | 2016-06-16 | Hewlett Packard Enterprise Development Lp | Determining resting times for memory blocks |
CN106158038B (zh) * | 2015-04-14 | 2021-03-09 | 恩智浦美国有限公司 | 从非易失性存储器读取数据的方法 |
US20160306623A1 (en) * | 2015-04-16 | 2016-10-20 | Aic Inc. | Control module of node and firmware updating method for the control module |
US9742568B2 (en) | 2015-09-23 | 2017-08-22 | Dell Products, L.P. | Trusted support processor authentication of host BIOS/UEFI |
CN105224459B (zh) * | 2015-10-21 | 2018-04-13 | 浪潮电子信息产业股份有限公司 | 一种linux平台下测试bmc通过oem命令读写bios配置功能的方法 |
WO2017131622A1 (en) * | 2016-01-25 | 2017-08-03 | Hewlett-Packard Development Company, L.P. | Notice of intrusion into firmware |
WO2017131621A1 (en) * | 2016-01-25 | 2017-08-03 | Hewlett-Packard Development Company, L.P. | Protecting basic input/output (bios) code |
US10445506B2 (en) | 2016-03-30 | 2019-10-15 | Airwatch Llc | Detecting vulnerabilities in managed client devices |
US10585648B2 (en) * | 2016-06-01 | 2020-03-10 | The Mathworks, Inc. | Systems and methods for aggregating implicit and explicit event code of executable models |
US10635607B2 (en) * | 2016-06-30 | 2020-04-28 | Intel Corporation | Methods, systems and apparatus to improve boot efficiency |
JP6585019B2 (ja) * | 2016-09-13 | 2019-10-02 | 株式会社東芝 | ネットワーク監視装置、ネットワークシステムおよびプログラム |
KR101795457B1 (ko) * | 2016-09-27 | 2017-11-10 | 시큐리티플랫폼 주식회사 | 보안 기능이 강화된 디바이스의 초기화 방법 및 디바이스의 펌웨어 업데이트 방법 |
US10382436B2 (en) * | 2016-11-22 | 2019-08-13 | Daniel Chien | Network security based on device identifiers and network addresses |
US10248485B2 (en) * | 2016-12-16 | 2019-04-02 | International Business Machines Corporation | Dual physical-channel systems firmware initialization and recovery |
WO2018124894A1 (en) * | 2016-12-29 | 2018-07-05 | Intel Corporation | Embedded oem code for fault recovery |
US10223531B2 (en) | 2016-12-30 | 2019-03-05 | Google Llc | Secure device state apparatus and method and lifecycle management |
US10623130B2 (en) * | 2017-07-27 | 2020-04-14 | Rolls-Royce North American Technologes, Inc. | Determining a frequency for propulsor engine communication sessions |
US10460111B2 (en) * | 2017-08-04 | 2019-10-29 | Dell Products, Lp | System and method to isolate host and system management in an information handling system |
EP3662396A4 (en) * | 2017-09-18 | 2020-11-25 | Hewlett-Packard Development Company, L.P. | FIRMWARE SECURITY |
WO2019117920A1 (en) * | 2017-12-14 | 2019-06-20 | Hewlett-Packard Development Company, L.P. | Enabling access to capturing devices by basic input and output systems (bios) |
JP6584487B2 (ja) * | 2017-12-20 | 2019-10-02 | キヤノン株式会社 | 情報処理装置、その制御方法およびプログラム |
EP3732567A4 (en) * | 2017-12-25 | 2021-08-04 | Intel Corporation | MULTI-WIRE PARALLEL COMPUTER PLATFORM FOR PRE-MEMORY INITIALIZATION |
US11163887B2 (en) * | 2018-02-14 | 2021-11-02 | Microsoft Technology Licensing, Llc | Clearance of bare metal resource to trusted state usable in cloud computing |
US11074151B2 (en) | 2018-03-30 | 2021-07-27 | Intel Corporation | Processor having embedded non-volatile random access memory to support processor monitoring software |
US10691466B2 (en) | 2018-04-02 | 2020-06-23 | Intel Corporation | Booting a computing system using embedded non-volatile memory |
US10936324B2 (en) * | 2018-08-02 | 2021-03-02 | Dell Products L.P. | Proactive host device access monitoring and reporting system |
US10740084B2 (en) * | 2018-08-16 | 2020-08-11 | Intel Corporation | Soc-assisted resilient boot |
US10789061B2 (en) * | 2018-09-26 | 2020-09-29 | Intel Corporation | Processor based component firmware update method and apparatus |
US11188622B2 (en) | 2018-09-28 | 2021-11-30 | Daniel Chien | Systems and methods for computer security |
US10826912B2 (en) | 2018-12-14 | 2020-11-03 | Daniel Chien | Timestamp-based authentication |
US10848489B2 (en) | 2018-12-14 | 2020-11-24 | Daniel Chien | Timestamp-based authentication with redirection |
WO2020159533A1 (en) | 2019-02-01 | 2020-08-06 | Hewlett-Packard Development Company, L.P. | Security credential derivation |
US11625459B2 (en) * | 2019-02-08 | 2023-04-11 | Raytheon Technologies Corporation | Embedded processing system with multi-stage authentication |
WO2020167283A1 (en) * | 2019-02-11 | 2020-08-20 | Hewlett-Packard Development Company, L.P. | Recovery from corruption |
US11599426B2 (en) * | 2019-02-11 | 2023-03-07 | Hewlett-Packard Development Company, L.P. | Recovery via backups of recovery information |
US11003461B2 (en) * | 2019-03-29 | 2021-05-11 | Dell Products L.P. | Boot process security self-check system |
JP7263101B2 (ja) * | 2019-04-26 | 2023-04-24 | キヤノン株式会社 | 情報処理装置、データ検証方法 |
US11151256B2 (en) | 2019-05-13 | 2021-10-19 | Dell Products, L.P. | Detecting security threats by monitoring chains of configuration changes made to basic input/output system (BIOS) or unified extensible firmware interface (UEFI) attributes |
EP4318285B1 (en) * | 2019-06-10 | 2025-02-19 | Google LLC | Secure verification of firmware |
US12242841B2 (en) | 2019-07-30 | 2025-03-04 | Stmicroelectronics Belgium | Field upgrade of multiple firmware instances |
FR3099607B1 (fr) | 2019-07-30 | 2021-11-05 | Stmicroelectronics Grand Ouest Sas | Composant électronique à micrologiciel |
US11016755B2 (en) * | 2019-07-31 | 2021-05-25 | Dell Products L.P. | System and method to secure embedded controller flashing process |
US11416607B2 (en) * | 2019-11-04 | 2022-08-16 | Dell Products L.P. | Security risk indicator and method therefor |
US11385902B2 (en) * | 2019-11-17 | 2022-07-12 | Nuvoton Technology Corporation | Secure firmware management with hierarchical boot sequence using last known good firmware |
US11677754B2 (en) | 2019-12-09 | 2023-06-13 | Daniel Chien | Access control systems and methods |
US10809944B1 (en) * | 2020-01-22 | 2020-10-20 | Cypress Semiconductor Corporation | Memory device resilient to cyber-attacks and malfunction |
US11347519B2 (en) * | 2020-05-27 | 2022-05-31 | Dell Products L.P. | Systems and methods for detecting short-term changes to BIOS setup |
US11509463B2 (en) | 2020-05-31 | 2022-11-22 | Daniel Chien | Timestamp-based shared key generation |
US11438145B2 (en) | 2020-05-31 | 2022-09-06 | Daniel Chien | Shared key generation based on dual clocks |
US11907386B2 (en) * | 2020-09-22 | 2024-02-20 | Dell Products L.P. | Platform root-of-trust system |
WO2022093254A1 (en) * | 2020-10-30 | 2022-05-05 | Hewlett-Packard Development Company, L.P. | Hashed function point identifiers for data processing security |
US11847227B2 (en) | 2020-11-30 | 2023-12-19 | Red Hat, Inc. | Firmware version corruption attack prevention |
US11822663B2 (en) | 2020-11-30 | 2023-11-21 | Red Hat, Inc. | Supervisor-based firmware hardening |
US12229269B2 (en) * | 2020-12-18 | 2025-02-18 | Intel Corporation | Techniques for restricted deployment of targeted processor firmware updates |
US12099609B2 (en) * | 2020-12-18 | 2024-09-24 | Advanced Micro Devices, Inc. | Combination BIOS with A/B recovery |
WO2022140544A1 (en) * | 2020-12-22 | 2022-06-30 | Nebulon, Inc. | Multi-function uefi driver with update capabilities |
US12164907B2 (en) * | 2020-12-23 | 2024-12-10 | Intel Corporation | Firmware update technologies |
JP7608211B2 (ja) * | 2021-03-05 | 2025-01-06 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
US20220358222A1 (en) * | 2021-05-10 | 2022-11-10 | Insyde Software Corp. | System And Method For Firmware Security Event Mitigation |
US20230064398A1 (en) * | 2021-08-27 | 2023-03-02 | Dell Products L.P. | Uefi extensions for analysis and remediation of bios issues in an information handling system |
US20230274001A1 (en) * | 2022-02-25 | 2023-08-31 | Dell Products, L.P. | OFF-HOST INTEGRITY VERIFICATION OF TRUSTED EXECUTION ENVIRONMENTS (TEEs) |
US11928210B2 (en) * | 2022-03-02 | 2024-03-12 | Flexxon Pte. Ltd. | Module and method for monitoring systems of a host device for security exploitations |
US12164639B2 (en) * | 2022-03-21 | 2024-12-10 | Dell Products L.P. | Computing device quarantine action system |
US20240054223A1 (en) * | 2022-08-12 | 2024-02-15 | Micron Technology, Inc. | Reducing start up times in device identity composition engine (dice) devices |
US20240311243A1 (en) * | 2023-03-17 | 2024-09-19 | Dell Products L.P. | Device recovery using activation of bios recovery image |
US20250139298A1 (en) * | 2023-10-31 | 2025-05-01 | Dell Products L.P. | Out of band component validation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060101310A1 (en) * | 2004-10-22 | 2006-05-11 | Nimrod Diamant | Device, system and method for verifying integrity of software programs |
US20070192611A1 (en) * | 2006-02-15 | 2007-08-16 | Datta Shamanna M | Technique for providing secure firmware |
US20090276617A1 (en) * | 2008-04-30 | 2009-11-05 | Michael Grell | Computer system comprising a secure boot mechanism on the basis of symmetric key encryption |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6401208B2 (en) * | 1998-07-17 | 2002-06-04 | Intel Corporation | Method for BIOS authentication prior to BIOS execution |
TW452733B (en) * | 1999-11-26 | 2001-09-01 | Inventec Corp | Method for preventing BIOS from viruses infection |
US6711675B1 (en) | 2000-02-11 | 2004-03-23 | Intel Corporation | Protected boot flow |
DE60228027D1 (de) * | 2001-07-06 | 2008-09-18 | Texas Instruments Inc | Sicherer Bootloader zum Sichern digitaler Geräte |
US7237121B2 (en) | 2001-09-17 | 2007-06-26 | Texas Instruments Incorporated | Secure bootloader for securing digital devices |
US7350063B2 (en) * | 2002-06-11 | 2008-03-25 | Intel Corporation | System and method to filter processors by health during early firmware for split recovery architecture |
TWI319147B (en) * | 2003-04-10 | 2010-01-01 | Lenovo Singapore Pte Ltd | Apparatus, motherboard, method and computer-readable storage medium recording instructions capable of determinging physical presence in a trusted platform in a computer system |
US7269747B2 (en) | 2003-04-10 | 2007-09-11 | Lenovo (Singapore) Pte. Ltd. | Physical presence determination in a trusted platform |
JP3981066B2 (ja) * | 2003-11-07 | 2007-09-26 | 株式会社東芝 | ホスト機器、メモリカード、メモリ容量変更方法及びメモリ容量変更プログラム |
CN100447736C (zh) * | 2004-05-08 | 2008-12-31 | 英特尔公司 | 包括固件接口运行时环境保护字段的设备和方法 |
JP2006106914A (ja) | 2004-10-01 | 2006-04-20 | Fujitsu Ltd | ファームウェアで動作する処理装置およびファームウェア更新方法 |
US8464348B2 (en) * | 2004-11-15 | 2013-06-11 | Microsoft Corporation | Isolated computing environment anchored into CPU and motherboard |
US7500094B2 (en) | 2005-10-18 | 2009-03-03 | American Megatrends, Inc. | BIOS identification, initialization and management |
US8001267B2 (en) | 2005-12-15 | 2011-08-16 | International Business Machines Corporation | Apparatus, system, and method for automatically verifying access to a multipathed target at boot time |
US9053323B2 (en) * | 2007-04-13 | 2015-06-09 | Hewlett-Packard Development Company, L.P. | Trusted component update system and method |
US7840837B2 (en) | 2007-04-27 | 2010-11-23 | Netapp, Inc. | System and method for protecting memory during system initialization |
US8555049B2 (en) | 2007-10-05 | 2013-10-08 | Panasonic Corporation | Secure boot terminal, secure boot method, secure boot program, recording medium, and integrated circuit |
US7962738B2 (en) * | 2007-12-20 | 2011-06-14 | Intel Corporation | Hypervisor runtime integrity support |
US20090172639A1 (en) * | 2007-12-27 | 2009-07-02 | Mahesh Natu | Firmware integrity verification |
JP2009169841A (ja) | 2008-01-18 | 2009-07-30 | Panasonic Corp | 情報処理装置および携帯電話装置 |
US7984286B2 (en) * | 2008-06-25 | 2011-07-19 | Intel Corporation | Apparatus and method for secure boot environment |
US8041794B2 (en) * | 2008-09-29 | 2011-10-18 | Intel Corporation | Platform discovery, asset inventory, configuration, and provisioning in a pre-boot environment using web services |
US8490189B2 (en) * | 2009-09-25 | 2013-07-16 | Intel Corporation | Using chipset-based protected firmware for host software tamper detection and protection |
US8893112B2 (en) * | 2009-12-21 | 2014-11-18 | Intel Corporation | Providing software distribution and update services regardless of the state or physical location of an end point machine |
US8918907B2 (en) * | 2011-04-13 | 2014-12-23 | Phoenix Technologies Ltd. | Approaches for firmware to trust an application |
-
2011
- 2011-07-07 US US13/178,338 patent/US9015455B2/en not_active Expired - Fee Related
-
2012
- 2012-07-05 EP EP19167521.4A patent/EP3543888A1/en not_active Withdrawn
- 2012-07-05 CN CN201280037871.XA patent/CN103718165B/zh not_active Expired - Fee Related
- 2012-07-05 KR KR1020147001515A patent/KR101626397B1/ko not_active Expired - Fee Related
- 2012-07-05 WO PCT/US2012/045551 patent/WO2013006698A1/en active Application Filing
- 2012-07-05 JP JP2014519289A patent/JP5767751B2/ja not_active Expired - Fee Related
- 2012-07-05 EP EP12807077.8A patent/EP2729896B1/en not_active Not-in-force
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060101310A1 (en) * | 2004-10-22 | 2006-05-11 | Nimrod Diamant | Device, system and method for verifying integrity of software programs |
US20070192611A1 (en) * | 2006-02-15 | 2007-08-16 | Datta Shamanna M | Technique for providing secure firmware |
US20090276617A1 (en) * | 2008-04-30 | 2009-11-05 | Michael Grell | Computer system comprising a secure boot mechanism on the basis of symmetric key encryption |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679685A (zh) * | 2013-11-29 | 2015-06-03 | 英业达科技有限公司 | 基板管理控制器存取方法 |
CN104679685B (zh) * | 2013-11-29 | 2017-10-31 | 英业达科技有限公司 | 基板管理控制器存取方法 |
CN103996002A (zh) * | 2014-05-29 | 2014-08-20 | 四川九成信息技术有限公司 | 一种防病毒终端设备启动方法 |
CN103996002B (zh) * | 2014-05-29 | 2016-04-06 | 广西电网有限责任公司 | 一种防病毒终端设备启动方法 |
CN104239760A (zh) * | 2014-09-03 | 2014-12-24 | 山东超越数控电子有限公司 | 一种安全等级可配置的计算机的实现方法 |
CN110321170A (zh) * | 2018-03-29 | 2019-10-11 | 纬创资通股份有限公司 | 开机方法 |
CN110321170B (zh) * | 2018-03-29 | 2022-07-29 | 纬创资通股份有限公司 | 开机方法 |
CN108845834A (zh) * | 2018-06-01 | 2018-11-20 | 上海兆芯集成电路有限公司 | 计算机装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20140043126A (ko) | 2014-04-08 |
JP5767751B2 (ja) | 2015-08-19 |
WO2013006698A1 (en) | 2013-01-10 |
US9015455B2 (en) | 2015-04-21 |
JP2014518428A (ja) | 2014-07-28 |
EP2729896A1 (en) | 2014-05-14 |
CN103718165B (zh) | 2016-08-17 |
EP2729896B1 (en) | 2019-05-15 |
US20130013905A1 (en) | 2013-01-10 |
EP3543888A1 (en) | 2019-09-25 |
KR101626397B1 (ko) | 2016-06-01 |
EP2729896A4 (en) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103718165B (zh) | Bios闪存攻击保护和通知 | |
US11520894B2 (en) | Verifying controller code | |
US9880908B2 (en) | Recovering from compromised system boot code | |
US9785596B2 (en) | Redundant system boot code in a secondary non-volatile memory | |
JP6054908B2 (ja) | 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ | |
JP5512610B2 (ja) | 非ファームウェアエージェントからメモリへのアクセスを許可または阻止する方法、システム、および機械可読記憶媒体 | |
CN100489728C (zh) | 一种建立计算机中可信任运行环境的方法 | |
TWI522838B (zh) | 組配系統之技術 | |
EP2989547B1 (en) | Repairing compromised system data in a non-volatile memory | |
US10101928B2 (en) | System and method for enhanced security and update of SMM to prevent malware injection | |
US9245122B1 (en) | Anti-malware support for firmware | |
CN107567629A (zh) | 在可信执行环境容器中的动态固件模块加载器 | |
US20090300307A1 (en) | Protection and security provisioning using on-the-fly virtualization | |
KR101013419B1 (ko) | 시스템 보호 장치 및 방법 | |
RU2791431C1 (ru) | Способ защиты компьютерной системы от загрузки нештатной операционной системы | |
CN103632086A (zh) | 修复基本输入输出系统bios恶意程序的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160817 Termination date: 20210705 |