一种保护虚拟机的方法及装置技术领域
本发明涉及计算机技术领域,特别涉及一种保护虚拟机的方法及装置。
背景技术
随着云计算、虚拟化技术的发展,虚拟机的应用越来越广泛。随之而来的虚拟机的
安全问题也越来越受到重视。
现有技术中,对于虚拟机的保护技术非常有限,对于攻击虚拟机的行为也往往束
手无策,例如:虚拟机被异常关闭导致虚拟机数据丢失等。
通过上述描述可见,现有技术中虚拟机的安全性较低。
发明内容
本发明实施例提供了一种保护虚拟机的方法及装置,能够提高虚拟机的安全性。
一方面,本发明实施例提供了一种保护虚拟机的方法,应用于目标虚拟机的宿主
机中,包括:
预先设置至少一个用于保护所述目标虚拟机的保护策略;
预先确定至少一个待保护的虚拟机操作目标;
实时监测所述目标虚拟机的所述宿主机中的操作行为,判断所述操作行为的操作
目标是否在所述至少一个待保护的虚拟机操作目标中,如果是,则判断所述至少一个保护
策略是否允许执行所述操作行为,如果是,则允许执行所述操作行为,否则,禁止执行所述
操作行为。
进一步地,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止关闭所述目标虚拟机对应的目标虚拟化软件,其中,所述目标虚拟机运行在
所述目标虚拟化软件上;
所述至少一个待保护的虚拟机操作目标,包括:所述目标虚拟化软件。
进一步地,所述判断所述至少一个保护策略是否允许执行所述操作行为,包括:
将所述操作行为与所述至少一个保护策略进行匹配,判断是否存在禁止执行所述
操作行为的保护策略,如果是,则禁止执行所述操作行为,否则,允许执行所述操作行为。
进一步地,在所述预先设置至少一个用于保护所述目标虚拟机的保护策略之后,
在所述实时监测所述目标虚拟机的所述宿主机中的操作行为之前,进一步包括:
将所述至少一个保护策略添加到所述宿主机的系统内核模块中。
进一步地,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止修改或删除在所述宿主机中的所述目标虚拟机的文件;
所述至少一个待保护的虚拟机操作目标,包括:在所述宿主机中的所述目标虚拟
机的文件。
进一步地,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止停止在所述宿主机中的所述目标虚拟机的进程;
所述至少一个待保护的虚拟机操作目标,包括:在所述宿主机中的所述目标虚拟
机的进程。
进一步地,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止停止vmware-vmx.exe进程;
所述至少一个待保护的虚拟机操作目标,包括:所述vmware-vmx.exe进程。
另一方面,本发明实施例提供了一种保护虚拟机的装置,包括:
策略库,用于保存至少一个用于保护所述目标虚拟机的保护策略;
确定单元,用于确定至少一个待保护的虚拟机操作目标;
监测单元,用于实时监测所述目标虚拟机的所述宿主机中的操作行为,判断所述
操作行为的操作目标是否在所述至少一个待保护的虚拟机操作目标中,如果是,则触发判
断单元;
所述判断单元,用于判断所述至少一个保护策略是否允许执行所述操作行为,如
果是,则允许执行所述操作行为,否则,禁止执行所述操作行为。
进一步地,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止关闭所述目标虚拟机对应的目标虚拟化软件,其中,所述目标虚拟机运行在
所述目标虚拟化软件上;
所述至少一个待保护的虚拟机操作目标,包括:所述目标虚拟化软件。
进一步地,所述判断单元,用于将所述操作行为与所述至少一个保护策略进行匹
配,判断是否存在禁止执行所述操作行为的保护策略,如果是,则禁止执行所述操作行为,
否则,允许执行所述操作行为。
进一步地,该装置进一步包括:
添加单元,用于将所述至少一个保护策略添加到所述宿主机的系统内核模块中。
进一步地,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止修改或删除在所述宿主机中的所述目标虚拟机的文件;
所述至少一个待保护的虚拟机操作目标,包括:在所述宿主机中的所述目标虚拟
机的文件。
进一步地,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止停止在所述宿主机中的所述目标虚拟机的进程;
所述至少一个待保护的虚拟机操作目标,包括:在所述宿主机中的所述目标虚拟
机的进程。
进一步地,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止停止vmware-vmx.exe进程;
所述至少一个待保护的虚拟机操作目标,包括:所述vmware-vmx.exe进程。
在本发明实施例中,在目标虚拟机的宿主机上,设置至少一个用于保护目标虚拟
机的保护策略,确定至少一个待保护的虚拟机操作目标,当判断出操作行为的操作目标是
否在至少一个待保护的虚拟机操作目标中时,利用保护策略对操作行为进行处理,允许执
行该至少一个保护策略允许的操作行为,禁止执行该至少一个保护策略禁止的操作行为,
在宿主机的层面上实现对目标虚拟机的保护,提高了目标虚拟机的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
这些附图获得其他的附图。
图1是本发明一实施例提供的一种保护虚拟机的方法的流程图;
图2是本发明一实施例提供的另一种保护虚拟机的方法的流程图;
图3是本发明一实施例提供的一种保护虚拟机的装置的示意图;
图4是本发明一实施例提供的另一种保护虚拟机的装置的示意图;
图5是本发明一实施例提供的又一种保护虚拟机的装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员
在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种保护虚拟机的方法,应用于目标虚拟机的宿
主机中,该方法可以包括以下步骤:
步骤101:预先设置至少一个用于保护所述目标虚拟机的保护策略;
步骤102:预先确定至少一个待保护的虚拟机操作目标;
步骤103:实时监测所述目标虚拟机的所述宿主机中的操作行为,判断所述操作行
为的操作目标是否在所述至少一个待保护的虚拟机操作目标中,如果是,则执行步骤104;
步骤104:判断所述至少一个保护策略是否允许执行所述操作行为,如果是,则执
行步骤105;否则,执行步骤106;
步骤105:允许执行所述操作行为;
步骤106:禁止执行所述操作行为。
在本发明实施例中,在目标虚拟机的宿主机上,设置至少一个用于保护目标虚拟
机的保护策略,确定至少一个待保护的虚拟机操作目标,当判断出操作行为的操作目标是
否在至少一个待保护的虚拟机操作目标中时,利用保护策略对操作行为进行处理,允许执
行该至少一个保护策略允许的操作行为,禁止执行该至少一个保护策略禁止的操作行为,
在宿主机的层面上实现对目标虚拟机的保护,提高了目标虚拟机的安全性。
在本发明一实施例中,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止关闭所述目标虚拟机对应的目标虚拟化软件,其中,所述目标虚拟机运行在
所述目标虚拟化软件上;
所述至少一个待保护的虚拟机操作目标,包括:所述目标虚拟化软件。
由于目标虚拟化软件是用来实现虚拟机的,目标虚拟化软件安装在宿主机上,当
关闭目标虚拟化软件后,目标虚拟化软件上的目标虚拟机也会关闭,因此,为了保护目标虚
拟机,设置该保护策略。
在本发明一实施例中,所述判断所述至少一个保护策略是否允许执行所述操作行
为,包括:
将所述操作行为与所述至少一个保护策略进行匹配,判断是否存在禁止执行所述
操作行为的保护策略,如果是,则禁止执行所述操作行为,否则,允许执行所述操作行为。
在本实施例中,将操作行为与各个保护策略进行匹配,针对当前保护策略,确定当
前保护策略是否禁止执行该操作行为,当确定出当前保护策略禁止执行该操作行为时,可
以停止匹配剩余的保护策略,确定出存在禁止执行该操作行为的保护策略,当确定出当前
保护策略允许执行该操作行为时,继续匹配剩余的保护策略,直到匹配到禁止该操作行为
的保护策略,或与所有的保护策略都匹配完成。如果所有的保护策略都允许执行该操作行
为,则说明该操作行为是安全的。
在本发明一实施例中,在所述预先设置至少一个用于保护所述目标虚拟机的保护
策略之后,在所述实时监测所述目标虚拟机的所述宿主机中的操作行为之前,进一步包括:
将所述至少一个保护策略添加到所述宿主机的系统内核模块中。
在本发明实施例中,通过将保护策略添加到宿主机的系统内核模块中,可以使得
宿主机的每个操作行为均需要通过保护策略的处理才能继续后续处理。通过该实施例可以
实现对每个操作行为的强制访问控制。
在本发明一实施例中,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止修改或删除在所述宿主机中的所述目标虚拟机的文件;
所述至少一个待保护的虚拟机操作目标,包括:在所述宿主机中的所述目标虚拟
机的文件。
在本发明实施例中,目标虚拟机的文件是目标虚拟机正常运行所需要的文件,例
如:.vmdk文件,目标虚拟机的文件在宿主机中。该保护策略禁止修改目标虚拟机的文件,也
禁止删除目标虚拟机的文件。具体地,该保护策略中可以包括:目标虚拟机的文件的标识,
例如:目标虚拟机的文件的名称等。
在本发明一实施例中,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止停止在所述宿主机中的所述目标虚拟机的进程;
所述至少一个待保护的虚拟机操作目标,包括:在所述宿主机中的所述目标虚拟
机的进程。
在本发明实施例中,目标虚拟机的进程是目标虚拟机正常运行过程中的进程,目
标虚拟机的进程在宿主机中。具体地,该保护策略中可以包括:目标虚拟机的进程的标识,
例如:目标虚拟机的文件的名称等。
在本发明一实施例中,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止停止vmware-vmx.exe进程;
所述至少一个待保护的虚拟机操作目标,包括:所述vmware-vmx.exe进程。
在本实施例中,vmware-vmx.exe进程是用于启动虚拟机的进程,如果该进程被关
闭,则虚拟机也会被关闭,因此,该保护策略禁止停止vmware-vmx.exe进程。具体地,只允许
该进程本身停止该进程,禁止所有其他程序对该进程进行停止。
如图2所示,本发明实施例提供了一种保护虚拟机的方法,应用于目标虚拟机的宿
主机中,举例来说,目标虚拟机A运行在宿主机A上,为了保护目标虚拟机A,可以在宿主机A
上实现该方法,该方法可以包括以下步骤:
步骤201:预先设置至少一个用于保护目标虚拟机的保护策略。
步骤202:预先确定至少一个待保护的虚拟机操作目标。
具体地,保护策略,可以包括:禁止关闭所述目标虚拟机对应的目标虚拟化软件,
其中,所述目标虚拟机运行在目标虚拟化软件上;待保护的虚拟机操作目标,可以包括:目
标虚拟化软件。
保护策略,可以包括:禁止修改或删除在宿主机中的目标虚拟机的文件;待保护的
虚拟机操作目标,可以包括:在宿主机中的目标虚拟机的文件;
保护策略,可以包括:禁止停止在宿主机中的目标虚拟机的进程;待保护的虚拟机
操作目标,可以包括:在宿主机中的目标虚拟机的进程。
保护策略,可以包括:禁止停止vmware-vmx.exe进程;
待保护的虚拟机操作目标,可以包括:vmware-vmx.exe进程。
另外,在保护策略中可以规定,具体的执行主体,例如:允许程序A修改或删除在宿
主机中的目标虚拟机的文件,则该程序A之外的程序都是不被允许的。允许用户A停止在宿
主机中的目标虚拟机的进程,则该用户A之外的用户都是不被允许的。
步骤203:实时监测目标虚拟机的宿主机中的操作行为,判断操作行为的操作目标
是否在至少一个待保护的虚拟机操作目标中,如果是,则执行步骤204。
具体地,可以将至少一个待保护的虚拟机操作目标的标识保存到预设表中,将当
前操作行为的操作目标与预设表中每个虚拟机操作目标的标识进行匹配,确定当前操作行
为的操作目标是否在至少一个待保护的虚拟机操作目标中。
具体地,实时监测宿主机中的每个操作行为,针对每个操作行为执行后续的判断。
具体地,还可以包括识别操作行为,例如:可以通过操作行为的名称对操作行为进
行识别,进而确定操作行为的目的。
步骤204:将操作行为与至少一个保护策略进行匹配,判断是否存在禁止执行操作
行为的保护策略,如果是,则执行步骤205,否则,执行步骤206。
具体地,当该至少一个保护策略中存在禁止执行该操作行为的保护策略时,判定
该至少一个保护策略禁止执行该操作行为;当该至少一个保护策略中不存在禁止执行该操
作行为的保护策略时,判定该至少一个保护策略允许执行该操作行为。
步骤205:禁止执行操作行为。
步骤206:允许执行操作行为。
本发明实施例提供的方法可以通过强制访问控制来实现。举例来说,可以将保护
策略保存到宿主机的系统内核模块中。
在本发明实施例中,在宿主机层面,对虚拟机的文件、虚拟机的进程进行细粒度的
规则配置,通过保护策略对虚拟机进行保护,防止虚拟机被恶意的关闭破坏。
在本发明实施例中,整个保护都是通过对虚拟机相关的最根本的元素文件、进程
进行保护从最细粒度的角度对虚拟机保护,提高了虚拟机的安全性。
如图3、图4所示,本发明实施例提供了一种保护虚拟机的装置。装置实施例可以通
过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为
本发明实施例提供的一种保护虚拟机的装置所在设备的一种硬件结构图,除了图3所示的
处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以
包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻
辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读
取到内存中运行形成的。本实施例提供的一种保护虚拟机的装置,包括:
策略库401,用于保存至少一个用于保护所述目标虚拟机的保护策略;
确定单元402,用于确定至少一个待保护的虚拟机操作目标;
监测单元403,用于实时监测所述目标虚拟机的所述宿主机中的操作行为,判断所
述操作行为的操作目标是否在所述至少一个待保护的虚拟机操作目标中,如果是,则触发
判断单元;
所述判断单元404,用于判断所述至少一个保护策略是否允许执行所述操作行为,
如果是,则允许执行所述操作行为,否则,禁止执行所述操作行为。
在本发明一实施例中,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止关闭所述目标虚拟机对应的目标虚拟化软件,其中,所述目标虚拟机运行在
所述目标虚拟化软件上;
所述至少一个待保护的虚拟机操作目标,包括:所述目标虚拟化软件。
在本发明一实施例中,所述判断单元,用于将所述操作行为与所述至少一个保护
策略进行匹配,判断是否存在禁止执行所述操作行为的保护策略,如果是,则禁止执行所述
操作行为,否则,允许执行所述操作行为。
如图5所示,在本发明一实施例中,该装置进一步包括:
添加单元501,用于将所述至少一个保护策略添加到所述宿主机的系统内核模块
中。
其中,添加单元501与策略库相连。
在本发明一实施例中,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止修改或删除在所述宿主机中的所述目标虚拟机的文件;
所述至少一个待保护的虚拟机操作目标,包括:在所述宿主机中的所述目标虚拟
机的文件。
在本发明一实施例中,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止停止在所述宿主机中的所述目标虚拟机的进程;
所述至少一个待保护的虚拟机操作目标,包括:在所述宿主机中的所述目标虚拟
机的进程。
在本发明一实施例中,所述至少一个用于保护所述目标虚拟机的保护策略,包括:
禁止停止vmware-vmx.exe进程;
所述至少一个待保护的虚拟机操作目标,包括:所述vmware-vmx.exe进程。
本发明实施例提供的装置可以是目标虚拟机的宿主机,也可以在目标虚拟机的宿
主机上实现。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施
例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,在目标虚拟机的宿主机上,设置至少一个用于保护目标虚
拟机的保护策略,确定至少一个待保护的虚拟机操作目标,当判断出操作行为的操作目标
是否在至少一个待保护的虚拟机操作目标中时,利用保护策略对操作行为进行处理,允许
执行该至少一个保护策略允许的操作行为,禁止执行该至少一个保护策略禁止的操作行
为,在宿主机的层面上实现对目标虚拟机的保护,提高了目标虚拟机的安全性。
2、在本发明实施例中,在宿主机层面,对虚拟机的文件、虚拟机的进程进行细粒度
的规则配置,通过保护策略对虚拟机进行保护,防止虚拟机被恶意的关闭破坏。
3、在本发明实施例中,整个保护都是通过对虚拟机相关的最根本的元素文件、进
程进行保护从最细粒度的角度对虚拟机保护,提高了虚拟机的安全性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体
或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在
任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非
排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,
而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固
有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排
除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过
程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序
在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光
盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技
术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、
等同替换、改进等,均包含在本发明的保护范围内。