文件可控执行的检测方法及虚拟机技术

技术编号:7975013 阅读:201 留言:0更新日期:2012-11-15 23:22
本发明专利技术揭示了一种文件可控执行的检测方法及虚拟机。该检测方法可包括:建立虚拟操作系统环境;在初始化后,将样本文件的执行切换至建立的虚拟操作系统环境;调用处理器在设定范围内执行所述样本文件的指令,并记录所述样本文件的行为。本发明专利技术通过建立虚拟的操作系统环境供样本文件运行,使用物理处理器执行样本文件的指令,并预先设置硬件设备的指令执行范围,使得该样本文件的运行安全可控;同时,消耗较少资源,具有较高执行效率。

【技术实现步骤摘要】

本专利技术涉及到文件可控执行的检测技木,特别涉及到一种文件可控执行的检测方法及虚拟机
技术介绍
针对文件(比如病毒等恶意文件)的可控执行,现有技术中主要使用以下几种方法实现虚拟机方式、沙箱方式、模拟器方式以及HOOK (编程接ロ API调用技木)方式等。上述虚拟机方式,是将被执行文件放到虚拟机中执行,通过监控工具或调试器监控文件的执行行为。其最大的问题是虚拟机对外部软硬件环境要求较多。例如一般PC机只能运行ー个Vmware (虚拟机软件)实例,且VMware运行时对内存,硬盘的消耗很大;虚拟 机里需要安装完整操作系统,且如果被执行文件为病毒,运行后会破坏虚拟机内操作系统,则虚拟机毎次运行完病毒样本后都需要恢复快照,因此需要大量磁盘操作,比较耗吋。上述沙箱方式,是在沙箱中运行被执行文件,其主要的问题是沙箱不是ー个可靠的隔离环境,存在恶意代码逃出模拟环境,破坏真实操作系统的风险。上述虚拟器方式,也是虚拟化的一种实现。其在环境隔离上很可靠,所执行的文件样本不会破坏真实系统。同时对外部软硬件环境要求不高,可以多实例,多进程运行。模拟器里构建的运行环境全部模拟,所以也不需要安装操作系统,不需要恢复快照。但其问题在于指令全部基于模拟,物理处理器(CPU)—秒内可以完成的计算模拟器需要几十秒甚至上百秒,在速度上和物理处理器相比差距较大,执行效率太低。上述HOOK方式,一般情况下可以截获和控制病毒的API调用。但是HOOK容易被检测出来,以及被破坏掉。
技术实现思路
本专利技术的主要目的为提供一种文件可控执行的检测方法,可提升文件检测的效率以及稳定性。本专利技术提出一种文件可控执行的检测方法,包括建立虚拟操作系统环境;在初始化后,将样本文件的执行切换至建立的虚拟操作系统环境;调用处理器在设定范围内执行所述样本文件的指令,并记录所述样本文件的行为。优选地,所述初始化包括虚拟操作系统环境的初始化、将样本文件初始化和/或样本文件的进程初始化。优选地,所述建立虚拟操作系统环境的步骤包括初始化虚拟环境的全局描述符表或中断描述表、调试寄存器、控制寄存器、段寄存器以及快速系统调用相关的模式寄存器。优选地,所述设定范围包括处理器的指令执行权限和/或主存储器或外存储器的读写范围。优选地,所述通过处理器在设定范围内执行所述样本文件的指令的步骤之前还包括设定物理处理器的指令执行权限,以及,创建内存的分级页表管理机制。优选地,所述调用包括抓取样本文件的系统调用指令,并记录该次调用;在执行所述系统调用指令时,根据预设策略修改API的调用參数和返回值,控制API的执行。本专利技术还提出一种文件可控执行的虚拟机,包括 控制调用模块,用于建立虚拟操作系统环境;执行切换模块,用于在初始化后,将样本文件的执行切换至建立的虚拟操作系统环境;执行记录模块,用于调用处理器在设定范围内执行所述样本文件的指令,并记录所述样本文件的行为。优选地,所述初始化包括虚拟操作系统环境的初始化、将样本文件初始化和/或样本文件的进程初始化。优选地,所述控制调用模块还用于初始化虚拟环境的全局描述符表或中断描述表、调试寄存器、控制寄存器、段寄存器以及快速系统调用相关的模式寄存器。优选地,所述设定范围包括处理器的指令执行权限和/或主存储器或外存储器的读写范围。优选地,所述虚拟机还包括权限设定模块,用于设定物理处理器的指令执行权限,以及,创建内存的分级页表管理机制。优选地,所述调用包括抓取样本文件的系统调用指令,并记录该次调用;在执行所述系统调用指令时,根据预设策略修改API的调用參数和返回值,控制API的执行。本专利技术通过建立虚拟的操作系统环境供样本文件运行,使用物理处理器执行样本文件的指令,并预先设置硬件设备的指令执行范围,使得该样本文件的运行安全可控;同时,消耗较少资源,具有较高执行效率。附图说明图I是本专利技术文件可控执行的检测方法一实施例中的步骤流程示意图;图2是本专利技术文件可控执行的检测方法一实施例中虚拟机的结构示意图;图3是本专利技术文件可控执行的检测方法一实施例中针对API的截获和处理的结构示意图;图4是本专利技术文件可控执行的虚拟机一实施例中的结构示意图;图5是本专利技术文件可控执行的虚拟机一实施例中的另ー结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,參照附图做进ー步说明。具体实施例方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。參照图1,提出本专利技术ー种文件可控执行的检测方法ー实施例。该方法可包括步骤S11、建立虚拟操作系统环境;步骤S12、在初始化后,将样本文件的执行切换至建立的虚拟操作系统环境;步骤S13、调用处理器在设定范围内执行所述样本文件的指令,并记录所述样本文件的行为。鉴于现有技术文件可控执行中需安装完整操作系统消耗较大资源;或,创建软硬件模拟环境导致全部指令基于模拟,而使得执行效率低下;以及,在文件执行过程中出现安全问题等。本专利技术通过建立虚拟的操作系统环境供样本文件运行,使用物理处理器(CPU)执行样本文件的指令,并预先设置硬件设备(比如CPU、主外存储器等)的指令执行范围,使得该样本文件的运行安全可控;同时,消耗较少资源,具有较高执行效率。本实施例中,虚拟机可通过控制调度模块创建虚拟的操作系统环境,为样本文件提供运行环境,方便对该样本文件的行为进行监控以及记录等。该控制调度模块还可控制微型内核模块进行初始化操作。该初始化可包括虚拟操作系统环境的初始化、将样本文件初始化和/或样本文件的进程初始化。上述微型内核模块可根据控制调度模块的控制,初始化虚拟环境的GDT (全局描述符表)/IDT (中断描述表)、调试寄存器、控制寄存器、段寄存器以及SYSENTER (快速系统调用)相关的模式寄存器等信息;还包括样本文件格式化解析以及样本文件进程初始化等。该虚拟机可在初始化吋,修改CPU的GDT/IDT/CR3等关键寄存器,实现执行环境的切換,使得样本文件可直接运行在物理处理器上,相较于在模拟器上运行,性能有很大改善。本实施例中的虚拟化的技术,实现了一个进程级虚拟机,不需要安装操作系统。该虚拟机只运行进程代码,对内存等资源的消耗很少,普通个人电脑(PC机)即可同时运行多个实例。样本文件(比如病毒等)执行时对虚拟机环境执行权限受限,比如只有读权限,而将可能造成破坏的写操作被模拟或者重定向,因此也不需要恢复快照。如此,虚拟机可以连续运行大量样本文件,处理能力提升很多。在初始化后,上述微型内核模块可将样本文件在虚拟操作系统环境中运行,并将将样本文件的指令在物理处理器上执行。并可在样本文件运行之前,设置硬件设备的指令执行范围,使得硬件设备只可在设置范围内执行样本文件的指令,为样本文件提供隔离的运行环境。本实施例中该虚拟机在运行样本文件时,对样本文件使用的CPU和内存都有效隔离,使得恶意行为和运行故障都只影响虚拟的环境,外部环境对病毒不可见,也不会造成破坏。上述设定范围可包括处理器的指令执行权限和/或主存储器或外存储器的读写范围等。比如,设定物理处理器的指令执行权限,使物理处理器不可执行可能危害硬件设备本身的指令;以及,创建内存的分级页表管理机制,使得只可在设定的内存区域内执行样本文件的读写指令等,为样本文件运行提供隔离的内存环境。上述调用可包括抓取样本文本文档来自技高网...

