一种基于文件系统过滤驱动实现沙箱快速恢复的方法

文档序号:8445801阅读:456来源:国知局
一种基于文件系统过滤驱动实现沙箱快速恢复的方法
【技术领域】
[0001]本发明是关于恶意文件检测领域,特别涉及一种基于文件系统过滤驱动实现沙箱快速恢复的方法。
【背景技术】
[0002]近年来,随着网络安全问题的日益突出,人们越来越多地将沙箱技术应用于恶意文件检测中。把可疑文件提交到沙箱中动态模拟运行,不仅可以避免未知恶意行为对真实系统的破坏,还可以对可疑文件的行为信息进行捕获和分析,从而为恶意文件的检测提供一种新的方案。
[0003]当前恶意文件检测的沙箱应用,主要有任务调度程序和虚拟机组成,任务调度程序负责接收检测任务,将可疑文件通过特定传输方式传入虚拟机的操作系统中,并从虚拟中获取可疑文件行为信息并进行分析。通常情况下,虚拟机中操作系统会有相应的程序与调度程序进行通信,来保证程序可以在虚拟机中按照任务调度程序指定的方式执行。在虚拟机系统中,也会存在任务执行模块和行为监控模块(行为监控一般是通过DLL注入可疑文件对应的进程空间,通过HOOK方式获取可疑文件调用操作系统的API函数及相关参数等行为信息),行为监控模块最终将可疑文件的行为信息传送给外部的任务调度程序。任务调度程序通过进一步甄别这些行为信息,捕获和分析其中的恶意行为,最终判断被检测的可疑文件是否是恶意文件。
[0004]为保证沙箱系统的完备性及健壮性,在每个可疑文件动态模拟运行完成后,都需要对沙箱进行环境恢复,以最终确保下一个可疑文件的运行轨迹不会受到前一个可疑文件运行结果的干扰。当前的沙箱动态模拟运行检测系统,一般都是基于虚拟机自有的镜像还原技术,即在系统出厂时会自带开机状态下的一份虚拟机镜像,在可疑文件提交到沙箱检测之前,会先对虚拟机中操作系统进行镜像还原,来保证每个可疑文件的运行环境都是纯净且健壮的。由于对虚拟机中操作系统的镜像还原会涉及大量的1操作,且还原镜像过程会涉及对虚拟机中操作系统的开关机、会产生较多的时间开销,进一步导致当前沙箱检测系统的单位检测时间较长、检测能力较低的问题。

【发明内容】

