一种可进行完整性检测的计算机系统和方法

文档序号:6649798阅读:213来源:国知局
专利名称:一种可进行完整性检测的计算机系统和方法
技术领域
本发明涉及计算机系统领域,特别是涉及一种在操作系统启动前对系统进行完整性检测的计算机系统和方法。
背景技术
目前计算机网络技术已经广泛影响到个人和企业的各个方面,对计算机安全性的需求也进一步提高,人们期望系统从一开始启动时,就可以保证运行在可靠的操作系统(operation system,OS)环境中。能够保证从一个安全干净的系统启动,是之后进行病毒防范及防止病毒入侵的基础,如果当前运行操作系统已经是被病毒感染了的不可靠运行环境,则之后的任何安全防范措施都将失效。因此,需要实现一种在操作系统启动之前即对操作系统进行完整性检测的计算系统和方法,保证启动的操作系统环境为安全的,可信任的运行环境,是一直以来人们追求的目标。
一般地,对操作系统进行完整性检测在该操作系统运行之前的外部系统进行操作,因此,目前对上述问题的解决方式通常采取以下方法利用双模式操作系统切换的方法对操作系统进行完整性检测该计算机系统安装两个操作系统,即在主操作系统之外,再安装一个附加的小操作系统,在计算机底层固件运行(Pre-boot)阶段,选择进入该附加的小操作系统,在其中进行主操作系统的完整性检测,检测完毕后,设置标志位并重新启动系统,根据标志位的设置自动进入主操作系统并运行。
该方法的缺陷是缺陷1用户需要不断地切换计算机模式,使用极不方便,同时附加一个小操作系统,即使经过裁减,仍然需要占有较多的系统存储空间,增加了计算机的存储空间成本。
缺陷2选择在“附加操作系统”中进行主操作性的完整性检测,实际上并不满足安全信任链的严密性,在附加小操作系统中进行主系统操作系统完整性检测完毕后,必须重新启动(Reboot)系统,造成安全信任链事实上是断裂的,且针对该“附加操作系统”的安全攻击同时也会存在,没有其他策略保证附加操作系统的可靠性。
缺陷3在该方案的控制流程中,必须设置标志位,区别程序需要进入“附加操作系统”,还是检测完毕后需要进入主操作系统,这为方案设计增加了成本和复杂性。而且设置标志位也存在安全漏洞,非法用户可以通过模拟标志位跳过操作系统完整性检测。同时,检测完毕需要重新启动系统,用户体验有待提高。
由此可见,只有在计算机底层固件运行阶段,即Pre-boot阶段完成操作系统完整性及可靠性检测的工作,才可以有效保证安全信任链的一致性和连贯性,满足人们使用计算机的安全性需求。同时,检测完毕可以直接启动操作系统,无需重启(Reset)过程,免去操作系统启动标志位的设计,并可以获得较好的用户体验。但是,在传统计算机底层固件(即BIOS层面)上实现以上功能非常复杂,这时因为传统BIOS的功能有限,特别对文件系统的访问接口不足,难于实现对复杂操作系统文件的数据分析,因此,在传统BIOS上实现以上功能较为困难,影响了其技术的进一步发展。。

