一种基于xen虚拟化平台的安全防护方法与流程

文档序号:11216772阅读:617来源:国知局
一种基于xen虚拟化平台的安全防护方法与流程

本发明涉及虚拟机技术领域,特别是涉及一种基于xen虚拟化平台的安全防护方法。



背景技术:

目前,虚拟化解决方案相应的提高了数据中心等的设备利用率、灵活性和弹性,优化了在生产环境中的方案,提高了生产效率,降低了系统维护的复杂度,逐渐流行开来。在数据中心等相关的节点从物理转移到虚拟的过程中,也引出了相应的安全问题。在物理环境中,我们在每台服务器上配置杀毒服务,达到病毒查杀的目的;但在虚拟化环境中,虚拟机按比例占用服务器硬件资源,如果在每台虚拟机上配置杀毒服务,当杀毒任务同时执行时,会造成极大的系统资源消耗,此部分消耗不能忽略不计,且在更新病毒库等任务时,对网络资源也有很大消耗。尽管近年来杀毒服务提供商极大的优化了相关软件,降低了对资源的占用,但在虚拟化环境中,随着虚拟机数量的增大,仍不能从根本上解决资源的巨大消耗问题。故此,需要对杀毒方案做相应的变更,去适应虚拟化环境,在配置杀毒服务后,降低杀毒任务对系统资源的占用率,减少对生产环境的影响,尽量做到对用户“透明”。



技术实现要素:

本发明的目的是提供一种基于xen虚拟化平台的安全防护方法,以实现不必对每个虚拟机都安装相应的杀毒软件,降低系统资源消耗。

为解决上述技术问题,本发明提供一种基于xen虚拟化平台的安全防护方法,包括:

在xen虚拟化平台中配置一个安全虚拟机;

在安全虚拟机上安装杀毒引擎以及杀毒模块;

将安全虚拟机授权为高特权虚拟机,利用安全虚拟机访问每个客户虚拟机的资源信息;

通过安全虚拟机对客户虚拟机进行内存的自省,分析查找客户虚拟机的可疑操作,阻止可疑操作的运行。

优选的,所述利用安全虚拟机访问每个客户虚拟机的资源信息之前,还包括:

建立安全虚拟机和客户虚拟机之间的底层通信通道。

优选的,采用libvmi程序库建立安全虚拟机和客户虚拟机之间的底层通信通道。

优选的,所述采用libvmi程序库建立安全虚拟机和客户虚拟机之间的底层通信通道,包括:

将libvmi程序库插入到xen虚拟机平台的内核中,提供安全虚拟机和客户虚拟机之间的底层通信通道。

优选的,所述将libvmi程序库插入到xen虚拟机平台的内核中,包括:

编译安装libvmi程序库,将libvmi程序库插入到内核模块;

查询system.map符号表,确定相关偏移量;

将需要保护的客户虚拟机信息以及相关偏移量保存在安全虚拟机中。

优选的,所述资源信息包括客户虚拟机的内存信息、cpu信息和寄存器信息。

优选的,所述通过安全虚拟机对客户虚拟机进行内存的自省,分析查找客户虚拟机的可疑操作,阻止可疑操作的运行之后,还包括:

通过安全虚拟机对每个客户虚拟机执行杀毒任务。

本发明所提供的一种基于xen虚拟化平台的安全防护方法,在xen虚拟化平台中配置一个安全虚拟机;在安全虚拟机上安装杀毒引擎以及杀毒模块;将安全虚拟机授权为高特权虚拟机,利用安全虚拟机访问每个客户虚拟机的资源信息;通过安全虚拟机对客户虚拟机进行内存的自省,分析查找客户虚拟机的可疑操作,阻止可疑操作的运行。可见,安全虚拟机负责所有客户虚拟机的病毒查杀等工作,通过安全虚拟机对客户虚拟机的内存检查达到病毒防护的目的,这样不必在环境中每台虚拟机里安装杀毒软件,而是集中整合杀毒服务为一个安全虚拟机,环境中所有虚拟机的杀毒任务都有安全虚拟机来负责,从而降低环境部署的复杂度,降低维护成本,减少系统资源的不必要消耗。

附图说明

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

图1为本发明所提供的一种基于xen虚拟化平台的安全防护方法的流程图。

具体实施方式

本发明的核心是提供一种基于xen虚拟化平台的安全防护方法,以实现不必对每个虚拟机都安装相应的杀毒软件,降低系统资源消耗。

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

请参考图1,图1为本发明所提供的一种基于xen虚拟化平台的安全防护方法的流程图,该方法包括:

s11:在xen虚拟化平台中配置一个安全虚拟机;

s12:在安全虚拟机上安装杀毒引擎以及杀毒模块;

s13:将安全虚拟机授权为高特权虚拟机,利用安全虚拟机访问每个客户虚拟机的资源信息;

s14:通过安全虚拟机对客户虚拟机进行内存的自省,分析查找客户虚拟机的可疑操作,阻止可疑操作的运行。

可见,安全虚拟机负责所有客户虚拟机的病毒查杀等工作,通过安全虚拟机对客户虚拟机的内存检查达到病毒防护的目的,这样不必在环境中每台虚拟机里安装杀毒软件,而是集中整合杀毒服务为一个安全虚拟机,环境中所有虚拟机的杀毒任务都有安全虚拟机来负责,从而降低环境部署的复杂度,降低维护成本,减少系统资源的不必要消耗。

基于上述方法,进一步的,步骤s13中,利用安全虚拟机访问每个客户虚拟机的资源信息之前,还包括:建立安全虚拟机和客户虚拟机之间的底层通信通道。

其中,采用libvmi程序库建立安全虚拟机和客户虚拟机之间的底层通信通道。