【技术保护点】
一种文件可控执行的检测方法,其特征在于,包括:建立虚拟操作系统环境;在初始化后,将样本文件的执行切换至建立的虚拟操作系统环境;调用处理器在设定范围内执行所述样本文件的指令,并记录所述样本文件的行为。

【技术特征摘要】
1.一种文件可控执行的检测方法,其特征在于,包括 建立虚拟操作系统环境; 在初始化后,将样本文件的执行切换至建立的虚拟操作系统环境; 调用处理器在设定范围内执行所述样本文件的指令,并记录所述样本文件的行为。2.根据权利要求I所述的文件可控执行的检测方法,其特征在于,所述初始化包括 虚拟操作系统环境的初始化、将样本文件初始化和/或样本文件的进程初始化。3.根据权利要求I或2所述的文件可控执行的检测方法,其特征在于,所述建立虚拟操作系统环境的步骤包括 初始化虚拟环境的全局描述符表或中断描述表、调试寄存器、控制寄存器、段寄存器以及快速系统调用相关的模式寄存器。4.根据权利要求I或2所述的文件可控执行的检测方法,其特征在于,所述设定范围包括 处理器的指令执行权限和/或主存储器或外存储器的读写范围。5.根据权利要求3所述的文件可控执行的检测方法,其特征在于,所述通过处理器在设定范围内执行所述样本文件的指令的步骤之前还包括 设定物理处理器的指令执行权限,以及创建内存的分级页表管理机制。6.根据权利要求I或2所述的文件可控执行的检测方法,其特征在于,所述调用包括 抓取样本文件的系统调用指令,并记录该次调用;在执行所述系统调用指令吋,根据预设策略修改API的调用參数和返回值,控制API的执行。7....

【专利技术属性】
技术研发人员:谢飞高小明曹亮
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1