一种度量虚拟机的文件的方法、装置及设备与流程

文档序号:14728934发布日期:2018-06-19 15:23阅读:148来源:国知局

本发明涉及信息安全领域,特别涉及一种度量虚拟机的文件的方法、装置及设备。



背景技术:

近年来,KVM(Kernel-based Virtual Machine)虚拟化技术在社会生活中得到越来越广泛的应用。通过将操作方式不同的系统作为虚拟机整合在一个硬件平台上,可简化通过管理层和基于虚拟机的工具对这些系统的管理工作。因此,越来越多的政府、军队和企事业单位将业务平台由传统的物理硬件平台迁移到虚拟化平台。但是,随着大量业务迁移到虚拟化平台,信息安全问题也从物理硬件平台迁移到虚拟化平台,造成虚拟机内数据的损坏和丢失甚至导致虚拟机系统被恶意者控制的情况也越来越严重。

为了提高运行虚拟机的安全性,现有技术通过在启动虚拟机后,在虚拟机内部运行度量程序以获取度量值,管理人员通过查看该度量值以判断虚拟机中的文件是否安全,以及判断虚拟机是否安全,以便采取相应的措施。但是这种度量方式是在启动虚拟机后进行度量,无法做到在度量结果不符合预期的情况下阻止虚拟机运行;若虚拟机内的度量程序遭到破坏,则无法保证虚拟的度量结果是可信的。

因此,如何有效地校验虚拟机的安全性是本领域技术人员目前需要解决的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种度量虚拟机的文件的方法,能够有效地校验虚拟机的安全性;本发明的另一目的是提供一种度量虚拟机的文件的装置和设备,均具有上述有益效果。

为解决上述技术问题,本发明提供一种度量虚拟机的文件的方法,包括:

获取度量模板;所述度量模板包括虚拟机的标识信息、度量算法及需度量文件列表;

根据所述标识信息获取虚拟机的操作系统类型;

根据所述操作系统类型挂载所述虚拟机的磁盘;

利用所述度量算法对所述需度量文件列表对应的文件进行度量并获得度量值。

优选地,所述根据所述标识信息获取所述虚拟机的操作系统类型具体包括:

读取所述度量模板并根据所述标识信息查找对应的虚拟机;

获取所述虚拟机的磁盘名称和通用唯一识别码;

通过所述磁盘名称和所述通用唯一识别码获取磁盘位置信息;

将所述磁盘位置信息发送给virt-inspertor命令以获取所述操作系统类型。

优选地,所述根据所述操作系统类型挂载所述虚拟机的磁盘具体包括:

确定所述操作系统类型;

若所述操作系统类型为Linux,则判断是否使用标准文件系统对所述磁盘分区进行管理;

若是,则将所述磁盘进行挂载;

若否,则判断是否使用LVM对所述磁盘分区进行管理;

若使用LVM对所述磁盘分区进行管理,则获取所述磁盘中LVM卷组的划分情况;

根据所述划分情况将所述LVM卷组激活并进入将所述磁盘进行挂载的步骤;

若所述操作系统类型为Windows,则设置挂载格式为ntfs并进入将所述磁盘进行挂载的步骤。

优选地,所述需度量文件列表中包括多个文件信息;

则所述利用所述度量算法对所述需度量文件列表对应的文件进行度量并获得度量值具体包括:

利用所述度量算法对所述需度量文件列表对应的文件进行度量并获得各文件的度量值;

利用所述各文件的度量值迭代计算出所述度量值。

优选地,在所述利用所述度量算法对所述需度量文件列表对应的文件进行度量并获得度量值之后进一步包括将所述磁盘进行卸载。

优选地,若所述操作系统类型为Linux且使用LVM对所述磁盘分区进行管理,则在将所述磁盘进行卸载之后进一步包括将所述LVM卷组取消激活。

优选地,所述度量算法包括SHA1算法或SHA256算法或SM3算法。

优选地,进一步包括将所述度量值上传至虚拟化管理平台以便管理人员查看。

为解决上述技术问题,本发明还提供一种度量虚拟机的文件的装置,包括:

第一获取模块,用于获取度量模板;所述度量模板包括虚拟机的标识信息、度量算法及需度量文件列表;

第二获取模块,用于根据所述标识信息获取虚拟机的操作系统类型;

