一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法技术

技术编号:15792371 阅读:23 留言:0更新日期:2017-07-10 00:23
一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法,步骤如下:1:在虚拟机里开启CPU硬件虚拟化特性支持;2:加载驱动程序进入Host模式;3:接管所有输入输出操作和特殊模块寄存器即MSR操作;并拦截所有的能够产生VM Exit的所有指令;4:针对指令进行环境设置;5:运行被监控程序;6:当出现产生VM Exit事件时,联合环境信息分析,判断是否存在反虚拟机行为;7:继续监控样本行为直到结束;8:输出最终的分析结果;通过以上步骤,完成对特权指令的监控,实现传统方法不能实现的针对恶意代码反虚拟机技术对抗办法,不破环样本本身的完整性,并且不会被恶意代码绕过,解决了恶意代码反虚拟机技术对抗的实际问题。

【技术实现步骤摘要】
一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法一.
本专利技术提供一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法,它涉及计算机安全中的虚拟机对抗技术,属于信息安全
二.
技术介绍
随着电子设备的普及,计算机技术不断发展,整个社会对于互联网及计算机的依赖持续增长,此时信息安全已成为不容忽视的问题,然而现在主流的自动病毒漏洞分析程序,都是运行在虚拟机或沙盒中。恶意程序为了躲避虚拟机的检测,从而利用自身休眠技术,虚拟机检测技术,调用垃圾指令等技术来干扰检测引擎。当恶意程序一旦绕过检测引擎,那么这个程序的特征将会被保存在白名单中,然后就可以肆无忌惮的破坏了。目前国内外绝大部分软件安全厂商,在样本的沙盒分析过程中,是不能对抗反虚拟机的。所以样本一旦存在反虚拟机技术,此样本就会绕过APT引擎的检测。故研究此项技术,来对抗反虚拟机行为。三.
技术实现思路
1.专利技术目的本专利技术公开了一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法,它涉及一种基于硬件虚拟化技术来实现的虚拟机检测于对抗,其实现为基于因特尔公司(Intel)硬件虚拟化技术(VT-x)来实现的虚拟机检测对抗技术。主要目的在于准确识别带有反虚拟机的恶意攻击,以及带有反虚拟机行为的恶意代码,从而快速进行相应的防御反应,保护虚拟机的计算机系统安全。2.技术方案本专利技术的一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法,其步骤如下:步骤1:在虚拟机软件里面开启中央处理器(即CPU)硬件虚拟化特性支持;步骤2:加载启动硬件虚拟化的驱动程序,然后进入虚拟机中的操作系统宿主机模式(Host模式),虚拟机操作系统将切换成操作系统客户机模式(虚拟机操作系统的Guest模式);从而是使得虚拟机的Host对虚拟机的Guest拥有绝对控制权;步骤3:在初始化Host时,开启输入输出位图(即IOBitmap),特殊模块寄存器位图(ModelSpecificRegisters,即MSRBitmap),接管所有输入输出(即IO)操作和特殊模块寄存器(即MSR)操作;并拦截所有的能够产生虚拟机退出事件(即VMExit)的所有指令;步骤4:针对不同的指令分别进行环境设置和处理;步骤5:运行被监控程序;步骤6:当出现产生VMExit事件时,根据具体指令,联合当前堆栈,指令指针(即eip)等状态和条件进行联合分析,从而分析此样本是否存在反虚拟机行为;步骤7:判断是否执行完成;如果完成则输出分析结果;否则继续执行被监控程序,发现更多的反虚拟机行为,使分析结果完整准确,减少误判;步骤8:执行完成后输出最终的分析结果,并向用户展示。其中,步骤1中所述“中央处理器(即CPU)硬件虚拟化特性支持”是指英特硬件虚拟化技术,即IntelVT-x和美国超微半导体公司硬件虚拟化技术,即AMD-V技术;所述“Host”是指虚拟机操作系统的Host,即本专利技术开发的驱动程序,所述“Guest”是指虚拟机操作系统。其中,步骤3中所述的“拦截所有的能够产生虚拟机退出事件(即VMExit)的所有指令”,它是指虚拟机在执行过程种所有可能产生暂停guest而进入Host执行的所有指令,包括但不限于:获取处理器详细信息,即CPUID,获取处理器自启动以后的运行周期,即RDSTC,获取处理器自启动以后的运行周期和处理器标识,即RDSTCP。其中,步骤3中所述的“在初始化Host时,开启输入输出位图(即IOBitmap),特殊模块寄存器位图(ModelSpecificRegisters,即MSRBitmap),接管所有IO操作和MSR操作;并拦截所有的能够产生虚拟机退出事件(即VMExit)的所有指令”,其实现方法为虚拟化技术中的常规常用技术,不再赘述。其中,步骤4中所述的“针对不同的指令分别进行环境设置和处理”,它是指以下2类指令:(1)运行在物理主机和运行在虚拟机上处理速度相差很大的,如获取处理器信息指令,即CPUID指令,恶意代码在使用该指令时通常在指令前后都有一条获取系统当前时间的GetTickCount函数或者获取处理器指令周期数的指令,即RDTSC指令,通过两次相减得到指令运行时间;如果时间大于某一设定值,则认为是在虚拟机中执行;本专利技术通过挂钩(即挂钩HOOK)GetTickCount函数或者模拟执行RDTSC指令,改变其返回值,使恶意代码认为是在真实的物理主机中执行;(2)需要特定权限的指令,如读入指令(即IN指令)等;当该指令执行时,如果程序没有零环(即Ring0)权限,在真实的物理主机中就会产生超越权限异常,即产生EXCEPTION_PRIV_INSTRUCTION异常,而在虚拟机中则会正常执行;本专利技术挂钩(HOOK)该条指令,并判断如果程序没有Ring0权限,则注入该异常,达到欺骗程序的目的,使恶意代码认为是在真实的物理主机中执行;上文中所述的“零环(Ring0)”是指CPU的0环权限(内核权限);相应有三环(Ring3)是指CPU的3环权限(普通应用程序权限);“挂钩(HOOK)”技术是一种用于改变指令的执行结果的技术。其中,步骤5中所述的“运行被监控程序”,其实现方法是直接通过模拟双击打开运行被监控程序。其中,步骤6中所述的“VMExit事件”,它是指虚拟机退出事件,此时虚拟机执行过程暂停,进而转到Host主机执行。其中,步骤6中所述的“当出现产生VMExit事件时,根据具体指令,联合当前堆栈,指令指针(即eip)等状态和条件进行联合分析,从而分析此样本是否存在反虚拟机行为”,其做法为虚拟化
中的常用技术,不予赘述。通过以上步骤,完成对特权指令的监控,实现一些传统方法不能实现的针对恶意代码反虚拟机技术对抗办法,不破环样本本身的完整性,并且不会被恶意代码绕过,解决了恶意代码反虚拟机技术对抗的实际问题。3.优点本专利技术通过硬件虚拟化技术,来实现一些传统方法不能实现的针对恶意代码反虚拟机技术对抗办法,从而完成对特权指令的监控;传统技术对特权指令监控只能通过对文件或者内存的暴力搜索之后HOOK,但是这样处理不当容易破环样本本身的完整性,并且会存在很多被绕过的可能性;但是通过硬件虚拟化技术,可以完美做到这一点。四.附图说明图1是本专利技术所述方法的流程示意图。图2是本专利技术方法针对在物理主机和运行在虚拟机上处理速度相差很大的指令的处理流程示意图。图3是本专利技术方法针对需要特定权限的指令的处理流程示意图。五.具体实施方式:本专利技术利用硬件虚拟化技术,通过基于虚拟机的方式,实现对虚拟主机的关键指令进行监控、劫持和虚拟执行,达到对恶意代码的监控和欺骗,从而在虚拟机攻防对抗中获得主动权。参见图1,为本专利技术所述的流程示意图。本专利技术一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法,其具体流程步骤如下:步骤101:在虚拟机软件里面开启CPU硬件虚拟化特性支持。根据CPU的生成厂商,开启IntelVT-x或者AMD-V。本专利以Intel生成的CPU为例,保护权利为不仅为该CPU。步骤102:加载启动硬件虚拟化的驱动,然后进入虚拟机中的宿主机模式(虚拟机操作系统的Host模式),虚拟机操作系统将切换成客户机模式(虚拟机操作系统的Guest模式)。从而是使得虚拟机的Host对虚拟机的Guest拥有绝对控制权。步骤103:在初始化本文档来自技高网
...
一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法

