可配置的虚拟机启动完整性维护的方法及系统的制作方法

文档序号:6624779阅读:266来源:国知局
可配置的虚拟机启动完整性维护的方法及系统的制作方法
【专利摘要】本发明公开一种可配置的虚拟机启动完整性’维护的方法及系统,通过将存储的度量基准值与实时度量值进行比较,扫描识别出实时系统程序/文件和实时用户指定程序/文件中存在的缺陷,根据在先备份的原始系统程序/文件和原始用户指定程序/文件对其缺陷进行修补,最终达到虚拟机安全启动,进而使虚拟机安全运行。采用本发明实施例所述的可配置的虚拟机启动完整性维护的方法使虚拟机管理器不仅能够对重要程序/文件进行备份、检测和恢复,保证虚拟机启动过程的可靠性和安全性,而且通过扫描识别用户的配置信息,增强了虚拟机启动完整性管理的可维护性和可扩展性。
【专利说明】可配置的虚拟机启动完整性维护的方法及系统

【技术领域】
[0001] 本发明涉及一种计算机信息安全【技术领域】,特别涉及一种可配置的虚拟机启动完 整性维护的方法及系统。

【背景技术】
[0002] 随着信息技术的发展和人们对计算机资源不断提高的要求,云计算已经成为当前 计算机技术研究的热点。云计算使用虚拟化技术对底层计算、网络和存储资源进行封装,通 过建立虚拟机并在其中运行操作系统和应用程序的形式,将这些资源提供给远程用户。因 此,虚拟机作为用户直接使用的环境,其内部的系统和用户程序及文件容易受到来自网络 的攻击和篡改。
[0003] 在云计算虚拟化平台上,虚拟机管理器(Virtual Machine Monitor, VMM)是整个 系统的核心部件。在通常情况下,VMM直接运行在硬件平台之上,以软件方式模拟物理硬件 的核心功能,建立多个虚拟机,并且为运行在这些虚拟机之上的操作系统和应用程序提供 与访问物理硬件相同的访问接口。与普通计算机相同,虚拟机提供服务需要经历启动和运 行两个阶段,其中虚拟机启动时加载的操作系统和应用程序是虚拟机运行时的基本环境。 由此可见,如何确保虚拟机安全启动直接影响到虚拟机能否安全运行。
[0004] 为了解决虚拟机安全启动的问题,已有研究人员借鉴普通计算机基于可信计算技 术的启动过程,在虚拟环境中引入可信计算体系结构。一方面,由可信密码模块(Trusted Cryptographic Module, TCM)向虚拟计算平台提供相关密码功能的保障主要;另一方面, 由VMM对虚拟机启动过程中依次运行的部件进行完整性度量,并将所有度量值依次存入 TCM的平台寄存器(Platform Configuration Register, PCR)当中,在虚拟机运行时PCR中 存储的这些度量值用于证明虚拟机启动过程的完整性。
[0005] 但是,传统计算机的可信启动和证明过程往往只能说明虚拟机启动过程是否可 信,不能有效的恢复被破坏的虚拟机启动过程中各个部件,也不能对系统中用户自定义的 程序和相关文件进行有效的保护和恢复。因此,需要针对虚拟化环境自身体系结构的特点, 结合虚拟机启动的过程,提供用户配置的接口,完成虚拟机启动过程中重要程序和文件的 完整性维护,实现这些程序和文件的备份、度量和恢复,从而保证虚拟机启动。


【发明内容】