挂载模块,用于根据所述操作系统类型挂载所述虚拟机的磁盘;

度量模块,用于利用所述度量算法对所述需度量文件列表对应的文件进行度量并获得度量值。

为解决上述技术问题,本发明还提供一种度量虚拟机的文件的设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述任一种度量虚拟机的文件的方法的步骤。

本发明提供的度量虚拟机的文件的方法,通过获取度量模板,该度量模板包括虚拟机的标识信息、度量算法及需度量文件列表;根据标识信息获取虚拟机的操作系统类型并根据操作系统类型对虚拟机进行挂载,以便能够在虚拟机挂载的设备上查看并操作虚拟机中的文件信息,然后通过度量算法对需度量文件列表对应的文件进行度量并获得度量值,以便管理人员根据该度量值判断虚拟机中的文件是否安全,以及该虚拟机是否安全。

为解决上述技术问题,本发明还提供了一种度量虚拟机的文件的装置及设备,均具有上述有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种度量虚拟机的文件的方法的流程图;

图2为图1所示的度量虚拟机的文件的方法步骤S20中根据标识信息获取虚拟机的操作系统类型的具体流程图;

图3为图1所示的度量虚拟机的文件的方法步骤S30中根据操作系统类型挂载虚拟机的磁盘的具体流程图;

图4为本发明实施例提供的一种度量虚拟机的文件的装置的示意图;

图5为本发明实施例提供的一种度量虚拟机的文件的设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例的核心是提供一种度量虚拟机的文件的方法,能够有效地校验虚拟机的安全性;本发明的另一核心是提供一种度量虚拟机的文件的装置和设备,均具有上述有益效果。

为了使本领域技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

图1为本发明实施例提供的一种度量虚拟机的文件的方法的流程图;如图所示,度量虚拟机的文件的方法包括:

S10:获取度量模板。

需要说明的是,度量模板一般由管理人员从网络管理平台下发至宿主机,以便宿主机获取度量模板。可以理解的是,宿主机获取度量模板的方式可以是通过http传输协议的方式获取,也可以通过其他的方式获取,本实施例对此不做限定。

需要说明的是,度量模板包括虚拟机的标识信息、度量算法及需度量文件列表。也就是说,一般预先在网络管理平台针对每一个虚拟机设置对应的度量模板,度量模板包括虚拟机的标识信息,以便根据该标志信息查找对应的虚拟机;度量模板还包括虚拟机的度量算法,用于针对不同的虚拟机进行度量计算;该度量模板还包括需度量文件列表,用于为度量算法提供数据源。当然,度量模板包括但不限定于上述的信息,也就是说度量模板中还可以包括其他信息,本实施例对此不做限定。

S20:根据标识信息获取虚拟机的操作系统类型。

可以理解的是,虚拟机的操作系统类型有Windows、Linux等。一般的,在获取到度量模板以后,根据度量模板获得标识信息,根据标识信息查找与该标识信息对应的虚拟机,并获取该虚拟机对应的操作系统类型。本实施例对根据标识信息获取虚拟机的操作系统类型的具体方式不做限定。

S30:根据操作系统类型挂载虚拟机的磁盘。

可以理解的是,不同的操作系统对应的磁盘中的文件类型不同,因此不同操作系统类型的虚拟机挂载磁盘的方式也可能不同。具体的,在S20的基础上,即在根据标识信息获取虚拟机的操作系统类型之后,根据不同的虚拟机的操作系统类型选择对应的方式对虚拟机的磁盘进行挂载。在本实施例中,是将虚拟机的磁盘挂载到宿主机上,从而能够在宿主机上查看到虚拟机的文件列表及文件信息。

S40:利用度量算法对需度量文件列表对应的文件进行度量并获得度量值。

可以理解的是,在将虚拟机的磁盘挂载以后,通过度量模板中的度量算法对需度量文件列表对应的文件进行度量。需要说明的是,需度量文件列表上记录有需要度量的文件的信息,根据文件信息查找对应的文件,然后利用度量算法对文件进行度量。由于对同一个需度量文件列表对应的文件进行度量时,采用的度量算法一般是相同的,因此获得的度量值一般是相同的。