具体的,采用libvmi程序库建立安全虚拟机和客户虚拟机之间的底层通信通道的过程具体为:将libvmi程序库插入到xen虚拟机平台的内核中,提供安全虚拟机和客户虚拟机之间的底层通信通道。

其中,将libvmi程序库插入到xen虚拟机平台的内核中的过程具体包括:编译安装libvmi程序库,将libvmi程序库插入到内核模块;查询system.map符号表,确定相关偏移量;将需要保护的客户虚拟机信息以及相关偏移量保存在安全虚拟机中。

其中,步骤s13中,所述资源信息包括客户虚拟机的内存信息、cpu信息和寄存器信息。

进一步的,步骤s14之后,还包括:通过安全虚拟机对每个客户虚拟机执行杀毒任务。

本方法应用于xen虚拟化环境中,解决部分在虚拟化环境中虚拟机的安全问题,帮助更好的保护虚拟机免受病毒的攻击,以致中断服务的情况。本方法提供一种集中式管理方案,不必在环境中每台虚拟机里安装杀毒软件,而是集中整合杀毒服务为一个安全虚拟机securityvm,环境中所有虚拟机的杀毒任务都有安全虚拟机来负责,从而降低环境部署的复杂度,降低维护成本,减少系统资源的不必要消耗,适应虚拟化环境对安全的要求。

详细的,构建从安全虚拟机到客户虚拟机的特殊通道,此通道需经过hypervisor层,建立安全虚拟机和客户虚拟机之间的底层通信通道是建立hypervisor层的特殊通道,使安全虚拟机可以监控到任一虚拟机的内存、cpu、寄存器等操作系统层面资源,安全虚拟机提供杀毒引擎,打通从安全虚拟机到客户虚拟机guestvm的通道,使得操作系统对客户虚拟机的修改能同步通知到安全虚拟机,同时安全虚拟机的指令能下发到客户虚拟机。

本方法中,在物理主机上,安全虚拟机负责该主机所有虚拟机的病毒查杀等工作,通过安全虚拟机对客户虚拟机的内存检查达到病毒防护等的目的。在监控的同时,安全虚拟机可以提供病毒的查杀,权限的检查等安全服务,并且拦截病毒的启动、运行等任务,通过在客户虚拟机安装插件的形式,可以进一步的提供全盘的扫描和病毒查杀,隔离疑似病毒文件,阻止病毒文件的非法复制等更高级安全服务,保证用户环境的安全。

本方法中,为实现安全虚拟机访问客户虚拟机通道,把libvmi作为内核模块插入到xen平台操作系统中,以提供通道使得安全虚拟机能够访问到客户虚拟机的内存。安全虚拟机与客户虚拟机的通道可采用开源libvmi项目来集成,在domain0编译libvmi项目实现。在xen平台结构下,使用libvmi开源项目来作为连通安全虚拟机到客户虚拟机的桥梁。

libvmi项目是一个针对虚拟机读写内存的自省c库,同时也提供针对cpu寄存器的访问、暂停和恢复虚拟机、打印二进制数据等功能,进一步的也支持以保存文件的格式读取物理内存镜像,libvmi设计用来支持多虚拟化平台,目前支持的有xen和kvm。

libvmi是一个c库,它提供了对正在运行中的底层虚拟机的运行细节进行监视的功能,监视的功能是由观察内存细节,陷入硬件事件和读取cpu寄存器来完成的,这种方式被称作虚拟机自省。

libvmi所提供的种种功能中,最主要的是内存自省功能,内存自省能允许用户从dom0监控也就是读取内存数据,以及控制操作系统也就是改写内存数据。

对于libvmi运行机制,具体的,libvmi获取内核符号的流程,首先应用程序请求查看内核符号,libvmi通过系统的system.map获取内核符号的虚拟地址,其次找到虚拟地址所对应的内核页目录,并获取对应的页表,通过页表找到正确的数据页,最后数据页被返回给libvmi,libvmi将数据返回给libvmi应用程序。

本方法免除在每个虚拟机上安装杀毒软件,本方法具体实施过程包括:

1、在每个物理主机上配置一个安全虚拟机;

2、在该安全虚拟机上安装杀毒引擎以及各个杀毒模块;

3、授权该虚拟机为高特权机虚拟机,使其可以访问客户虚拟机的内存、cpu、寄存器等资源信息;

4、在访问客户虚拟机资源的情况下,进行内存的自省,分析查找客户虚拟机可疑动作,阻止可疑操作进程等的运行。

其中,安全虚拟机配置libvmi来打通安全虚拟机和客户虚拟机的底层通信问题;

其中,配置libvmi模块并插入到内核中,具体包括以下步骤:

步骤一:编译安装libvmi,同时配置并插入到内核模块;

步骤二:查询system.map符号表,确定相关偏移量;

步骤三:配置需要保护的客户虚拟机信息以及相关偏移量,保存在安全虚拟机中。

综上,本发明所提供的一种基于xen虚拟化平台的安全防护方法,在xen虚拟化平台中配置一个安全虚拟机;在安全虚拟机上安装杀毒引擎以及杀毒模块;将安全虚拟机授权为高特权虚拟机,利用安全虚拟机访问每个客户虚拟机的资源信息;通过安全虚拟机对客户虚拟机进行内存的自省,分析查找客户虚拟机的可疑操作,阻止可疑操作的运行。可见,安全虚拟机负责所有客户虚拟机的病毒查杀等工作,通过安全虚拟机对客户虚拟机的内存检查达到病毒防护的目的,这样不必在环境中每台虚拟机里安装杀毒软件,而是集中整合杀毒服务为一个安全虚拟机,环境中所有虚拟机的杀毒任务都有安全虚拟机来负责,从而降低环境部署的复杂度,降低维护成本,减少系统资源的不必要消耗。

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

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