CN110245495B - Bios校验方法、配置方法、设备及系统 - Google Patents
Bios校验方法、配置方法、设备及系统 Download PDFInfo
- Publication number
- CN110245495B CN110245495B CN201810195807.3A CN201810195807A CN110245495B CN 110245495 B CN110245495 B CN 110245495B CN 201810195807 A CN201810195807 A CN 201810195807A CN 110245495 B CN110245495 B CN 110245495B
- Authority
- CN
- China
- Prior art keywords
- setting information
- bios
- bios setting
- server
- verified
- 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.)
- Active
Links
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
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种BIOS校验方法、配置方法、设备及系统,在本申请实施例中,基于服务器处于可信状态时的待校验BIOS设置信息的初始取值,来配置待校验BIOS设置信息的基准度量值并写入服务器对应的安全芯片中;在服务器工作过程中,根据安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,从而,为BIOS代码的校验提供了可信的基石,保证BIOS代码的校验可成功进行,进而更好地支持服务器的可信环境。
Description
技术领域
本申请涉及计算机固件安全技术领域,尤其涉及一种BIOS校验方法、配置方法、设备及系统。
背景技术
基本输入输出系统(Basic Input Output System,BIOS)是一组固化到计算机主板上的只读存储(Read-Only Memory,ROM)芯片上的程序,它保存着计算机最重要的基本输入输出程序、开机后自检程序和系统自启动程序等,主要用于初始化硬件、启动操作系统和管理计算机资源,是连接计算机基础硬件和系统软件的桥梁。
在没有安全保护的情况下,病毒、蠕虫和木马程序等很容易侵扰BIOS代码,破坏BIOS代码的完整性,这会带来一系列问题,例如计算机主板无法正常运行,计算机上的业务无法开展等。目前,通常采用国际可信计算组(Trusted Computing Group,TCG)的BIOS度量方案、因特尔(Intel)的可信执行技术(Trusted Execution Technology,TXT)技术或者Intel的软件防护扩展指令(Software Guard Extensions,SGX)等验证BIOS代码的完整性。
但是,这些方案不够完善,有可能无法成功地对BIOS代码进行校验,给攻击者提供了破坏BIOS代码完整性的可乘之机。
发明内容
本申请的多个方面提供一种BIOS校验方法、配置方法、设备及系统,用以完善对BIOS代码的校验,提高计算机环境的安全性。
本申请实施例提供一种BIOS校验方法,包括:
当校验触发事件发生时,基于服务器对应安全芯片中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息;
根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值;
从所述安全芯片中读取所述待校验BIOS设置信息的基准度量值;
根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验。
本申请实施例还提供一种BIOS配置方法,包括:
将用于标识服务器的待校验BIOS设置信息的BIOS配置信息写入所述服务器对应的安全芯片中;
根据所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值,计算所述待校验BIOS设置信息的基准度量值;
将所述待校验BIOS设置信息的基准度量值写入所述安全芯片,以对所述待校验BIOS设置信息进行校验。
本申请实施例还提供一种监控设备,包括:存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
在校验触发事件发生时,基于服务器对应安全芯片中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息;
根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值;
通过所述通信组件从所述安全芯片中读取所述待校验BIOS设置信息的基准度量值;
根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验。
本申请实施例还提供一种服务器,包括:存储器、处理器以及安全芯片;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器和所述安全芯片耦合,用于执行所述计算机程序,以用于:
在校验触发事件发生时,基于服务器对应安全芯片中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息;
根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值;
从所述安全芯片中读取所述待校验BIOS设置信息的基准度量值;
根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验。
本申请实施例还提供一种配置设备,包括:存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
通过所述通信组件将用于标识服务器的待校验BIOS设置信息的BIOS配置信息写入所述服务器对应的安全芯片中;
根据所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值,计算所述待校验BIOS设置信息的基准度量值;
通过所述通信组件将所述待校验BIOS设置信息的基准度量值写入所述安全芯片,以对所述待校验BIOS设置信息进行校验。
本申请实施例还提供一种BIOS校验系统,包括:配置设备以及服务器,所述配置设备与所述服务器通信连接;
所述配置设备,用于将用于标识所述服务器的待校验BIOS设置信息的BIOS配置信息写入所述服务器对应的安全芯片中,根据所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值,计算所述待校验BIOS设置信息的基准度量值,并将所述待校验BIOS设置信息的基准度量值写入所述安全芯片,以供所述服务器对所述待校验BIOS设置信息进行校验;
所述服务器,用于在校验触发事件发生时,基于服务器对应安全芯片中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息;根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值;从所述安全芯片读取所述待校验BIOS设置信息的基准度量值;根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验。
本申请实施例还提供一种BIOS校验系统,包括:配置设备、监控设备以及服务器,所述服务器分别与所述配置设备和所述监控设备通信连接;
所述配置设备,用于将用于标识所述服务器的待校验BIOS设置信息的BIOS配置信息写入所述服务器对应的安全芯片中,根据所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值,计算所述待校验BIOS设置信息的基准度量值,并将所述待校验BIOS设置信息的基准度量值写入所述安全芯片,以供所述监控设备对所述待校验BIOS设置信息进行校验;
所述监控设备,用于在校验触发事件发生时,基于服务器对应安全芯片中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息;根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值;从所述安全芯片读取所述待校验BIOS设置信息的基准度量值;根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验。
在本申请实施例中,基于服务器处于可信状态时的待校验BIOS设置信息的初始取值,来配置待校验BIOS设置信息的基准度量值并写入服务器对应的安全芯片中;在服务器工作过程中,根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,从而,为BIOS代码的校验提供了可信的基石,保证BIOS代码的校验可成功进行,进而更好地支持服务器的可信环境。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的一种BIOS校验系统的结构示意图;
图2为本申请一示例性实施例提供的另一种BIOS校验系统的结构示意图;
图3为本申请另一示例性实施例提供的一种BIOS配置方法的流程示意图
图4为本申请另一示例性实施例提供的另一种BIOS配置方法的流程示意图;
图5为本申请另一示例性实施例提供的又一种BIOS配置方法的流程示意图;
图6为本申请另一示例性实施例提供的又一种BIOS配置方法的流程示意图;
图7为本申请又一示例性实施例提供的一种BIOS校验方法的流程示意图;
图8为本申请又一示例性实施例提供的另一种BIOS校验方法的流程示意图;
图9为本申请又一示例性实施例提供的又一种BIOS校验方法的流程示意图;
图10a为本申请又一示例性实施例提供的一种配置装置的结构示意图;
图10b为本申请又一示例性实施例提供的一种配置设备的结构示意图;
图11a为本申请又一示例性实施例提供的另一种业务装置的结构示意图;
图11b为本申请又一示例性实施例提供的另一种服务器的结构示意图
图12a为本申请又一示例性实施例提供的又一种监控装置的结构示意图;
图12b为本申请又一示例性实施例提供的又一种监控设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,通常采用TCG的BIOS度量方案、Intel的TXT技术或者Intel的SGX等方案验证BIOS代码的完整性,但是,这些方案不够完善,有可能无法成功地对BIOS代码进行校验,给攻击者提供了破坏BIOS代码完整性的可乘之机。针对现有技术存在的问题,在本申请一些实施例中,基于服务器处于可信状态时的待校验BIOS设置信息的初始取值,来配置待校验BIOS设置信息的基准度量值并写入服务器对应的安全芯片中;在服务器工作过程中,根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,从而,为BIOS代码的校验提供了可信的基石,保证BIOS代码的校验可成功进行,进而更好地支持服务器的可信环境。
图1为本申请一示例性实施例提供的一种BIOS校验系统的结构示意图。如图1所示,该系统包括:配置设备10以及服务器20,配置设备10与服务器20通信连接。服务器20可以是一个或多个。可选地,若服务器20为多个,则多个服务器20可以构成一业务集群11。
配置设备10与服务器20之间可以是无线或有线网络连接。在本实施例中,若配置设备10通过移动网络与服务器20通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax甚至未来即将出现的新网络制式等中的任意一种。
其中,服务器20可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。对配置设备10,在一些可选实施方式中,可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备,或者,在另一些可选实施方式中,可以是个人计算机、台式计算机、平板电脑、智能手机等终端设备。
根据应用场景的不同,服务器20所实现的业务功能也会有所不同。例如,服务器20可以是提供电子邮件收发业务的电子邮件服务器,或者,也可以是提供即时通讯业务的即时通讯服务器,或者,还可以是电子商务领域中提供网上购物业务的网购服务器,等等。其中,网购服务器主要是指在网络虚拟环境中进行交易处理的服务器,通常是指利用网络进行线上商品交易的服务器,例如可以是各电商平台或线上交易网站的交易服务器,也可以是第三方服务器。
在本实施例中,服务器20包含BIOS代码(即BIOS固件),BIOS代码的完整性一定程度上决定着服务器20能够正常运行。为了保证BIOS代码的完整性,服务器20可以通过BIOS设置信息来配置采用何种安全度量方案,并通过配置的安全度量方案来验证BIOS代码的完整性。可选地,服务器20可以采用的安全度量方案包括但不限于:TCG的BIOS度量方案、Intel的TXT技术和/或Intel的SGX方案。
进一步,在本实施例中,为了避免BIOS设置信息被恶意修改,保证安全度量方案的可用性,在将服务器20交付给业务方使用之前,可以确定一些待校验BIOS设置信息,并通过对这些待校验BIOS设置信息进行校验,来保证这些待校验BIOS设置信息未被修改,从而,为BIOS代码的校验提供可信的基石,保证BIOS代码的校验可成功地进行,进而更好地支持服务器20的可信环境。
可选地,待校验BIOS设置信息可以是不允许被特定权限篡改的BIOS设置信息。特定权限和对应的待校验BIOS设置信息可根据业务需求适应性设定。
关于特定权限:可以是任何原本能够修改BIOS设置信息的权限,例如可以是操作系统中的根(root)权限。在本实施例中,将禁止特定权限,例如root权限对待校验BIOS设置信息进行修改,即特定权限不应该修改待校验BIOS设置信息。值得说明的是,待校验BIOS设置信息不仅不允许被特定权限进行修改,而且也不允许被级别低于特定权限且原本能够修改BIOS设置信息的其它权限进行修改。
关于待校验BIOS设置信息:例如,若服务器20采用TCG的BIOS度量方案、Intel的TXT技术和/或Intel的SGX方案验证BIOS代码的完整性,则在BIOS设置信息中TCG的BIOS度量方案、Intel的TXT技术和/或Intel的SGX方案应该被设置为使能,为了避免TCG的BIOS度量方案、Intel的TXT技术和/或Intel的SGX方案被非法禁用,可将使能TCG的BIOS度量方案、Intel的TXT技术和/或Intel的SGX方案的设置信息设定为待校验BIOS设置信息。可选地,可将使能TCG的BIOS度量方案的设置信息称为安全装置(Security Device)设置信息;可将使能Intel的TXT技术的设置信息称为Intel TXT支持(Intel TXT Support)设置信息;可将使能Intel的SGX方案的设置信息称为软件防护扩展指令(SWGuard Extensions)设置信息。
当然,还可根据业务需求将启动顺序(Boot Option)、安全启动(Secure Boot)或者TPM清空(TPM Clear)等等设置信息配置为待校验BIOS设置信息。
在本实施例中,为服务器20增设安全芯片30,并由配置设备10将待校验BIOS设置信息以及相关的基准度量值写入安全芯片30中,为后续对这些待校验BIOS设置信息进行校验提供基础。
其中,配置设备10主要用于将用于标识服务器20的待校验BIOS设置信息的BIOS配置信息写入服务器20对应的安全芯片30中,根据待校验BIOS设置信息在服务器20处于可信状态时的初始取值,计算待校验BIOS设置信息的基准度量值,并将待校验BIOS设置信息的基准度量值写入安全芯片30,以供服务器20对待校验BIOS设置信息进行校验。
在服务器20交付给业务方使用之后,为了保证可信环境,服务器20可在校验触发事件的触发下,基于安全芯片30中的BIOS配置信息以及基准度量值对待校验BIOS设置信息进行校验。
其中,校验触发事件可根据业务需求适应性设定。校验触发事件可以是一个或多个。对服务器20来说,校验触发事件可以是内部事件,也可以是外部事件。这些内部或外部的校验触发事件,例如可以是定时事件、周期性事件、开机事件或服务器20提供业务过程中由业务逻辑触发的一些事件等。
其中,服务器20主要用于在校验触发事件发生时,基于业务服务20器对应安全芯片30中存储的BIOS配置信息,确定服务器20的待校验BIOS设置信息;根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值;从安全芯片30读取待校验BIOS设置信息的基准度量值;根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验。
可选地,如图1所示,安全芯片30可以作为服务器20的一个子模块,内置于服务器20实现。或者,在另一些可选实施方式中,安全芯片30也可以独立于服务器20实现(图1未示出)。当安全芯片30独立于服务器20实现时,服务器20和安全芯片30之间可以是无线或有线网络连接。在本实施例中,若安全芯片30通过移动网络与服务器20通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax等中的任意一种。
其中,安全芯片30主要用于存储服务器20的BIOS配置信息以及待校验BIOS设置信息的基准度量值等数据,且可保证这些数据的安全,也就是安全芯片30可保证服务器20的BIOS配置信息以及待校验BIOS设置信息的基准度量值不被篡改。在一种可实现方式中,安全芯片30可采用可信平台模块(Trusted Platform Model,TPM)来实现存储和数据安全功能。
在本实施例中,配置设备基于服务器处于可信状态时待校验BIOS设置信息的初始取值,来配置待校验BIOS设置信息的基准度量值并写入服务器对应的安全芯片中;服务器在校验触发事件的触发下,可根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,从而,为BIOS代码的校验提供了可信的基石,保证BIOS代码的校验可成功进行,进而更好地支持服务器的可信环境。
在一些可选实施例中,配置设备10在为服务器20配置BIOS配置信息的过程中,可将待校验BIOS设置信息作为BIOS配置信息或部分BIOS配置信息,写入安全芯片30中。其中,将待校验BIOS设置信息写入安全芯片的方式包括:可将待校验BIOS设置信息以白名单的方式写入服务器20对应的安全芯片30中,也可以列表的形式写入安全芯片30中。对服务器20来说,可以读取安全芯片30中白名单或列表中的BIOS设置信息作为待校验BIOS设置信息。或者,
在另一些可选实施例中,配置设备10也可将除待校验BIOS设置信息之外的其它BIOS设置信息以黑名单的方式写入服务器20对应的安全芯片30。对服务器20来说,可以读取安全芯片30中黑名单中的BIOS设置信息,并将本地所有BIOS设置信息与从黑名单中读取的BIOS设置信息进行比较,确定出本地BIOS设置信息中不同于从黑名单中读取的BIOS设置信息之外的其它BIOS设置信息,作为待校验BIOS设置信息。
在另一些可选实施例中,配置设备10还可将待校验BIOS设置信息对应的标识、编码等能够唯一体现待校验BIOS设置信息的信息作为BIOS配置信息,并将这些信息写入安全芯片30中。对服务器20来说,可解读BIOS配置信息,从而获知待校验BIOS设置信息。
值得说明的是,本申请实施例并不限定配置BIOS配置信息的方式,凡是可以供服务器20区分出待校验BIOS设置信息的配置方式均适用于本申请实施例。
在一些可选实施例中,配置设备10在为服务器20配置待校验BIOS设置信息的基准度量值的过程中:
可使用BIOS配置工具在服务器20处于可信状态时从服务器20中导出BIOS设置信息,例如,可以在服务器20首次开机时从服务器20中导出BIOS设置信息,或者在服务器20恢复至出厂设置时从服务器20中导出BIOS设置信息。BIOS配置工具可以是AMI设置控制环境(AMI Setup Control Environment,AMISCE)或者Intel系统配置实用程序(SYSCFG)等。
例如,使用AMISCE工具时,可使用指令sudo./SCELNX_64/o/s nvram.txt,将服务器20处于可信状态时的BIOS设置信息导出至nvram.txt文本。nvram.txt文本的一种示例如下:
Setup Question=Security Device
Token=1A//Do NOT Change this line
Offset=0C
Width=01
BIOS Default=[01]Enable
Options=[00]Disable//Move“*”to the desired Option
*[01]Enable
上述文本示例主要描述了以下信息:设置信息为Security Device,该BIOS设置信息的设定值为“使能(Enable)”,另外的选项值为“禁止使能(Disable)”,“*”用于标记出该BIOS设置信息的所需值,该BIOS设置信息的所需值为“Enable”。
进而,从导出的BIOS设置信息中提取待校验BIOS设置信息在服务器20处于可信状态时的初始取值。承接nvram.txt文本示例,待校验BIOS设置信息为Security Device,该待校验BIOS设置信息的初始取值为使能(Enable)。
基于提取到的待校验BIOS设置信息的初始取值,配置设备10可采用哈希算法计算待校验BIOS设置信息的基准度量值,哈希算法可采用SHA-1算法、SHA-256算法或者SM3算法等等。
在一种可选实施方式中,利用哈希算法计算基准度量值的方式为:将这些待校验BIOS设置信息在服务器20处于可信状态时的初始取值作为整体进行哈希计算,将哈希计算的结果作为待校验BIOS设置信息的基准度量值。例如,假设待校验BIOS设置信息包括A、B和C,各自初始取值分别为VA、VB和VC,则待校验BIOS设置信息A、B和C的基准度量值=Hash(VA,VB,VC),即三个待校验BIOS设置信息对应同一基准度量值。这样,在服务器20对待校验BIOS设置信息进行校验时,可以从安全芯片30中读取一个基准度量值,并将待校验BIOS设置信息的当前取值作为整体进行哈希计算,将哈希计算的结果作为待校验BIOS设置信息的当前度量值;然后根据当前度量值和基准度量值对待校验BIOS设置信息进行校验。当待校验BIOS设置信息中的任意一项发生变化时,当前度量值将与基准度量值不相同,因此,若当前度量值与基准度量值不相同,可以确定待校验BIOS设置信息未通过校验;反之,可以确定待校验BIOS设置信息通过校验。
当然,除采用上述计算方式基准度量值之外,还可采用其它计算方式计算待校验BIOS设置信息的基准度量值。例如,可针对每一项待校验BIOS设置信息分别计算基准度量值。例如,假设待校验BIOS设置信息包括A、B和C,各自初始取值分别为VA、VB和VC,则待校验BIOS设置信息A的基准度量值=Hash(VA),待校验BIOS设置信息B的基准度量值=Hash(VB),待校验BIOS设置信息C的基准度量值=Hash(VC)。这样,在服务器20对待校验BIOS设置信息进行校验时,可以从安全芯片30中读取各个待校验BIOS设置信息各自对应的基准度量值,并对各个待校验BIOS设置信息的当前取值分别进行哈希计算,获得各个待校验BIOS设置信息的当前度量值;根据各个待校验BIOS设置信息各自的当前度量值和基准度量值对各个待校验BIOS设置信息进行校验。例如,对每个待校验BIOS设置信息来说,当当前度量值和基准度量值相同时,可确定该待校验BIOS设置信息通过校验;当当前度量值和基准度量值不相同时,可确定该待校验BIOS设置信息未通过校验;进而根据每个待校验BIOS设置信息的校验结果获得待校验BIOS设置信息的整体校验结果。在该实施方式中,服务器20不仅可确定出待校验BIOS设置信息是否通过校验,甚至可以在未通过校验的情况下进一步确定出是哪一项待校验BIOS设置信息未通过校验。
可选地,在上述服务器20计算待校验BIOS设置信息的当前度量值的过程中,也可以使用BIOS配置工具导出当前的BIOS设置信息,然后从导出的BIOS设置信息中提取待校验BIOS设置信息的当前取值。例如,使用AMISCE工具时,可使用指令sudo./SCELNX_64/o/snvram.txt,将服务器20处于可信状态时的BIOS设置信息导出至nvram.txt文本。
另外,在上述服务器20采用哈希算法计算待校验BIOS设置信息的当前度量值的过程中,可采用与配置设备10相同的哈希算法,例如,可以是SHA-1算法、SHA-256算法或者SM3算法等等。
安全芯片30中的待校验BIOS设置信息的基准度量值,除了可以按照上述实施例中的哈希算法计算获得,还可以是服务器处于可信状态时的待校验BIOS设置信息的初始取值,或者是根据其他算法计算获得的特征值,等等可信取值,本申请实施例对此不作限定。对配置设备10来说,可将任意一种方式计算出的可信取值作为待校验BIOS设置信息的基准度量值写入安全芯片30,对于服务器20来说,则可以按照相同的方式计算待校验BIOS设置信息的当前度量值,并据此完成后续的待校验BIOS设置信息的校验过程。
在本实施例中,配置设备基于服务器处于可信状态时的待校验BIOS设置信息的初始取值配置待校验BIOS设置信息的基准度量值并写入服务器对应的安全芯片中;服务器在校验触发事件的触发下,可根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,使得攻击者无法通过篡改待校验BIOS设置信息的方式来破坏服务器的硬件可信环境,而在保证服务器的硬件可信环境的基础上,服务器可配置TCG的BIOS度量方案、Intel的TXT技术或者Intel的SGX等方案对BIOS代码进行校验,可更加顺利地、更加完善地进行BIOS代码的校验,进而更好地支持服务器的可信环境。在一些示例性实施例中,安全芯片30至少包括第一存储区和第二存储区。第一存储区是配置有读权限的存储区,即具有权限的用户才能从该存储区中读取数据;第二存储区是配置有写权限的存储区,即具有权限的用户才能向该存储区写入数据,从而保证写入数据的可靠性。
基于上述,配置设备10可将待校验BIOS设置信息作为BIOS配置信息写入安全芯片30的第一存储区中,例如,可将记录待校验BIOS设置信息的白名单存储至安全芯片30的第一存储区;以及基于写权限密钥,将待校验BIOS设置信息的基准度量值写入安全芯片30的第二存储区中。配置设备10具有该写权限密钥。其中,第一存储区主要用于存储BIOS配置信息,且没有读权限的用户无法从第一存储区中读取BIOS配置信息,由此可见,基于第一存储区的读权限特性可以保护待校验BIOS设置信息不会被攻击者获取或篡改。第二存储区主要用于存储待校验BIOS设置信息的基准度量值,且没有写权限的用户无法将该基准度量值写入第二存储区,由此可见,基于第二存储区的写权限可以保护基准度量值不会被篡改或清空。此处的“第一”、“第二”仅用来区分安全芯片30的两个不同的存储区,“第一”以及“第二”并不具备其他任何含义。
在一些可选实施方式中,第二存储区的写权限密钥对配置设备10是可知的,而对服务器20等其它使用对象来说是未知的,即服务器20等其他使用对象可以从第二存储区中读数据,但不能向第二存储区写入数据。这保证了待校验BIOS设置信息的基准度量值的安全性。
值得说明的是,安全芯片30可以有不同的实现方式,相应地,第一存储区和第二存储区也会有不同实现方式。例如,安全芯片30可以采用上文提及的TPM芯片,此时,第一存储区可以是TPM芯片的平台配置寄存器(Platform Configuration Registers,PCR),第二存储区可以是TPM芯片的非易失性存储空间(Non-Volatile Storage)。
在一示例性实施例中,安全芯片30的第一存储区除了配置有读权限之外,还可以配置写权限。基于此,配置设备10在将BIOS配置信息写入第一存储区时,可判断安全芯片30的第一存储区是否配置有写权限,当安全芯片30的第一存储区配置有写权限时,配置设备10可基于第一存储区对应的写权限密钥将BIOS配置信息写入第一存储区;当第一存储区未配置有写权限时,配置设备10可直接将BIOS配置信息写入第一存储区。
进一步可选地,除待校验BIOS设置信息外,配置设备10还可将待校验BIOS设置信息在服务器20处于可信状态时的初始取值写入安全芯片30的第一存储区中,以便服务器20在待校验BIOS设置信息未通过校验时,基于该初始取值对待校验BIOS设置信息进行恢复。同样,第一存储区可保护服务器20处于可信状态时的初始取值不会被攻击者获取或篡改,因此,可保证服务器20以安全的初始取值来恢复待校验BIOS设置信息。
其中,服务器20处于可信状态时的初始取值,可以是待校验BIOS设置信息在服务器20第一次进入操作系统时的取值,或者可以是在服务器20恢复至出厂设置后再次进入操作系统时的取值,也即是,待校验BIOS设置信息的初始取值是待校验BIOS设置信息在服务器20处于理想地可信状态时获取到的取值。
据此,安全芯片30的第一存储区内至少存储有BIOS配置信息以及服务器20处于可信状态时的初始取值。另外,安全芯片30面向服务器20提供查询服务。为避免攻击者破坏安全芯片30内的数据安全,配置设备10可将第一存储区的读权限密钥发送至服务器20,其中,安全芯片30的第一存储区的读权限密钥可以是安全芯片30自带的相关密钥,也可以由配置设备10进行设置。
对于服务器20来说,可接收配置设备10预先发送的读权限密钥,并可在校验触发事件发生时,基于该读权限密钥从安全芯片30的第一存储区中读取BIOS配置信息,并执行后续操作完成对待校验BIOS设置信息的校验。
进一步可选地,服务器20还可以基于读权限密钥从安全芯片30的第一存储区中读取待校验BIOS设置信息的初始取值,并在确定待校验BIOS设置信息未通过校验时,将待校验BIOS设置信息还原为读取到的初始取值。需要说明的是,服务器20使用的读权限密钥可以由配置设备10下发,也可以由管理人员口头传达并输入服务器20,本实施例并不限定服务器20获得的读权限密钥的方式。
在上述实施例中,配置设备10将待校验BIOS设置信息的基准度量值写入安全芯片30的第二存储区,可保证待校验BIOS设置信息的基准度量值的安全性,从而为服务器20的待校验BIOS设置信息的校验过程提供安全的校验基准;而且,服务器20通过读权限密钥才能读取安全芯片30的第一存储区内的待校验BIOS设置信息以及待校验BIOS设置信息的初始取值,因此,可避免攻击者盗取这些数据而达到恶意目的。
在一些示例性实施例中,在服务器20获得待校验BIOS设置信息的校验结果后,可基于校验结果对待校验BIOS设置信息执行相关操作。当待校验BIOS设置信息通过校验时,证明待校验BIOS设置信息未被攻击,服务器20可根据待校验BIOS设置信息设置的BIOS可信度量方案对BIOS代码进行校验。当待校验BIOS设置信息未通过校验,则证明待校验BIOS设置信息被攻击,服务器20当前的硬件可信环境遭到了破坏,待校验BIOS设置信息设置的BIOS可信度量方案可能被禁用,导致后续的BIOS代码校验过程失去了可信基础,无法成功执行。
针对待校验BIOS设置信息未通过校验的情况,服务器20至少可采用以下两种方式进行待校验BIOS设置信息的处理。
第一种方式:当确定待校验BIOS设置信息未通过校验时,从安全芯片30的第一存储区读取待校验BIOS设置信息的初始取值,并将待校验BIOS设置信息还原为该初始取值。
第二种方式:当确定待校验BIOS设置信息未通过校验时,执行攻击检测,当检测到恶意操作时,隔离发起恶意操作的用户;然后从安全芯片30的第一存储区读取待校验BIOS设置信息的初始取值,并将待校验BIOS设置信息还原为该初始取值。
第三种方式:当确定待校验BIOS设置信息未通过校验时,从安全芯片30的第一存储区读取待校验BIOS设置信息的初始取值,并将待校验BIOS设置信息还原为该初始取值;然后执行攻击检测,当检测到恶意操作时,隔离发起恶意操作的用户。
无论上述哪种方式,当确定待校验BIOS设置信息未通过校验时,服务器20将待校验BIOS设置信息恢复为初始取值,为后续的BIOS代码校验过程提供了基础。
在上述第二种方式和第三种方式中,执行攻击检测以及在检测到恶意操作时隔离发起恶意操作的用户的一种实施方式包括:从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作;当针对待校验BIOS设置信息的修改操作为恶意操作时,隔离发起恶意操作的用户。
其中,特定权限是指原本对待校验BIOS设置信息具有修改权限但被禁止对该待校验BIOS设置信息进行修改的用户。例如,对OS系统来说可以是具有root权限的用户,对于Windows系统来说,可以是admin用户。
其中,操作日志可存储在安全芯片30的第一存储区,或者,也可存储在其它存储空间。操作日志用于记录针对BIOS设置信息的操作历史,其中可包括操作时间、发起操作的用户名、操作内容、操作次数等信息。判断修改操作是否为恶意操作时,可根据操作日志中的操作次数,当操作次数大于预设阈值时,定义为恶意操作,当然还可采用其它手段,本实施例不作限定。
在隔离发起恶意操作的用户时,可强制将该用户踢下线,或者可以将该用户的权限降低为普通权限,或者将服务器20下线检查,而将备用服务器上线等等,当然还可采用其它手段,本实施例不作限定。
进一步可选地,在从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作之前,可以隔离具有特定权限的用户(这里的用户包括发起恶意操作的用户),以保证安全性。进而,在确定发起恶意操作的用户之后,可以解除对具有特定权限的用户中除发起恶意操作的用户之外的其它用户的隔离。需要说明的是,若校验触发事件由具有特定权项的用户发起,则发起校验触发事件的用户虽属于具有特定权限的用户,一般认为该用户属于可信用户,不应该被隔离,所以在隔离具有特定权限的用户时,可以隔离除发起校验触发事件的用户之外其它具有特定权限的用户。
针对待校验BIOS设置信息通过校验的情况,服务器20可根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器20的BIOS代码进行校验。
待校验BIOS设置信息可包括BIOS可信度量方案的使能设置。当待校验BIOS设置信息通过校验时,证明待校验BIOS设置信息未被攻击,也就是待校验BIOS设置信息中包含的针对BIOS可信度量方案的使能设置未被篡改过,BIOS可信度量方案具备了可信地实施基础。基于此,服务器20可根据待校验BIOS设置信息设置的BIOS可信度量方案对BIOS代码进行校验。
例如,假设待校验BIOS设置信息设置的BIOS可信度量方案为TCG的BIOS度量方案,度量过程为:
以TPM为可信根,系统启动时由BIOS中的可信度量根核开始,度量BIOS初始引导模块,接着又BIOS出事引导模块度量BIOS主引导模块,BIOS主引导模块度量BIOS其余部分及OS装载器,之后由OS装载器对OS内核进行度量,以此类推,从而最终完成从起点到应用、网络的信任传递过程。
针对TCG的BIOS度量方案,本申请实施例可将使能TCG的BIOS度量方案的BIOS设置信息:安全装置(Security Device),作为待校验BIOS设置信息,并对其进行校验,在确定安全装置(Security Device)未被禁用的基础上,再执行TCG的BIOS度量方案,保证了BIOS代码的校验过程的成功实施。
又例如,假设待校验BIOS设置信息设置的BIOS可信度量方案为Intel的TXT技术,度量过程为:
以CPU中的ACM(Authenticated Code Module)去度量校验BIOS的第一个block,补齐并增强了服务器启动过程中信任链的建立过程,使得服务器平台及系统可以使用硬件技术完成度量和校验功能。
针对Intel的TXT技术,本申请实施例可将使能Intel的TXT技术的BIOS设置信息:Intel TXT支持(Intel TXT Support),作为待校验BIOS设置信息,并对其进行校验,在确定Intel TXT支持(Intel TXT Support)未被禁用的基础上,再执行Intel的TXT技术,保证了BIOS代码的校验过程的成功实施。
再例如,假设待校验BIOS设置信息设置的BIOS可信度量方案为Intel的SGX方案,度量过程为:
将合法软件的安全操作封装在一个enclave中,保护其不受恶意软件的攻击,特权或者非特权的软件都无法访问enclave,也就是说,一旦软件和数据位于enclave中,即便操作系统或者和VMM(Hypervisor)也无法影响enclave里面的代码和数据。
针对Intel的SGX方案,本申请实施例可将使能Intel的SGX方案的BIOS设置信息:软件防护扩展指令(SWGuard Extensions),作为待校验BIOS设置信息,并对其进行校验,在确定软件防护扩展指令(SWGuard Extensions)未被禁用的基础上,再执行Intel的SGX方案,保证了BIOS代码的校验过程的成功实施。在本实施例中,服务器通过攻击检测可排查出恶意攻击的来源及位置,并可通过隔离发起恶意操作的用户来排除安全威胁,进而可在待校验BIOS设置信息恢复至初始取值后,继续保持服务器的硬件环境可信,当待校验BIOS设置信息通过校验时,可根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器的BIOS代码进行校验,进而可成功实现BIOS整体的校验。
图2为本申请一示例性实施例提供的另一种BIOS校验系统的结构示意图。如图2所示,该系统包括:配置设备50、监控设备40以及服务器60,服务器60分别与配置设备50和监控设备40通信连接。服务器60可以是一个或多个。可选地,若服务器60为多个,则多个服务器60可以构成一业务集群12。
配置设备50与服务器60之间、监控设备40与服务器60之间可以是无线或有线网络连接。在本实施例中,若配置设备50或监控设备40通过移动网络与服务器60通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax等中的任意一种。
其中,服务器60可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。关于配置设备50或监控设备40,在一些可选实施方式中,可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备,在另一些可选实施方式中,可以是个人计算机、台式计算机、平板电脑、智能手机等终端设备。
根据应用场景的不同,服务器60所实现的业务功能也会有所不同。例如,服务器60可以是提供电子邮件收发业务的电子邮件服务器,或者,也可以是提供即时通讯业务的即时通讯服务器,或者,还可以是电子商务领域中提供网上购物业务的网购服务器,等等。
在本实施例中,服务器60包含BIOS代码(即BIOS固件),BIOS代码的完整性一定程度上决定着服务器60能够正常运行。为了保证BIOS代码的完整性,可以通过BIOS设置信息来配置采用何种安全度量方案,并通过配置的安全度量方案来验证BIOS代码的完整性。可选地,服务器60可以采用的安全度量方案包括但不限于:TCG的BIOS度量方案、Intel的TXT技术和/或Intel的SGX方案。
其中,待校验BIOS设置信息是指不允许被特定权限篡改的BIOS设置信息。特定权限和对应的待校验BIOS设置信息可根据业务需求适应性设定。
关于特定权限:可以是任何原本能够修改BIOS设置信息的权限,例如可以是操作系统中的根(root)权限。在本实施例中,将禁止特定权限,例如root权限对待校验BIOS设置信息进行修改,即特定权限不应该修改待校验BIOS设置信息。值得说明的是,待校验BIOS设置信息不仅不允许被特定权限进行修改,而且也不允许被级别低于特定权限且原本能够修改BIOS设置信息的其它权限进行修改。
关于待校验BIOS设置信息:例如,若服务器60采用TCG的BIOS度量方案、Intel的TXT技术和/或Intel的SGX方案验证BIOS代码的完整性,则在BIOS设置信息中TCG的BIOS度量方案、Intel的TXT技术和/或Intel的SGX方案应该被设置为使能,为了避免TCG的BIOS度量方案、Intel的TXT技术和/或Intel的SGX方案被非法禁用,可将使能TCG的BIOS度量方案、Intel的TXT技术和/或Intel的SGX方案的设置信息设定为待校验BIOS设置信息。可选地,可将使能TCG的BIOS度量方案的设置信息称为安全装置(Security Device)设置信息;可将使能Intel的TXT技术的设置信息称为Intel TXT支持(Intel TXT Support)设置信息;可将使能Intel的SGX方案的设置信息称为软件防护扩展指令(SWGuard Extensions)设置信息。
当然,还可根据业务需求将启动顺序(Boot Option)、安全启动(Secure Boot)或者TPM清空(TPM Clear)等等设置信息配置为待校验BIOS设置信息。
在本实施例中,为服务器60增设安全芯片70,并由配置设备50将待校验BIOS设置信息以及相关的基准度量值写入安全芯片70中,由监控设备40对这些待校验BIOS设置信息进行校验。
其中,配置设备50主要用于将用于标识服务器60的待校验BIOS设置信息的BIOS配置信息写入服务器60对应的安全芯片70中,根据待校验BIOS设置信息在服务器60处于可信状态时的初始取值,计算待校验BIOS设置信息的基准度量值,并将待校验BIOS设置信息的基准度量值写入安全芯片70,以供监控设备40对待校验BIOS设置信息进行校验。
在服务器60交付给业务方使用之后,为了保证可信环境,监控设备40可在校验触发事件的触发下,基于服务器对应的安全芯片70中的BIOS配置信息以及基准度量值对待校验BIOS设置信息进行校验。
其中,校验触发事件可根据业务需求适应性设定。校验触发事件可以是一个或多个。对监控设备40来说,校验触发事件可以是内部事件,也可以是外部事件。这些内部或外部的校验触发事件,例如可以是定时事件、周期性事件、开机事件或服务器60提供业务过程中由业务逻辑触发的一些事件等。
其中,监控设备40,主要用于在校验触发事件发生时,基于服务器对应安全芯片中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息;根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值;从安全芯片70读取待校验BIOS设置信息的基准度量值;根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验。
可选地,如图2所示,安全芯片70可以作为服务器60的一个子模块,内置于服务器60实现。或者,在另一些可选实施方式中,安全芯片70也可以独立于服务器60实现(图2未示出)。当安全芯片70独立于服务器60实现时,服务器60和安全芯片70之间可以是无线或有线网络连接。在本实施例中,若安全芯片70通过移动网络与服务器60通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax等中的任意一种。
其中,安全芯片70主要用于存储服务器60的BIOS配置信息以及待校验BIOS设置信息的基准度量值等数据,且可保证这些数据的安全,也就是安全芯片70可保证服务器60的BIOS配置信息以及待校验BIOS设置信息的基准度量值不被篡改。在一种可实现方式中,安全芯片70可采用可信平台模块(Trusted Platform Model,TPM)来实现存储和数据安全功能。
在本实施例中,配置设备基于服务器处于可信状态时的待校验BIOS设置信息的初始取值,来配置待校验BIOS设置信息的基准度量值并写入服务器对应的安全芯片中;监控设备在校验触发事件的触发下,可根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,从而,为BIOS代码的校验提供了可信的基石,保证BIOS代码的校验可成功进行,进而更好地支持服务器的可信环境。
在一些可选实施例中,配置设备50在为服务器60配置BIOS配置信息的过程中,可将待校验BIOS设置信息作为BIOS配置信息或部分BIOS配置信息,写入安全芯片中。其中,将待校验BIOS设置信息写入安全芯片的方式包括:将待校验BIOS设置信息以白名单的方式写入服务器60对应的安全芯片70中,也可以列表的形式写入安全芯片70中。对监控设备40来说,可以读取安全芯片70中白名单或列表中的BIOS设置信息作为待校验BIOS设置信息。或者,
在另一些可选实施例中,配置设备50也可将除待校验BIOS设置信息之外的其它BIOS设置信息以黑名单的方式写入服务器60对应的安全芯片70。对监控设备40来说,可以读取安全芯片70中黑名单中的BIOS设置信息,并将服务器的所有BIOS设置信息与从黑名单中读取的BIOS设置信息进行比较,确定出服务器的所有BIOS设置信息中不同于从黑名单中读取的BIOS设置信息之外的其它BIOS设置信息,作为待校验BIOS设置信息。
在另一些可选实施例中,配置设备10还可将待校验BIOS设置信息对应的标识、编码等能够唯一体现待校验BIOS设置信息的信息作为BIOS配置信息,并将这些信息写入安全芯片30中。对服务器20来说,可解读BIOS配置信息,从而获知待校验BIOS设置信息。值得说明的是,本申请实施例并不限定配置BIOS配置信息的方式,凡是可以供监控设备40区分出待校验BIOS设置信息的配置方式均适用于本申请实施例。
在一些可选实施例中,配置设备50在为服务器60配置BIOS配置信息的基准度量值的过程中:
可使用BIOS配置工具在服务器60处于可信状态时从服务器60中导出BIOS设置信息,例如,可以在服务器60首次开机时从服务器60中导出BIOS设置信息,或者在服务器60恢复至出厂设置时从服务器60中导出BIOS设置信息。BIOS配置工具可以是AMI设置控制环境(AMI Setup Control Environment,AMISCE)或者Intel系统配置实用程序(SYSCFG)等。
例如,使用AMISCE工具时,可使用指令sudo./SCELNX_64/o/s nvram.txt,将服务器60处于可信状态时的BIOS设置信息导出至nvram.txt文本。nvram.txt文本的一种示例如下:
Setup Question=Security Device
Token=1A//Do NOT Change this line
Offset=0C
Width=01
BIOS Default=[01]Enable
Options=[00]Disable//Move“*”to the desired Option
*[01]Enable
上述文本示例主要描述了以下信息设置信息为Security Device,该BIOS设置信息的设定值为“Enable”,另外的选项值为“Disable”,“*”用于标记出该BIOS设置信息的所需值,该BIOS设置信息的所需值为“Enable”。
进而,从导出的BIOS设置信息中提取待校验BIOS设置信息在服务器60处于可信状态时的初始取值。承接nvram.txt文本示例,待校验BIOS设置信息为Security Device,该待校验BIOS设置信息的初始取值为使能(Enable)。
基于提取到的待校验BIOS设置信息的初始取值,配置设备50可采用哈希算法计算待校验BIOS设置信息的基准度量值,哈希算法可采用SHA-1算法、SHA-256算法或者SM3算法等等。
在一种可选实施方式中,利用哈希算法计算基准度量值的方式为:将这些待校验BIOS设置信息在服务器60处于可信状态时的初始取值作为整体进行哈希计算,将哈希计算的结果作为待校验BIOS设置信息的基准度量值。例如,假设待校验BIOS设置信息包括A、B和C,各自初始取值分别为VA、VB和VC,则待校验BIOS设置信息A、B和C的基准度量值=Hash(VA,VB,VC),即三个待校验BIOS设置信息对应同一基准度量值。这样,在监控设备40对待校验BIOS设置信息进行校验时,可以从安全芯片70中读取一个基准度量值,并将待校验BIOS设置信息的当前取值作为整体进行哈希计算,将哈希计算的结果作为待校验BIOS设置信息的当前度量值;然后根据当前度量值和基准度量值对待校验BIOS设置信息进行校验。当待校验BIOS设置信息中的任意一项发生变化时,当前度量值将与基准度量值不相同,因此,若当前度量值与基准度量值不相同,可以确定待校验BIOS设置信息未通过校验;反之,可以确定待校验BIOS设置信息通过校验。
当然,除采用上述计算方式基准度量值之外,还可采用其它计算方式计算待校验BIOS设置信息的基准度量值。例如,可针对每一项待校验BIOS设置信息分别计算基准度量值。例如,假设待校验BIOS设置信息包括A、B和C,各自初始取值分别为VA、VB和VC,则待校验BIOS设置信息A的基准度量值=Hash(VA),待校验BIOS设置信息B的基准度量值=Hash(VB),待校验BIOS设置信息C的基准度量值=Hash(VC)。这样,在监控设备40对待校验BIOS设置信息进行校验时,可以从安全芯片70中读取各个待校验BIOS设置信息各自对应的基准度量值,并对各个待校验BIOS设置信息的当前取值分别进行哈希计算,获得各个待校验BIOS设置信息的当前度量值;根据各个待校验BIOS设置信息各自的当前度量值和基准度量值对各个待校验BIOS设置信息进行校验。例如,对每个待校验BIOS设置信息来说,当当前度量值和基准度量值相同时,可确定该待校验BIOS设置信息通过校验;当当前度量值和基准度量值不相同时,可确定该待校验BIOS设置信息未通过校验;进而根据每个待校验BIOS设置信息的校验结果获得待校验BIOS设置信息的整体校验结果。在该实施方式中,监控设备40不仅可确定出待校验BIOS设置信息是否通过校验,甚至可以在未通过校验的情况下进一步确定出是哪一项待校验BIOS设置信息未通过校验。
可选地,在上述监控设备40计算待校验BIOS设置信息的当前度量值的过程中,也可以使用BIOS配置工具导出当前的BIOS设置信息,然后从导出的BIOS设置信息中提取待校验BIOS设置信息的当前取值。例如,使用AMISCE工具时,可使用指令sudo./SCELNX_64/o/snvram.txt,将服务器60处于可信状态时的BIOS设置信息导出至nvram.txt文本。
另外,在上述监控设备40采用哈希算法计算待校验BIOS设置信息的当前度量值的过程中,可采用与配置设备50相同的哈希算法,例如,可以是SHA-1算法、SHA-256算法或者SM3算法等等。在本实施例中,配置设备基于服务器处于可信状态时的待校验BIOS设置信息的初始取值配置待校验BIOS设置信息的基准度量值并写入服务器对应的安全芯片中;监控设备在校验触发事件的触发下,可根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,使得攻击者无法通过篡改待校验BIOS设置信息的方式来破坏服务器的硬件可信环境,而在保证服务器的硬件可信环境的基础上,服务器可配置TCG的BIOS度量方案、Intel的TXT技术或者Intel的SGX等方案对BIOS代码进行校验,可更加顺利地、更加完善地进行BIOS代码的校验,进而更好地支持服务器的可信环境。
安全芯片30中待校验BIOS设置信息的基准度量值,除了可以按照上述实施例中的哈希算法计算获得,还可以是服务器处于可信状态时的待校验BIOS设置信息的初始取值,或者是根据其他算法计算获得的特征值,等等可信取值,本申请实施例对此不作限定。对配置设备10来说,可将任意一种方式计算出的可信取值作为待校验BIOS设置信息的基准度量值写入安全芯片30,对于服务器20来说,则可以按照相同的方式计算待校验BIOS设置信息的当前度量值,并据此完成后续的待校验BIOS设置信息校验过程。
在本实施例中,配置设备基于服务器处于可信状态时的待校验BIOS设置信息的初始取值配置待校验BIOS设置信息的基准度量值并写入服务器对应的安全芯片中;监控设备在校验触发事件的触发下,可根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,使得攻击者无法通过篡改待校验BIOS设置信息的方式来破坏服务器的硬件可信环境,进而更好地支持服务器的可信环境。
在一些示例性实施例中,安全芯片70至少包括第一存储区和第二存储区。第一存储区是配置有读权限的存储区,即具有权限的用户才能从该存储区中读取数据;第二存储区是配置有写权限的存储区,即具有权限的用户才能向该存储区写入数据,从而保证写入数据的可靠性。
基于上述,配置设备50可将待校验BIOS设置信息作为BIOS配置信息写入安全芯片70的第一存储区中,例如,可将记录待校验BIOS设置信息的白名单存储至安全芯片70的第一存储区;以及基于写权限密钥,将待校验BIOS设置信息的基准度量值写入安全芯片70的第二存储区中。配置设备50具有该写权限密钥。其中,第一存储区主要用于存储BIOS配置信息息,且没有读权限的用户无法从第一存储区中读取BIOS配置信息,由此可见,基于第一存储区的读权限特性可以保护待校验BIOS设置信息不会被攻击者获取或篡改。第二存储区主要用于存储待校验BIOS设置信息的基准度量值,且没有写权限的用户无法将该基准度量值写入第二存储区,由此可见,基于第二存储区的写权限可以保护基准度量值不会被篡改或清空。此处的“第一”、“第二”仅用来区分安全芯片70的两个不同的存储区,“第一”以及“第二”并不具备其他任何含义。
在一些可选实施方式中,第二存储区的写权限密钥对配置设备50是可知的,而对监控设备40等其它使用对象来说是未知的,即监控设备40等其他使用对象可以从第二存储区中读数据但不能向第二存储区写入数据。这保证了待校验BIOS设置信息的基准度量值的安全性。
值得说明的是,安全芯片70可以有不同的实现方式,相应地,第一存储区和第二存储区也会有不同实现方式。例如,安全芯片70可以采用上文提及的TPM芯片,此时,第一存储区可以是TPM芯片的平台配置寄存器(Platform Configuration Registers,PCR),第二存储区可以是TPM芯片的非易失性存储空间(Non-Volatile Storage)。
在一示例性实施例中,安全芯片70的第一存储区除了配置有读权限之外,还可以配置写权限。基于此,配置设备50在将BIOS配置信息写入第一存储区时,可判断安全芯片70的第一存储区是否配置有写权限,当安全芯片70的第一存储区配置有写权限时,配置设备50可基于第一存储区对应的写权限密钥将BIOS配置信息写入第一存储区;当第一存储区未配置有写权限时,配置设备50可直接将BIOS配置信息写入第一存储区。
进一步可选地,除BIOS配置信息外,配置设备50还可将待校验BIOS设置信息在服务器60处于可信状态时的初始取值写入安全芯片70的第一存储区中,以便监控设备40在待校验BIOS设置信息未通过校验时,基于该初始取值对服务器的待校验BIOS设置信息进行恢复。同样,第一存储区可保护服务器60处于可信状态时的初始取值不会被攻击者获取或篡改,因此,可保证监控设备40以安全的初始取值来恢复待校验BIOS设置信息。
其中,服务器60处于可信状态时的初始取值,可以是待校验BIOS设置信息在服务器60第一次进入操作系统时的取值,或者可以是在服务器60恢复至出厂设置后再次进入操作系统时的取值,也即是,待校验BIOS设置信息的初始取值是待校验BIOS设置信息在服务器60处于理想地可信状态时获取到的取值。
据此,安全芯片70的第一存储区内至少存储有待校验BIOS设置信息以及服务器60处于可信状态时的初始取值。另外,安全芯片70面向监控设备40提供查询服务。为避免攻击者破坏安全芯片70内的数据安全,配置设备50可将第一存储区的读权限密钥发送至监控设备40,其中,安全芯片70的第一存储区的读权限密钥可以是安全芯片70自带的相关密钥,也可以由配置设备50进行设置。
对于监控设备40来说,可接收配置设备50预先发送的读权限密钥,并可在校验触发事件发生时,基于该读权限密钥从安全芯片70的第一存储区中读取待校验BIOS设置信息,并执行后续操作完成对待校验BIOS设置信息的校验。
进一步可选地,监控设备40还可以基于读权限密钥从安全芯片70的第一存储区中读取待校验BIOS设置信息的初始取值,并在确定待校验BIOS设置信息未通过校验时,将服务器60的待校验BIOS设置信息还原为读取到的初始取值。需要说明的是,监控设备40使用的读权限密钥可以由配置设备50下发,也可以由管理人员口头传达并输入监控设备40,本实施例并不限定监控设备40获得的读权限密钥的方式。
在上述实施例中,配置设备50将待校验BIOS设置信息的基准度量值写入安全芯片70的第二存储区,可保证待校验BIOS设置信息的基准度量值的安全性,从而为监控设备40的待校验BIOS设置信息的校验过程提供安全的校验基准;而且,监控设备40通过读权限密钥才能读取安全芯片70的第一存储区内的待校验BIOS设置信息以及待校验BIOS设置信息的初始取值,因此,可避免攻击者盗取这些数据而达到恶意目的。
在一些示例性实施例中,在监控设备40获得待校验BIOS设置信息的校验结果后,可基于校验结果对待校验BIOS设置信息执行相关操作。当待校验BIOS设置信息通过校验时,证明待校验BIOS设置信息未被攻击,监控设备40可根据待校验BIOS设置信息设置的BIOS可信度量方案对BIOS代码进行校验,或者也可以触发服务器60根据待校验BIOS设置信息设置的BIOS可信度量方案对BIOS代码进行校验。当待校验BIOS设置信息未通过校验,则证明待校验BIOS设置信息被攻击,服务器60当前的硬件可信环境遭到了破坏,待校验BIOS设置信息设置的BIOS可信度量方案可能被禁用,导致后续的BIOS代码校验过程失去了可信基础,无法成功执行。
针对待校验BIOS设置信息未通过校验的情况,监控设备40至少可采用以下两种方式进行待校验BIOS设置信息的处理。
第一种方式:当确定待校验BIOS设置信息未通过校验时,从安全芯片70的第一存储区读取待校验BIOS设置信息的初始取值,并将服务器60的待校验BIOS设置信息还原为该初始取值。
第二种方式:当确定待校验BIOS设置信息未通过校验时,执行攻击检测,当检测到恶意操作时,隔离发起恶意操作的用户;然后从安全芯片70的第一存储区读取待校验BIOS设置信息的初始取值,并将服务器60的待校验BIOS设置信息还原为该初始取值。
第三种方式:当确定待校验BIOS设置信息未通过校验时,从安全芯片70的第一存储区读取待校验BIOS设置信息的初始取值,并将服务器60的待校验BIOS设置信息还原为该初始取值;然后执行攻击检测,当检测到恶意操作时,隔离发起恶意操作的用户。
无论上述哪种方式,当确定待校验BIOS设置信息未通过校验时,监控设备40将服务器60的待校验BIOS设置信息恢复为初始取值,为后续的BIOS代码校验过程提供了基础。
在上述第二种方式和第三种方式中,执行攻击检测以及在检测到恶意操作时隔离发起恶意操作的用户的一种实施方式包括:从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作;当针对待校验BIOS设置信息的修改操作为恶意操作时,隔离发起恶意操作的用户。
其中,操作日志可存储在安全芯片70的第一存储区,或者,也可存储在其它存储空间。操作日志用于记录针对BIOS设置信息的操作历史,其中可包括操作时间、发起操作的用户名、操作内容、操作次数等信息。判断修改操作是否为恶意操作时,可根据操作日志中的操作次数,当操作次数大于预设阈值时,定义为恶意操作,当然还可采用其它手段,本实施例不作限定。
在隔离发起恶意操作的用户时,可强制将该用户踢下线,或者可以将该用户的权限降低为普通权限,或者将服务器60下线检查,而将备用服务器上线等等,当然还可采用其它手段,本实施例不作限定。
进一步可选地,可在从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作之前,隔离具有特定权限的用户(这里的用户包括发起恶意操作的用户),以保证安全性;进而,在确定发起恶意操作的用户之后,可以解除对具有特定权限的用户中除发起恶意操作的用户之外的其它用户的隔离。需要说明的是,若校验触发事件由具有特定权项的用户发起,则发起校验触发事件的用户虽属于具有特定权限的用户,一般认为该用户属于可信用户,不应该被隔离,所以在隔离具有特定权限的用户时,可以隔离除发起校验触发事件的用户之外其它具有特定权限的用户。
针对待校验BIOS设置信息通过校验的情况,监控设备40可根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器60的BIOS代码进行校验。
待校验BIOS设置信息可包括BIOS可信度量方案的使能设置。当待校验BIOS设置信息通过校验时,证明待校验BIOS设置信息未被攻击,也就是待校验BIOS设置信息中包含的针对BIOS可信度量方案的使能设置未被篡改过,BIOS可信度量方案具备了可信地实施基础。基于此,监控设备40可根据待校验BIOS设置信息设置的BIOS可信度量方案对BIOS代码进行校验。
例如,假设待校验BIOS设置信息设置的BIOS可信度量方案为TCG的BIOS度量方案,度量过程为:
以TPM为可信根,系统启动时由BIOS中的可信度量根核开始,度量BIOS初始引导模块,接着又BIOS出事引导模块度量BIOS主引导模块,BIOS主引导模块度量BIOS其余部分及OS装载器,之后由OS装载器对OS内核进行度量,以此类推,从而最终完成从起点到应用、网络的信任传递过程。
针对TCG的BIOS度量方案,本申请实施例可将使能TCG的BIOS度量方案的BIOS设置信息:安全装置(Security Device),作为待校验BIOS设置信息,并对其进行校验,在确定安全装置(Security Device)未被禁用的基础上,再执行TCG的BIOS度量方案,保证了BIOS代码的校验过程的成功实施。
又例如,假设待校验BIOS设置信息设置的BIOS可信度量方案为Intel的TXT技术,度量过程为:
以CPU中的ACM(Authenticated Code Module)去度量校验BIOS的第一个block,补齐并增强了服务器启动过程中信任链的建立过程,使得服务器平台及系统可以使用硬件技术完成度量和校验功能。
针对Intel的TXT技术,本申请实施例可将使能Intel的TXT技术的BIOS设置信息:Intel TXT支持(Intel TXT Support),作为待校验BIOS设置信息,并对其进行校验,在确定Intel TXT支持(Intel TXT Support)未被禁用的基础上,再执行Intel的TXT技术,保证了BIOS代码的校验过程的成功实施。
再例如,假设待校验BIOS设置信息设置的BIOS可信度量方案为Intel的SGX方案,度量过程为:
将合法软件的安全操作封装在一个enclave中,保护其不受恶意软件的攻击,特权或者非特权的软件都无法访问enclave,也就是说,一旦软件和数据位于enclave中,即便操作系统或者和VMM(Hypervisor)也无法影响enclave里面的代码和数据。
针对Intel的SGX方案,本申请实施例可将使能Intel的SGX方案的BIOS设置信息:软件防护扩展指令(SWGuard Extensions),作为待校验BIOS设置信息,并对其进行校验,在确定软件防护扩展指令(SWGuard Extensions)未被禁用的基础上,再执行Intel的SGX方案,保证了BIOS代码的校验过程的成功实施。
在本实施例中,监控设备40通过攻击检测可排查出恶意攻击的来源及位置,并可通过隔离发起恶意操作的用户来排除安全威胁,进而可在待校验BIOS设置信息恢复至初始取值后,继续保持服务器60的硬件环境可信,当待校验BIOS设置信息通过校验时,可根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器60的BIOS代码进行校验,进而可成功实现BIOS整体的校验。
在另一示例性实施例中,针对图2所示的BIOS校验系统,监控设备40,可主要用于发起校验触发事件,并根据校验触发事件触发服务器60发起待校验BIOS设置信息的校验操作。对服务器60来说,可在监控设备40监控到校验触发事件发生时,从安全芯片70中读取待校验BIOS设置信息;根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值;从安全芯片70读取待校验BIOS设置信息的基准度量值;根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验。进一步,服务器60还可以根据对待校验BIOS设置信息的校验结果,确定是否启动BIOS代码的校验过程以及在确定启动时继续对BIOS代码进行校验。
在该实施例中,监控设备40可定时地、周期地或者按需地发起校验触发事件,服务器60可根据校验触发事件执行待校验BIOS设置信息的校验操作。配置设备50对服务器60的安全芯片70进行有关待校验BIOS设置信息的配置过程,以及服务器60执行待校验BIOS设置信息的校验过程,可参见前述实施例,在此不再赘述。
除了上述BIOS校验系统之外,本申请实施例还提供一些BIOS配置方法。这些配置方法可由图1或图2所示系统中的配置设备执行,但不限于此。图3为本申请另一示例性实施例提供的一种BIOS配置方法的流程示意图。如图3所示,方法包括:
300、将用于标识服务器的待校验BIOS设置信息的BIOS配置信息写入服务器对应的安全芯片中。
可选地,待校验BIOS设置信息可以是禁止特定权限修改的BIOS设置信息。
301、根据待校验BIOS设置信息在服务器处于可信状态时的初始取值,计算待校验BIOS设置信息的基准度量值。
302、将待校验BIOS设置信息的基准度量值写入安全芯片,以对待校验BIOS设置信息进行校验。
在一可选实施例中,步骤301,包括:
将待校验BIOS设置信息在服务器处于可信状态时的初始取值作为整体进行哈希计算,将哈希计算的结果作为待校验BIOS设置信息的基准度量值。
本实施例中,配置设备将BIOS配置信息写入服务器对应的安全芯片,以及基于服务器处于可信状态时的待校验BIOS设置信息的初始取值配置待校验BIOS设置信息的基准度量值写入服务器对应的安全芯片中,为后续对这些待校验BIOS设置信息进行校验提供基础,为BIOS代码的校验提供可信的基石。
图4为本申请另一示例性实施例提供的另一种BIOS配置方法的流程示意图。如图4所示,该方法包括:
400、将服务器的待校验BIOS设置信息作为BIOS配置信息写入安全芯片的第一存储区中。
401、根据待校验BIOS设置信息在服务器处于可信状态时的初始取值,计算待校验BIOS设置信息的基准度量值。
402、基于写权限密钥,将待校验BIOS设置信息的基准度量值写入安全芯片的第二存储区中,以对待校验BIOS设置信息进行校验。
本实施例中,安全芯片至少包括第一存储区和第二存储区。第一存储区是配置有读权限的存储区,即具有权限的用户才能从该存储区中读取数据;第二存储区是配置有写权限的存储区,即具有权限的用户才能向该存储区写入数据,从而保证写入数据的可靠性。
配置设备将包含待校验BIOS设置信息的BIOS配置信息写入安全芯片的第一存储区,可保证待校验BIOS设置信息不会被攻击者获取或篡改;将待校验BIOS设置信息的基准度量值写入安全芯片的第二存储区,可保证待校验BIOS设置信息的基准度量值的安全性,从而为服务器的待校验BIOS设置信息的校验过程提供安全的校验基准。
图5为本申请另一示例性实施例提供的又一种BIOS配置方法的流程示意图。如图5所示,方法包括:
500、将服务器的待校验BIOS设置信息作为BIOS配置信息写入安全芯片的第一存储区中。
501、根据待校验BIOS设置信息在服务器处于可信状态时的初始取值,计算待校验BIOS设置信息的基准度量值。
502、基于写权限密钥,将待校验BIOS设置信息的基准度量值写入安全芯片的第二存储区中,以对待校验BIOS设置信息进行校验。
503、将待校验BIOS设置信息在服务器处于可信状态时的初始取值写入安全芯片的第一存储区中,以在待校验BIOS设置信息未通过校验时对待校验BIOS设置信息进行恢复。
需要说明的是,步骤503和步骤500~502之间的顺序可以是任意的,例如,步骤503可在步骤501之前执行,也可在步骤502之后执行,本实施例对此不作限定。另外,步骤503与步骤500也可并行执行。
本实施例中,配置设备将待校验BIOS设置信息在服务器处于可信状态时的初始取值写入安全芯片的第一存储区中,第一存储区可保护服务器处于可信状态时的初始取值不会被攻击者获取或篡改,因此,可保证服务器以安全的初始取值来恢复待校验BIOS设置信息。
图6为本申请另一示例性实施例提供的又一种BIOS配置方法的流程示意图。如图6所示,方法包括:
600、将服务器的待校验BIOS设置信息作为BIOS配置信息写入安全芯片的第一存储区中。
601、根据待校验BIOS设置信息在服务器处于可信状态时的初始取值,计算待校验BIOS设置信息的基准度量值。
602、基于写权限密钥,将待校验BIOS设置信息的基准度量值写入安全芯片的第二存储区中,以对待校验BIOS设置信息进行校验。
603、将待校验BIOS设置信息在服务器处于可信状态时的初始取值写入安全芯片的第一存储区中,以在待校验BIOS设置信息未通过校验时对待校验BIOS设置信息进行恢复。
604、设置安全芯片的第一存储区的读权限密钥,并将读权限密钥发送给服务器或用于对服务器进行校验的监控设备,以供服务器或监控设备对第一存储区进行读取操作。
需要说明的是,步骤604和步骤600~503之间的顺序可以是任意的,例如,步骤604可在步骤601之前执行,也可在步骤602之后执行,本实施例对此不作限定。
本实施例中,配置设备设置安全芯片的第一存储区的读权限密钥,使得只有已知安全芯片的第一存储区的读权限密钥的服务器或者监控设备才有权限读取安全芯片的第一存储区内的数据,从而,可保护安全芯片的第一存储区内的数据安全。
在一可选实施例中,待校验BIOS设置信息在服务器处于可信状态时的初始取值可以是是待校验BIOS设置信息在服务器第一次进入操作系统时的取值。
进一步,除了上述BIOS校验系统之外,本申请实施例还提供一些BIOS校验方法。这些校验方法可以由图1或图2所示系统中的监控设备或服务器来执行,但不限于此。图7为本申请又一示例性实施例提供的一种BIOS校验方法的流程示意图。如图7所示,该方法包括:
700、当校验触发事件发生时,基于服务器对应安全芯片中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息。
701、根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值。
702、从安全芯片中读取待校验BIOS设置信息的基准度量值。
703、根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验。
在一可选实施例中,步骤703,包括:
当当前度量值和基准度量值相同时,确定待校验BIOS设置信息通过校验;
当当前度量值和基准度量值不相同时,确定待校验BIOS设置信息未通过校验。
在一可选实施例中,步骤701,包括:
将待校验BIOS设置信息的当前取值作为整体进行哈希计算,将哈希计算结果作为待校验BIOS设置信息的当前度量值。
在一可选实施例中,步骤701,还包括:
从安全芯片中读取所述待校验BIOS设置信息,BIOS配置信息包含待校验BIOS设置信息。
本实施例中,服务器在校验触发事件的触发下,可根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,从而,为BIOS代码的校验提供了可信的基石,保证BIOS代码和设置信息的校验可成功进行,进而更好地支持服务器的可信环境。
图8为本申请又一示例性实施例提供的另一种BIOS校验方法的流程示意图。如图8所示,该方法包括:
800、当校验触发事件发生时,基于预先获得的读权限密钥,从安全芯片的第一存储区中读取待校验BIOS设置信息。
801、根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值。
802、从安全芯片的第二存储区中读取待校验BIOS设置信息的基准度量值。
803、根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验。
本实施例中,安全芯片第二存储区是配置有写权限的存储区,即具有权限的用户才能向该存储区写入数据,第二存储区的写权限密钥对配置设备是可知的,而对服务器等其它使用对象来说是未知的,即服务器等其他使用对象可以从第二存储区中读数据但不能向第二存储区写入数据。这保证了待校验BIOS设置信息的基准度量值的安全性。
图9为本申请又一示例性实施例提供的又一种BIOS校验方法的流程示意图。如图9所示,该方法包括:
900、当校验触发事件发生时,基于服务器对应安全芯片中存储的BIOS配置信息,确定服务器的待校验BIOS设置信息。
901、根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值。
902、从安全芯片中读取待校验BIOS设置信息的基准度量值。
903、根据待校验BIOS设置信息的当前度量值和基准度量值,判断待校验BIOS设置信息是否通过校验,若否,则执行步骤904,若是,则执行步骤907。
904、从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作。
905、当针对待校验BIOS设置信息的修改操作为恶意操作时,隔离发起恶意操作的用户。
906、基于读权限密钥,从安全芯片的第一存储区中读取初始取值,并将待校验BIOS设置信息还原为初始取值,并继续执行步骤907。
907、根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器的BIOS代码进行校验,其中,待校验BIOS设置信息包括BIOS可信度量方案的使能设置。
在一可选实施例中,在图9所示的流程示意图的基础上,步骤904之前,还可包括:隔离具有特定权限的用户的步骤,对应地,步骤905之后,还包括:解除对具有特定权限的用户中除发起恶意操作的用户之外的其它用户的隔离的步骤。
本实施例中,通过攻击检测可排查出恶意攻击的来源及位置,并可通过隔离发起恶意操作的用户来排除安全威胁,进而可在待校验BIOS设置信息恢复至初始取值后,继续保持服务器的硬件环境可信,当待校验BIOS设置信息通过校验时,可根据待校验BIOS设置信息设置的BIOS可信度量方案成功实现服务器的BIOS代码进行校验,进而实现BIOS整体的校验。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤401至步骤403的执行主体可以为设备A;又比如,步骤401和402的执行主体可以为设备A,步骤403的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如401、402等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图10a为本申请又一示例性实施例提供的一种配置装置的结构示意图。如图10a所示,配置装置包括:
第一配置模块101,用于将用于标识服务器的待校验BIOS设置信息的BIOS配置信息写入服务器对应的安全芯片中;
计算模块102,用于根据待校验BIOS设置信息在服务器处于可信状态时的初始取值,计算待校验BIOS设置信息的基准度量值;
第二配置模块103,用于将待校验BIOS设置信息的基准度量值写入安全芯片,以对待校验BIOS设置信息进行校验。
可选地,待校验BIOS设置信息可以是禁止特定权限修改的BIOS设置信息。
本实施例中,配置装置将包含待校验BIOS设置信息的BIOS配置信息写入服务器对应的安全芯片中,并基于服务器处于可信状态时的待校验BIOS设置信息的初始取值配置待校验BIOS设置信息的基准度量值并写入服务器对应的安全芯片中,为后续对这些待校验BIOS设置信息进行校验提供基础,为BIOS代码和设置信息的校验提供可信的基石。
在一可选实施例中,第一配置模块101,具体用于:
将待校验BIOS设置信息作为BIOS配置信息写入安全芯片的第一存储区中;
将待校验BIOS设置信息的基准度量值写入安全芯片,包括:
基于写权限密钥,将待校验BIOS设置信息的基准度量值写入安全芯片的第二存储区中。
在一可选实施例中,第一配置模块101,还用于:
将待校验BIOS设置信息在服务器处于可信状态时的初始取值写入安全芯片的第一存储区中,以在待校验BIOS设置信息未通过校验时对待校验BIOS设置信息进行恢复。
在一可选实施例中,配置装置还包括加密模块104,用于设置安全芯片的第一存储区的读权限密钥,并将读权限密钥发送给服务器或用于对服务器进行校验的监控设备,以供服务器或监控设备对第一存储区进行读取操作。
在一可选实施例中,待校验BIOS设置信息在服务器处于可信状态时的初始取值是待校验BIOS设置信息在服务器第一次进入操作系统时的取值。
在一可选实施例中,计算模块102,具体用于:
将待校验BIOS设置信息在服务器处于可信状态时的初始取值作为整体进行哈希计算,将哈希计算的结果作为待校验BIOS设置信息的基准度量值。
以上描述了配置装置的内部功能和结构,如图10b所示,实际中,该配置装置可实现为配置设备,包括:存储器1001、处理器1002以及通信组件1003。
存储器1001,用于存储计算机程序,并可被配置为存储其它各种数据以支持在配置设备上的操作。这些数据的示例包括用于在配置设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器1001可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器1002,与存储器1001耦合,用于执行存储器中的计算机程序,以用于:
通过通信组件1003将用于标识服务器的待校验BIOS设置信息的BIOS配置信息写入服务器对应的安全芯片中;
根据待校验BIOS设置信息在服务器处于可信状态时的初始取值,计算待校验BIOS设置信息的基准度量值;
通过通信组件1003将待校验BIOS设置信息的基准度量值写入安全芯片,以对待校验BIOS设置信息进行校验。
可选地,待校验BIOS设置信息可以是禁止特定权限修改的BIOS设置信息。
本实施例中,配置设备基于服务器处于可信状态时的待校验BIOS设置信息的初始取值配置待校验BIOS设置信息的基准度量值并写入服务器对应的安全芯片中,为后续对这些待校验BIOS设置信息进行校验提供基础,为BIOS代码的校验提供可信的基石。
在一可选实施例中,处理器1002在将服务器的待校验BIOS设置信息写入服务器对应的安全芯片中时,具体用于:
将待校验BIOS设置信息作为BIOS配置信息写入安全芯片的第一存储区中;
将待校验BIOS设置信息的基准度量值写入安全芯片,包括:
基于写权限密钥,将待校验BIOS设置信息的基准度量值写入安全芯片的第二存储区中。
在一可选实施例中,处理器1002还用于:
通过通信组件1003将待校验BIOS设置信息在服务器处于可信状态时的初始取值写入安全芯片的第一存储区中,以在待校验BIOS设置信息未通过校验时对待校验BIOS设置信息进行恢复。
在一可选实施例中,处理器1002还用于:
设置安全芯片的第一存储区的读权限密钥,并通过通信组件1003将读权限密钥发送给服务器或用于对服务器进行校验的监控设备,以供服务器或监控设备对第一存储区进行读取操作。
在一可选实施例中,待校验BIOS设置信息在服务器处于可信状态时的初始取值是待校验BIOS设置信息在服务器第一次进入操作系统时的取值。
在一可选实施例中,处理器1002在根据待校验BIOS设置信息在服务器处于可信状态时的初始取值,计算待校验BIOS设置信息的基准度量值时,具体用于:
将待校验BIOS设置信息在服务器处于可信状态时的初始取值作为整体进行哈希计算,将哈希计算的结果作为待校验BIOS设置信息的基准度量值。
进一步,如图10b所示,该配置设备还包括:电源组件1005等其它组件。图10b中仅示意性给出部分组件,并不意味着配置设备只包括图10b所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由配置设备执行的各步骤。
图11a为本申请又一示例性实施例提供的另一种业务装置的结构示意图。如图11a所示,业务装置包括:
第一读取模块110,基于服务器对应安全芯片中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息;
计算模块111,用于根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值;
第二读取模块112,用于从安全芯片中读取待校验BIOS设置信息的基准度量值;
校验模块113,用于根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验。
可选地,待校验BIOS设置信息可以是禁止特定权限修改的BIOS设置信息。
本实施例中,业务装置在校验触发事件的触发下,可根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,从而,为BIOS代码的校验提供了可信的基石,保证BIOS代码的校验可成功进行,进而更好地支持业务装置的可信环境。
在一可选实施例中,校验模块113,具体用于:当当前度量值和基准度量值相同时,确定待校验BIOS设置信息通过校验;当当前度量值和基准度量值不相同时,确定待校验BIOS设置信息未通过校验。
在一可选实施例中,第一读取模块110,具体用于:
从安全芯片中读取待校验BIOS设置信息,BIOS配置信息包含待校验BIOS设置信息。
在一可选实施例中,第一读取模块110在从安全芯片读取待校验BIOS设置信息时,具体用于:基于预先获得的读权限密钥,从安全芯片的第一存储区中读取待校验BIOS设置信息。相应地,第一读取模块110在从安全芯片读取待校验BIOS设置信息的基准度量值时,具体用于:从安全芯片的第二存储区中读取待校验BIOS设置信息的基准度量值。
在一可选实施例中,业务装置还包括解密模块114,用于
当待校验BIOS设置信息未通过校验时,基于读权限密钥,从安全芯片的第一存储区中读取初始取值,并将待校验BIOS设置信息还原为初始取值。
在一可选实施例中,计算模块111,具体用于:将待校验BIOS设置信息的当前取值作为整体进行哈希计算,将哈希计算结果作为待校验BIOS设置信息的当前度量值。
在一可选实施例中,业务装置还包括攻击检测模块115,用于当待校验BIOS设置信息未通过校验时,从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作;当针对待校验BIOS设置信息的修改操作为恶意操作时,隔离发起恶意操作的用户。
在一可选实施例中,攻击检测模块115在从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作之前,还用于:隔离具有特定权限的用户;以及在隔离发起恶意操作的用户之后,还用于:解除对具有特定权限的用户中除发起恶意操作的用户之外的其它用户的隔离。
在一可选实施例中,待校验BIOS设置信息包括BIOS可信度量方案的使能设置。基于此,业务装置还包括代码校验模块116,用于当待校验BIOS设置信息通过校验时,根据待校验BIOS设置信息设置的BIOS可信度量方案对业务装置的BIOS代码进行校验。
本实施例中,业务装置通过攻击检测可排查出恶意攻击的来源及位置,并可通过隔离发起恶意操作的用户来排除安全威胁,进而可在待校验BIOS设置信息恢复至初始取值后,继续保持服务器的硬件环境可信,当待校验BIOS设置信息通过校验时,可根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器的BIOS代码进行校验,进而可成功实现BIOS整体的校验。
以上描述了业务装置的内部功能和结构,如图10b所示,实际中,该业务装置可实现为服务器,包括:存储器1101、处理器1102、安全芯片1107以及通信组件1103。
存储器1101,用于存储计算机程序,并可被配置为存储其它各种数据以支持在服务器上的操作。这些数据的示例包括用于在服务器上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器1101可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器1102,与存储器1101耦合,用于执行存储器中的计算机程序,以用于:
在校验触发事件发生时,基于服务器对应安全芯片中存储的BIOS配置信息,确定服务器的待校验BIOS设置信息;
根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值;
从安全芯片1107中读取待校验BIOS设置信息的基准度量值;
根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验。
可选地,待校验BIOS设置信息可以是禁止特定权限修改的BIOS设置信息。
在一可选实施例中,处理器1102在根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验时,具体用于:当当前度量值和基准度量值相同时,确定待校验BIOS设置信息通过校验;当当前度量值和基准度量值不相同时,确定待校验BIOS设置信息未通过校验。
在一可选实施例中,处理器在基于服务器对应安全芯片中存储的BIOS配置信息,确定服务器的待校验BIOS设置信息时,具体用于:从安全芯片中读取待校验BIOS设置信息,BIOS配置信息包含待校验BIOS设置信息。
在一可选实施例中,处理器1102在从安全芯片1107中读取待校验BIOS设置信息时,具体用于:基于预先获得的读权限密钥,从安全芯片1107的第一存储区中读取待校验BIOS设置信息。相应地,处理器1102在从安全芯片1107中读取待校验BIOS设置信息的基准度量值时,具体用于:从安全芯片的第二存储区中读取待校验BIOS设置信息的基准度量值。
在一可选实施例中,处理器1102还用于:当待校验BIOS设置信息未通过校验时,基于读权限密钥,从安全芯片1107的第一存储区中读取初始取值,并将待校验BIOS设置信息还原为初始取值。
在一可选实施例中,处理器1102在根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值,具体用于:将待校验BIOS设置信息的当前取值作为整体进行哈希计算,将哈希计算结果作为待校验BIOS设置信息的当前度量值。
在一可选实施例中,处理器1102还用于:当待校验BIOS设置信息未通过校验时,从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作;当针对待校验BIOS设置信息的修改操作为恶意操作时,隔离发起恶意操作的用户。
在一可选实施例中,处理器1102在从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作之前,还用于:隔离具有特定权限的用户;以及在隔离发起恶意操作的用户之后,还用于:解除对具有特定权限的用户中除发起恶意操作的用户之外的其它用户的隔离。
在一可选实施例中,待校验BIOS设置信息包括BIOS可信度量方案的使能设置。基于此,处理器1102还用于:当待校验BIOS设置信息通过校验时,根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器的BIOS代码进行校验。
进一步,如图11b所示,该服务器还包括:电源组件1105等其它组件。图11b中仅示意性给出部分组件,并不意味着服务器只包括图11b所示组件。
本实施例中,服务器通过攻击检测可排查出恶意攻击的来源及位置,并可通过隔离发起恶意操作的用户来排除安全威胁,进而可在待校验BIOS设置信息恢复至初始取值后,继续保持服务器的硬件环境可信,当待校验BIOS设置信息通过校验时,可根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器的BIOS代码进行校验,进而可成功实现BIOS整体的校验。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由服务器执行的各步骤。
图12a为本申请又一示例性实施例提供的又一种监控装置的结构示意图。如图12a所示,监控装置包括:
第一读取模块120,用于当校验触发事件发生时,基于服务器对应安全芯片中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息;
计算模块121,用于根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值;
第二读取模块122,用于从安全芯片中读取待校验BIOS设置信息的基准度量值;
校验模块123,用于根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验。
可选地,待校验BIOS设置信息可以是禁止特定权限修改的BIOS设置信息。
本实施例中,监控装置在校验触发事件的触发下,可根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,从而,为BIOS代码的校验提供了可信的基石,保证BIOS代码的校验可成功进行,进而更好地支持服务器的可信环境。
在一可选实施例中,校验模块123,具体用于:当当前度量值和基准度量值相同时,确定待校验BIOS设置信息通过校验;当当前度量值和基准度量值不相同时,确定待校验BIOS设置信息未通过校验。
在一可选实施例中,第一读取模块120,具体用于:从安全芯片中读取待校验BIOS设置信息,BIOS配置信息包含待校验BIOS设置信息。
在一可选实施例中,第一读取模块120从安全芯片读取待校验BIOS设置信息时,具体用于:基于预先获得的读权限密钥,从安全芯片的第一存储区中读取待校验BIOS设置信息;相应地,第一读取模块120在从安全芯片中读取待校验BIOS设置信息的基准度量值时,具体用于:从安全芯片的第二存储区中读取待校验BIOS设置信息的基准度量值。
在一可选实施例中,还包括解密模块124,用于当待校验BIOS设置信息未通过校验时,基于读权限密钥,从安全芯片的第一存储区中读取初始取值,并将待校验BIOS设置信息还原为初始取值。
在一可选实施例中,计算模块121,具体用于:将待校验BIOS设置信息的当前取值作为整体进行哈希计算,将哈希计算结果作为待校验BIOS设置信息的当前度量值。
在一可选实施例中,监控装置,还包括攻击检测模块125,用于当待校验BIOS设置信息未通过校验时,从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作;当针对待校验BIOS设置信息的修改操作为恶意操作时,隔离发起恶意操作的用户。
在一可选实施例中,攻击检测模块125在从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作之前,还用于:隔离具有特定权限的用户;以及在隔离发起恶意操作的用户之后,还用于:解除对具有特定权限的用户中除发起恶意操作的用户之外的其它用户的隔离。
在一可选实施例中,待校验BIOS设置信息包括BIOS可信度量方案的使能设置;监控装置还包括代码校验模块126,用于:当待校验BIOS设置信息通过校验时,根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器的BIOS代码进行校验。
本实施例中,监控装置通过攻击检测可排查出恶意攻击的来源及位置,并可通过隔离发起恶意操作的用户来排除安全威胁,进而可在待校验BIOS设置信息恢复至初始取值后,继续保持服务器的硬件环境可信,当待校验BIOS设置信息通过校验时,可根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器的BIOS代码进行校验,进而可成功实现BIOS整体的校验。
以上描述了监控装置的内部功能和结构,如图10b所示,实际中,该监控装置可实现为监控设备,包括:存储器1201、处理器1202、安全芯片1207以及通信组件1203。
存储器1201,用于存储计算机程序,并可被配置为存储其它各种数据以支持在监控设备上的操作。这些数据的示例包括用于在监控设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器1201可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器1202,与存储器1201耦合,用于执行存储器1201中的计算机程序,以用于:
在校验触发事件发生时,基于服务器对应安全芯片1207中存储的BIOS配置信息,确定服务器的待校验BIOS设置信息;
根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值;
从安全芯片中读取待校验BIOS设置信息的基准度量值;
根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验。
可选地,待校验BIOS设置信息可以是禁止特定权限修改的BIOS设置信息。
本实施例中,监控设备在校验触发事件的触发下,可根据服务器对应的安全芯片中的基准度量值,对其待校验BIOS设置信息进行校验,监控服务器的待校验BIOS设置信息是否被篡改,从而,为BIOS代码的校验提供了可信的基石,保证BIOS代码的校验可成功进行,进而更好地支持服务器的可信环境。
在一可选实施例中,处理器1202在根据待校验BIOS设置信息的当前度量值和基准度量值,对待校验BIOS设置信息进行校验时,具体用于:当当前度量值和基准度量值相同时,确定待校验BIOS设置信息通过校验;当当前度量值和基准度量值不相同时,确定待校验BIOS设置信息未通过校验。
在一可选实施例中,处理器1202在基于服务器对应安全芯片中存储的BIOS配置信息,确定服务器的待校验BIOS设置信息时,具体用于:从安全芯片中读取待校验BIOS设置信息,BIOS配置信息包含待校验BIOS设置信息。
在一可选实施例中,处理器1202在从服务器对应的安全芯片中读取服务器的待校验BIOS设置信息时,具体用于:基于预先获得的读权限密钥,从安全芯片1207的第一存储区中读取待校验BIOS设置信息。相应地,处理器1202在从安全芯片1207中读取待校验BIOS设置信息的基准度量值时,具体用于:从安全芯片1207的第二存储区中读取待校验BIOS设置信息的基准度量值。
在一可选实施例中,处理器1202还用于:当待校验BIOS设置信息未通过校验时,基于读权限密钥,从安全芯片1207的第一存储区中读取初始取值,并将待校验BIOS设置信息还原为初始取值。
在一可选实施例中,处理器1202在根据待校验BIOS设置信息的当前取值计算待校验BIOS设置信息的当前度量值,具体用于:将待校验BIOS设置信息的当前取值作为整体进行哈希计算,将哈希计算结果作为待校验BIOS设置信息的当前度量值。
在一可选实施例中,处理器1202还用于:当待校验BIOS设置信息未通过校验时,从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作;当针对待校验BIOS设置信息的修改操作为恶意操作时,隔离发起恶意操作的用户。
在一可选实施例中,处理器1202在从特定权限对应的操作日志中定位针对待校验BIOS设置信息的修改操作之前,还用于:隔离具有特定权限的用户;以及在隔离发起恶意操作的用户之后,还用于:解除对具有特定权限的用户中除发起恶意操作的用户之外的其它用户的隔离。
在一可选实施例中,待校验BIOS设置信息包括BIOS可信度量方案的使能设置。基于此,处理器1202还用于:当待校验BIOS设置信息通过校验时,根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器的BIOS代码进行校验。
本实施例中,监控设备通过攻击检测可排查出恶意攻击的来源及位置,并可通过隔离发起恶意操作的用户来排除安全威胁,进而可在待校验BIOS设置信息恢复至初始取值后,继续保持服务器的硬件环境可信,当待校验BIOS设置信息通过校验时,可根据待校验BIOS设置信息设置的BIOS可信度量方案对服务器的BIOS代码进行校验,进而可成功实现BIOS整体的校验。
进一步,如图12b所示,该监控设备还包括:电源组件1205等其它组件。图12b中仅示意性给出部分组件,并不意味着监控设备只包括图12b所示组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由监控设备执行的各步骤。
其中,图10b、图11b和图12b中的通信组件,可被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
其中,图10b、图11b和图12b中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (17)
1.一种BIOS校验方法,其特征在于,包括:
当校验触发事件发生时,基于预先获得的读权限密钥,从服务器对应安全芯片的第一存储区中读取所述服务器的待校验BIOS设置信息;
根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值;
从所述安全芯片的第二存储区中读取所述待校验BIOS设置信息的基准度量值,所述第二存储区为配置有写权限的存储区;
根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验,包括:
当所述当前度量值和所述基准度量值相同时,确定所述待校验BIOS设置信息通过校验;
当所述当前度量值和所述基准度量值不相同时,确定所述待校验BIOS设置信息未通过校验。
3.根据权利要求1所述的方法,其特征在于,还包括:
当所述待校验BIOS设置信息未通过校验时,基于所述读权限密钥,从所述安全芯片的第一存储区中读取初始取值,并将所述待校验BIOS设置信息还原为初始取值。
4.根据权利要求1所述的方法,其特征在于,根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值,包括:
将所述待校验BIOS设置信息的当前取值作为整体进行哈希计算,将哈希计算结果作为所述待校验BIOS设置信息的当前度量值。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
当所述待校验BIOS设置信息未通过校验时,从特定权限对应的操作日志中定位针对所述待校验BIOS设置信息的修改操作;
当针对所述待校验BIOS设置信息的修改操作为恶意操作时,隔离发起所述恶意操作的用户。
6.根据权利要求5所述的方法,其特征在于,在从所述特定权限对应的操作日志中定位针对所述待校验BIOS设置信息的修改操作之前,所述方法还包括:
隔离具有所述特定权限的用户;
在隔离发起所述恶意操作的用户之后,所述方法还包括:
解除对具有所述特定权限的用户中除发起所述恶意操作的用户之外的其它用户的隔离。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述待校验BIOS设置信息包括BIOS可信度量方案的使能设置;
所述方法还包括:当所述待校验BIOS设置信息通过校验时,根据所述待校验BIOS设置信息设置的BIOS可信度量方案对所述服务器的BIOS代码进行校验。
8.一种BIOS配置方法,其特征在于,包括:
将用于标识服务器的待校验BIOS设置信息的BIOS配置信息写入所述服务器对应的安全芯片的第一存储区中,所述第一存储区为配置有读权限的存储区;
根据所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值,计算所述待校验BIOS设置信息的基准度量值;
基于写权限密钥,将所述待校验BIOS设置信息的基准度量值写入所述安全芯片的第二存储区,以对所述待校验BIOS设置信息进行校验,所述第二存储区为配置有写权限的存储区。
9.根据权利要求8所述的方法,其特征在于,还包括:
将所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值写入所述安全芯片的第一存储区中,以在所述待校验BIOS设置信息未通过校验时对所述待校验BIOS设置信息进行恢复。
10.根据权利要求9所述的方法,其特征在于,还包括:
设置所述安全芯片的第一存储区的读权限密钥,并将所述读权限密钥发送给所述服务器或用于对所述服务器进行校验的监控设备,以供所述服务器或所述监控设备对所述第一存储区进行读取操作。
11.根据权利要求8所述的方法,其特征在于,所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值是所述待校验BIOS设置信息在所述服务器第一次进入操作系统时的取值。
12.根据权利要求8-11任一项所述的方法,其特征在于,所述根据所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值,计算所述待校验BIOS设置信息的基准度量值,包括:
将所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值作为整体进行哈希计算,将哈希计算的结果作为所述待校验BIOS设置信息的基准度量值。
13.一种监控设备,其特征在于,包括:存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
在校验触发事件发生时,基于预先获得的读权限密钥,从服务器对应安全芯片的第一存储区中读取所述服务器的待校验BIOS设置信息;
根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值;
从所述安全芯片的第二存储区中读取所述待校验BIOS设置信息的基准度量值,所述第二存储区为配置有写权限的存储区;
根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验。
14.一种服务器,其特征在于,包括:存储器、处理器以及安全芯片;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器和所述安全芯片耦合,用于执行所述计算机程序,以用于:
在校验触发事件发生时,基于预先获得的读权限密钥,从服务器对应安全芯片的第一存储区中读取所述服务器的待校验BIOS设置信息;
根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值;
从所述安全芯片的第二存储区中读取所述待校验BIOS设置信息的基准度量值,所述第二存储区为配置有写权限的存储区;
根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验。
15.一种配置设备,其特征在于,包括:存储器、处理器以及通信组件;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
通过所述通信组件将用于标识服务器的待校验BIOS设置信息的BIOS配置信息写入所述服务器对应的安全芯片的第一存储区中,所述第一存储区为配置有读权限的存储区;
根据所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值,计算所述待校验BIOS设置信息的基准度量值;
通过所述通信组件基于写权限密钥,将所述待校验BIOS设置信息的基准度量值写入所述安全芯片的第二存储区,以对所述待校验BIOS设置信息进行校验,所述第二存储区为配置有写权限的存储区。
16.一种BIOS校验系统,其特征在于,包括:配置设备以及服务器,所述配置设备与所述服务器通信连接;
所述配置设备,用于将用于标识所述服务器的待校验BIOS设置信息的BIOS配置信息写入所述服务器对应的安全芯片的第一存储区中,所述第一存储区为配置有读权限的存储区,根据所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值,计算所述待校验BIOS设置信息的基准度量值,并基于写权限密钥,将所述待校验BIOS设置信息的基准度量值写入所述安全芯片的第二存储区,以供所述服务器对所述待校验BIOS设置信息进行校验,所述第二存储区为配置有写权限的存储区;
所述服务器,用于在校验触发事件发生时,基于所述服务器对应安全芯片的第一存储区中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息;根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值;从所述安全芯片的第二存储区读取所述待校验BIOS设置信息的基准度量值;根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验。
17.一种BIOS校验系统,其特征在于,包括:配置设备、监控设备以及服务器,所述服务器分别与所述配置设备和所述监控设备通信连接;
所述配置设备,用于将用于标识所述服务器的待校验BIOS设置信息的BIOS配置信息写入所述服务器对应的安全芯片的第一存储区中,所述第一存储区为配置有读权限的存储区,根据所述待校验BIOS设置信息在所述服务器处于可信状态时的初始取值,计算所述待校验BIOS设置信息的基准度量值,并基于写权限密钥,将所述待校验BIOS设置信息的基准度量值写入所述安全芯片的第二存储区,以供所述监控设备对所述待校验BIOS设置信息进行校验,所述第二存储区为配置有写权限的存储区;
所述监控设备,用于在校验触发事件发生时,基于服务器对应安全芯片的第一存储区中存储的BIOS配置信息,确定所述服务器的待校验BIOS设置信息;根据所述待校验BIOS设置信息的当前取值计算所述待校验BIOS设置信息的当前度量值;从所述安全芯片的第二存储区读取所述待校验BIOS设置信息的基准度量值;根据所述待校验BIOS设置信息的当前度量值和基准度量值,对所述待校验BIOS设置信息进行校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810195807.3A CN110245495B (zh) | 2018-03-09 | 2018-03-09 | Bios校验方法、配置方法、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810195807.3A CN110245495B (zh) | 2018-03-09 | 2018-03-09 | Bios校验方法、配置方法、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110245495A CN110245495A (zh) | 2019-09-17 |
CN110245495B true CN110245495B (zh) | 2023-05-26 |
Family
ID=67882772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810195807.3A Active CN110245495B (zh) | 2018-03-09 | 2018-03-09 | Bios校验方法、配置方法、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110245495B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110798356B (zh) * | 2019-11-04 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 固件监控方法、装置、存储介质和计算机设备 |
CN111209560A (zh) * | 2020-01-06 | 2020-05-29 | 杭州涂鸦信息技术有限公司 | 固件保护方法及装置、电子设备 |
CN112448819A (zh) * | 2020-11-06 | 2021-03-05 | 支付宝(杭州)信息技术有限公司 | 物联网设备的校验、签名文件的生成方法及装置 |
CN113220358B (zh) * | 2021-04-25 | 2023-08-08 | 山东英信计算机技术有限公司 | 一种多平台bios信息存储方法、系统及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007148258A2 (en) * | 2006-06-21 | 2007-12-27 | Ashish Anand | Integrity checking and reporting model for hardware rooted trust enabled e-voting platform |
CN101458743A (zh) * | 2007-12-12 | 2009-06-17 | 中国长城计算机深圳股份有限公司 | 一种保护计算机系统安全的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622247B (zh) * | 2012-02-27 | 2015-09-09 | 北京百度网讯科技有限公司 | 服务器的bios信息配置系统及方法 |
CN105227319A (zh) * | 2015-10-23 | 2016-01-06 | 浪潮电子信息产业股份有限公司 | 一种验证服务器的方法及装置 |
CN105740710A (zh) * | 2016-02-01 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种基于bmc实现bios动态度量的方法 |
CN106557700B (zh) * | 2016-11-24 | 2019-11-26 | 苏州国芯科技股份有限公司 | 一种用于可信计算机的度量系统及方法 |
CN107145802A (zh) * | 2017-05-09 | 2017-09-08 | 郑州云海信息技术有限公司 | 一种bios完整性度量方法、基板管理控制器和系统 |
-
2018
- 2018-03-09 CN CN201810195807.3A patent/CN110245495B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007148258A2 (en) * | 2006-06-21 | 2007-12-27 | Ashish Anand | Integrity checking and reporting model for hardware rooted trust enabled e-voting platform |
CN101458743A (zh) * | 2007-12-12 | 2009-06-17 | 中国长城计算机深圳股份有限公司 | 一种保护计算机系统安全的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110245495A (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110245495B (zh) | Bios校验方法、配置方法、设备及系统 | |
CN112074836A (zh) | 通过可信执行环境保护数据的设备和方法 | |
US20170359333A1 (en) | Context based switching to a secure operating system environment | |
US8533829B2 (en) | Method for monitoring managed device | |
EP2693789B1 (en) | Mobile terminal encryption method, hardware encryption device and mobile terminal | |
US10284564B1 (en) | Systems and methods for dynamically validating remote requests within enterprise networks | |
US20170337390A1 (en) | Data protection at factory reset | |
US20180019880A1 (en) | System and method for verifying integrity of an electronic device | |
KR101654778B1 (ko) | 하드웨어 강제 액세스 보호 | |
US9385869B1 (en) | Systems and methods for trusting digitally signed files in the absence of verifiable signature conditions | |
US9813443B1 (en) | Systems and methods for remediating the effects of malware | |
US20200026882A1 (en) | Methods and systems for activating measurement based on a trusted card | |
US10089124B2 (en) | Security application for a guest operating system in a virtual computing environment | |
JP2019516160A (ja) | セキュリティ脅威を検出するためのシステム及び方法 | |
CN110334515B (zh) | 一种基于可信计算平台生成度量报告的方法及装置 | |
CN102880828A (zh) | 一种针对虚拟化支撑环境的入侵检测与恢复系统 | |
CN109117643B (zh) | 系统处理的方法以及相关设备 | |
US11531769B2 (en) | Information processing apparatus, information processing method, and computer program product | |
US11251976B2 (en) | Data security processing method and terminal thereof, and server | |
US10192056B1 (en) | Systems and methods for authenticating whole disk encryption systems | |
US20160352522A1 (en) | User Terminal For Detecting Forgery Of Application Program Based On Signature Information And Method Of Detecting Forgery Of Application Program Using The Same | |
WO2015131607A1 (zh) | 可信环境创建方法和装置及基站异常恢复方法和装置 | |
US11216559B1 (en) | Systems and methods for automatically recovering from malware attacks | |
US11671422B1 (en) | Systems and methods for securing authentication procedures | |
US20200244461A1 (en) | Data Processing Method and Apparatus |
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 |