CN107357908A - 一种虚拟机系统文件的检测方法与装置 - Google Patents

一种虚拟机系统文件的检测方法与装置 Download PDF

Info

Publication number
CN107357908A
CN107357908A CN201710581352.4A CN201710581352A CN107357908A CN 107357908 A CN107357908 A CN 107357908A CN 201710581352 A CN201710581352 A CN 201710581352A CN 107357908 A CN107357908 A CN 107357908A
Authority
CN
China
Prior art keywords
disk
virtual
file
equipment
metric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710581352.4A
Other languages
English (en)
Other versions
CN107357908B (zh
Inventor
韩春超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201710581352.4A priority Critical patent/CN107357908B/zh
Publication of CN107357908A publication Critical patent/CN107357908A/zh
Application granted granted Critical
Publication of CN107357908B publication Critical patent/CN107357908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种虚拟机系统文件的检测方法,通过将虚拟机的系统磁盘镜像文件作为虚拟机磁盘设备的磁盘文件,使系统磁盘镜像文件作为一块磁盘设备插入到特权域中,也就是说在特权域中虚拟机的文件系统是完整的,从而可以通过offset值获取磁盘文件进行挂载并检测磁盘文件的安全,而且通过度量值和度量扩展值的方式检测虚拟机磁盘文件的安全性,不需要直接对比文件内容,因此可以避免虚拟机数据直接暴露出来,使检测过程更安全。本发明实施例还公开了一种虚拟机系统文件的检测装置,同样可以实现以上技术效果。

Description

一种虚拟机系统文件的检测方法与装置
技术领域
本发明涉及虚拟机安全领域,更具体地说,涉及一种虚拟机系统文件的检测方法与装置。
背景技术
近年来虚拟化技术得到了快速发展,大部分的业务平台已由传统的物理硬件平台迁移到了虚拟化平台。随着大量业务迁移到虚拟平台,针对虚拟机的攻击逐年增长,越来越多的第三方攻击者向虚拟机内植入恶意代码、病毒等,从而造成虚拟机内部的数据损坏、丢失等。
由此可见,虚拟机平台的安全问题十分重要。目前检测虚拟机是否已被攻击是通过获取虚拟机磁盘文件,然后将磁盘文件作为一个虚拟磁盘文件,读取offset值后进行挂载,再通过读取文件信息判断文件是否被恶意修改。
但是随着虚拟化技术的成熟,为了低资源成本和提高平台部署速度,虚拟机模板技术应运而生,由于模板技术中使用的磁盘快照增量技术,使得一个虚拟机磁盘镜像文件只保存增量内容而无法查看所有内容,整个虚拟机文件系统是不完整的,因此再采用现有的安全检测技术时,不能通过offset值获取文件进行挂载。而且现有的检测方法是通过直接对文件内容进行比较,效率很低而且虚拟机数据直接暴露出来,十分不安全。
因此,如何对模板生成的文件系统进行安全检测,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种虚拟机系统文件的检测方法与装置,以对模板生成的文件系统进行安全检测。
为实现上述目的,本发明实施例提供了如下技术方案:
一种虚拟机系统文件的检测方法,包括:
获取待度量虚拟机的系统磁盘镜像文件;
在特权域中添加虚拟磁盘设备,并将所述系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件;
激活所述虚拟磁盘设备,并对所述虚拟磁盘设备的磁盘进行挂载;
利用所述待度量虚拟机的度量算法度量所述虚拟磁盘设备内的磁盘文件,获得度量值与度量扩展值,利用所述度量值与度量扩展值检测所述系统磁盘镜像文件是否被篡改。
其中,对所述虚拟磁盘设备的磁盘进行挂载,包括:
判断所述虚拟磁盘设备的磁盘是否使用LVM进行管理;
若是,则获取所述虚拟磁盘设备的磁盘的sector大小与所述磁盘的每个分区的开始sector编号;利用所述sector大小与所述开始sector编号计算得到每个分区的offset值;利用所述offset值对磁盘进行挂载;
若否,则对所述待度量虚拟机的磁盘镜像进行装载;获取LVM卷组信息,并利用所述LVM卷组信息激活逻辑卷组;利用激活后的逻辑卷则信息对磁盘进行挂载。
其中,当所述虚拟磁盘设备的磁盘没有使用LVM进行管理时,所述利用所述度量值与度量扩展值判断所述系统磁盘镜像文件是否被篡改后,还包括:
使用umount卸载所述虚拟磁盘设备的磁盘并拔出所述虚拟磁盘设备。
其中,当所述虚拟磁盘设备的磁盘使用LVM进行管理时,所述利用所述度量值与度量扩展值判断所述系统磁盘镜像文件是否被篡改后,还包括:
将所述逻辑卷组取消激活,使用kpartx卸载所述虚拟磁盘设备的磁盘并拔出所述虚拟磁盘设备。
其中,在所述卸载所述虚拟磁盘设备的磁盘并拔出所述虚拟磁盘设备,还包括:
将所述虚拟磁盘设备销毁。
其中,所述利用所述待度量虚拟机的度量算法度量所述虚拟磁盘设备内的磁盘文件,包括:
利用所述待度量虚拟机的度量模板获取待度量的磁盘文件列表;
利用所述待度量虚拟机的度量算法度量所述磁盘文件列表中的每一个磁盘文件。
其中,所述度量算法,包括SHA1算法、SHA256算法、SM3算法中的任意一种。
一种虚拟机系统文件的检测装置,包括:
系统磁盘镜像文件获取模块,用于获取待度量虚拟机的系统磁盘镜像文件;
添加模块,用于在特权域中添加虚拟磁盘设备,并将所述系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件;
挂载模块,用于激活所述虚拟磁盘设备,并对所述虚拟磁盘设备的磁盘进行挂载;
度量模块,用于利用所述待度量虚拟机的度量算法度量所述虚拟磁盘设备内的磁盘文件,获得度量值与度量扩展值,利用所述度量值与度量扩展值检测所述系统磁盘镜像文件是否被篡改。
其中,所述挂载模块,包括:
判断单元,用于判断所述虚拟磁盘设备的磁盘是否使用LVM进行管理;
第一挂载单元,用于当所述虚拟磁盘设备的磁盘没有使用LVM进行管理时,获取所述虚拟磁盘设备的磁盘的sector大小与所述磁盘的每个分区的开始sector编号;利用所述sector大小与所述开始sector编号计算得到每个分区的offset值;利用所述offset值对磁盘进行挂载;
第二挂载单元,用于当所述虚拟磁盘设备的磁盘使用LVM进行管理时,对所述待度量虚拟机的磁盘镜像进行装载;获取LVM卷组信息,并利用所述LVM卷组信息激活逻辑卷组;利用激活后的逻辑卷则信息对磁盘进行挂载。
其中,还包括:
销毁模块,用于将所述虚拟磁盘设备销毁。
本发明提供一种虚拟机系统文件的检测方法,包括:获取待度量虚拟机的系统磁盘镜像文件;在特权域中添加虚拟磁盘设备,并将所述系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件;激活所述虚拟磁盘设备,并对所述虚拟磁盘设备的磁盘进行挂载;利用所述待度量虚拟机的度量算法度量所述虚拟磁盘设备内的磁盘文件,获得度量值与度量扩展值,利用所述度量值与度量扩展值检测所述系统磁盘镜像文件是否被篡改。
通过以上方案可知,本发明实施例提供的一种虚拟机系统文件的检测方法,通过将虚拟机的系统磁盘镜像文件作为虚拟机磁盘设备的磁盘文件,使系统磁盘镜像文件作为一块磁盘设备插入到特权域中,也就是说在特权域中虚拟机的文件系统是完整的,从而可以通过offset值获取磁盘文件进行挂载并检测磁盘文件的安全,而且通过度量值和度量扩展值的方式检测虚拟机磁盘文件的安全性,不需要直接对比文件内容,因此可以避免虚拟机数据直接暴露出来,使检测过程更安全。本发明实施例还公开了一种虚拟机系统文件的检测装置,同样可以实现以上技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种虚拟机系统文件的检测方法流程图;
图2为本发明实施例公开的一种具体的虚拟机系统文件的检测方法流程图;
图3为本发明实施例公开的一种虚拟机系统文件的检测装置结构示意图;
图4为本发明实施例公开的一种具体的虚拟机系统文件的检测装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种虚拟机系统文件的检测方法与装置,以对模板生成的文件系统进行安全检测。
参见图1,本发明实施例提供的一种虚拟机系统文件的检测方法,具体包括:
S101,获取待度量虚拟机的系统磁盘镜像文件。
在本方案中,虚拟机是一种对XEN虚拟化中由模板创建的虚拟机。
需要说明的是,在一个虚拟环境中,虚拟机的多个磁盘可能存储在多个存储库中,可以根据虚拟机的UUID(通用唯一标识码)获取虚拟机的系统磁盘,以及系统磁盘所述存储库和存储库挂载等信息,根据这些信息最终定位到虚拟机系统磁盘的具体路径。
具体地,通过待度量虚拟机的通用唯一标识码VM_UUID,获取到待度量虚拟机的系统磁盘镜像文件的通用唯一标识码VDI_UUID。
S102,在特权域中添加虚拟磁盘设备,并将所述系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件。
具体地,获取待度量虚拟机的主机特权域(Domain0)的通用唯一标识码Dom0_UUID,在主机特权域中添加虚拟磁盘设备VBD,此VBD所属主机的通用唯一标识码为Dom0_UUID,虚拟磁盘设备的磁盘文件的唯一标识码为VDI_UUID,也就是说,将待度量虚拟机的系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件。设置完成虚拟磁盘设备的所属主机与磁盘文件后,返回虚拟磁盘设备的通用唯一标识码VBD_UUID。
S103,激活所述虚拟磁盘设备,并对所述虚拟磁盘设备的磁盘进行挂载。
具体地,根据虚拟磁盘设备的通用唯一标识码VBD_UUID,将虚拟磁盘设备插入到特权域中并激活。激活后将虚拟磁盘设备的磁盘分区进行挂载。
需要说明的是,当虚拟磁盘设备的磁盘分区挂载成功后,就可以查看并操作虚拟磁盘设备的文件,由于在S102中,将系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件,也就是可以通过特权域查看并操作带度量虚拟机的系统磁盘镜像文件。
S104,利用所述待度量虚拟机的度量算法度量所述虚拟磁盘设备内的磁盘文件,获得度量值与度量扩展值,利用所述度量值与度量扩展值检测所述系统磁盘镜像文件是否被篡改。
具体地,根据下发的度量模板,获取待度量虚拟机的度量算法,其中度量算法支持SHA1、SHA256、SM3算法,利用度量算法度量虚拟磁盘设备的磁盘文件得到文件的唯一的度量值,根据每个文件的度量值与度量算法,通过不断地迭代获取唯一的度量扩展值。管理员可以根据此度量值、度量扩展值来判断对应的文件是否是非法的、来源不明的、不完整的、被恶意篡改过的。
需要说明的是,度量模板由虚拟机的管理员或维护者下发,指定虚拟机内的哪些文件需要进行度量。对文件的度量是在虚拟机启动之前进行,从而在虚拟机启动前就能确定虚拟机是否可信,判断是否继续进入虚拟机操作系统。
通过以上方案可知,本发明实施例提供的一种虚拟机系统文件的检测方法,通过将虚拟机的系统磁盘镜像文件作为虚拟机磁盘设备的磁盘文件,使系统磁盘镜像文件作为一块磁盘设备插入到特权域中,也就是说在特权域中虚拟机的文件系统是完整的,从而可以通过offset值获取磁盘文件进行挂载并检测磁盘文件的安全,而且通过度量值和度量扩展值的方式检测虚拟机磁盘文件的安全性,不需要直接对比文件内容,因此可以避免虚拟机数据直接暴露出来,使检测过程更安全。
本发明实施例公开了一种具体的虚拟机系统文件的检测方法,区别于上一实施例本发明实施例对S103做了具体地限定,其他步骤内容与上一实施例大致相同,具体内容可以参考上一实施例,此处不再赘述。具体地,参见图2,S103包括:
S201,判断所述虚拟磁盘设备的磁盘是否使用LVM进行管理,若是则执行步骤S202,若否,则执行步骤S205。
具体地,在虚拟磁盘设备插入domain0后,可以再domain0上看到已经插入的设备,使用fdisk来判断虚拟磁盘设备的磁盘是标准分区还是LVM(逻辑卷管理)分区。也就是说在对虚拟磁盘设备的磁盘分区进行挂载之前,首先判断此磁盘是否使用了LVM进行磁盘管理,如果有,那么就需要先对磁盘进行特殊处理,如果没有则可以按照正常的挂载操作进行,具体参考一下步骤,S202至S204为没有使用LVM进行磁盘管理的挂载磁盘分区操作;S205至S207为使用了LVM进行此管理的挂载磁盘分区操作。
S202,获取所述虚拟磁盘设备的磁盘的sector大小与所述磁盘的每个分区的开始sector编号。
具体地,首先读取虚拟磁盘设备的磁盘sector(磁盘扇区)大小,以及每个分区开始的sector编号。
S203,利用所述sector大小与所述开始sector编号计算得到每个分区的offset值。
S204,利用所述offset值对磁盘进行挂载。
具体地,根据不同的offset值可以使用mount命令进行挂载磁盘。
S205,对所述待度量虚拟机的磁盘镜像进行装载。
具体地,当磁盘使用了LVM进行管理,那么首先要使用kpartx(一种磁盘操作工作)对磁盘镜像文件进行装载使domain0可以识别到此设备。
需要说明的是,磁盘镜像文件是虚拟磁盘设备的磁盘镜像文件,由于虚拟磁盘设备的磁盘为待度量虚拟机的系统磁盘镜像文件,因此装载的磁盘镜像文件也就是待度量虚拟机的磁盘镜像文件。
S206,获取LVM卷组信息,并利用所述LVM卷组信息激活逻辑卷组。
具体地,对磁盘进行装载后,使用pvdisplay获取LVM卷组信息,并根据获取到的卷组信息使用vgchange对每个逻辑卷进行激活。
S207,利用激活后的逻辑卷则信息对磁盘进行挂载。
具体地,激活后的逻辑卷名称会显示为载device-mapper中,此时这些卷组名就是可以挂载的设备名称,因此可以直接对磁盘进行挂载。
由此可见,本发明实施例提供的一种具体的虚拟机系统文件的检测方法,不仅可以实现对标准的磁盘分区进行挂载,同时也可以通过装载磁盘、激活逻辑卷组以及逻辑卷组的信息等实现对LVM磁盘分区的挂载,以便使用了LVM的磁盘也可以进行安全检测。
为了不影响后续虚拟机的启动以及其他虚拟机度量等操作,本发明实施例提供一种具体的虚拟机系统文件的检测方法,在度量完成后,需要对虚拟机分区卸载以及对虚拟磁盘设备拔除,具体的:
当所述虚拟磁盘设备的磁盘没有使用LVM进行管理时,所述利用所述度量值与度量扩展值判断所述系统磁盘镜像文件是否被篡改后,还包括:
使用umount卸载所述虚拟磁盘设备的磁盘并拔出所述虚拟磁盘设备,并将所述虚拟磁盘设备销毁。
具体地,如果磁盘没有使用LVM进行管理时,使用umount对磁盘分区进行卸载即可,卸载后将虚拟磁盘设备拔除,需要说明的是虚拟磁盘设备拔除后还需要将其销毁,避免影响后续虚拟机的启动以及其他虚拟机的度量等操作。
当所述虚拟磁盘设备的磁盘使用LVM进行管理时,所述利用所述度量值与度量扩展值判断所述系统磁盘镜像文件是否被篡改后,还包括:
将所述逻辑卷组取消激活,使用kpartx卸载所述虚拟磁盘设备的磁盘并拔出所述虚拟磁盘设备。将所述虚拟磁盘设备销毁。
具体地,如果磁盘使用了LVM进行管理,那么需要先使用vgchange将逻辑卷组取消激活,使用kpartx对磁盘文件从domain0卸载,然后将虚拟磁盘设备拔除,需要说明的是虚拟磁盘设备拔除后还需要将其销毁,避免影响后续虚拟机的启动以及其他虚拟机的度量等操作。
本发明实施例公开了一种具体的虚拟机系统文件的检测方法,区别于上述实施例本发明实施例对S104做了具体地限定,其他步骤内容与上一实施例大致相同,具体内容可以参考上一实施例,此处不再赘述。具体地,S104包括:
利用所述待度量虚拟机的度量模板获取待度量的磁盘文件列表。
具体地,XEN虚拟化平台的管理者或维护者可以创建下发度量模板,指定虚拟机内的哪些文件需要进行度量,因此,利用度量模板获取到需要度量的文件的列表,也就是获取待度量的磁盘文件列表。
需要说明的是,此列表可以保存在一个XML中,文件名称为文件的绝对路径加文件名。
利用所述待度量虚拟机的度量算法度量所述磁盘文件列表中的每一个磁盘文件。
获得度量值与度量扩展值,利用所述度量值与度量扩展值检测所述系统磁盘镜像文件是否被篡改。
具体地,利用根据磁盘文件列表和度量算法对磁盘文件列表中的每一个文件进行度量并获取唯一的度量值,根据每个文件的度量值和度量算法通过不断的迭代获取每个文件唯一的度量扩展值,利用度量值与度量扩展值检测系统磁盘镜像文件是否被篡改。
下面对本发明实施例提供的一种虚拟机系统文件的检测装置进行介绍,下文描述的一种虚拟机系统文件的检测装置与上文描述的一种虚拟机系统文件的检测方法可以相互参照。
参见图3,本发明实施例提供的一种虚拟机系统文件的检测装置,具体包括:
系统磁盘镜像文件获取模块301,用于获取待度量虚拟机的系统磁盘镜像文件。
在本方案中,虚拟机是一种对XEN虚拟化中由模板创建的虚拟机。
需要说明的是,在一个虚拟环境中,虚拟机的多个磁盘可能存储在多个存储库中,可以根据虚拟机的UUID(通用唯一标识码)获取虚拟机的系统磁盘,以及系统磁盘所述存储库和存储库挂载等信息,根据这些信息最终定位到虚拟机系统磁盘的具体路径。
具体地,系统磁盘镜像文件获取模块301通过待度量虚拟机的通用唯一标识码VM_UUID,获取到待度量虚拟机的系统磁盘镜像文件的通用唯一标识码VDI_UUID。
添加模块302,用于在特权域中添加虚拟磁盘设备,并将所述系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件。
具体地,获取待度量虚拟机的主机特权域(Domain0)的通用唯一标识码Dom0_UUID,添加模块302在主机特权域中添加虚拟磁盘设备VBD,此VBD所属主机的通用唯一标识码为Dom0_UUID,虚拟磁盘设备的磁盘文件的唯一标识码为VDI_UUID,也就是说,将待度量虚拟机的系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件。设置完成虚拟磁盘设备的所属主机与磁盘文件后,返回虚拟磁盘设备的通用唯一标识码VBD_UUID。
挂载模块303,用于激活所述虚拟磁盘设备,并对所述虚拟磁盘设备的磁盘进行挂载。
具体地,挂载模块303根据虚拟磁盘设备的通用唯一标识码VBD_UUID,将虚拟磁盘设备插入到特权域中并激活,激活后将虚拟磁盘设备的磁盘分区进行挂载。
需要说明的是,当虚拟磁盘设备的磁盘分区挂载成功后,就可以查看并操作虚拟磁盘设备的文件,由于添加模块302将系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件,也就是可以通过特权域查看并操作带度量虚拟机的系统磁盘镜像文件。
度量模块304,用于利用所述待度量虚拟机的度量算法度量所述虚拟磁盘设备内的磁盘文件,获得度量值与度量扩展值,利用所述度量值与度量扩展值检测所述系统磁盘镜像文件是否被篡改。
具体地,根据下发的度量模板,获取待度量虚拟机的度量算法,其中度量算法支持SHA1、SHA256、SM3算法,度量模块304利用度量算法度量虚拟磁盘设备的磁盘文件得到文件的唯一的度量值,根据每个文件的度量值与度量算法,通过不断地迭代获取唯一的度量扩展值。管理员可以根据此度量值、度量扩展值来判断对应的文件是否是非法的、来源不明的、不完整的、被恶意篡改过的。
需要说明的是,度量模板由虚拟机的管理员或维护者下发,指定虚拟机内的哪些文件需要进行度量。对文件的度量是在虚拟机启动之前进行,从而在虚拟机启动前就能确定虚拟机是否可信,判断是否继续进入虚拟机操作系统。
通过以上方案可知,本发明实施例提供的一种虚拟机系统文件的检测方法,通过添加模块302将虚拟机的系统磁盘镜像文件作为虚拟机磁盘设备的磁盘文件,使系统磁盘镜像文件作为一块磁盘设备插入到特权域中,也就是说在特权域中虚拟机的文件系统是完整的,从而度量模块304可以通过offset值获取磁盘文件进行挂载并检测磁盘文件的安全,而且通过度量值和度量扩展值的方式检测虚拟机磁盘文件的安全性,不需要直接对比文件内容,因此可以避免虚拟机数据直接暴露出来,使检测过程更安全。
本发明实施例提供一种具体的虚拟机系统文件的检测装置,区别于上一实施例本发明实施例对挂载模块303做了具体地限定,其他内容与上一实施例大致相同,具体内容可以参考上一实施例,此处不再赘述。具体地,参见图4,挂载模块303包括:
判断单元401,用于判断所述虚拟磁盘设备的磁盘是否使用LVM进行管理。
具体地,在虚拟磁盘设备插入domain0后,可以再domain0上看到已经插入的设备,使用fdisk来判断虚拟磁盘设备的磁盘是标准分区还是LVM(逻辑卷管理)分区。也就是说在对虚拟磁盘设备的磁盘分区进行挂载之前,首先判断此磁盘是否使用了LVM进行磁盘管理,如果有,那么由第二挂载单元403处理,如果没有则可以由第一挂载单元402处理。
第一挂载单元402,用于当所述虚拟磁盘设备的磁盘没有使用LVM进行管理时,获取所述虚拟磁盘设备的磁盘的sector大小与所述磁盘的每个分区的开始sector编号;利用所述sector大小与所述开始sector编号计算得到每个分区的offset值;利用所述offset值对磁盘进行挂载。
具体地,第一挂载单元402首先读取虚拟磁盘设备的磁盘sector(磁盘扇区)大小,以及每个分区开始的sector编号,利用所述sector大小与所述开始sector编号计算得到每个分区的offset值,根据不同的offset值可以使用mount命令进行挂载磁盘。
第二挂载单元403,用于当所述虚拟磁盘设备的磁盘使用LVM进行管理时,对所述待度量虚拟机的磁盘镜像进行装载;获取LVM卷组信息,并利用所述LVM卷组信息激活逻辑卷组;利用激活后的逻辑卷则信息对磁盘进行挂载。
具体地,当磁盘使用了LVM进行管理,那么第二挂载单元403首先要使用kpartx(一种磁盘操作工作)对磁盘镜像文件进行装载使domain0可以识别到此设备。
需要说明的是,磁盘镜像文件是虚拟磁盘设备的磁盘镜像文件,由于虚拟磁盘设备的磁盘为待度量虚拟机的系统磁盘镜像文件,因此装载的磁盘镜像文件也就是待度量虚拟机的磁盘镜像文件。
第二挂载单元403对磁盘进行装载后,使用pvdisplay获取LVM卷组信息,并根据获取到的卷组信息使用vgchange对每个逻辑卷进行激活,激活后的逻辑卷名称会显示为载device-mapper中,此时这些卷组名就是可以挂载的设备名称,因此可以直接对磁盘进行挂载。
由此可见,本发明实施例提供的一种具体的虚拟机系统文件的检测装置,不仅可以实现对标准的磁盘分区进行挂载,同时也可以通过装载磁盘、激活逻辑卷组以及逻辑卷组的信息等实现对LVM磁盘分区的挂载,以便使用了LVM的磁盘也可以进行安全检测。
为了不影响后续虚拟机的启动以及其他虚拟机度量等操作,本发明实施例提供一种具体的虚拟机系统文件的检测装置,具体的上述虚拟机系统文件的检测装置还包括:
销毁模块,用于将所述虚拟磁盘设备销毁。
需要说明的是,在度量完成后,需要将磁盘分区进行卸载,将虚拟磁盘设备拔除后,利用销毁模块将所述虚拟磁盘设备销毁,避免影响后续虚拟机的启动以及其他虚拟机的度量等操作。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种虚拟机系统文件的检测方法,其特征在于,包括:
获取待度量虚拟机的系统磁盘镜像文件;
在特权域中添加虚拟磁盘设备,并将所述系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件;
激活所述虚拟磁盘设备,并对所述虚拟磁盘设备的磁盘进行挂载;
利用所述待度量虚拟机的度量算法度量所述虚拟磁盘设备内的磁盘文件,获得度量值与度量扩展值,利用所述度量值与度量扩展值检测所述系统磁盘镜像文件是否被篡改。
2.根据权利要求1所述的检测方法,其特征在于,对所述虚拟磁盘设备的磁盘进行挂载,包括:
判断所述虚拟磁盘设备的磁盘是否使用LVM进行管理;
若是,则获取所述虚拟磁盘设备的磁盘的sector大小与所述磁盘的每个分区的开始sector编号;利用所述sector大小与所述开始sector编号计算得到每个分区的offset值;利用所述offset值对磁盘进行挂载;
若否,则对所述待度量虚拟机的磁盘镜像进行装载;获取LVM卷组信息,并利用所述LVM卷组信息激活逻辑卷组;利用激活后的逻辑卷则信息对磁盘进行挂载。
3.根据权利要求2所述的检测方法,其特征在于,当所述虚拟磁盘设备的磁盘没有使用LVM进行管理时,所述利用所述度量值与度量扩展值判断所述系统磁盘镜像文件是否被篡改后,还包括:
使用umount卸载所述虚拟磁盘设备的磁盘并拔出所述虚拟磁盘设备。
4.根据权利要求2所述的检测方法,其特征在于,当所述虚拟磁盘设备的磁盘使用LVM进行管理时,所述利用所述度量值与度量扩展值判断所述系统磁盘镜像文件是否被篡改后,还包括:
将所述逻辑卷组取消激活,使用kpartx卸载所述虚拟磁盘设备的磁盘并拔出所述虚拟磁盘设备。
5.根据权利要求3或4所述的检测方法,其特征在于,在所述卸载所述虚拟磁盘设备的磁盘并拔出所述虚拟磁盘设备,还包括:
将所述虚拟磁盘设备销毁。
6.根据权利要求1所述的检测方法,其特征在于,所述利用所述待度量虚拟机的度量算法度量所述虚拟磁盘设备内的磁盘文件,包括:
利用所述待度量虚拟机的度量模板获取待度量的磁盘文件列表;
利用所述待度量虚拟机的度量算法度量所述磁盘文件列表中的每一个磁盘文件。
7.根据权利要求1所述的检测方法,其特征在于,所述度量算法,包括SHA1算法、SHA256算法、SM3算法中的任意一种。
8.一种虚拟机系统文件的检测装置,其特征在于,包括:
系统磁盘镜像文件获取模块,用于获取待度量虚拟机的系统磁盘镜像文件;
添加模块,用于在特权域中添加虚拟磁盘设备,并将所述系统磁盘镜像文件作为所述虚拟磁盘设备的磁盘文件;
挂载模块,用于激活所述虚拟磁盘设备,并对所述虚拟磁盘设备的磁盘进行挂载;
度量模块,用于利用所述待度量虚拟机的度量算法度量所述虚拟磁盘设备内的磁盘文件,获得度量值与度量扩展值,利用所述度量值与度量扩展值检测所述系统磁盘镜像文件是否被篡改。
9.根据权利要求6所述的检测装置,其特征在于,所述挂载模块,包括:
判断单元,用于判断所述虚拟磁盘设备的磁盘是否使用LVM进行管理;
第一挂载单元,用于当所述虚拟磁盘设备的磁盘没有使用LVM进行管理时,获取所述虚拟磁盘设备的磁盘的sector大小与所述磁盘的每个分区的开始sector编号;利用所述sector大小与所述开始sector编号计算得到每个分区的offset值;利用所述offset值对磁盘进行挂载;
第二挂载单元,用于当所述虚拟磁盘设备的磁盘使用LVM进行管理时,对所述待度量虚拟机的磁盘镜像进行装载;获取LVM卷组信息,并利用所述LVM卷组信息激活逻辑卷组;利用激活后的逻辑卷则信息对磁盘进行挂载。
10.根据权利要求8所述的检测装置,其特征在于,还包括:
销毁模块,用于将所述虚拟磁盘设备销毁。
CN201710581352.4A 2017-07-17 2017-07-17 一种虚拟机系统文件的检测方法与装置 Active CN107357908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710581352.4A CN107357908B (zh) 2017-07-17 2017-07-17 一种虚拟机系统文件的检测方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710581352.4A CN107357908B (zh) 2017-07-17 2017-07-17 一种虚拟机系统文件的检测方法与装置

Publications (2)

Publication Number Publication Date
CN107357908A true CN107357908A (zh) 2017-11-17
CN107357908B CN107357908B (zh) 2020-07-03

Family

ID=60292156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710581352.4A Active CN107357908B (zh) 2017-07-17 2017-07-17 一种虚拟机系统文件的检测方法与装置

Country Status (1)

Country Link
CN (1) CN107357908B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182366A (zh) * 2017-12-29 2018-06-19 浪潮(北京)电子信息产业有限公司 一种度量虚拟机的文件的方法、装置及设备
CN108829492A (zh) * 2018-06-20 2018-11-16 郑州云海信息技术有限公司 一种虚拟机镜像的检测方法及装置
CN109213899A (zh) * 2018-10-08 2019-01-15 郑州云海信息技术有限公司 一种度量文件的管理方法、装置及存储介质
CN110866245A (zh) * 2019-11-13 2020-03-06 哈尔滨工业大学 一种维护虚拟机文件安全的检测方法及检测系统
CN114968128A (zh) * 2022-07-28 2022-08-30 云宏信息科技股份有限公司 基于qcow2的虚拟磁盘映射方法、系统及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488173A (zh) * 2009-01-15 2009-07-22 北京交通大学 支持零宕机的可信虚拟域启动文件完整性度量的方法
CN102760212A (zh) * 2012-05-31 2012-10-31 北京朋创天地科技有限公司 一种基于存储镜像克隆机制虚拟桌面恶意代码检测方法
US20140172405A1 (en) * 2012-12-14 2014-06-19 International Business Machines Corporation Evaluating distributed application performance in a new environment
CN103927490A (zh) * 2014-04-25 2014-07-16 华为技术有限公司 操作系统安全启动方法及装置
CN104063788A (zh) * 2014-07-16 2014-09-24 武汉大学 一种移动平台可信支付系统及方法
CN104216743A (zh) * 2014-08-27 2014-12-17 中国船舶重工集团公司第七0九研究所 可配置的虚拟机启动完整性维护的方法及系统
CN104866392A (zh) * 2015-05-20 2015-08-26 浪潮电子信息产业股份有限公司 一种保护虚拟机安全的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488173A (zh) * 2009-01-15 2009-07-22 北京交通大学 支持零宕机的可信虚拟域启动文件完整性度量的方法
CN102760212A (zh) * 2012-05-31 2012-10-31 北京朋创天地科技有限公司 一种基于存储镜像克隆机制虚拟桌面恶意代码检测方法
US20140172405A1 (en) * 2012-12-14 2014-06-19 International Business Machines Corporation Evaluating distributed application performance in a new environment
CN103927490A (zh) * 2014-04-25 2014-07-16 华为技术有限公司 操作系统安全启动方法及装置
CN104063788A (zh) * 2014-07-16 2014-09-24 武汉大学 一种移动平台可信支付系统及方法
CN104216743A (zh) * 2014-08-27 2014-12-17 中国船舶重工集团公司第七0九研究所 可配置的虚拟机启动完整性维护的方法及系统
CN104866392A (zh) * 2015-05-20 2015-08-26 浪潮电子信息产业股份有限公司 一种保护虚拟机安全的方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182366A (zh) * 2017-12-29 2018-06-19 浪潮(北京)电子信息产业有限公司 一种度量虚拟机的文件的方法、装置及设备
CN108829492A (zh) * 2018-06-20 2018-11-16 郑州云海信息技术有限公司 一种虚拟机镜像的检测方法及装置
CN109213899A (zh) * 2018-10-08 2019-01-15 郑州云海信息技术有限公司 一种度量文件的管理方法、装置及存储介质
CN110866245A (zh) * 2019-11-13 2020-03-06 哈尔滨工业大学 一种维护虚拟机文件安全的检测方法及检测系统
CN110866245B (zh) * 2019-11-13 2023-11-07 哈尔滨工业大学 一种维护虚拟机文件安全的检测方法及检测系统
CN114968128A (zh) * 2022-07-28 2022-08-30 云宏信息科技股份有限公司 基于qcow2的虚拟磁盘映射方法、系统及介质

Also Published As

Publication number Publication date
CN107357908B (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN107357908A (zh) 一种虚拟机系统文件的检测方法与装置
CN105205401B (zh) 基于安全密码芯片的可信计算机系统及其可信引导方法
US10146938B2 (en) Method, apparatus and virtual machine for detecting malicious program
CN105339890B (zh) 用于运行不可信代码的框架
US8434067B2 (en) Method and system for whitelisting software components
TWI530790B (zh) 系統啓動碼恢復方法、運算系統、及供於系統中使用之控制器
CN102099811B (zh) 用于离线虚拟环境中的或与之相关的改进的方法和系统
US9037873B2 (en) Method and system for preventing tampering with software agent in a virtual machine
US11290492B2 (en) Malicious data manipulation detection using markers and the data protection layer
US20170161498A1 (en) Systems and methods for detection of malicious code in runtime generated code
CN107729198B (zh) 一种Android系统固件校验方法及装置
CN104572168A (zh) 一种bios自更新保护系统及方法
CN101375287A (zh) 用于提供安全固件的技术
US9311475B2 (en) Trusted execution of binaries and modules
CN103886259A (zh) 基于Xen虚拟化环境的内核级rootkit检测和处理方法
US10817211B2 (en) Method for completing a secure erase operation
TWI672634B (zh) 基本輸入輸出系統(bios)保全技術
WO2015176433A1 (zh) 一种基于分区表的硬盘修复方法及装置
CN102650944A (zh) 一种操作系统安全引导装置及引导方法
CN102289622A (zh) 基于认证策略文件和硬件信息收集的可信开机启动方法
CN103793651A (zh) 基于Xen虚拟化的内核完整性检测方法
US20130219499A1 (en) Apparatus and method for providing security for virtualization
CN106845231B (zh) 基于虚拟化环境下的安全防护方法及装置
CN106104553B (zh) 用于检测程序代码的篡改的设备和方法
Frazelle Securing the boot process

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