CN108292342A - 向固件中的侵入的通知 - Google Patents

向固件中的侵入的通知 Download PDF

Info

Publication number
CN108292342A
CN108292342A CN201680067852.XA CN201680067852A CN108292342A CN 108292342 A CN108292342 A CN 108292342A CN 201680067852 A CN201680067852 A CN 201680067852A CN 108292342 A CN108292342 A CN 108292342A
Authority
CN
China
Prior art keywords
event
notice
firmware
intrusion
computing system
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
CN201680067852.XA
Other languages
English (en)
Other versions
CN108292342B (zh
Inventor
J·K·让索内
R·布拉姆利
V·阿利
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 CN108292342A publication Critical patent/CN108292342A/zh
Application granted granted Critical
Publication of CN108292342B publication Critical patent/CN108292342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • 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/575Secure boot
    • 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/2101Auditing as a secondary aspect
    • 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/2151Time stamp

Abstract

一种用于向用户提供向固件中的侵入的通知的计算机程序产品在一个示例中包括非暂时性计算机可读介质,所述非暂时性计算机可读介质包括以所述介质体现的计算机可用程序代码,以当由处理器执行时在以系统管理模式的运行时期间检测对计算系统的固件的侵入。

Description

向固件中的侵入的通知
背景技术
计算系统包括用以执行计算系统的各种启动功能的计算机可用程序代码。该计算机可用程序代码可以包括基本输入/输出系统(BIOS)代码以及其它类型的固件。BIOS代码可以是通过例如被引入到计算系统中的恶意软件或来自外部服务的攻击的对象。作为攻击的结果,BIOS代码可能变得受损和/或被毁坏。
附图说明
附图图示了本文中描述的原理的各种示例并且是说明书的一部分。所图示的示例仅仅被给出用于图示,并且不限制权利要求的范围。
图1是根据本文中描述的原理的一个示例的示出了存记(log)事件并且在运行时期间提供对计算设备上的SMM固件的侵入的通知的方法的流程图。
图2是根据本文中描述的原理的示例的用于存记事件并且在运行时期间提供对OS的固件侵入的通知的计算系统的框图。
图3是根据本文中描述的原理的一个示例的用于将事件数据映射(mirror)到用户接口的WMI基础设施的框图。
图4A-4C是根据本文中描述的原理的示例的通知的图解。
图5是根据本文中描述的原理的一个示例的Windows事件日志用户接口的图解,所述Windows事件日志用户接口包括与对计算系统的固件的改变相关联的多个事件日志。
贯穿附图,相同的参考标号指明类似的但不一定完全相同的元素。
具体实施方式
对计算机固件、诸如用于执行计算系统的启动的BIOS的恶意软件攻击可以使得计算系统的完整性受损以致可能发生计算系统中未经授权的访问和操作。例如,受损的BIOS可允许通过恶意实体隐藏计算系统的远程监控和/或控制、通过恶意软件对计算系统中的数据的未经授权的访问和/或修改、禁用计算系统等等。受损的BIOS可以指代已经被毁坏使得系统代码不再可用的系统代码,或者可替换地,受损的系统代码可以指代已经以某种方式被改变但是仍能够执行其它程序代码、诸如操作系统(OS)的系统代码。BIOS可能是有意地被损坏。
BIOS可以被存储在计算系统的非易失性存储器中。BIOS在计算系统的操作期间被访问以确保计算系统的正确操作。BIOS可以被存储在非易失性存储器中的各种数据结构中,并且可以涉及计算系统的至少一个物理组件的配置。例如,BIOS可以涉及计算系统的配置,或者可替换地,BIOS具有与计算系统的单独物理组件或多个物理组件的配置有关的代码。一旦BIOS受损,计算系统的正确操作也许不是可能的。
为了保护BIOS和/或BIOS数据不由于例如恶意软件攻击而受损,可以在主要非易失性存储器之外提供次级非易失性存储器:二者都物理地耦合到母板。次级非易失性存储器然后可以用于存储BIOS和系统日期的拷贝。次级非易失性存储器上的BIOS拷贝可以是主要非易失性存储器中的BIOS的副本。可替换地,次级非易失性存储器中的BIOS拷贝可以是与主要非易失性存储器中的BIOS不同的版本(较晚的版本或较早的版本)。类似地,BIOS的拷贝可以被存储在次级非易失性存储器中。BIOS拷贝可以与主要非易失性存储器中的BIOS数据相同,或者是主要非易失性存储器中的系统数据的不同版本(较早的版本或较晚的版本)。
当发生各种事件、诸如BIOS或BIOS数据的损坏时,对应于这样的事件的事件数据可以以安全方式被存记以允许检测和理解。该检测和理解可以由例如可以确定在计算系统中发生了什么事件的管理员来完成。与该存记的事件相关联的所存记的事件和数据可以被保护免受由于计算系统的功率中断所致的损失,并且可以被保护免受篡改,诸如通过恶意软件或其它计算机代码的篡改。在本说明书中,可以对存记这样的事件数据做出参考。术语“存记(log)”与“审计(audit)”可互换地使用,其可以一般地指代监控目标系统的事件并且响应于事件而记录事件数据的实体。
本说明书描述了一种用于向用户提供向固件中的侵入的通知的计算机程序产品,所述固件诸如SMM代码或运行时服务代码,其在引导期间被加载到系统管理RAM(SMRAM)存储器中并且随后从该存储器中被执行。所述计算机程序产品在示例中包括非暂时性计算机可读介质,所述非暂时性计算机可读介质包括以所述介质体现的计算机可用程序代码,以当由处理器执行时在以系统管理模式的运行时期间检测对计算设备的固件的侵入。在运行时期间的这些改变可以如本文中描述的那样由与处理器、主要非易失性存储器相关联的控制器存记在审计日志处。对固件的所尝试的或成功的改变或从未经授权的区域执行代码的尝试将如本文中描述的那样由与处理器、主要非易失性存储器和/或次级非易失性存储器相关联的控制器存记在审计日志中。这些事件在示例中可以被映射到用户接口,所述用户接口经由Windows管理规范(WMI)列出那些事件。WMI是由Microsoft公司定义的、在多个操作系统中可用的用于在基于Windows的操作系统上管理数据和操作的基础设施。
本说明书此外描述了一种计算机程序产品,其用于向用户提供向计算系统的固件中的侵入的通知,所述计算机程序产品包括非暂时性计算机可读介质,所述非暂时性计算机可读介质包括以所述介质体现的计算机可用程序代码,以当由处理器执行时在以系统管理模式的运行时期间检测对计算设备的固件的侵入。
本说明书此外描述了一种用于存记事件以及在运行时期间提供对计算设备上的SMM固件的侵入的通知的方法,包括将对在运行时期间对计算设备上的SMM固件的侵入进行描述的事件数据结构存储在计算系统中的非易失性存储器中。
本说明书还描述了一种计算机用户接口,所述计算机用户接口包括第一窗口和指示符,所述第一窗口指示已经发生向计算系统的SMM固件中的侵入的通知,所述指示符描述用户将如何获得关于事件的更多细节。
如在本说明书中和所附权利要求中使用的,术语“BIOS”意图被宽泛地理解为如下的计算系统代码:所述计算系统代码控制基本硬件操作、诸如与磁盘驱动器、硬盘驱动器和键盘的交互,并且可以包括能够执行计算系统的启动的任何计算机可用程序代码。BIOS可以执行硬件组件的校验以确保硬件组件存在并且恰当地运转。这可以例如是上电自测试(POST)过程的部分。在POST过程之后,BIOS可以进行通过引导序列的其余部分,在此之后,BIOS可以加载并且传递控制给OS。在一些示例中,BIOS可以包括在OS加载之后执行的运行时部分。在本讨论中,尽管对“BIOS”做出了参考,但是注意到技术或机制可以应用于其它类型的系统引导代码,其中系统引导代码可以指代可以在计算系统的重启之后引导计算系统或可以从低功率状态恢复计算系统的任何代码。BIOS还包括多个UEFI特征(例如可变读/写、封装体更新等等)以及区域中的附加OEM增值特征、比如安全性、BIOS更新等等。
另外,如在本说明书中和所附权利要求中所使用的,术语“侵入”意图被理解为尝试经由例如对BIOS的操纵而非法闯入到计算系统中、中断计算系统或拒绝对计算系统的服务。在示例中,侵入可以包括检测所尝试的对固件的改变、所检测到的对固件的成功改变或所尝试的从其中尚未提供授权以从中执行代码的计算机可读存储器的区域中执行代码。
此外,如本说明书中和所附权利要求中使用的,术语“恶意软件”意图被理解为一种计算机程序,所述计算机程序被设计成在计算系统的BIOS上侵入以便非法闯入到系统中、中断系统或拒绝对系统的服务。
仍进一步地,如在本说明书中和所附权利要求中使用的,术语“运行时”意图被理解为在其期间计算机程序、包括操作系统正运行的时间段。
甚至还进一步地,如在本说明书中和所附权利要求中使用的,术语“系统管理模式(SMM)”意图被理解为其中至少操作系统的执行被挂起并且作为固件的部分的分离软件以高特权被执行的x86中央处理器单元(CPU)的操作模式。
甚至仍进一步地,如在本说明书中和所附权利要求中使用的,术语“多个”或类似的语言意图被宽泛地理解为任何正数、包括1到无穷。
在以下描述中,为了解释的目的,阐明了众多特定细节以便提供对本系统和方法的透彻理解。然而,将对本领域技术人员显而易见的是,可以在没有这些特定细节的情况下实践本装置、系统和方法。在说明书中对“示例”或类似语言的参考意指结合该示例所描述的特定特征、结构或特性如所描述的那样被包括,但是可不被包括在其它示例中。
图1是根据本文中描述的原理的一个示例的示出了存记事件并且在运行时期间提供对计算设备上的SMM固件的侵入的通知的方法(100)的流程图。所述方法(100)可以开始于将对在运行时期间对计算设备上的SMM固件的侵入进行描述的事件数据结构(例如审计日志)存储(105)在非易失性存储器中。非易失性存储器可以与可由计算系统的处理器(或多个处理器)访问的总线电气隔离。响应于由嵌入式控制器(EC)检测的或被报告给嵌入式控制器(EC)的事件,所述嵌入式控制器将对应于事件的事件数据添加到审计日志的条目。被检测给或报告被EC的事件可以是这样的情况:其中ROM/闪速芯片中的固件已经修改了EC本身,或在其中SMM代码被改变的情况中,其它组件/软件可以检测问题并且将事件报告被EC。响应于其它类型的事件,事件数据也可以被添加到审计日志,如以下进一步描述的那样。嵌入式控制器是计算系统中的控制器,其与计算系统的(多个)处理器分离,并且所述嵌入式控制器用于执行(以下进一步讨论的)各种指定的任务。在本说明书中,参考将事件数据存储在审计日志中。在其它示例中,事件数据可以被存储在其它类型的事件数据结构中。
所述方法(100)可以包括在操作系统(OS)的运行时期间经由WMI将来自审计日志的事件数据同步到用户接口。在示例中,通过WMI传递的数据对于审计日志上存储的数据可以是相对小的(例如数目)并且窗口中的WMI消费者可以附加地在库或其它源中搜索事件数据的其余部分。事件数据的同步可以通过使用Windows管理规范(WMI)来被完成,所述Windows管理规范(WMI)包括用于使能够实现本文中描述的平台设备和应用的管理的基础设施。
图2是根据本文中描述的原理的示例的用于存记事件并且在运行时期间提供对BIOS的改变的通知的计算系统(200)的框图。计算系统(200)可以包括嵌入式控制器(202)、主要非易失性存储器(204)、处理器(206)和次级非易失性存储器(216)。主要非易失性存储器(204)是共享的非易失性存储器,其可由包括嵌入式控制器(202)和至少一个其它实体(包括处理器(206))的多个实体访问。次级非易失性存储器(216)可由嵌入式控制器(202)访问,但是对于处理器(206)或对于计算系统(200)中的其它组件是不可访问的。实际上,次级非易失性存储器(216)与除了嵌入式控制器(202)之外的实体电气隔离。使得次级非易失性存储器(216)对于处理器(206)和其它组件不可访问保护次级非易失性存储器(216)的内容免受未经授权的篡改。次级非易失性存储器(216)可以通过嵌入式控制器(202)可访问。
在示例中,输入/输出(I/O)控制器(255)可以被提供在处理器(206)和主要非易失性存储器(204)之间。I/O控制器是计算系统(200)的核心逻辑的部分。处理器(206)可以通过I/O控制器访问共享总线(220)以检索主要非易失性存储器(204)的内容。
次级非易失性存储器(216)可以与主要非易失性存储器(204)(诸如以不同的物理存储器设备所实现的)在物理上分离。可替换地,次级非易失性存储器(216)和主要非易失性存储器(204)可以物理地驻留在公共存储器设备上,但是主要非易失性存储器(204)和次级非易失性存储器(216)在物理存储器设备的不同分段中,其中包含次级非易失性存储器(216)的物理存储器设备的分段仅通过嵌入式控制器(202)可访问。换言之,包含次级非易失性存储器(216)的分段在嵌入式控制器(202)的排他性控制之下,并且该分段可以在初始引导时段之后、在计算系统(200)的运行时期间被锁定免于通过处理器(206)或另一实体访问。
在示例中,可以在操作系统(OS)的运行时添加审计日志条目,这将导致EC触发WMI事件,即操作系统内的软件将看到并且触发通知、将事件数据移动到Windows事件日志中或其组合。在示例中,事件查看器应用(250)此外包括用户接口,所述用户接口可以从桌面图标或经由通知被打开。该用户接口可以映射其中嵌入式控制器(202)已经指示为BIOS中的侵入或改变的来自审计日志(246)的那些事件。以上通知可以在运行时实时地被进行:在操作系统正执行的时候。
在示例中,通知可以向用户指示:已经发生对BIOS的改变或对BIOS的侵入并且将由计算系统(200)采取某些行动。仍进一步地,在示例中,通知可以提供链接,所述链接在被致动时打开用户接口,所述用户接口映射由嵌入式控制器(202)发现的多个事件。
主要非易失性存储器(204)由嵌入式控制器(202)或由另一实体通过共享总线(220)可访问。在一些实现方式中,单个实体可以能够在任何给定时间访问共享总线220,使得单个实体可以在某时访问主要非易失性存储器(204)。在一些示例中,共享总线(220)是共享的串行外围接口(SPI)总线。SPI总线是同步串行数据链路,其中SPI总线上的设备以主-从模式操作。在其它示例中,可以使用另一类型的共享总线(220)。在可替换示例中,可以提供仲裁机制以允许在计算系统的各种状态(包括低功率状态和正常运行时状态)中对总线(220)的共享访问。
非易失性存储器(204)可以存储系统固件(207),所述系统固件可以包括BIOS代码。系统固件(207)可以包括EC固件(208)和引导块210,所述EC固件用于由嵌入式控制器(202)执行,所述引导块将由处理器(206)执行。EC固件(208)被包括在系统固件(207)的引导块(210)中。将EC固件(208)包括在引导块(210)内部可以提供指示:即EC固件(208)已经由提供系统固件(207)的实体或另一实体签名,所述实体可以是计算系统(200)的供应商。在其它示例中,EC固件(208)可以与引导块(210)分离。
引导块(210)是BIOS代码的一部分,并且当计算系统(200)启动的时候被首先执行。在BIOS代码的其余部分被允许在处理器(206)上执行之前首先执行引导块(210)。引导块(210)可以用于校验BIOS代码的完整性以及执行其它初始功能。如果引导块(210)确认了BIOS代码的完整性,那么引导块(210)可以将控制传递到BIOS代码的主要部分以用于发起与BIOS代码相关联的其余操作。
嵌入式控制器(202)可以用于执行特定的预定义任务,如被编程到EC固件(208)中。可以由嵌入式控制器(202)执行的任务的示例包括以下中的任一个或某种组合:计算系统(200)中的功率供给控制(用于控制向计算系统(200)中的各种组件供给功率供给电压的功率供给),计算系统(200)中的电池的充电和控制,热监控(用以监控计算系统(200)中的温度)、风扇控制(用以控制计算系统(200)中的风扇),以及与用户输入设备的交互(诸如执行计算系统(200)的键盘的扫描或与定点设备、诸如鼠标、触摸板、触摸屏等等的交互)。可以由嵌入式控制器(202)执行的任务的进一步示例包括事件存记的处置以及任何WMI事件的生成。
在示例中,次级非易失性存储器(216)存储系统固件的冗余拷贝,其中系统固件冗余拷贝包括引导块和EC固件(230)。次级非易失性存储器(216)还可以存储系统数据的拷贝。在该示例中,系统固件和系统数据向次级非易失性存储器(216)的拷贝可以由嵌入式控制器(202)执行。
次级非易失性存储器(216)此外存储策略存储库(244)以存储策略信息,以及审计日志(246)以存储涉及与嵌入式控制器(202)和/或系统固件(207)相关联的事件和/或其它事件的事件数据。策略信息可以关于涉及嵌入式控制器(202)上的控制器代码的执行的策略。可以响应于本文中描述的各种事件而将事件数据添加到次级非易失性存储器(216)中的审计日志(246)。事件数据向审计日志(246)的添加由嵌入式控制器(202)控制。
由嵌入式控制器(202)可检测的、可以触发通过嵌入式控制器(202)将事件数据添加到审计日志(246)的事件的示例除了其它之外尤其包括以下:涉及未能将来自次级非易失性存储器的EC固件(或来自主要非易失性存储器(204)的EC固件(208))加载到嵌入式控制器(202)中的事件;涉及主要非易失性存储器(204)中受损的或遗失的引导块(BB)(210)的事件;涉及次级非易失性存储器(216)中受损的或遗失的引导块的事件;涉及主要非易失性存储器(204)或次级非易失性存储器(216)中受损的或遗失的系统数据的事件;涉及用次级非易失性存储器(216)中的引导块更新主要非易失性存储器(204)中的引导块(210)的事件;涉及用主要非易失性存储器(204)中的引导块(210)更新次级非易失性存储器(216)中的引导块的事件;涉及修复主要非易失性存储器(204)或次级非易失性存储器(216)中的系统数据的事件;在其中BIOS更新策略处于锁定模式(其中锁定模式使得系统固件被锁定到特定版本,诸如次级非易失性存储器(216)中的版本)中的场景中,涉及主要非易失性存储器(204)中的引导块(210)的不正确版本的事件;在其中BIOS更新策略处于锁定模式中的场景中,涉及次级非易失性存储器(216)中的引导块的不正确版本的事件;涉及正挂起的系统固件(207)的恢复、来自用户的手动恢复输入的待决接收的事件;涉及有关系统固件(207)的恢复的手动恢复命令的接收的事件;涉及审计日志(246)的完整性校验失败的事件;涉及策略存储库(244)的完整性校验失败的事件;涉及计算系统(200)的制造模式的改变的事件。这些事件被分配了用于各自的重查看审计日志(246)的标识号。以上标识的事件的编号的任何布置并且可以不受限于以上描述的事件。在一个示例中,可以创建动态库,所述动态库提供事件查看器应用(250),所述事件查看器应用(250)在OS上操作以将这些事件标识号与描述所检测的事件的细节的附加信息交叉参照。
尽管以上列出了各种事件,但是注意到在可替换的实现方式中,其它事件也可以触发由嵌入式控制器(202)将事件数据添加到审计日志(246)。
通过使用根据本说明书的技术或机制,涉及嵌入式控制器(202)和系统固件(207)的操作的各种事件可以被存记到审计日志(246)中。通过将审计日志(246)存储在次级非易失性存储器(216)中,事件数据不由于计算系统(200)的功率失去而丢失。
事件数据被发送到接收者以允许对事件数据的分析。接收者可以是例如与管理员相关联的远程计算系统。可替换地,接收者可以是在计算系统(200)中可执行以用于分析事件数据的工具。如将在以下更详细地描述的,事件数据还可以经由使用BIOS WMI(248)以及可执行的事件查看器应用(250)而被提供给计算系统(200)的用户,所述可执行的事件查看器应用(250)将与审计日志(246)相关联的事件数据映射到用户接口中。此处,可以经由通知而使得用户实时地知晓向固件以及特别地系统的BIOS中的侵入。通知可以提供打开事件日志应用的链接,所述事件日志应用填充有审计日志(246)的所映射的事件。
在示例中,嵌入式控制器(202)可以将时间戳与被添加到审计日志246的每个事件数据相关联,其中事件戳可以从安全时间源,诸如根据安全网络时间协议(NTP)的时间源获得。安全时间源的使用允许计算系统(200)的用户得以确保如记录在次级非易失性存储器(216)中的审计日志条目中的时间戳是正确的。
在国际专利申请公布号WO 2014/175864中描述了由嵌入式控制器(202)生成的审计日志中存储的事件数据的示例。国际专利申请公布号WO 2014/175864的主题通过引用以其全部被并入本文中。
如以上所描述的,计算系统(200)可以此外包括BIOS WMI(248)以及事件查看器应用(250),所述事件查看器应用用于向计算系统(200)的用户通知事件的发生并且提供用户接口来查看本文中描述的不同事件。嵌入式控制器(202)可以用信号向BIOS WMI(248)通知事件。BIOS WMI(248)可以接收与事件相关联的数据,诸如与事件相关联的时间戳和/或事件标识号,并且使该信息通过堆栈被传递到事件查看器应用(250),所述事件查看器应用消耗与事件相关联的数据以用于呈现给用户。
图3是根据本文中描述的原理的一个示例的用于将事件数据映射(图1、115)到用户接口的WMI架构(300)的框图。所述架构(300)可以包括WMI提供者以及管理对象层级(层级1;305)、WMI基础设施层级(层级2、310)以及WMI消费者(管理应用)层级(层级3;315)。层级1(305)处的任何数目的提供者(320)生成事件以让层级3(315)处的多个WMI消费者(325)知道BIOS中的某些数据已经改变。消费者可以实现用户接口,所述用户接口在示例中实现弹出窗口以向用户指示已经发生了事件。
图4A-4C是根据本文中描述的原理的示例的由事件查看器应用(图2、250)所呈现的通知(400、410、402)的图解。通知(400、401、402)可以作为多个弹出窗口被呈现给用户,所述弹出窗口指示来自事件日志的多个事件消息。这些多个弹出窗口可以向以下描述的事件查看器窗口提供链接。此外,这些通知(400、410、402)中的每一个可以包括事件查看器应用(图2、250)的当前状态,诸如所述应用(图2、250)是否是活动的以及何时检测到最新近对固件的侵入。如以上所描述的,通知(400、410、402)可以基于所生成的事件而被显示,所述所生成的事件一般落入两个类别中:与系统板闪速芯片中的固件引导图像的完整性的周期性校验有关的那些事件;以及作为运行时固件侵入检测的部分的任何新通知。每当由嵌入式控制器(图2、202)生成了WMI事件时或当在审计日志(图2、246)中发现了新事件的时候从睡眠/休眠中引导/恢复时可以呈现这些通知(400、410、402)。
在图4A中所示的示例中,第一通知(400)可以提供以下声明:“已经检测到对BIOS的未经授权的改变并且已经执行了成功的恢复。这被自动执行并且没有所需的进一步用户动作。此消息仅仅用于信息目的。任何问题应当指向您的IT管理员。”该通知因此指示:在存储BIOS或上述BIOS的拷贝的闪速设备中标识了完整性问题。
在图4B中所示的示例中,第二通知(401)可以提供以下声明:“已经检测到对BIOS的未经授权的改变。请保存所有数据文件并且执行系统关断以允许BIOS被修复和恢复。”该通知因此指示:在存储BIOS或上述BIOS的拷贝的闪速设备中标识了完整性问题以及计算系统(图2,200)的关断过程将修复BIOS。此处,一旦计算系统(图2,200)关断就将发生修复。
在图4C中所示的示例中,第三通知(402)可以提供以下声明:“已经检测到对BIOS的未经授权的改变并且需要手动恢复。请联系您的IT管理员以得到指导和接下来的步骤。”可以在如下情形中显示该第三通知(402):在所述情形中在BIOS下发现了问题,但是计算系统(图2,200)的管理者已经改变了策略使得BIOS的修复已经被指示为手动地、而不是自动地完成。此处,计算系统(图2,200)将不修复BIOS直到本地用户录入了例如手动恢复密钥序列为止。
可以在上述通知(400、401、402)中包括附加信息。例如,通知可以包括所建议的补救或关于如何避免未来问题的建议。
如上所述,嵌入式控制器(图2,202)可以使得操作系统(OS)在计算设备(图2,200)上执行,从而使得执行事件查看器应用(图2,250)。图5是根据本文中描述的原理的一个示例的用户接口(500)的图解,所述用户接口包括与对计算系统(图2,200)的固件的改变相关联的多个事件日志(502)。用户接口(500)可以包括事件列表窗口(502)、事件细节窗口(504)、动作窗口(506)和事件查看器浏览器窗口(508)。
事件列表窗口(502)包括如在次级非易失性存储器(图2,216)的审计日志(图2,246)中所汇编的那些事件的列表。如上所述,在事件列表窗口(502)中所列出的事件中的每一个包括对何时发生事件进行指示的时间戳(510)。另外,事件中的每一个包括如以上在表组1中所述的事件ID(512)。这些事件ID可以在事件细节窗口(504)中被进一步详述。可以在事件列表窗口(502)中向用户呈现附加字段,诸如指示事件源的源ID(514)。在示例中,所述源可以是嵌入式控制器(图2,202)。可以在事件列表窗口(502)中为每个事件提供的信息的其它示例可以包括指示事件有多严重的事件严重性级别指示符。另外,事件列表窗口(502)可以包括列出了多少事件的数字指示符。此处,事件的数目可以由次级非易失性存储器(图2,216)的存储容量的量以及特别地次级非易失性存储器(图2,216)中分配用于审计日志(246)的存储器的量在数值上限制。
事件细节窗口(504)呈现在事件列表窗口(502)中列出的事件中的每一个的相对更详细的视图。当用户通过使用诸如鼠标之类的输入设备高亮事件时,可以揭示事件细节窗口(504)中的事件中的每一个的这些细节。在示例中,可以在事件细节窗口(504)中重复事件ID(512),具有关于事件ID(512)意味着什么的对应解释(516)。再次地,以上在表组1中呈现了可以被呈现的事件ID(512)中每一个的解释(516)。尽管表组1示出了多个事件ID(512),但是该表组不意图是限制性的,并且可以基于任何数目的侵入类型动作而提供任何数目的事件ID。
动作窗口(506)可以提供用户可以在选择特定动作时发起的任何数目的潜在动作。作为示例,用户可以选择清除动作,所述清除动作清出事件列表窗口(502)中的事件的列表。然而,不是每一个动作都可以全局地作用于事件列表窗口(502)中列出的事件中的每一个。在一个示例中,用户可以选择用以拷贝事件的拷贝事件动作以及可以允许用户相应地作用于事件的其它动作。仍另外地,动作窗口(506)可以允许用户搜遍事件列表窗口(502)中的多个所列事件以便找到用户可能关心的特定事件。
事件查看器浏览器窗口(508)可以允许用户特别地使得在与本文中描述的事件的列举相关联的特定应用的选定时出现事件列表窗口(502)。应用的特定名称可以基于事件查看器应用(图2,250)的开发者的专有命名而变化。然而,在查看器浏览器窗口(508)中,可以在多个其它应用之中列出该事件查看器应用(图2,250)。因而,代替于事件查看器(508)的一般警告或错误级别(WEL),事件将特别地被填充到事件查看器应用(图2,250)中。
事件查看器应用(图2,250)可以此外包括将作为来自SCCM控制台的远程部署的部分被安装的系统中心配置管理器(SCCM)代理。代理可以支持向远程SCCM控制台发送新WEL条目、向远程SCCM控制台报告客户的当前策略设置以及从远程SCCM控制台接收并且应用新的策略设置。这些策略设置可以包括任何数目的可配置策略设置。在示例中,策略可以是经由F10设置或公共WMI可配置的。
策略的示例是在检测对固件的侵入时发生的运行时固件侵入检测动作。另外,用户可以使能重启配置,所述重启配置在检测到侵入时重启计算机系统(图2,200),从而放弃接收运行时通知的能力。该配置也可以被禁用,从而允许用户在没有计算系统(图2,200)自动重启的情况下接收运行时通知。
还可以允许用户配置是否在运行时期间和计算系统的起动时接收通知。运行时通知可以在固件生成的每个检测事件时由OS内的SW显示。“引导时”通知可以由固件在继先前引导期间的一个或多个检测事件之后的任何引导时显示。应当注意到,这些通知(400、401、402)中的任一个可以被提供给用户,而无论是否已经解决了对固件的侵入或改变。另外,可以经由SCCM代理允许用户配置基于所检测的事件的严重性将采取什么动作。例如,用户可以指示:对于没有导致对固件的改变的向SMM固件中的侵入,将向用户呈现通知,所述通知照此进行指示。在示例中,用户可以指示:对于确实导致了对固件的改变的向SMM固件中的侵入,计算系统将重引导。在此外的示例中,用户可以指示:将向用户呈现通知而无论事件的严重性以便允许用户保存数据以及手动重引导计算系统。
本系统和方法的各方面在本文中参考根据本文中描述的原理的示例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图而被描述。流程图图示和框图的每个框,以及流程图图示和框图中框的组合可以由计算机可用的程序代码实现。计算机可用的程序代码可以被提供给通用计算机、专用计算机的处理器或其它可编程数据处理装置以产生机器,使得计算机可用程序代码在经由例如计算系统(200)的处理器(206)或嵌入式控制器(202)或者其它可编程数据处理装置被执行时实现在流程图和/或框图的一个或多个框中所指定的功能或动作。在一个示例中,计算机可用程序代码可以被体现在计算机可读存储介质内;所述计算机可读存储介质是计算机程序产品的部分。在一个示例中,所述计算机可读存储介质是非暂时性计算机可读介质。
说明书和附图描述了在以系统管理模式的运行时期间提供向固件中的侵入的通知的系统和方法。该系统可以在允许主机处理器执行引导块之前验证固件引导块的完整性。系统此外提供在主机处理器执行被毁坏的固件之前修复固件引导块的能力。另外,所述系统允许用户实时地以及在OS的运行时期间被通知向固件中的任何侵入。
在前的描述已经被呈现以说明和描述所述原理的示例。该描述不意在是穷举的或者将这些原理限制于所公开的任何确切形式。鉴于以上教导,许多修改和变型是可能的。

Claims (15)

1.一种用于向用户提供向固件中的侵入的通知的计算机程序产品,包括:
非暂时性计算机可读介质,所述非暂时性计算机可读介质包括以所述介质体现的计算机可用程序代码,以当由处理器执行时在以系统管理模式的运行时期间检测对计算系统的固件的侵入。
2.根据权利要求1所述的计算机程序产品,此外包括计算机可用程序代码,以当由处理器执行时、当检测到所尝试的或成功的对固件的改变的时候或当尝试从其中尚未提供授权以从中执行代码的计算机可读存储器的区域中执行代码的时候经由用户接口向用户提供通知。
3.根据权利要求2所述的计算机程序产品,其中经由操作系统事件查看器日志、即时用户通知、引导通知或其组合而向用户提供通知。
4.根据权利要求1所述的计算机程序产品,包括计算机可用程序代码,以当由处理器执行时执行系统中心配置管理器(SCCM)代理以从计算系统的用户接收多个策略设置。
5.根据权利要求4所述的计算机程序产品,其中所述策略设置包括在检测到侵入时使能计算系统的重启过程;使能运行时通知被呈现给用户;使能向用户呈现关于如何解决侵入的选项的通知,或其组合。
6.根据权利要求3所述的计算机程序产品,其中所述操作系统事件查看器日志通过当计算设备起动时、当计算设备从休眠状态恢复时、当计算设备从睡眠状态恢复时、当经由新日志条目的WMI事件被通知时或其组合的情况下将多个事件日志与审计日志同步累积多个事件日志。
7.根据权利要求1所述的计算机程序产品,其中在操作系统的执行期间发生对固件的侵入的检测。
8.一种用于存记事件并且在运行时期间提供对计算设备上的SMM固件的侵入的通知的方法,包括:
将对在运行时期间对计算设备上的SMM固件的侵入进行描述的事件数据结构存储在计算系统中的非易失性存储器中。
9.根据权利要求8所述的方法,其中嵌入式控制器使得WMI向计算系统的用户呈现事件的通知。
10.根据权利要求9所述的方法,其中事件的通知是向计算系统的固件中的实时侵入的结果。
11.根据权利要求9所述的方法,其中WMI包括WMI提供者堆栈层级上的BIOS WMI提供者以及在WMI消费者层级上的WMI消费者。
12.一种计算机用户接口,其包括:
第一窗口,其指示已经发生向计算系统的SMM固件中的侵入的通知;以及
描述用户将如何获得关于事件的更多细节的指示符。
13.根据权利要求12所述的计算机用户接口,此外包括与第一窗口相关联的事件查看器,其中所述事件查看器包括对向计算系统的固件中的侵入进行描述的多个事件。
14.根据权利要求13所述的计算机用户接口,其中所述多个事件中的每一个包括何时发生事件的时间戳。
15.根据权利要求14所述的计算机用户接口,其中所述多个事件中的每一个包括对在固件的侵入期间发生了什么类型的事件进行指示的事件标识。
CN201680067852.XA 2016-01-25 2016-01-25 向固件中的侵入的通知 Active CN108292342B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2016/014776 WO2017131622A1 (en) 2016-01-25 2016-01-25 Notice of intrusion into firmware

Publications (2)

Publication Number Publication Date
CN108292342A true CN108292342A (zh) 2018-07-17
CN108292342B CN108292342B (zh) 2022-09-06

Family

ID=59398942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680067852.XA Active CN108292342B (zh) 2016-01-25 2016-01-25 向固件中的侵入的通知

Country Status (4)

Country Link
US (1) US11321454B2 (zh)
EP (1) EP3314515B1 (zh)
CN (1) CN108292342B (zh)
WO (1) WO2017131622A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906009A (zh) * 2021-03-09 2021-06-04 南昌华勤电子科技有限公司 工作日志生成方法、计算设备及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11119553B2 (en) * 2017-02-08 2021-09-14 Hewlett-Packard Development Company, L.P. Power state recordation
US11436324B2 (en) 2018-09-27 2022-09-06 Hewlett Packard Enterprise Development Lp Monitoring parameters of controllers for unauthorized modification
US11016755B2 (en) * 2019-07-31 2021-05-25 Dell Products L.P. System and method to secure embedded controller flashing process
JP2022114778A (ja) * 2021-01-27 2022-08-08 セイコーエプソン株式会社 電子機器及び電子機器の制御方法
US11797682B2 (en) * 2021-07-14 2023-10-24 Dell Products L.P. Pre-OS resiliency

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086523A1 (en) * 2003-10-15 2005-04-21 Zimmer Vincent J. Methods and apparatus to provide network traffic support and physical security support
US20070033273A1 (en) * 2005-04-15 2007-02-08 White Anthony R P Programming and development infrastructure for an autonomic element
CN101201749A (zh) * 2006-09-21 2008-06-18 英特尔公司 高完整性固件
CN101473333A (zh) * 2006-06-21 2009-07-01 威步系统股份公司 入侵检测的方法和系统
CN102263773A (zh) * 2010-05-25 2011-11-30 腾讯科技(深圳)有限公司 实时防护的方法和装置
CN102609040A (zh) * 2012-01-12 2012-07-25 北京国基科技股份有限公司 一种面向加固的国产计算机及其安全bios工作方法
US20130013905A1 (en) * 2011-07-07 2013-01-10 Held James P Bios flash attack protection and notification
US20130339713A1 (en) * 2012-06-18 2013-12-19 Hon Hai Precision Industry Co., Ltd. Electronic device and method for verifying firmware of the electronic device
CN104040550A (zh) * 2011-10-18 2014-09-10 迈可菲公司 集成安全策略和事件管理
WO2014175864A1 (en) * 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Event data structure to store event data
CN104704478A (zh) * 2012-06-06 2015-06-10 英特尔公司 输入/输出错误遏制事件后的恢复
CN104937605A (zh) * 2013-01-21 2015-09-23 三菱电机株式会社 攻击分析系统、协作装置、攻击分析协作方法和程序

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1253585C (zh) 2003-09-30 2006-04-26 成都夸常科技有限公司 毛细腔室芯片、毛细芯片及芯片元件及装置
US20090172639A1 (en) * 2007-12-27 2009-07-02 Mahesh Natu Firmware integrity verification
US8185353B2 (en) * 2008-04-08 2012-05-22 Microsoft Corporation Determining computer system usage from logged events
EA201291261A1 (ru) * 2010-05-27 2013-06-28 Байер Интеллектуэль Проперти Гмбх Гетероциклические производные алканола в качестве фунгицидов
US9384112B2 (en) * 2010-07-01 2016-07-05 Logrhythm, Inc. Log collection, structuring and processing
US9411395B2 (en) 2013-04-18 2016-08-09 Intel Corporation Method and apparatus to control current transients in a processor
US8910283B1 (en) 2013-11-21 2014-12-09 Kaspersky Lab Zao Firmware-level security agent supporting operating system-level security in computer system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086523A1 (en) * 2003-10-15 2005-04-21 Zimmer Vincent J. Methods and apparatus to provide network traffic support and physical security support
US20070033273A1 (en) * 2005-04-15 2007-02-08 White Anthony R P Programming and development infrastructure for an autonomic element
CN101473333A (zh) * 2006-06-21 2009-07-01 威步系统股份公司 入侵检测的方法和系统
CN101201749A (zh) * 2006-09-21 2008-06-18 英特尔公司 高完整性固件
CN102263773A (zh) * 2010-05-25 2011-11-30 腾讯科技(深圳)有限公司 实时防护的方法和装置
US20130013905A1 (en) * 2011-07-07 2013-01-10 Held James P Bios flash attack protection and notification
CN104040550A (zh) * 2011-10-18 2014-09-10 迈可菲公司 集成安全策略和事件管理
CN102609040A (zh) * 2012-01-12 2012-07-25 北京国基科技股份有限公司 一种面向加固的国产计算机及其安全bios工作方法
CN104704478A (zh) * 2012-06-06 2015-06-10 英特尔公司 输入/输出错误遏制事件后的恢复
US20130339713A1 (en) * 2012-06-18 2013-12-19 Hon Hai Precision Industry Co., Ltd. Electronic device and method for verifying firmware of the electronic device
CN104937605A (zh) * 2013-01-21 2015-09-23 三菱电机株式会社 攻击分析系统、协作装置、攻击分析协作方法和程序
WO2014175864A1 (en) * 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Event data structure to store event data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906009A (zh) * 2021-03-09 2021-06-04 南昌华勤电子科技有限公司 工作日志生成方法、计算设备及存储介质

Also Published As

Publication number Publication date
US11321454B2 (en) 2022-05-03
CN108292342B (zh) 2022-09-06
EP3314515A4 (en) 2019-01-23
EP3314515A1 (en) 2018-05-02
WO2017131622A1 (en) 2017-08-03
US20180232521A1 (en) 2018-08-16
EP3314515B1 (en) 2020-03-18

Similar Documents

Publication Publication Date Title
TWI530790B (zh) 系統啓動碼恢復方法、運算系統、及供於系統中使用之控制器
CN108292342A (zh) 向固件中的侵入的通知
EP3036623B1 (en) Method and apparatus for modifying a computer program in a trusted manner
CN105122258B (zh) 对系统进行配置的方法、计算系统以及物品
US7809821B2 (en) Trust evaluation
US7845010B2 (en) Terminal control apparatus and terminal control method
US20090077367A1 (en) Managing reboot operations
CN102880828A (zh) 一种针对虚拟化支撑环境的入侵检测与恢复系统
WO2015164576A1 (en) Method for completing a secure erase operation
US9448888B2 (en) Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank
US11947675B2 (en) Restoration of firmware subsystems based on manufacturing states
CN113467981A (zh) 异常处理的方法和装置
US20140006854A1 (en) Resolution of System Hang due to Filesystem Corruption
JP2008003691A (ja) 計算機のプロセス回復方法、チェックポイントリスタートシステム
US11537712B2 (en) Security system, storage medium storing computer program, and data diagnostic method
US20200167463A1 (en) Out-of-Band Content Analysis
JP6041727B2 (ja) 管理装置、管理方法及び管理プログラム
CN111258805B (zh) 一种服务器的硬盘状态监控方法、设备和计算机设备
CN115577347B (zh) 驱动程序防护方法及装置
US20240134720A1 (en) Apparatus, and method
US20230126244A1 (en) Method, electronic device, and computer program product for managing operating system
CN110737546B (zh) 一致性快照的检验方法、装置、设备及存储介质
CN115640552A (zh) 一种Linux操作系统防盗用的方法、装置、设备和介质
JP2012185547A (ja) 改ざん検出装置、監視システム、改ざん検出方法、およびプログラム
CN107451035A (zh) 用于计算机装置的错误状态数据提供方法

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