一种虚拟化运行环境下的异常处理方法、装置及系统制造方法及图纸

技术编号:16755238 阅读:20 留言:0更新日期:2017-12-09 01:54
本申请涉及工业互联网操作系统技术领域,尤其涉及一种虚拟化运行环境下的异常处理方法、装置及系统,用以解决现有技术中运行在虚拟化环境下的Guest OS存在着稳健性较差的问题;本申请实施例提供的虚拟化运行环境下的异常处理方法包括:监测在虚拟机上运行的Guest OS产生的异常;若根据获取的异常的上下文信息,确定异常是由Guest OS对虚拟机中操作权限受限的内核代码的越限操作产生的,则拒绝Guest OS对内核代码的越限操作,这里,对于虚拟机中的重要内核代码,可以增加Guest OS对该内核代码的操作权限,这样相当于对虚拟机中的内核代码多加一层安全防护,而对内核代码的防护能够有效提高虚拟机运行环境的安全性,因此可以增强运行在虚拟机中的Guest OS的健壮性。

An exception handling method, device and system in a virtualized running environment

The invention relates to the industrial Internet operating system technical field, in particular to the exception handling method, a virtual environment device and system, in order to solve the existing technology in operation in the virtual environment of Guest OS has poor robustness problems; including exception handling method of virtual operating environment of the application embodiment provide under abnormal monitoring in a virtual machine running on Guest OS generated; if abnormal according to the context information acquisition, determined by Guest OS on abnormal operation of access limited in the virtual machine kernel code limit operation and refused to Guest OS on kernel code limit operation here, for the kernel code in the virtual machine, can increase the Guest OS permissions on the kernel code, this is equivalent to a virtual machine kernel code with a layer. Full protection, and protection of the kernel code can effectively improve the safety of the virtual machine environment, thus enhance the robustness of Guest OS running in the virtual machine can be.

【技术实现步骤摘要】
一种虚拟化运行环境下的异常处理方法、装置及系统
本申请涉及工业互联网操作系统
,尤其涉及一种虚拟化运行环境下的异常处理方法、装置及系统。
技术介绍
虚拟化技术是将物理机的硬件资源,如服务器和内存等,进行抽象后供用户使用,其核心是先在物理机上构建虚拟机管理器(VirtualMachineMonitor,VMM),再在VMM上创建多个虚拟机(VirtualMachine,VM),这样,原本只能在物理机上运行一个客户操作系统(GuestOperatingSystem,GuestOS),虚拟化后可以在多个VM里并行运行,因此能够最大化地利用物理机的硬件资源。现有技术中,VMM对GuestOS的运行过程进行监测,并且将监测到的GuestOS在运行过程中所产生的异常投递给GuestOS内部部署的异常处理模块进行处理,其中,异常处理模块处理的异常如除零操作产生的异常、缺页异常、非法指令异常等,这些异常都是由GuestOS中的软件设计错误产生的。对于为GuestOS提供虚拟化运行环境的VM,保证VM中内核代码的安全性是GuestOS和异常处理模块能够正常工作的前提。目前,VM中内核代码的安全性只是简单地由VM上运行的操作系统,如Windows,进行安全防护,正常情况下,GuestOS无法访问到VM中的重要内核代码,一旦操作系统的安全防护被突破,VM中的重要内核代码很容易就会被恶意篡改,这会导致GuestOS无法正常运行、严重时可能使GuestOS发生瘫痪,而GuestOS已位于虚拟化技术中的用户应用层面,保证GuestOS能够稳健运行对于客户和提供GuestOS的商家来说都十分重要。可见,现有技术中运行在虚拟化环境下的GuestOS存在着稳健性较差的问题。
技术实现思路
本申请实施例提供一种虚拟化运行环境下的异常处理方法、装置及系统,用以解决现有技术中运行在虚拟化环境下的GuestOS存在着稳健性较差的问题。本申请实施例提供的一种虚拟化运行环境下的异常处理方法,包括:监测在虚拟机上运行的客户操作系统GuestOS产生的异常;若根据获取的所述异常的上下文信息,确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的,则拒绝GuestOS对所述内核代码的越限操作。可选地,根据以下步骤确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的:获取所述异常的上下文信息中的内存页面错误地址;若所述内存页面错误地址包含在预先保存的操作权限受限的内核代码对应的地址段中、且GuestOS对该地址段中的内核代码具有访问权限,则确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的。可选地,拒绝GuestOS对所述内核代码的越限操作,包括:判断是否存在用户自定义的异常处理函数;若存在,则调用所述异常处理函数对所述越限操作进行处理;否则,拒绝产生所述异常时GuestOS执行的操作指令;所述操作指令是从所述异常的上下文信息中获取的。可选地,所述方法还包括:监测并处理在调用所述异常处理函数对所述越限操作进行处理的过程中产生的二次异常。本申请实施例提供的一种虚拟化运行环境下的异常处理装置,包括:监测模块,用于监测在虚拟机上运行的客户操作系统GuestOS产生的异常;处理模块,用于若根据获取的所述异常的上下文信息,确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的,则拒绝GuestOS对所述内核代码的越限操作。监测模块,用于监测在虚拟机上运行的客户操作系统GuestOS产生的异常;处理模块,用于若根据获取的所述异常的上下文信息,确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的,则拒绝GuestOS对所述内核代码的越限操作。可选地,所述处理模块具体用于:根据以下步骤确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的:获取所述异常的上下文信息中的内存页面错误地址;若所述内存页面错误地址包含在预先保存的操作权限受限的内核代码对应的地址段中、且GuestOS对该地址段中的内核代码具有访问权限,则确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的。可选地,所述处理模块具体用于:判断是否存在用户自定义的异常处理函数;若存在,则调用所述异常处理函数对所述越限操作进行处理;否则,拒绝产生所述异常时GuestOS执行的操作指令;所述操作指令是从所述异常的上下文信息中获取的。可选地,所述监测模块,还用于监测在调用所述异常处理函数对所述越限操作进行处理的过程中产生的二次异常;所述处理模块,还用于对所述二次异常进行处理。本申请实施例提供的一种虚拟化运行环境下的异常处理系统,包括:虚拟机管理器、至少一个第一虚拟机、以及一个用于对所述至少一个第一虚拟机进行安全防护的第二虚拟机,其中:所述虚拟机管理器,用于对每个第一虚拟机,监测在该第一虚拟机上运行的客户操作系统GuestOS产生的异常;将获取的所述异常的上下文信息发送给所述第二虚拟机;所述第二虚拟机,用于接收所述异常的上下文信息;若根据所述异常的上下文信息,确定所述异常是由GuestOS对该第一虚拟机中操作权限受限的内核代码的越限操作产生的,则拒绝GuestOS对所述内核代码的越限操作。可选地,所述第二虚拟机具体用于:获取所述异常的上下文信息中的内存页面错误地址;若所述内存页面错误地址包含在预先保存的操作权限受限的内核代码对应的地址段中、且GuestOS对该地址段中的内核代码具有访问权限,则确定所述异常是由GuestOS对第一虚拟机中操作权限受限的内核代码的越限操作产生的。可选地,所述第二虚拟机具体用于:判断是否存在用户自定义的异常处理函数;若存在,则调用所述异常处理函数对所述越限操作进行处理;否则,拒绝产生所述异常时GuestOS执行的操作指令;所述操作指令是从所述异常的上下文信息中获取的。可选地,所述虚拟机管理器还用于:监测并处理在调用所述异常处理函数对所述越限操作进行处理的过程中产生的二次异常。本申请实施例提供的一种电子设备,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行上述虚拟化运行环境下的异常处理方法的步骤。本申请实施例提供的一种计算机可读存储介质,包括程序代码,当所述程序产品在计算设备上运行时,所述程序代码用于使所述电子设备执行上述虚拟化运行环境下的异常处理方法的步骤。本申请实施例中,监测在虚拟机上运行的GuestOS产生的异常,若根据获取的异常的上下文信息,确定该异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的,则拒绝GuestOS对内核代码的越限操作。对于虚拟机中的重要内核代码,相比于现有技术中只是采用VM上运行的操作系统进行安全防护,本申请实施例中还可以增加GuestOS对重要内核代码的操作权限,相当于对虚拟机中的内核代码多增加一层安全防护,而对内核代码的安全防护能够有效提高虚拟机运行环境的安全性,因此可以增强运行在虚拟机中的GuestOS的健壮性。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构本文档来自技高网
...
一种虚拟化运行环境下的异常处理方法、装置及系统