本实施例提供的度量虚拟机的文件的方法,通过获取度量模板,度量模板包括虚拟机的标识信息、度量算法及需度量文件列表;根据标识信息获取虚拟机的操作系统类型并根据操作系统类型对虚拟机进行挂载,以便能够在虚拟机挂载的设备上查看并操作虚拟机中的文件信息,然后通过度量算法对需度量文件列表对应的文件进行度量并获得度量值,以便管理人员根据该度量值判断虚拟机中的文件是否安全,以及该虚拟机是否安全。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,需度量文件列表中包括多个文件信息;

则利用度量算法对需度量文件列表对应的文件进行度量并获得度量值具体包括:

利用度量算法对需度量文件列表对应的文件进行度量并获得各文件的度量值;

利用各文件的度量值迭代计算出度量值。

也就是说,当需度量文件列表中存在多个文件信息时,则利用度量算法对需度量文件列表对应的所有的文件分别进行度量,并获得各文件的度量值。再利用迭代算法的方式,根据各文件的度量值计算出最终的度量值。例如,需度量文件列表中存在5个文件信息,分别为A、B、C、D和E,对需度量文件列表对应的文件分别进行度量,并获得各文件分别对应的度量值a1、b1、c1、d1和e1。然后利用迭代算法,也就是根据文件A的度量值a1和文件B的度量值b1获得第一度量值x1,根据第一度量值x1和文件C的度量值c1获得第二度量值x2,依次进行,直到将5个文件对应的度量值都进行计算并得到第四度量值x4,该第四度量值x4即为最终的度量值。

需要说明的是,作为优选的实施方式,本实施例中的需度量文件列表保存于xml文件中,文件列表中采用文件的绝对路径加文件名的方式表示各文件信息。这种记录文件信息的方式使得在进行度量计算查找对应的文件时更加方便准确。

可见,通过迭代算法根据需度量文件列表中的文件的度量值计算出最终的度量值,能够对需度量文件列表中的所有文件进行判断,提高了度量虚拟机的文件的方法的准确性。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,度量算法包括SHA1算法或SHA256算法或SM3算法。

一般的,根据不同的虚拟机的实际需求对各虚拟机设置对应的度量算法,然后将对应的度量算法存储于度量模板中,并在需要对虚拟机进行度量时将度量模板下发给对应的虚拟机。

具体的,度量算法包括SHA1算法、SHA256算法和SM3算法。其中,SHA1算法即安全哈希算法(Secure Hash Algorithm),SHA1算法主要适用于数字签名标准(Digital Signature Standard DSS)里面定义的数字签名算法(Digital Signature Algorithm DSA)。对于长度小于264位的消息,SHA1会产生一个160bit的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变化,那么这时候就会产生不同的消息摘要。需要说明的是,SHA1不可以从消息摘要中复原信息,且两个不同的消息不会产生同样的消息摘要。

SHA256算法输入报文的最大长度不超过264bit,输入按512bit分组进行处理,产生的输出是一个256bit的报文摘要。SM3算法即SM3杂凑算法,是中国国家密码局公布的hash算法商用标准,能应用于数字签名与验证、消息认证码的生成以及伪随机数的生成。SM3算法能够对长度小于264位的消息,进行填充和迭代压缩,生成杂凑值,最终的杂凑值为256bit。当然,上述算法为本实施例采用的优选的算法,本实施例对度量算法的类型不做限定。

可见,通过采取SHA1算法或SHA256算法或SM3算法对需度量文件列表对应的文件进行度量,使度量的方式更科学,度量结果更准确。需要说明的是,在其它设备如宿主机上通过获取度量模板并对虚拟机的文件进行度量,因此不会占用虚拟机的资源。

图2为图1所示的度量虚拟机的文件的方法步骤S20中根据标识信息获取虚拟机的操作系统类型的具体流程图。请参考图2,根据标识信息获取虚拟机的操作系统类型具体包括:

S21:读取度量模板并根据标识信息查找对应的虚拟机。

具体的,标识信息可以是虚拟机的序列号、虚拟机的识别码或者虚拟机的名称等信息,本实施例对标识信息的类型不做限定,只要是能够表示唯一对应的虚拟机的信息即可。一般的,在获取度量模板以后,读取度量模板并获得标识信息,利用标识信息对所有的虚拟机进行查找验证,当查找到与标识信息对应的虚拟机时则停止查找,本实施例对查找的方式也不做限定。