发明内容
本发明的目的在于提供一种可进行完整性检测的计算机系统和方法,其基于EFI BIOS,在计算机底层固件运行阶段对操作系统的完整性进行检测。
为实现上述目的而提供的一种可进行完整性检测的计算机系统,包括EFI存储单元,还包括运行模式单元,其包括一个完整性检测启动控制量,在PEI阶段CPU、芯片组、主板的基本初始化完成后,通过判断该运行模式单元,决定是否启动完整性检测启动模式。
所述EFI存储单元包括EFI完整性检测单元,用于在完整性检测启动模式中,对EFI镜像代码进行完整性检测;EFI完整性检测单元包括EFI完整性度量值,用于在EFI完整性检测单元对EFI镜像代码进行完整性检测,生成的EFI完整性计算值后,根据度量值与计算值相比较,确定EFI镜像代码的完整性。
运行模式单元可以存储在硬件单元中。
所述EFI存储单元中的FV RECOVERY单元可以是只读代码单元。
所述计算机系统还包括有EFI镜像代码恢复单元,用于当EFI完整性检测单元对EFI镜像代码进行完整性检测,确定EFI镜像代码为不完整时,调用所述单元中的EFI镜像恢复代码,恢复EFI镜像代码。
所述的计算机系统还包括操作系统完整性检测单元,用于在启动操作系统之前强制执行操作系统完整性检测;所述操作系统完整性检测单元包括可信文件检测单元,用于调用操作系统完整性检测方法,执行对每个可信文件进行完整性检测,比较判断每个可信文件代码是否被篡改,依次针对每个文件生成可信文件计算值,对操作系统文件完整性进行检测;所述计算机系统还包括可信文件度量值,用于操作系统完整性检测单元对每个可信文件进行完整性检测,比较判断每个可信文件代码是否被篡改,依次针对每个文件生成可信文件计算值后,根据可信文件度量值与计算值相比较,确定单个可信文件的完整性,进而确定操作系统所有可信文件的完整性。
所述操作系统完整性检测单元还包括磁盘参数数据检测单元,用于读取磁盘参数数据,检测其磁盘参数数据是否完整,再调用可信文件检测单元进行单个可信文件完整性检测。
所述计算机系统还包括磁盘参数度量值,用于操作系统完整性检测单元对操作系统文件所存储的磁盘进行磁盘参数完整性检测,生成磁盘参数完整性计算值后,所述度量值与计算值相比较,确定该操作系统存储磁盘的完整性。
计算机系统还包括磁盘参数数据恢复单元,用于当磁盘参数数据检测单元检测磁盘参数为不完整时,调用该单元中的磁盘参数数据,强制恢复磁盘数据。
所述计算机系统还包括可信文件列表,用于在磁盘参数数据检测完成后,查找对比操作系统可信文件名,检测所有可信文件是否都存在,保证操作系统可信文件的完整性,然后调用可信文件检测单元进行单个可信文件完整性检测。
计算机系统还包括操作系统可信文件恢复单元,当操作系统完整性检测单元对操作系统可信文件通过可信文件列表或者可信文件度量值比较,进行完整性检测后,确定操作系统可信文件不完整或者被篡改时,调用预先保存的操作系统可信恢复文件,强制恢复该可信文件,恢复完整的操作系统环境。
可信文件度量值,磁盘参数度量值,可信文件列表,EFI镜像代码恢复单元,磁盘参数数据恢复单元和操作系统可信恢复文件单元,存储在EFI安全存储部件中,所述EFI安全存储部件为本地安全存储部件,或者外置安全存储部件,所述的外置安全存储部件为远程安全存储部件时,所述操作系统可信恢复文件存储在远程安全存储部件中;所述计算机系统还包括简单网络驱动单元,简单TCP Socket驱动单元,用于在确定操作系统文件不完整时,调用简单网络驱动单元,简单TCP Socket驱动单元通过网络连接到远程安全存储部件,将存储在远程安全存储部件中的操作系统可信恢复文件下载到本地恢复操作系统文件。
计算机系统还包括完整性管理单元,用于设置EFI启动时,是否需要执行完整性检测启动模式,并可以允许用户根据系统运行的需要定制操作系统涉及的操作系统可信相关文件,重新生成磁盘参数度量值,可信文件列表,可信文件度量值。
所述完整性管理单元包括安全等级设置单元用于设置所述计算机系统的启动模式;完整性预置单元用于定制操作系统可信文件,重新生成磁盘参数度量值,可信文件列表,可信文件度量值及操作系统可信文件,当系统再次进行完整性检测时,依照新的比较基准进行操作系统完整性检测;EFI完整性预置单元在用户选择EFI完整性预置管理时,运行EFI完整性预置单元,生成新的EFI完整性度量值。
本发明还提供一种计算机系统完整性检测的方法,包括EFI完整性检测,即包括下列步骤步骤A在系统上电运行至PEI阶段,CPU、芯片组、主板的基本初始化完成后,根据运行模式单元,决定是否开启完整性检测启动模式,否则直接按照通常的启动模式开启计算机系统;
步骤B当以完整性检测启动模式启动EFI BIOS时,调用EFI完整性检测单元计算出EFI完整性计算值;步骤C比较判断当前EFI完整性度量值和计算值是否相等,如果相等,则说明EFI镜像代码是完整的,执行EFI BIOS启动后续过程;如果不相等,说明EFI镜像代码不完整,执行后续过程;步骤D当EFI镜像代码不完整时,用户选择是否调用EFI镜像文件恢复单元中的EFI镜像文件恢复代码进行恢复,如果是,则进行EFI镜像代码恢复,完成EFI完整性检测,执行EFI后续过程;否则停止运行。
所述的计算机系统完整性检测方法,还包括操作系统完整性检测,即还包括下列步骤步骤EEFI完整性检测完成后,运行DXE阶段的流程,DXE调度操作系统完整性检测单元加载入内存;步骤F进入BDS阶段,如果运行模式单元为完整性检测设置,则调用步骤E所述的操作系统完整性检测单元;步骤G操作系统完整性检测单元中的可信文件检测单元调用操作系统完整性检测方法,执行对每个可信文件进行完整性检测,比较判断每个可信文件代码是否被篡改,依次针对每个文件生成可信文件计算值,对操作系统文件完整性进行检测;步骤H根据可信文件度量值与计算值相比较,确定单个可信文件的完整性,进而确定操作系统所有可信文件的完整性。
所述操作系统完整性检测还可以包括下列步骤步骤I当操作系统可信文件被篡改时,提示用户可以进行操作系统可信文件恢复,如果用户选择不进行恢复,则停止加载操作系统,如果用户选择进行恢复后,进行下一步;步骤J检测本地操作系统的文件与相应的操作系统可信文件是否相一致,如果都相一致,加载并运行操作系统;否则,进入下一步;步骤K提示用户是否进行恢复,如果用户选择不进行恢复,则停止加载操作系统,则如果用户选择恢复,则相应操作系统可信文件被复制覆盖相应的文件,加载并运行操作系统。
所述步骤G可以包括如下步骤步骤G1操作系统完整性检测单元首先调用磁盘参数数据检测单元,读取磁盘参数MBR,活动分区,分区表信息,通过散列算法计算MBR,活动分区,分区表信息的计算值,并与磁盘参数度量值进行比较,检测磁盘参数是否完整,然后才调用操作系统完整性检测单元中的可信文件检测单元对单个可信文件进行完整性检测。
所述步骤G1可以包括如下步骤步骤G11当磁盘参数数据检测单元检测磁盘参数为不完整时,调用磁盘参数数据恢复单元中的磁盘参数数据,强制恢复磁盘数据。
所述步骤G还可以包括下列步骤步骤G2在磁盘参数数据检测完成后,进行操作系统可信文件列表检测,查找对比操作系统可信文件名,检测所有可信文件是否都存在,保证操作系统可信文件的完整性,然后才调用可信文件检测单元进行单个可信文件完整性检测。
所述步骤G2还可以包括下列步骤步骤G21当操作系统可信文件列表检测到操作系统可信文件不存在时,强制调用操作系统可信文件恢复单元,恢复该操作系统可信文件。
另外,所述操作系统完整性检测还也可以包括下列步骤步骤I当操作系统文件不完整时,提示用户可以进行操作系统可信文件恢复,如果用户选择不进行恢复,则停止加载操作系统,如果用户选择进行恢复后,调用简单网络驱动单元,简单TCP Socket驱动单元连接到远程网络;步骤J检测操作系统的文件与相应的操作系统可信文件是否相一致,如果都相一致,关闭底层网络连接,加载并运行操作系统;否则,进入下一步;步骤K提示用户是否进行恢复,如果用户选择不进行恢复,则停止加载操作系统,则如果用户选择恢复,则远程服务器上的相应操作系统可信文件被复制并传送到本地,覆盖相应的文件,然后关闭底层网络连接,加载并运行操作系统。
所述步骤G可以包括如下步骤步骤G1操作系统完整性检测单元首先调用磁盘参数数据检测单元,读取磁盘参数MBR,活动分区,分区表信息,通过散列算法计算MBR,活动分区,分区表信息的计算值,并与磁盘参数度量值进行比较,检测磁盘参数是否完整,然后才调用操作系统完整性检测单元中的可信文件检测单元对单个可信文件进行完整性检测。
所述步骤G1可以包括如下步骤步骤G11当磁盘参数数据检测单元检测磁盘参数为不完整时,调用该单元中的磁盘参数数据,强制恢复磁盘数据。
所述步骤G还可以包括下列步骤步骤G2在磁盘参数数据检测完成后,进行操作系统可信文件列表检测,查找对比操作系统可信文件名,检测所有可信文件是否都存在,保证操作系统可信文件的完整性,然后才调用可信文件检测单元进行单个可信文件完整性检测。
所述步骤G2还可以包括下列步骤步骤G21当操作系统可信文件列表检测到操作系统可信文件不存在时,提示用户可以进行操作系统可信文件恢复,如果用户选择不进行恢复,则停止加载操作系统,如果用户选择进行恢复后,调用简单网络驱动单元,简单TCP Socket驱动单元连接到远程网络;步骤G22检测本地操作系统的文件与远程服务器上相应的操作系统可信文件是否相一致,如果都相一致,关闭底层网络连接,返回重新进行操作系统可信文件列表检查;否则,进入下一步;步骤G23提示用户是否进行恢复,如果用户选择不进行恢复,则停止加载操作系统,则如果用户选择恢复,则远程服务器上的相应操作系统可信文件被复制并传送到本地,覆盖相应的文件,然后关闭底层网络连接,返回重新进行操作系统可信文件列表检查。
所述的计算机系统完整性检测方法,还包括完整性管理配置,其包括如下步骤步骤L在用户通过了操作系统完整性检测之后,选择是否进入操作系统完整性管理单元;步骤M如果用户不选择进入操作系统完整性管理单元,则直接启动操作系统;当用户选择进入操作系统完整性管理单元时,显示操作系统完整性管理界面,用户对操作系统完整性进行管理配置;所述步骤M包括下列步骤步骤M1当用户选择安全等级管理时,运行安全等级设置单元,设置目前的计算机系统安全等级;步骤M2在用户选择操作系统完整性文件预置管理时,运行操作系统完整性文件预置单元,用户定制操作系统可信文件。
步骤M3在用户选择EFI代码完整性预置管理时,运行EFI完整性预置单元,生成新的EFI完整性度量值。
述步骤M2包括下列步骤步骤M21)运行操作系统完整性文件预置单元,提示并由用户选择增加或者减少操作系统可信文件;步骤M22)根据用户选择的操作系统可信文件,生成生成磁盘参数度量值,可信文件列表,可信文件度量值及其涉及的操作系统可信文件;步骤M23)将生成生成磁盘参数度量值,可信文件列表,可信文件度量值及其涉及的操作系统可信文件存储到安全存储部件;步骤M24)返回操作系统完整性管理单元。
本发明的有益效果是本发明实现了一种在EFI BIOS的计算机底层固件运行(Pre-boot)阶段进行操作系统完整性检测的系统及方法。它有效的解决了操作系统启动之前的EFI BIOS层面的操作系统完整性的认证问题,有效保证安全信任链的一致性和严密性,满足人们使用计算机的安全性需求。有效突破了在传统BIOS上进行操作系统完整性检测的局限性,解决以前方法的各种存在缺陷。本发明系统和方法支持功能强大,比较传统BIOS的实现系统和方法相对简单实用、灵活性更强、支持功能更强大、适用性更强等优点。