[0006] 有鉴于此,有必要提供一种保证虚拟机启动过程的可靠性和安全性的虚拟机启动 完整性维护的方法及系统。
[0007] -种可配置的虚拟机启动完整性维护的方法,其特征在于:所述可配置的虚拟机 启动完整性维护的方法包括如下步骤: 51、 接收原始用户配置信息形成原始用户配置文件,从而设置度量基准值; 52、 接收实时用户配置信息形成实时用户配置文件,从而设置实时度量值; 53、 根据实时度量值和度量基准值的比较,对虚拟机启动需要的系统程序/文件和用 户指定程序/文件进行完整性检测及维护。
[0008] -种可配置的虚拟机启动完整性维护的系统,其特征在于,所述可配置的虚拟机 启动完整性维护的系统包括如下模块: 度量基准模块,用于接收原始用户配置信息形成原始用户配置文件,从而设置度量基 准值; 实时度量模块,用于接收实时用户配置信息形成实时用户配置文件,从而设置实时度 量值; 完整性检测及维护模块,用于根据实时度量值和度量基准值的比较,对虚拟机启动需 要的系统程序/文件和用户指定程序/文件进行完整性检测及维护。
[0009] 本发明实施例提供一种可配置的虚拟机启动完整性维护的方法,通过原始用户的 配置信息形成度量基准值,并对根据原始用户配置信息获取的原始系统程序/文件和原始 用户指定程序/文件进行备份,为后期虚拟机启动完整性的维护提供进行缺陷修补的模 本。根据将存储的度量基准值与实时度量值进行比较,扫描识别出实时系统程序/文件和 实时用户指定程序/文件中存在的缺陷,根据在先备份的原始系统程序/文件和原始用户 指定程序/文件对其缺陷进行修补,最终达到虚拟机安全启动,进而使虚拟机安全运行。相 比于可信启动和远程证明过程仅记录和出示虚拟机启动过程是否可信的证据而言,采用本 发明实施例所述的可配置的虚拟机启动完整性维护的方法使虚拟机管理器不仅能够对重 要程序/文件进行备份、检测和恢复,保证虚拟机启动过程的可靠性和安全性,而且通过扫 描识别用户的配置信息,增强了虚拟机启动完整性管理的可维护性和可扩展性。

【专利附图】

【附图说明】
[0010] 图1是本发明一较佳实施例的一种可配置的虚拟机启动完整性维护方法的流程 图; 图2是图1中步骤S1的子流程图; 图3是图2中步骤S11的一实施子流程图; 图4是图1中步骤S2的子流程图; 图5是图1中步骤S3的子流程图; 图6是本发明实施例中可配置的虚拟机启动完整性维护方法的工作流程示意图; 图7是本发明一较佳实施例的可配置的虚拟机启动完整性维护系统的结构框图; 图8是图7中度量基准模块的子结构框图; 图9是图7中实时度量模块的子结构框图; 图10是图7中完整性检测及维护模块的子结构框图; 图11是图8中原始配置单元的子结构框图。