【技术保护点】
一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法,其特征在于:其步骤如下:步骤1:在虚拟机软件里面开启中央处理器即CPU硬件虚拟化特性支持;步骤2:加载启动硬件虚拟化的驱动程序,然后进入虚拟机中的操作系统宿主机模式即Host模式,虚拟机操作系统将切换成操作系统客户机模式即虚拟机操作系统的Guest模式;从而是使得虚拟机的Host对虚拟机的Guest拥有绝对控制权;步骤3:在初始化Host时,开启输入输出位图,即IO Bitmap,特殊模块寄存器位图,即MSR Bitmap,接管所有输入输出即IO操作和特殊模块寄存器即MSR操作;并拦截所有的能够产生虚拟机退出事件即VM Exit的所有指令;步骤4:针对不同的指令分别进行环境设置和处理;步骤5:运行被监控程序;步骤6:当出现产生VM Exit事件时,根据具体指令,联合当前堆栈,指令指针即eip状态和条件进行联合分析,从而分析此样本是否存在反虚拟机行为;步骤7:判断程序是否执行完成;如果完成则输出分析结果;否则继续执行被监控程序,发现更多的反虚拟机行为,使分析结果完整准确,减少误判;步骤8:执行完成后输出最终的分析结果,并向用户展示;通过以上步骤,完成对特权指令的监控,实现传统方法不能实现的针对恶意代码反虚拟机技术对抗办法,不破环样本本身的完整性,并且不会被恶意代码绕过,解决了恶意代码反虚拟机技术对抗的实际问题。...