图1是本发明存储布局示意图;图2是本发明EFI工作流程图;图3是本发明EFI镜像文件完整性检测流程图;图4是本发明操作系统完整性检测流程图;
图5是本发明的完整性管理界面示意图;图6是本发明实施例完整性检测启动过程示意图。
具体实施例方式
下面结合附图1-6进一步详细说明本发明,本实施例描述了一个在EFI环境下,使用本发明的技术方案完成完整性检测的计算机系统,以及配合该计算机系统完整性检测的实现步骤。
首先,为详细描述本发明,下面先说明EFI技术本发明将涉及可扩展固件接口(EFI)技术,可扩展固件接口(ExtensibleFirmware Interface,EFI)是1999年出现的用以取代沿用多年的基本输入输出系统(BIOS)的新一代接口程序,关于可扩展固件接口的介绍,详见UEFI论坛关于EFI技术的介绍http://www.UEFI.org。EFI介于硬件设备以及操作系统(比如Windows或者Linux)之间。与传统的BIOS不同,EFI使用全球最广泛的高级语言C语言进行编写,其提供了既具有传统BIOS的功能又有优于传统BIOS的扩展功能,在设计机制和架构上也有别于传统BIOS的实现,是下一代BIOS接口规范,这就意味着有更多的工程师可以参与EFI的开发工作,添加许多更有价值的功能。
EFI具备的基本功能为硬件平台初始化;支持启动操作系统;脱离操作系统的平台管理工具。
EFI的工作模式可以简单归纳为启动系统,标准固件平台初始化,接着从加载EFI驱动程序库以及及执行相关程序,在EFI系统启动菜单中选取所要进入的系统并向EFI提交启动引导代码,正常的话将进入系统,否则将中止启动服务并返回EFI系统启动菜单。工程师们可以按照不同的需要为EFI增加新的功能,诸如更加详细实用的诊断功能、自我配置程序、列出系统可能发生的故障等等。
如图1-6所示,本发明的一种可进行完整性检测的计算机系统,是在EFIBIOS上实现的,其包括硬件和软件,硬件包括主板,中央处理器(CPU),内存,硬盘及外设。
主板和CPU分别为支持EFI规范的主板和CPU。
如图1、6所示,本发明的计算机系统的EFI存储单元1(EFI Flash ROMLayout)包括FV_RECOVERY单元2、FV_NVRAM单元3、FV_MAIN单元4。
BIOS ROM存储单元1是主板上用来存储BIOS的存储器,这种存储单元类型可以采用多种多样的芯片,如ROM、EPROM、EEPROM、FLASH ROM等。
FV_RECOVERY单元2、FV_NVRAM单元3、FV_MAIN单元4是在EFI存储单元1中按存储地址划分的具有不同功能的代码段或者代码卷。
1)FV_RECOVERY单元2存储EFI的SEC和PEI阶段的运行代码单元SEC(Security)阶段其用于在计算机系统上电(Power On)开始启动,PEI阶段(PEI foundation)开始之前,检查处理器执行头几行的代码是否可以执行,同时,它将初始化很小一块临时内存块供PEI阶段的运行代码单元执行使用;PEI(Pre-EFI Initialization)阶段其用于调用处理器、芯片组、主板初始化配置例程,进行系统的初步初始化,建立可供DXE阶段运行的最小化的可运行环境。其中,最小化的可运行环境的功能包括确定系统的引导路径(boot path);初始化内存;初始化包含DXE部分代码存储的基本输入输出的存储文件,以保证DXE文件单元之后的文件可以正确访问。
2)FV_NVRAM单元存放系统变量EFI需要的一些环境系统变量均可以以变量形式从这个单元读取。
3)FV_MAIN段包括DXE和BDS阶段的运行代码单元DXE(Driver Execution Environment)阶段其用于完成系统平台初始化的主要工作,负责全面初始化CPU、芯片组及系统平台,并提供给启动操作系统足够服务,保证操作系统在其后的阶段可以运行。在该文件单元中,系统将加载大量的EFI驱动支持完成上述功能。
BDS(Boot Device Selection)阶段其用于选择操作系统启动设备,为启动操作系统做好准备。
如图6所示,本发明是一个基于架构(framework)的EFI计算机系统,整个EFI的运行流程从冷启动(Code boot)开始,经历几个主要阶段SEC阶段;PEI阶段;DXE阶段;BDS阶段。其后是EFI的一些附加阶段,它包含了操作系统的启动和运行过程中,EFI与操作系统交互和配合过程TSL(Transient System Load)阶段允许在系统尚未被操作系统完全接管的情况下,操作系统装载过程(Os loader)中可以调用的EFI服务;RT(runtime)阶段提供与操作系统并行运行服务(Runtime服务),以支持操作系统的需求;AL(Afterlife)阶段意味着当操作系统结束执行时,重新进入EFI,继续接管理运行。
本发明的计算机系统是在通常的启动模式(BootMode)中,增加一种启动模式(BootMode),为完整性检测启动模式(BOOT_IN_OS_INTEGRITY),在该计算机系统中,包括运行模式单元包括一个完整性检测启动控制量,该控制量控制是否启动完整性检测启动模式。
运行模式单元可以存储在硬件单元中,例如设置一个硬件开关,该开关一端接地,另一端联结在计算机主板的I/O控制模块上,该硬件开关与I/O控制模块之间的接口可以是GPIO,串口,并口或USB口,但并不限于此。从该硬件开关所在的I/O地址读取开关的“开”或“关”的状态,决定计算机启动方式是否为完整性启动模式。
所述PEI阶段的运行代码单元包括EFI完整性检测单元5,用于在CPU(CPU INIT),芯片组(Chipset INIT),主板(Board INIT)完成初步的初始化后,运行EFI完整性检测单元5,检测EFI镜像代码完整性。
EFI完整性检测单元5包括EFI完整性度量值,用于在EFI完整性检测单元5对EFI镜像代码进行完整性检测,生成的EFI完整性计算值后,根据度量值与计算值相比较,确定EFI镜像代码的完整性。
EFI完整性检测单元5存储在FV_RECOVERY单元中。
较佳地,所述计算机系统EFI存储单元1中的FV_RECOVERY单元2为只读(ROM)单元。
在系统上电,运行SEC阶段进入PEI阶段,CPU(CPU INIT),芯片组(Chipset INIT),主板(Board INIT)完成初步的初始化后,根据运行模式单元,判断其启动模式是否为完整性检测启动模式,如果是则开启完整性检测启动模式,否则按照正常的启动模式开启计算机系统。
如果启动的是完整性检测启动模式,则运行EFI完整性检测单元5,对EFI镜像代码进行完整性检测,生成的EFI完整性计算值,根据度量值与计算值相比较,确定EFI镜像代码的完整性。
在本发明的计算机系统中,还包括有EFI镜像代码(Image)恢复单元8,当EFI完整性检测单元5对EFI镜像代码进行完整性检测以后,生成的EFI完整性计算值,根据度量值与计算值相比较,确定EFI镜像代码为不完整时,调用上述恢复单元中的EFI代码,恢复EFI镜像(Image)代码。
在本发明的EFI计算机系统中,还包括操作系统完整性检测在完整性检测启动模式中,在EFI完整性检测单元5完成对EFI完整性检测后,进入DXE(Driver execution environment)、BDS(Boot Device Selection)阶段时,通过操作系统完整性检测单元6(module)检测操作系统完整性,然后再启动操作系统。
操作系统完整性检测单元6,用于在启动操作系统之前执行操作系统完整性检测,其包括磁盘参数数据检测单元,用于读取磁盘参数数据,如磁盘主启动记录(Master Boot Record,MBR),活动分区,分区表等,并检测这些磁盘参数是否完整,如通过散列算法(HASH算法)计算MBR,活动分区、分区表的计算值,与磁盘参数度量值进行比较,检测其磁盘参数数据是否完整。
所述的磁盘参数度量值10是预先设定在计算机系统中的,用于该单元检测磁盘参数后的计算值相比较,并判断磁盘参数是否完整。
本实施例中的计算机系统还包括操作系统可信文件列表11,用于查找对比操作系统可信文件名,检测所有的操作系统可信文件是否都存在。
操作系统可信文件是保持操作系统完整性的一系列不可被篡改的多个文件。当发现其中某个文件被篡改或不完整时,可以从预先存储的位置上调出保存的正确文件(操作系统可信恢复文件),然后进行恢复。
操作系统完整性检测单元6还包括可信文件检测单元,用于调用操作系统完整性检测方法,执行对每个可信文件进行完整性检测,比较判断每个可信文件代码是否被篡改,依次针对每个文件生成可信文件计算值,完成度量值的比较,用于对操作系统文件完整性进行检测。
操作系统完整性检测方法可以是计算操作系统文件代码完整性的各种方法,本实施例中为散列算法(HASH算法),如果确定操作系统n个核心文件为操作系统的可信文件,当这n个文件(操作系统可信文件)中有一个发生改变,就意味着操作系统不再完整,散列算法为每一个文件计算出一个(hash)值,每个文件记录一个Hash值,逐个进行比较,这n个文件任何一个Hash值发生改变,都意味着操作系统完整性被破坏。
所述的操作系统完整性检测方法是可以替换的,其方法可以很复杂,也可以很简单,因此此处不限定其实际的实施方法。
所述计算机系统还包括可信文件度量值,用于操作系统完整性检测单元对每个可信文件进行完整性检测,比较判断每个可信文件代码是否被篡改,依次针对每个文件生成可信文件计算值后,根据度量值与计算值相比较,确定单个可信文件的完整性,进而确定操作系统所有可信文件的完整性。
如图6所示,系统在启动操作系统之前执行操作系统完整性检测,即EFI完整性检测以后,DXE阶段,执行引导服务(Boot Services)、运行服务(RuntimeService),进入DXE调度(DXE Dispatcher),在这一期间,将加载设备(Devices)、总线(Bus)或者串口设备驱动(Serial driver),包括操作系统完整性检测驱动,进入BDS阶段后,如果启动模式为操作系统完整性检测模式,则将调用操作系统完整性检测单元6,执行操作系统完整性检测。
操作系统完整性检测单元6首先调用磁盘参数数据检测单元,读取磁盘参数MBR,活动分区,分区表信息,通过散列算法计算MBR,活动分区,分区表信息的计算值,并与磁盘参数度量值10进行比较,检测磁盘参数是否完整;然后,进行操作系统可信文件列表11检测,检查可信文件是否均存在;最后,可信文件检测单元调用操作系统完整性检测方法,执行对每个可信文件进行完整性检测,比较判断每个可信文件代码是否被篡改,依次针对每个文件生成可信文件计算值,对操作系统文件完整性进行检测;根据可信文件度量值12与计算值相比较,确定单个可信文件的完整性,进而确定操作系统所有可信文件的完整性。
操作系统完整性检测单元中的代码都是以驱动形式存储在EFI代码单元中的,EFIBIOS在启动过程中,以驱动的形式调用操作系统完整性检测单元。
本发明的完整性检测启动模式中,在DXE,BDS阶段,包含的DXE阶段运行代码单元包含有简单网络驱动单元(Simple Network Driver),简单TCPSocket驱动单元(Simple Tcp Socket Driver),这些单元在BDS阶段中被调用配合支持操作系统完整性检测功能。
在本发明的计算机系统中,还包括磁盘参数数据恢复单元7该单元中的磁盘参数包括但不限于MBR、活动分区、分区表等,当磁盘参数数据检测单元检测磁盘参数为不完整时,调用该单元中的磁盘参数数据,强制恢复磁盘数据。
操作系统可信文件恢复单元9该单元中的操作系统可信文件可以包括但不限于操作系统内核文件,关键可信数据文件等。操作系统可信文件的可根据系统运行的需要以及用户的需要定制。当操作系统完整性检测单元对操作系统文件完整性进行检测以后,根据度量值与计算值相比较,确定操作系统文件不完整时,调用所述的操作系统可信文件恢复单元9中的操作系统可信文件,恢复操作系统文件。
所述的可信文件度量值12,磁盘参数度量值10,可信文件列表11,EFI镜像代码(Image)恢复单元8,磁盘参数数据恢复单元7以及操作系统可信文件恢复单元9,可以存储在EFI安全存储部件中。
EFI安全存储部件为本地安全存储部件,或者外置安全存储部件,其可以是任何通过系统总线、USB、无线网络、有线网络连接的任何安全存储部件,包括具有安全保护功能的硬盘,如具有HPA(Host Protected Area)的硬盘,或者是具有访问控制功能的flash存储器,或者是通过USB接口连接地具有访问控制功能的大容量USB安全存储部件。
较佳地,所述外置安全存储部件为远程安全存储部件,操作系统可信文件恢复单元9存储在远程安全存储部件中;可信文件度量值12,磁盘参数度量值10,可信文件列表11,EFI镜像代码(Image)恢复单元8,磁盘参数数据恢复单元7存储在本地安全存储部件中。在确定操作系统文件不完整时,调用简单网络驱动单元,简单TCP Socket驱动单元通过网络连接到远程安全存储部件,下载该单元中的操作系统可信文件到本地恢复操作系统文件。
由于EFI直接支持文件读写功能,所述EFI镜像文件(Image)及操作系统可信文件等文件均可以以通用文件格式存储在安全存储部件中,利用EFI文件访问接口进行访问,比较在传统BIOS上实现时需要增加一系列的文件系统访问接口,其实现方式更为简单易行,扩展性好。
本发明的计算机系统中,还可以包括完整性管理单元,其功能是设置EFIBIOS启动时,是否需要执行完整性检测启动模式,并可以允许用户根据系统运行的需要定制操作系统涉及的操作系统可信相关文件,重新生成操作系统完整性度量值。用户可以在该管理单元中实现灵活的完整性检测设置管理功能。该管理单元包括下列单元安全等级设置单元当用户设置目前的BIOS安全等级为“高安全等级”时,则在EFI BIOS启动过程中,必须执行完整性检测启动模式,通过EFI完整性检测和操作系统完整性检测全过程才能加载运行操作系统;如果设置为低安全等级,则意味着安全级别不高,用户不需要执行完整性检测。
操作系统完整性文件预置单元用户根据系统运行的需要以及用户的需要定制其涉及的可信相关文件,用户可以从些单元重新生成生成磁盘参数度量值10,可信文件列表11,可信文件度量值12,及其涉及的可信相关文件,当系统再次进行完整性检测时,将依照新生成的比较基准进行操作系统完整性检测。
EFI完整性预置单元在用户选择EFI完整性预置管理时,运行EFI完整性预置单元,生成新的EFI完整性度量值。
较佳地,系统设置只有超级用户才可以进入完整性管理单元,进行涉及安全等级设置及文件预置功能。
本发明预先在安全存储部件中存储磁盘参数度量值10、可信文件列表11、可信文件度量值12、磁盘参数数据恢复单元7、EFI镜像恢复代码(Image)单元8、操作系统可信文件恢复单元9,扩展实现可进行完整性检测的EFI系统架构,其在EFI BIOS启动过程中,先进行EFI完整性检测,然后进行计算机底层固件运行阶段的操作系统完整性检测,确认将要启动的操作系统后,才允许引导并加载该操作系统运行。本发明充分保证了操作系统启动之前的可靠性检测,不依赖于操作系统,只依赖于EFI BIOS的检测链,保证了操作系统的安全和可信,从而严格保证了操作系统运行环境的可信任性,满足应用需求,且实现成本低、应用接口可用性强。
下面结合所述的计算机系统详细描述本发明所述的可进行计算机系统完整性检测的方法步骤如图2-6所示,本发明的计算机系统,是在PEI阶段,CPU、芯片组、主板的基本初始化以后,进行EFI完整性检测,操作系统完整性检测,并可以在完整性检测过程中,发现EFI文件(Image)代码或者操作系统文件不完整时,选择是否进行文件恢复,还可以进行操作系统完整性检测管理配置。
EFI完整性检测包括如下步骤步骤A在系统上电,运行SEC阶段,进入到PEI阶段,CPU初始化(CPUINIT),芯片组初始化(Chipset INIT),主板初始化(Board INIT)完成后,运行运行模式单元,判断完整性检测启动控制量为真或假,如果为真则开启完整性检测启动模式,否则直接按照通常的启动模式开启计算机系统;步骤B当以完整性检测启动模式启动EFI BIOS时,调用EFI完整性检测单元5以散列算法(Hash算法)计算出EFI完整性计算值;步骤C比较判断当前EFI完整性度量值和计算值是否相等,如果相等,则说明EFI镜像代码是完整的,执行EFI启动后续过程;如果不相等,说明EFI镜像代码不完整;步骤D当EFI镜像代码不完整时,用户选择是否调用EFI镜像代码恢复单元9中的EFI镜像文件恢复代码进行恢复,如果是,则进行EFI镜像代码恢复,完成EFI完整性检测,执行EFI后续过程;否则停止运行。
当EFI完整性检测完成后,系统执行操作系统完整性检测步骤EEFI完整性检测完成后,运行DXE阶段的流程,DXE调度操作系统完整性检测单元6加载入内存;步骤F进入BDS阶段,如果运行模式单元为完整性检测设置,则调用步骤E所述的操作系统完整性检测单元6;
步骤G操作系统完整性检测单元6中的可信文件检测单元调用操作系统完整性检测方法,执行对每个可信文件进行完整性检测,比较判断每个可信文件代码是否被篡改,依次针对每个文件生成可信文件计算值,对操作系统文件完整性进行检测;步骤G还包括下列步骤步骤G1操作系统完整性检测单元6首先调用磁盘参数数据检测单元,读取磁盘参数MBR,活动分区,分区表信息,通过散列算法计算MBR,活动分区,分区表信息的计算值,并与磁盘参数度量值10进行比较,检测磁盘参数是否完整;步骤G2在磁盘参数数据检测完成后,进行操作系统可信文件列表11检测,查找对比操作系统可信文件名,检测所有可信文件是否都存在,保证操作系统可信文件的完整性,然后才调用可信文件检测单元进行单个可信文件完整性检测。
步骤G1还包括下列步骤步骤G11当磁盘参数数据检测单元检测磁盘参数为不完整时,调用磁盘参数数据恢复单元7中的磁盘参数数据,强制恢复磁盘数据。
步骤G2还包括下列步骤步骤G21当操作系统可信文件列表11检测到操作系统可信文件不存在时,提示用户可以进行操作系统可信文件恢复,如果用户选择不进行恢复,则停止加载操作系统,如果用户选择进行恢复后,调用简单网络驱动单元,简单TCP Socket驱动单元连接到远程网络;步骤G22检测本地操作系统的文件与远程服务器上相应的操作系统可信文件是否相一致,如果都相一致,关闭底层网络连接,返回重新进行操作系统可信文件列表11检查;否则,进入下一步;步骤G23提示用户是否进行恢复,如果用户选择不进行恢复,则停止加载操作系统,则如果用户选择恢复,则远程服务器上的相应操作系统可信文件被复制并传送到本地,覆盖相应的文件,然后关闭底层网络连接,返回重新进行操作系统可信文件列表11检查。
步骤H根据可信文件度量值与计算值相比较,确定单个可信文件的完整性,进而确定操作系统所有可信文件的完整性;步骤I当操作系统文件不完整时,提示用户可以进行操作系统可信文件恢复,如果用户选择不进行恢复,则停止加载操作系统,如果用户选择进行恢复后,调用简单网络驱动单元,简单TCP Socket驱动单元连接到远程网络;步骤J检测本地操作系统的文件与远程服务器上相应的操作系统可信文件是否相一致,如果都相一致,关闭底层网络连接,加载并运行操作系统;否则,进入下一步;步骤K提示用户是否进行恢复,如果用户选择不进行恢复,则停止加载操作系统,则如果用户选择恢复,则远程服务器上的相应操作系统可信文件被复制并传送到本地,覆盖相应的文件,然后关闭底层网络连接,加载并运行操作系统。
在用户通过操作系统完整性检测之后,可以进行系统安全配置设置,包括如下步骤步骤L在用户通过了操作系统完整性检测之后,可以通过按下特定功能键选择是否进入操作系统完整性管理单元;步骤M如果用户不选择进入操作系统完整性管理单元,则直接启动操作系统;当用户选择进入操作系统完整性管理单元时,显示操作系统完整性管理界面,用户对操作系统完整性进行管理配置;步骤M1当用户选择安全等级管理时,运行安全等级设置单元,在该管理单元中实现灵活的操作系统完整性管理功能,可以让用户设置目前的计算机系统安全等级,如果设置为高安全等级,则在EFI BIOS启动过程中,必须通过完整性检测全过程才能加载并运行操作系统;如果设置为低安全等级,则不执行操作系统完整性检测。
步骤M2在用户选择操作系统完整性文件预置管理时,运行操作系统完整性文件预置单元,允许用户根据系统运行的需要以及用户的需要定制其涉及的操作系统可信文件步骤M21运行操作系统完整性文件预置单元,提示并由用户选择增加或者减少操作系统可信文件;步骤M22根据用户选择的操作系统可信文件,生成生成磁盘参数度量值,可信文件列表,可信文件度量值及其涉及的操作系统可信文件;步骤M23将生成生成磁盘参数度量值,可信文件列表,可信文件度量值及其涉及的操作系统可信文件存储到安全存储部件;步骤M24返回操作系统完整性管理单元。
步骤M3在用户选择EFI代码完整性预置管理时,运行EFI完整性预置单元,生成新的EFI完整性度量值。
本发明实现了一种在EFI BIOS启动的计算机底层固件运行阶段(Pre-boot阶段)进行完整性检测的计算机系统及方法。它有效的解决了操作系统启动之前的BIOS层面的完整性认证问题,有效保证安全信任链的一致性和严密性,完全满足前述的背景技术需求;其在完整性检测完毕可以直接启动操作系统,无需重启(Reset)过程,免去操作系统启动标志位的设计,并可以获得较好的用户体验,有效解决以前方法的各种存在缺陷;同时,其支持功能也很强大,比较传统BIOS的实现方法更为简单,效果更好;而且支持存储在将操作系统可信文件存储在远程安全存储部件,实现远程网络操作系统完整性检测恢复,进一步扩充可该方法的使用范围,相比于传统BIOS具有较大技术优势。进一步地,其提供了友好性更好的图形用户安全管理配置界面,具有更好的易用性和灵活性利用EFI图形化基础接口,并配合扩展实现方法,使用户使用统一的图形界面完成操作系统完整性管理配置功能,技术方案更加灵活易用。
本实施例是为了更好地理解本发明进行的详细的描述,而并不是对本发明所保护的范围的限定,因此,本领域普通技术人员不脱离本发明的主旨情况下,未经创造性劳动而对本明所做的改变,是在本发明的保护范围内的。
权利要求
1.一种可进行完整性检测的计算机系统,包括EFI存储单元(1),其特征在于,还包括运行模式单元,其包括一个完整性检测启动控制量,在PEI阶段CPU、芯片组、主板的基本初始化完成后,通过判断该运行模式单元,决定是否启动完整性检测启动模式;所述EFI存储单元包括EFI完整性检测单元(5),用于在完整性检测启动模式中,对EFI镜像代码进行完整性检测;EFI完整性检测单元(5)包括EFI完整性度量值,用于在EFI完整性检测单元对EFI镜像代码进行完整性检测,生成的EFI完整性计算值后,根据度量值与计算值相比较,确定EFI镜像代码的完整性。
2.根据权利要求1所述的计算机系统,其特征在于,运行模式单元存储在硬件单元中。
3.根据权利要求1所述的计算机系统,其特征在于,所述EFI存储单元中的FV RECOVERY单元(2)为只读代码单元。
4.根据权利要求1所述的计算机系统,其特征在于,还包括有EFI镜像代码恢复单元(8),用于当EFI完整性检测单元(5)对EFI镜像代码进行完整性检测,确定EFI镜像代码为不完整时,调用所述单元(8)中的EFI镜像恢复代码,恢复EFI镜像代码。
5.根据权利要求4所述的计算机系统,其特征在于,还包括操作系统完整性检测单元(6),用于在启动操作系统之前强制执行操作系统完整性检测;所述操作系统完整性检测单元(6)包括可信文件检测单元,用于调用操作系统完整性检测方法,执行对每个可信文件进行完整性检测,比较判断每个可信文件代码是否被篡改,依次针对每个文件生成可信文件计算值,对操作系统文件完整性进行检测;所述计算机系统还包括可信文件度量值(12),用于操作系统完整性检测单元(6)对每个可信文件进行完整性检测,比较判断每个可信文件代码是否被篡改,依次针对每个文件生成可信文件计算值后,根据度量值与计算值相比较,确定单个可信文件的完整性,进而确定操作系统所有可信文件的完整性。
6.根据权利要求5所述的计算机系统,其特征在于,所述操作系统完整性检测单元(6)还包括磁盘参数数据检测单元,用于读取磁盘参数数据,检测其磁盘参数数据是否完整,再调用可信文件检测单元进行单个可信文件完整性检测。所述计算机系统还包括磁盘参数度量值(10),用于操作系统完整性检测单元(6)对操作系统文件所存储的磁盘进行磁盘参数完整性检测,生成磁盘参数完整性计算值后,所述度量值与计算值相比较,确定该操作系统存储磁盘参数的完整性。
7.根据权利要求6所述的计算机系统,其特征在于,还包括磁盘参数数据恢复单元(7),用于当磁盘参数数据检测单元检测磁盘参数为不完整时,调用该单元中的磁盘参数数据,强制恢复磁盘数据。
8.根据权利要求6所述的计算机系统,其特征在于,所述还包括可信文件列表(11),用于在磁盘参数数据检测完成后,查找对比操作系统可信文件名,检测所有可信文件是否存在,保证操作系统可信文件的完整性,然后调用可信文件检测单元进行单个可信文件完整性检测。
9.根据权利要求8所述的计算机系统,其特征在于,还包括操作系统可信文件恢复单元(9),当操作系统完整性检测单元(6)对操作系统可信文件通过可信文件列表(11)或者可信文件度量值(12)比较,进行完整性检测后,确定操作系统可信文件不完整或者被篡改时,调用预先保存的操作系统可信恢复文件,强制恢复该可信文件,恢复完整的操作系统环境。
10.根据权利要求9所述的计算机系统,其特征在于,所述可信文件度量值(12),磁盘参数度量值(10),可信文件列表(11),EFI镜像代码恢复单元(8),磁盘参数数据恢复单元(7)和操作系统可信恢复文件单元(9),存储在EFI安全存储部件中。
11.根据权利要求10所述的计算机系统,其特征在于,所述EFI安全存储部件为本地安全存储部件,或者外置安全存储部件。
12.根据权利要求11所述的计算机系统,其特征在于,所述的外置安全存储部件为远程安全存储部件时,所述操作系统可信恢复文件单元(9)存储在远程安全存储部件中;所述计算机系统还包括简单网络驱动单元,简单TCP Socket驱动单元,用于在确定操作系统文件不完整时,调用简单网络驱动单元,简单TCP Socket驱动单元通过网络连接到远程安全存储部件,将存储在远程安全存储部件中的操作系统可信恢复文件下载到本地恢复操作系统文件。
13.根据权利要求5所述的计算机系统,其特征在于,还包括完整性管理单元,用于设置EFI启动时,是否需要执行完整性检测启动模式,并可以允许用户根据系统运行的需要定制操作系统涉及的操作系统可信相关文件,重新生成磁盘参数度量值(10),可信文件列表(11),可信文件度量值(12)。
14.根据权利要求13所述的计算机系统,其特征在于,所述完整性管理单元包括安全等级设置单元用于设置所述计算机系统的启动模式;完整性预置单元用于定制操作系统可信文件,重新生成磁盘参数度量值(10),可信文件列表(11),可信文件度量值(12)及操作系统可信文件,当系统再次进行完整性检测时,依照新的比较基准进行操作系统完整性检测;EFI完整性预置单元在用户选择EFI完整性预置管理时,运行EFI完整性预置单元,生成新的EFI完整性度量值。
15.一种计算机系统完整性检测的方法,其特征在于,包括EFI完整性检测,即包括下列步骤步骤A在系统上电运行至PEI阶段,CPU、芯片组、主板的基本初始化完成后,根据运行模式单元,决定是否开启完整性检测启动模式,否则直接按照通常的启动模式开启计算机系统;步骤B当以完整性检测启动模式启动EFI BIOS时,调用EFI完整性检测单元(5)计算出EFI完整性计算值;步骤C比较判断当前EFI完整性度量值和计算值是否相等,如果相等,则说明EFI镜像代码是完整的,执行EFI BIOS启动后续过程;如果不相等,说明EFI镜像代码不完整,执行后续过程。
16.根据权利要求15所述的计算机系统完整性检测方法,其特征在于,所述EFI完整性检测还包括如下步骤步骤D当EFI镜像代码不完整时,用户选择是否调用EFI镜像文件恢复单元(8)中的EFI镜像恢复代码进行恢复,如果是,则进行EFI镜像代码恢复,完成EFI完整性检测,执行EFI BIOS后续过程;否则停止运行。
17.根据权利要求15或16所述的计算机系统完整性检测方法,其特征在于,还包括操作系统完整性检测,即还包括下列步骤步骤EEFI完整性检测完成后,运行DXE阶段的流程,DXE调度操作系统完整性检测单元(6)加载入内存;步骤F进入BDS阶段,如果运行模式单元为完整性检测设置,则调用步骤E所述的操作系统完整性检测单元(6);步骤G操作系统完整性检测单元(6)中的可信文件检测单元调用操作系统完整性检测方法,执行对每个可信文件进行完整性检测,比较判断每个可信文件代码是否被篡改,依次针对每个文件生成可信文件计算值,对操作系统文件完整性进行检测;步骤H根据可信文件度量值(12)与计算值相比较,确定单个可信文件的完整性,进而确定操作系统所有可信文件的完整性。
18.根据权利要求17所述的计算机系统完整性检测方法,其特征在于,所述操作系统完整性检测还包括下列步骤步骤I当操作系统可信文件被篡改时,提示用户可以进行操作系统可信文件恢复,如果用户选择不进行恢复,则停止加载操作系统,如果用户选择进行恢复后,进行下一步;步骤J检测操作系统的文件与相应的操作系统可信文件是否相一致,如果都相一致,加载并运行操作系统;否则,进入下一步;步骤K提示用户是否进行恢复,如果用户选择不进行恢复,则停止加载操作系统,则如果用户选择恢复,则相应操作系统可信文件都被复制覆盖相应的文件,加载并运行操作系统。
19.根据权利要求18所述的完整性检测方法,其特征在于,所述步骤G包括如下步骤步骤G1操作系统完整性检测单元(6)首先调用磁盘参数数据检测单元,读取磁盘参数MBR,活动分区,分区表信息,通过散列算法计算MBR,活动分区,分区表信息的计算值,并与磁盘参数度量值(10)进行比较,检测磁盘参数是否完整,然后才调用操作系统完整性检测单元(6)中的可信文件检测单元对单个可信文件进行完整性检测。
20.根据权利要求19所述的计算机系统完整性检测方法,其特征在于,所述步骤G1包括如下步骤步骤G11当磁盘参数数据检测单元检测磁盘参数为不完整时,调用磁盘参数恢复单元(7)中的磁盘参数数据,强制恢复磁盘数据。
21.根据权利要求20所述的计算机系统完整性检测方法,其特征在于,所述步骤G还包括下列步骤步骤G2在磁盘参数数据检测完成后,进行操作系统可信文件列表(11)检测,查找对比操作系统可信文件名,检测所有可信文件是否都存在,保证操作系统可信文件的完整性,然后才调用可信文件检测单元进行单个可信文件完整性检测。
22.根据权利要求21所述的计算机系统完整性检测方法,其特征在于,所述步骤G2还包括下列步骤步骤G21当操作系统可信文件列表(11)检测到操作系统可信文件不存在时,强制调用操作系统可信文件恢复单元(9),恢复该操作系统可信文件。
23.根据权利要求17所述的计算机系统完整性检测方法,其特征在于,所述操作系统完整性检测还包括下列步骤步骤I当操作系统文件不完整时,提示用户可以进行操作系统可信文件恢复,如果用户选择不进行恢复,则停止加载操作系统,如果用户选择进行恢复后,调用简单网络驱动单元,简单TCP Socket驱动单元连接到远程网络;步骤J检测本地操作系统的文件与远程服务器上相应的操作系统可信文件是否相一致,如果都相一致,关闭底层网络连接,加载并运行操作系统;否则,进入下一步;步骤K提示用户是否进行恢复,如果用户选择不进行恢复,则停止加载操作系统,则如果用户选择恢复,则远程服务器上的相应操作系统可信文件被复制并传送到本地,覆盖相应的文件,然后关闭底层网络连接,加载并运行操作系统。
24.根据权利要求23所述的完整性检测方法,其特征在于,所述步骤G包括如下步骤步骤G1操作系统完整性检测单元(6)首先调用磁盘参数数据检测单元,读取磁盘参数MBR,活动分区,分区表信息,通过散列算法计算MBR,活动分区,分区表信息的计算值,并与磁盘参数度量值(10)进行比较,检测磁盘参数是否完整,然后才调用操作系统完整性检测单元(6)中的可信文件检测单元对单个可信文件进行完整性检测。
25.根据权利要求24所述的计算机系统完整性检测方法,其特征在于,所述步骤G1包括如下步骤步骤G11当磁盘参数数据检测单元检测磁盘参数为不完整时,调用该单元中的磁盘参数数据,强制恢复磁盘数据。
26.根据权利要求25所述的计算机系统完整性检测方法,其特征在于,所述步骤G还包括下列步骤步骤G2在磁盘参数数据检测完成后,进行操作系统可信文件列表(11)检测,查找对比操作系统可信文件名,检测所有可信文件是否都存在,保证操作系统可信文件的完整性,然后才调用可信文件检测单元(6)进行单个可信文件完整性检测。
27.根据权利要求26所述的计算机系统完整性检测方法,其特征在于,所述步骤G2还包括下列步骤步骤G21当操作系统可信文件列表检测到操作系统可信文件不存在时,提示用户可以进行操作系统可信文件恢复,如果用户选择不进行恢复,则停止加载操作系统,如果用户选择进行恢复后,调用简单网络驱动单元,简单TCP Socket驱动单元连接到远程网络;步骤G22检测本地操作系统的文件与远程服务器上相应的操作系统可信文件是否相一致,如果都相一致,关闭底层网络连接,返回重新进行操作系统可信文件列表(11)检查;否则,进入下一步;步骤G23提示用户是否进行恢复,如果用户选择不进行恢复,则停止加载操作系统,则如果用户选择恢复,则远程服务器上的相应操作系统可信文件被复制并传送到本地,覆盖相应的文件,然后关闭底层网络连接,返回重新进行操作系统可信文件列表(11)检查。
28.根据权利要求17所述的计算机系统完整性检测方法,其特征在于,还包括完整性管理配置,其包括如下步骤步骤L在用户通过了操作系统完整性检测之后,选择是否进入操作系统完整性管理单元;步骤M如果用户不选择进入操作系统完整性管理单元,则直接启动操作系统;当用户选择进入操作系统完整性管理单元时,显示操作系统完整性管理界面,用户对操作系统完整性进行管理配置。
29.根据权利要求28所述的计算机系统完整性检测方法,其特征在于,所述步骤M包括下列步骤步骤M1当用户选择安全等级管理时,运行安全等级设置单元,设置目前的计算机系统安全等级;步骤M2在用户选择操作系统完整性文件预置管理时,运行操作系统完整性文件预置单元,用户定制操作系统可信文件;步骤M3在用户选择EFI代码完整性预置管理时,运行EFI完整性预置单元,生成新的EFI完整性度量值。
30.根据权利要求29所述的操作系统完整性检测方法,其特征在于,所述步骤M2包括下列步骤步骤M21运行操作系统完整性文件预置单元,提示并由用户选择增加或者减少操作系统可信文件;步骤M22根据用户选择的操作系统可信文件,生成生成磁盘参数度量值(10),可信文件列表(11),可信文件度量值(12)及其涉及的操作系统可信文件;步骤M23将生成生成磁盘参数度量值(10),可信文件列表(11),可信文件度量值(12)及其涉及的操作系统可信文件存储到EFI安全存储部件;步骤M24返回操作系统完整性管理单元。
全文摘要
一种可进行完整性检测的计算机系统和方法,包括运行模式单元,其包括一个完整性检测启动控制量,通过判断该运行模式单元,决定是否启动完整性检测启动模式;EFI完整性检测单元(5),对EFI镜像代码进行完整性检测;EFI完整性检测单元(5)包括EFI完整性度量值,在生成的EFI完整性计算值后,根据度量值与计算值相比较,确定EFI镜像代码的完整性。还包括操作系统完整性检测单元(6)及完整性管理单元。其基于EFI BIOS,在计算机底层固件运行阶段对操作系统的完整性进行检测,具有更好的可靠性及安全性。
文档编号G06F21/57GK1952885SQ20051011289
公开日2007年4月25日 申请日期2005年10月19日 优先权日2005年10月19日
发明者张怡, 周建, 席振新, 田宏萍 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1