【技术保护点】
一种虚拟化运行环境下的异常处理方法,其特征在于,包括:监测在虚拟机上运行的客户操作系统Guest OS产生的异常;若根据获取的所述异常的上下文信息,确定所述异常是由Guest OS对虚拟机中操作权限受限的内核代码的越限操作产生的,则拒绝Guest OS对所述内核代码的越限操作。

【技术特征摘要】
1.一种虚拟化运行环境下的异常处理方法,其特征在于,包括:监测在虚拟机上运行的客户操作系统GuestOS产生的异常;若根据获取的所述异常的上下文信息,确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的,则拒绝GuestOS对所述内核代码的越限操作。2.如权利要求1所述的方法,其特征在于,根据以下步骤确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的:获取所述异常的上下文信息中的内存页面错误地址;若所述内存页面错误地址包含在预先保存的操作权限受限的内核代码对应的地址段中、且GuestOS对该地址段中的内核代码具有访问权限,则确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的。3.如权利要求1所述的方法,其特征在于,拒绝GuestOS对所述内核代码的越限操作,包括:判断是否存在用户自定义的异常处理函数;若存在,则调用所述异常处理函数对所述越限操作进行处理;否则,拒绝产生所述异常时GuestOS执行的操作指令;所述操作指令是从所述异常的上下文信息中获取的。4.如权利要求3所述的方法,其特征在于,还包括:监测并处理在调用所述异常处理函数对所述越限操作进行处理的过程中产生的二次异常。5.一种虚拟化运行环境下的异常处理装置,其特征在于,包括:监测模块,用于监测在虚拟机上运行的客户操作系统GuestOS产生的异常;处理模块,用于若根据获取的所述异常的上下文信息,确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的,则拒绝GuestOS对所述内核代码的越限操作。6.如权利要求5所述的装置,其特征在于,所述处理模块具体用于:根据以下步骤确定所述异常是由GuestOS对虚拟机中操作权限受限的内核代码的越限操作产生的:获取所述异常的上下文信息中的内存页面错误地址;若所述内存页面错误地址包含在预先保存的操作权限受限的内核代码对应的地址段中、且GuestOS对该地址段中的内核代码具有访问权限,则确定所述异常是由GuestOS...

【专利技术属性】
技术研发人员:邱学强张朝鹏
申请(专利权)人:北京东土科技股份有限公司北京科银京成技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1