[0005]本发明的主要目的在于克服现有技术中的不足,提供一种能节省因虚拟机中操作系统的镜像还原而产生的大量1开销,并能极大提升检测效率的恶意文件检测方法。为解决上述技术问题,本发明的解决方案是:
[0006]提供一种基于文件系统过滤驱动实现沙箱快速恢复的方法,用于利用沙箱虚拟机,对外部任务调度程序提交的可疑文件进行检测,所述基于文件系统过滤驱动实现沙箱快速恢复的方法具体包括下述步骤:
[0007]步骤A:沙箱虚拟机中的操作系统与外部任务调度程序,以约定网络通讯方式建立可疑文件检测任务提交接口 ;所述外部任务调度程序是用来控制沙箱虚拟机恢复、可疑文件提交、可疑文件行为信息分析的程序;
[0008]步骤B:在沙箱虚拟机的操作系统中,注册监控驱动,用于对指定进程ID及其所有子进程的文件操作、注册表操作进行重定向;
[0009]所述监控驱动,是在Windows下,使用文件过滤驱动框架(SFilter或者MiniFilter)编写的程序,用于实现文件重定向和注册表重定向,即监控驱动是基于操作系统的文件系统过滤驱动的Windows驱动程序;
[0010]步骤C:当沙箱虚拟机的操作系统接收到可疑文件检测任务后,以挂起方式执行(或打开)可疑文件,注入监控程序用以捕获可疑文件的行为信息,把进程ID传入监控驱动中,用以文件、注册表重定向;所述监控程序(行为监控模块)能(通过DLL)注入程序进程空间,并通过HOOK方式获取可疑文件调用操作系统的API函数及相关参数的行为信息;
[0011]步骤D:可疑文件执行完成后,虚拟机操作系统向外部任务调度程序返回捕获的行为信息,并快速恢复沙箱环境,准备接收下一个可疑文件的检测任务。
[0012]在本发明中,所述监控驱动对指定进程(树)的文件操作重定向,通过下述方式实现:
[0013]通过将监控驱动插入到沙箱虚拟机中Windows系统1管理器的消息链中,拦截指定进程(树)的所有I/o请求包(IRP和Fast1)中关于对文件的创建、读、写等的操作,来实现对指定进程(树)产生的文件数据进行重定向。
[0014]在本发明中,所述监控驱动对指定进程(树)的注册表重定向,采用框架回调方式或者API HOOK的方式进行处理,具体通过下述方法实现:
[0015]在进行监控驱动初始化时,先创建一个HIVE格式的文件,然后将HIVE格式的文件挂载到注册表内;然后在沙箱虚拟机操作系统环境中注册监控驱动,初始化完成后,创建随机生成的重定向文件目录,初始化随机重定向注册表路径。
[0016]在本发明中,所述步骤C具体包括下述过程:
[0017]过程Cl:沙箱虚拟机中的操作系统从任务调度程序中,接收到待检测的可疑文件;
[0018]过程C2:沙箱虚拟机中的操作系统以挂起方式执行(或打开)可疑文件,并将可疑文件对应的进程ID传入步骤B中注册的监控驱动中,监控驱动用于对可疑文件对应的进程(树)的文件和注册表操作进行重定向;
[0019]过程C3:将监控程序注入到可疑文件对应进程空间中,准备监控可疑文件的行为信息;
[0020]过程C4:将挂起的可疑文件进程恢复执行,启动可疑文件的检测任务,监控程序持续捕获可疑文件的行为信息,行为信息包括可疑文件调用操作系统的API函数及相关参数。
[0021]在本发明中,所述步骤D具体包括下述过程:
[0022]过程Dl:可疑文件执行完成,或非PE文件的打开时间超过预先设定的检测时间后,结束对所述可疑文件的监控;
[0023]过程D2:沙箱虚拟机的操作系统向外部任务调度程序,返回监控程序捕获到的可疑文件的行为信息,外部任务调度程序进一步甄别接受的行为信息,捕获和分析行为信息中的恶意行为,最终判断被检测的可疑文件是否是恶意文件;
[0024]过程D3:对重定向目录及重定向注册表路径中的信息进行清空,恢复沙箱虚拟机到镜像还原后的初始状态。
[0025]本发明的核心思想为:通过操作系统的文件系统过滤驱动消息机制,过滤被检测可疑文件的行为,然后通过重定向技术,把可疑文件执行(或打开)过程涉及的生成、修改或删除的文件及注册表等信息,重定向到监控驱动初始化时指定的路径,这些路径包含但不限于文件路径和注册表路径,从而避免对沙箱环境造成实质性的更改,在可疑文件被检测完成后,仅需清理监控驱动初始化时指定的路径,即可快速恢复沙箱环境,从而进一步提升沙箱的检测效率。
[0026]与现有技术相比,本发明的有益效果是:
[0027]本发明和基于虚拟机镜像还原技术的沙箱检测系统相比,由于在恢复沙箱环境时不需要使用虚拟机的操作系统镜像还原技术,从而节省了大量的1操作带来的系统开销,同时进一步避免因镜像还原而涉及的操作系统的开关机操作,从而提高了沙箱环境恢复的效率,极大地减少对单个可疑文件检测的时间,进一步地,极大提升了沙箱对可疑文件的检测效率。
【附图说明】
[0028]图1为本发明的沙箱检测及环境恢复流程图。
【具体实施方式】
[0029]首先需要说明的是,本发明涉及恶意文件检测领域,是计算机技术在信息安全技术领域的一个应用分支。在本发明的实现过程中,会涉及到多个软件功能模块的应用。申请人认为,如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。凡本发明申请文件提及的均属此范畴,申请人不再一一列举。
[0030]下面结合附图与【具体实施方式】对本发明作进一步详细描述:
[0031]一种基于文件系统过滤驱动实现沙箱快速恢复的方法,利用沙箱虚拟机,对外部任务调度程序提交的可疑文件进行检测。所述基于文件系统过滤驱动实现沙箱快速恢复的方法,处理流程如图1所示,具体包括下述步骤:
[0032]步骤1:沙箱虚拟机中的操作系统处于开机状态,准备接收可疑文件进行检测。
[0033]在沙箱系统启动后可以对沙箱所有的虚拟机进行一次镜像还原操作,以保证虚拟机中的操作系统(如Windows XP系统)是纯净而未受污染的,以确保对可疑文件检查的正确性。在沙箱启动后,虚拟机中的操作系统将始终处于开机状态,并准备接收可疑文件进行检测。
[0034]步骤2:沙箱接收到可疑文件,开始进行检测流程。
[0035]沙箱接收到外部任务调度程序发送的可疑文件,和外部调度程序的文件接收接口可以以任何网络通讯约定的方式(如TCP Socket通讯)来实现。在完成对可疑文件的接收后,启动恶意文件检测流程。
[0036]步骤3:判断是否已注册监控驱动。
[0037
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1