【具体实施方式】
[0011] 如图1所示,本发明实施例提供一种可配置的虚拟机启动完整性维护的方法,所 述可配置的虚拟机启动完整性维护的方法包括如下步骤: S1、接收原始用户配置信息形成原始用户配置文件,从而设置度量基准值。
[0012] 可选地,如图2所示,所述步骤S1包括以下子步骤: 511、 识别和扫描用户配置信息,形成原始用户配置文件, 512、 根据原始用户配置文件中用户指定文件列表,获取用户指定文件在虚拟机内的路 径和文件名,从而获取原始用户指定程序/文件,进行备份; 513、 解析虚拟机镜像以获取虚拟机启动过程需要的原始系统程序/文件,进行备份; 其原始系统程序/文件包括:MBR、系统引导程序和系统内核文件。其中,MBR是虚拟 机镜像前512字节;系统引导文件位于虚拟机MBR内硬盘分区表所指向的虚拟机镜像内 部地址,其程序实体因具体情况而异,例如:Grub程序和Windows自带的Ntldr或bootmgr 文件;系统内核文件因具体操作系统而异,例如:Linux操作系统的内核文件是initrd和 vmlinuz文件,Windows操作系统的主要内核文件包括系统分区Windows\System32路径下 的 ntoskrnl. exe 和 hal. dll 等文件。
[0013] S14、对原始系统程序/文件和原始用户指定程序/文件进行哈希运算,形成度量 基准值,并将度量基准值存储至存储器中。
[0014] 具体的,如图3所示,所述步骤S11包括以下子步骤: S111、通过网络和浏览器连接提供各项配置功能。
[0015] 具体的,所述配置功能包括虚拟机启动完整性维护使能标识和用户指定程序/文 件在虚拟机内的路径及文件名,其中使能标识表示虚拟机管理接口是否在虚拟机启动时对 用户指定程序/文件进行完整性维护。
[0016] S112、标记或取消标记使能标识,扫描和识别用户指定程序/文件的路径和文件 名,通过对各项配置功能的选择形成原始用户配置信息。
[0017] S113、根据原始用户的配置信息形成完整性维护的原始用户配置文件。
[0018] 具体的,用户配置文件包括:用户指定程序/文件的路径、文件名列表和虚拟机使 能标识,用户指定程序/文件的路径登记在文件名列表中。
[0019] 具体而言,虚拟机管理接口以B/S模式提供选择界面和配置功能,用户通过网络 和浏览器连接输入用户名和口令登录虚拟机管理接口,虚拟机管理接口在接收到用户的配 置信息后,形成用户配置文件,并存储在存储器上。
[0020] S2、接收实时用户配置信息形成实时用户配置文件,从而设置实时度量值; 优选地,如图4所示,所述步骤S2包括以下子步骤: 521、 根据实时用户配置信息获取用户指定文件在虚拟机内的路径和文件名,从而获取 实时的用户指定程序/文件; 522、 解析虚拟机镜像,从虚拟机镜像中获取实时系统程序/文件; 523、 对实时系统程序/文件和实时用户指定程序/文件进行哈希运算,形成实时度量 值。
[0021] S3、根据实时度量值和度量基准值的比较,对虚拟机启动需要的系统程序/文件 和用户指定程序/文件进行完整性检测及维护; 优选地,如图5所示,所述步骤S3包括以下子步骤: S31、将实时度量值和度量基准值进行比较,如果实时度量值和度量基准值相同,则正 常启动虚拟机;如果实时度量值和度量基准值不同,则将检测信息反映给用户。
[0022] S32、在用户选择不进行恢复操作时,正常启动虚拟机,在用户选择进行恢复操作 时,读取备份的文件; S33、通过实时用户配置文件来定位备份的用户指定程序/文件和系统程序/文件,读 取备份的用户指定程序/文件和系统程序/文件,对实时系统程序/文件和用户指定程序 /文件进行恢复。
[0023] 结合附图6对本发明实施例所述的可配置的虚拟机启动完整性维护方法的工作 流程进行说明,详细流程如下所示: 步骤1. 1 :根据原始用户配置信息获取用户指定文件在虚拟机内的路径和文件名,从 而获取原始用户指定程序/文件,进行备份;然后进入步骤1. 2。
[0024] 步骤1. 2解析虚拟机镜像,从虚拟机镜像中获取原始系统程序/文件,进行备份; 进入步骤1.3。
[0025] 步骤1. 3 :对原始系统程序/文件和原始用户指定程序/文件进行哈希运算,形成 度量基准值,并将度量基准值进行存储;进入步骤1. 7。
[0026] 步骤1.4 :根据实时用户配置信息获取用户指定文件在虚拟机内的路径和文件 名,从而获取实时的用户指定程序/文件;进入步骤1. 5。
[0027] 步骤1. 5 :解析虚拟机镜像,从虚拟机镜像中获取实时系统程序/文件;进入步骤 1. 6。
[0028] 步骤1. 6 :对实时系统程序/文件和实时用户指定程序/文件进行哈希运算,形成 实时度量值,进入步骤1.7。
[0029] 步骤1.7 :比较实时度量值与度量基准值,如果实时度量值与度量基准值比较 结果一致,则进入步骤1. 10,如果实时度量值与度量基准值比较结果不一致,则进入步骤 1. 8。
[0030] 步骤1.8:将检测信息反映给用户,在用户选择不进行恢复操作时,进入步骤 1. 10,在用户选择进行恢复操作时,进入步骤1. 9。
[0031] 步骤1. 9 :通过实时用户配置文件来定位备份的用户指定程序/文件和系统程序 /文件,读取备份的用户指定程序/文件和系统程序/文件,对实时系统程序/文件和用户 指定程序/文件进行恢复,进入步骤1. 10。
[0032] 步骤1. 10 :正常启动虚拟机。
[0033] 本发明实施例提供一种可配置的虚拟机启动完整性维护的方法,首先通过原始用 户的配置信息形成度量基准值,并对根据原始用户配置信息获取的原始系统程序/文件和 原始用户指定程序/文件进行备份,为后期虚拟机启动完整性的维护提供进行缺陷修补的 模本。根据将存储的度量基准值与实时度量值进行比较,扫描识别出实时系统程序/文件 和实时用户指定程序/文件中存在的缺陷,根据在先备份的原始系统程序/文件和原始用 户指定程序/文件对其缺陷进行修补,最终达到虚拟机安全启动,进而使虚拟机安全运行。 相比于传统的可信启动和远程证明过程仅记录和出示虚拟机启动过程是否可信的证据而 言,采用本发明实施例所述的可配置的虚拟机启动完整性维护的方法使虚拟机管理器不仅 能够对重要程序/文件进行备份、检测和恢复,保证虚拟机启动过程的可靠性和安全性,而 且通过扫描识别用户的配置信息,增强了虚拟机启动完整性管理的可维护性和可扩展性。
[0034] 如图7所示,本发明实施例还提供一种可配置的虚拟机启动完整性维护的系统, 所述可配置的虚拟机启动完整性维护的系统包括如下模块: 度量基准模块10,用于接收原始用户配置信息形成原始用户配置文件,从而设置度量 基准值; 实时度量模块20,用于接收实时用户配置信息形成实时用户配置文件,从而设置实时 度量值; 完整性检测及维护模块30,用于根据实时度量值和度量基准值的比较,对虚拟机启动 需要的系统程序/文件和用户指定程序/文件进行完整性检测及维护。
[0035] 可选地,如图8所示,所述度量基准模块10包括以下单元: 原始配置单元11,用于识别和扫描用户配置信息,形成原始用户用户配置文件; 原始用户指定程序/文件获取单元12,用于根据原始用户配置文件中用户指定文件列 表,获取用户指定文件在虚拟机内的路径和文件名,从而获取原始用户指定程序/文件,进 行备份; 原始系统程序/文件获取单元13,用于解析虚拟机镜像以获取虚拟机启动过程需要的 原始系统程序/文件,进行备份; 度量基准值生成单元14,用于对原始系统程序/文件和原始用户指定程序/文件进行 哈希运算,形成度量基准值,并将度量基准值进行存储。
[0036] 可选地,如图9所示,所述原始配置单元11包括以下子单元: 网络设置子单元111,用于通过网络和浏览器连接提供各项配置功能; 配置选择子单元112,用于通过对各项配置功能的选择形成原始用户配置信息; 配置文件生成子单元113,用于根据原始用户的配置信息形成完整性维护的原始用户 配置文件。
[0037] 可选地,如图10所示,所述实时度量模块20包括以下单元: 实时的用户指定程序/文件获取单元21,用于根据实时用户配置信息获取用户指定文 件在虚拟机内的路径和文件名,从而获取实时的用户指定程序/文件; 实时系统程序/文件获取单元22,用于解析虚拟机镜像,从虚拟机镜像中获取实时系 统程序/文件; 实时度量值生成单元23,用于对实时系统程序/文件和实时用户指定程序/文件进行 哈希运算,形成实时度量值。
[0038] 可选地,如图11所示,所述完整性检测及维护模块30包括以下单元: 度量值比较单元31,用于将实时度量值和度量基准值进行比较,如果实时度量值和度 量基准值相同,则正常启动虚拟机;如果实时度量值和度量基准值不同,则将检测信息反映 给用户; 用户选择单元32,用于在用户选择不进行恢复操作时,正常启动虚拟机,在用户选择进 行恢复操作时,读取备份的文件; 恢复单元33,用于通过实时用户配置文件来定位备份的用户指定程序/文件和系统程 序/文件,读取备份的用户指定程序/文件和系统程序/文件,对实时系统程序/文件和用 户指定程序/文件进行恢复。
[0039] 以上装置实施例与方法实施例是一一对应的,装置实施例简略之处,参见方法实 施例即可。
[0040] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0041] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元 及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和 软件的可互换性,在上述说明中已经按照功能性一般性地描述了各示例的组成及步骤。这 些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专 业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不 应超过本发明的范围。
[0042] 结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执 行的软件模块,或者二者的结合来实施。软件模块可以置于随机储存器、内存、只读存储器、 电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公 知的任意其他形式的存储介质中。
[0043] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体 实施方式,上述的【具体实施方式】仅仅是示意性的,而不是限制性的,本领域的普通技术人员 在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多 形式,这些均属于本发明的保护之内。
【权利要求】
1. 一种可配置的虚拟机启动完整性维护的方法,其特征在于:所述可配置的虚拟机启 动完整性维护的方法包括如下步骤: 51、 接收原始用户配置信息形成原始用户配置文件,从而设置度量基准值; 52、 接收实时用户配置信息形成实时用户配置文件,从而设置实时度量值; 53、 根据实时度量值和度量基准值的比较,对虚拟机启动需要的系统程序/文件和用 户指定程序/文件进行完整性检测及维护。
2. 根据权利要求1所述的可配置的虚拟机启动完整性维护的方法,其特征在于,所述 步骤S1包括以下子步骤: 511、 识别和扫描用户配置信息,形成原始用户配置文件; 512、 根据原始用户配置文件中用户指定文件列表,获取用户指定文件在虚拟机内的路 径和文件名,从而获取原始用户指定程序/文件,进行备份; 513、 解析虚拟机镜像以获取虚拟机启动过程需要的原始系统程序/文件,进行备份; 514、 对原始系统程序/文件和原始用户指定程序/文件进行哈希运算,形成度量基准 值,并将度量基准值进行存储。
3. 根据权利要求2所述的可配置的虚拟机启动完整性维护的方法,其特征在于,所述 步骤S11包括以下子步骤: 5111、 通过网络和浏览器连接提供各项配置功能,所述配置功能包括虚拟机启动完整 性维护使能标识和用户指定程序/文件在虚拟机内的路径及文件名,其中使能标识表示虚 拟机管理接口是否在虚拟机启动时对用户指定程序/文件进行完整性维护; 5112、 标记或取消标记使能标识,扫描和识别用户指定程序/文件的路径和文件名,通 过对各项配置功能的选择形成原始用户配置信息; 5113、 根据原始用户的配置信息形成完整性维护的原始用户配置文件,用户配置文件 包括:用户指定程序/文件的路径、文件名列表和虚拟机使能标识,用户指定程序/文件的 路径登记在文件名列表中。
4. 根据权利要求3所述的可配置的虚拟机启动完整性维护的方法,其特征在于,所述 步骤S2包括以下子步骤: 521、 根据实时用户配置信息获取用户指定文件在虚拟机内的路径和文件名,从而获取 实时的用户指定程序/文件; 522、 解析虚拟机镜像,从虚拟机镜像中获取实时系统程序/文件; 523、 对实时系统程序/文件和实时用户指定程序/文件进行哈希运算,形成实时度量 值。
5. 根据权利要求4所述的可配置的虚拟机启动完整性维护的方法,其特征在于,所述 步骤S3包括以下子步骤: 531、 将实时度量值和度量基准值进行比较,如果实时度量值和度量基准值相同,则正 常启动虚拟机;如果实时度量值和度量基准值不同,则将检测信息反映给用户; 532、 在用户选择不进行恢复操作时,正常启动虚拟机,在用户选择进行恢复操作时,读 取备份的文件; 533、 通过实时用户配置文件来定位备份的用户指定程序/文件和系统程序/文件,读 取备份的用户指定程序/文件和系统程序/文件,对实时系统程序/文件和用户指定程序 /文件进行恢复。
6. -种可配置的虚拟机启动完整性维护的系统,其特征在于,所述可配置的虚拟机启 动完整性维护的系统包括如下模块: 度量基准模块,用于接收原始用户配置信息形成原始用户配置文件,从而设置度量基 准值; 实时度量模块,用于接收实时用户配置信息形成实时用户配置文件,从而设置实时度 量值; 完整性检测及维护模块,用于根据实时度量值和度量基准值的比较,对虚拟机启动需 要的系统程序/文件和用户指定程序/文件进行完整性检测及维护。
7. 根据权利要求6所述的可配置的虚拟机启动完整性维护的系统,其特征在于,所述 度量基准模块包括, 原始配置单元,用于识别和扫描用户配置信息,形成原始用户用户配置文件; 原始用户指定程序/文件获取单元,用于根据原始用户配置文件中用户指定文件列 表,获取用户指定文件在虚拟机内的路径和文件名,从而获取原始用户指定程序/文件,进 行备份; 原始系统程序/文件获取单元,用于解析虚拟机镜像以获取虚拟机启动过程需要的原 始系统程序/文件,进行备份; 度量基准值生成单元,用于对原始系统程序/文件和原始用户指定程序/文件进行哈 希运算,形成度量基准值,并将度量基准值进行存储。
8. 根据权利要求7所述的可配置的虚拟机启动完整性维护的系统,其特征在于,所述 原始配置单元包括, 网络设置子单元,用于通过网络和浏览器连接提供各项配置功能; 配置选择子单元,用于通过对各项配置功能的选择形成原始用户配置信息; 配置文件生成子单元,用于根据原始用户的配置信息形成完整性维护的原始用户配置 文件。
9. 根据权利要求8所述的可配置的虚拟机启动完整性维护的系统,其特征在于,所述 实时度量模块包括, 实时的用户指定程序/文件获取单元,用于根据实时用户配置信息获取用户指定文件 在虚拟机内的路径和文件名,从而获取实时的用户指定程序/文件; 实时系统程序/文件获取单元,用于解析虚拟机镜像,从虚拟机镜像中获取实时系统 程序/文件; 实时度量值生成单元,用于对实时系统程序/文件和实时用户指定程序/文件进行哈 希运算,形成实时度量值; 根据权利要求9所述的可配置的虚拟机启动完整性维护的系统,其特征在于,所述完 整性恢复模块包括, 度量值比较单元,用于将实时度量值和度量基准值进行比较,如果实时度量值和度量 基准值相同,则正常启动虚拟机;如果实时度量值和度量基准值不同,则将检测信息反映给 用户; 用户选择单元,用于在用户选择不进行恢复操作时,正常启动虚拟机,在用户选择进行 恢复操作时,读取备份的文件; 恢复单元,用于通过实时用户配置文件来定位备份的用户指定程序/文件和系统程序 /文件,读取备份的用户指定程序/文件和系统程序/文件,对实时系统程序/文件和用户 指定程序/文件进行恢复。
【文档编号】G06F9/445GK104216743SQ201410425198
【公开日】2014年12月17日 申请日期:2014年8月27日 优先权日:2014年8月27日
【发明者】徐士伟 申请人:中国船舶重工集团公司第七0九研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1