【技术特征摘要】
1.一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法,其特征在于:其步骤如下:步骤1:在虚拟机软件里面开启中央处理器即CPU硬件虚拟化特性支持;步骤2:加载启动硬件虚拟化的驱动程序,然后进入虚拟机中的操作系统宿主机模式即Host模式,虚拟机操作系统将切换成操作系统客户机模式即虚拟机操作系统的Guest模式;从而是使得虚拟机的Host对虚拟机的Guest拥有绝对控制权;步骤3:在初始化Host时,开启输入输出位图,即IOBitmap,特殊模块寄存器位图,即MSRBitmap,接管所有输入输出即IO操作和特殊模块寄存器即MSR操作;并拦截所有的能够产生虚拟机退出事件即VMExit的所有指令;步骤4:针对不同的指令分别进行环境设置和处理;步骤5:运行被监控程序;步骤6:当出现产生VMExit事件时,根据具体指令,联合当前堆栈,指令指针即eip状态和条件进行联合分析,从而分析此样本是否存在反虚拟机行为;步骤7:判断程序是否执行完成;如果完成则输出分析结果;否则继续执行被监控程序,发现更多的反虚拟机行为,使分析结果完整准确,减少误判;步骤8:执行完成后输出最终的分析结果,并向用户展示;通过以上步骤,完成对特权指令的监控,实现传统方法不能实现的针对恶意代码反虚拟机技术对抗办法,不破环样本本身的完整性,并且不会被恶意代码绕过,解决了恶意代码反虚拟机技术对抗的实际问题。2.根据权利要求1所述的一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法,其特征在于:在步骤1中所述“中央处理器即CPU硬件虚拟化特性支持”是指英特硬件虚拟化技术,即IntelVT-x和美国超微半导体公司硬件虚拟化技术,即AMD-V技术;所述“Host”是指虚拟机操作系统的Host,即本发明开发的驱动程序,所述“Guest”是指虚拟机操作系统。3.根据权利要求1所述的一种基于硬件虚拟化技术的虚拟机对抗技术的建立方法,其特征在于:在步骤3中所述的“拦截所有的能够产生虚拟机退出事件即VMExit的所有指令”,它是指虚拟机在执行过程种所有能产生暂停gue...

【专利技术属性】
技术研发人员:何永强蒋浩天李骏杰闫永军
申请(专利权)人:兴华永恒北京科技有限责任公司
类型:发明
国别省市:北京,11

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

1