S22:获取虚拟机的磁盘名称和通用唯一识别码。

一般的,磁盘名称为用于区别各种不同的磁盘的名称,该名称可以是预先由管理人员设置的,也可以是系统自动分配的,本实施例对此不做限定。具体的,通用唯一识别码(Universally Unique Identifier,简称UUID)是一种软件建构的标准,通用唯一识别码一般都是唯一的,用于表示唯一对应的虚拟机的磁盘。也就是说,在根据标识信息查找到对应的虚拟机后,然后利用查找到的虚拟机获取该虚拟机的磁盘名称和通用唯一识别码。

S23:通过磁盘名称和通用唯一识别码获取磁盘位置信息。

具体的,由于虚拟机的磁盘可能存在于多个存储库中,因此在步骤S22的基础上,也就是在获取虚拟机的磁盘名称和通用唯一识别码后,根据虚拟机的磁盘名称和通用唯一识别码查找虚拟机对应的磁盘。在查找到虚拟机对应的磁盘后,根据查找磁盘的路径获得磁盘的位置信息。

S24:将磁盘位置信息发送给virt-inspertor命令以获取操作系统类型。

具体的,将磁盘的位置信息发送给virt-inspertor命令,通过virt-inspertor命令获得操作系统类型。更具体的,一般通过“virt-inspertor”加上位置信息的路径的指令,从而解析出虚拟机对应的操作系统类型。

可见,通过读取度量模板并根据标识信息查找对应的虚拟机并获取虚拟机的磁盘名称和通用唯一识别码,然后根据磁盘名称和通用唯一识别码获取磁盘位置信息,再将磁盘位置信息发送给virt-inspertor命令以获取操作系统类型。这样根据标识信息获取虚拟机的操作系统类型的方式,既方便操作,又能够准确地获取虚拟机的操作系统类型,以便根据不同的操作系统类型采取不同的方式挂载虚拟机的磁盘。

图3为图1所示的度量虚拟机的文件的方法步骤S30中根据操作系统类型挂载虚拟机的磁盘的具体流程图。请参考图3,根据操作系统类型挂载虚拟机的磁盘具体包括:

S31:判断操作系统类型是否为Linux;

S32:若操作系统类型为Linux,则判断是否使用标准文件系统对磁盘分区进行管理;

S33:若是,则将磁盘进行挂载;

S34:若否,则判断是否使用LVM对磁盘分区进行管理;

S35:若使用LVM对磁盘分区进行管理,则获取磁盘中LVM卷组的划分情况;

S36:根据划分情况将LVM卷组激活并进入将磁盘进行挂载的步骤。

需要说明的是,在步骤S20中,根据标识信息获取到虚拟机的操作系统类型。因此,首先需要确定虚拟机的操作系统类型具体是哪一种,如Windows、Linux等。然后判断操作系统类型是否为Linux,若虚拟机的操作系统类型为Linux,则需进一步判断该虚拟机是否使用标准文件系统对磁盘分区进行管理,若虚拟机使用标准文件系统对磁盘分区进行管理,则直接将虚拟机的磁盘进行挂载。具体的,使用guestfish获取磁盘分区的情况,并以ext3或ext4的形式挂载。

若虚拟机没有使用标准文件系统对磁盘分区进行管理,则判断是否为使用LVM对磁盘分区进行管理。具体的,LVM(逻辑卷管理,Logical Volume Manager)是Linux环境下对磁盘分区进行管理的一种机制,能够让用户在无需停机的情况下可以方便地调整各个分区大小。若虚拟机使用LVM对磁盘分区进行管理,则需要进一步获取磁盘中LVM卷组的划分情况,并根据划分情况将LVM卷组激活。只有将LVM卷组进行激活,才能够对虚拟机的磁盘进行挂载。

S37:若操作系统类型不是Linux,则判断操作系统类型是否为Windows;

S38:若是,则设置挂载格式为ntfs并进入将磁盘进行挂载的步骤。

具体的,在步骤S31判断操作系统类型是否为Linux时,若判断出操作系统类型不是Linux,则进一步判断操作系统类型是否为Windows。若是,则在获取分区情况后,使用guestmount以ntfs格式对磁盘进行挂载。可以理解的是,ntfs(New Technology File System)是WindowsNT环境的文件系统,取代了老式的FAT文件系统。ntfs支持元数据,并且使用了高级数据结构,以便于改善性能、可靠性和磁盘空间利用率,并提供了若干附加扩展功能。

需要说明的是,本实施例对各判断步骤的顺序不做限定。也就是说,也可以首先判断操作系统类型是否为Windows,若是,则进行相应的操作;若否,再判断操作系统类型是否为Linux,还可以将这两个判断的动作同时执行。另外,在判断操作系统类型为Linux后,进一步判断是否使用标准文件系统对磁盘分区进行管理的步骤可以在判断是否使用LVM对磁盘分区进行管理的步骤之后,也可以将判断是否使用标准文件系统对磁盘分区进行管理的步骤与判断是否使用LVM对磁盘分区进行管理的步骤同时进行,本实施例对此不做限定。

通过根据不同的操作系统采取对应的方式对虚拟机的磁盘进行挂载,可以使挂载的步骤更加有条不紊地进行,并且能够在其他设备上查看虚拟机的磁盘内的文件内容。

在上述实施例的基础上,本实施例对技术方案作了进一步的说明和优化,具体的,进一步包括将度量值上传至虚拟化管理平台以便管理人员查看。

具体的,将需度量文件列表上的文件进行度量计算获得度量值之后,可以将度量后的文件存储于指定的位置,以便管理人员查看。作为优选的实施方式,本实施例还将度量值上传至虚拟化管理平台,以便管理人员查看。具体的,上传度量值的方式可以是与获取度量模板的方式相同,也可以采取其他的上传方式,本实施例对此不做限定。

可见,通过将度量值上传至虚拟化管理平台,可以使管理人员更便捷地通过在管理平台查看度量值以判断是否启动虚拟机。并且,该度量值存在于其他设备如宿主机上,通过宿主机将度量值上传至虚拟化管理平台,也就是说,该上传的过程不会因为虚拟机没有网络等因素而导致度量值不能上传。

在利用度量算法对需度量文件列表对应的文件进行度量并获得度量值之后进一步包括将磁盘进行卸载。

也就是说,在获取度量值以后,管理人员查看该度量值并根据度量值判断虚拟机是否可信,从而决定是否可执行虚拟机的启动操作。若虚拟机可信并准备启动该虚拟机时,为了避免影响虚拟机的正常启动,需要将磁盘进行卸载,也就是挂载磁盘的逆操作。

需要说明的是,若操作系统类型为Linux且使用LVM对磁盘分区进行管理,则在将磁盘进行卸载之后进一步包括将LVM卷组取消激活。也就是说,若操作系统类型为Linux且使用LVM对磁盘分区进行管理,则在将磁盘进行挂载之前做了将LVM卷组激活的操作,因此对应的,在卸载磁盘之后,需要将LVM卷组取消激活。可见,通过将磁盘卸载,可以在需要启动虚拟机时避免对虚拟机的启动产生影响。

上文对于本发明提供的一种度量虚拟机的文件的方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的度量虚拟机的文件的装置和设备,由于装置和设备部分的实施例与方法部分的实施例相互照应,因此装置和设备部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图4为本发明实施例提供的一种度量虚拟机的文件的装置的示意图,包括:

第一获取模块41,用于获取度量模板;度量模板包括虚拟机的标识信息、度量算法及需度量文件列表;

第二获取模块42,用于根据标识信息获取虚拟机的操作系统类型;

挂载模块43,用于根据操作系统类型挂载虚拟机的磁盘;

度量模块44,用于利用度量算法对需度量文件列表对应的文件进行度量并获得度量值。

本发明提供的度量虚拟机的文件的装置,具有上述度量虚拟机的文件的方法的有益效果。

图5为本发明实施例提供的一种度量虚拟机的文件的设备的示意图,包括:

存储器51,用于存储计算机程序;

处理器52,用于执行计算机程序时实现如下步骤:

获取度量模板;度量模板包括虚拟机的标识信息、度量算法及需度量文件列表;

根据标识信息获取虚拟机的操作系统类型;

根据操作系统类型挂载虚拟机的磁盘;

利用度量算法对需度量文件列表对应的文件进行度量并获得度量值。

本发明提供的度量虚拟机的文件的设备,具有上述度量虚拟机的文件的方法的有益效果。

以上对本发明所提供的度量虚拟机的文件的方法、装置和设备进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1