CN105117645B - 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法 - Google Patents

基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法 Download PDF

Info

Publication number
CN105117645B
CN105117645B CN201510455976.2A CN201510455976A CN105117645B CN 105117645 B CN105117645 B CN 105117645B CN 201510455976 A CN201510455976 A CN 201510455976A CN 105117645 B CN105117645 B CN 105117645B
Authority
CN
China
Prior art keywords
apocrypha
virtual machine
file
sandbox virtual
sandbox
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510455976.2A
Other languages
English (en)
Other versions
CN105117645A (zh
Inventor
李凯
范渊
吴卓群
寇大强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
DBAPPSecurity Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN201510455976.2A priority Critical patent/CN105117645B/zh
Publication of CN105117645A publication Critical patent/CN105117645A/zh
Application granted granted Critical
Publication of CN105117645B publication Critical patent/CN105117645B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及恶意文件检测领域,旨在提供基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法。该方法包括步骤:沙箱虚拟机中的操作系统提供回调接口和开放式可疑文件的提交接口;在沙箱虚拟机的操作系统中,注册监控驱动;当沙箱虚拟机的操作系统开始模拟运行多个可疑文件时,为每个可疑文件分配专属桌面资源;可疑文件执行完成后,通过回调接口,返回捕获到的上述可疑文件的行为信息,并清理重定向的文件、注册表路径、内核对象目录,销毁所述可疑文件的专属桌面资源。本发明使多个样本可以在同一时间内互不干扰的进行检查,提升了对系统资源的利用率,也进一步提升了沙箱对可疑文件的检测效率。

Description

基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法
技术领域
本发明是关于恶意文件检测领域,特别涉及基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法。
背景技术
近年来,随着网络安全问题的日益突出,人们越来越多地将沙箱技术应用于恶意文件检测中。把可疑文件提交到沙箱中动态模拟运行,不仅可以避免未知恶意行为对真实系统的破坏,还可以对可疑文件的行为信息进行捕获和分析,从而为恶意文件的检测提供一种新的方案。
当前恶意文件检测的沙箱应用,主要有任务调度程序和虚拟机组成,任务调度程序负责接收检测任务,将可疑文件通过特定传输方式传入虚拟机的操作系统中,并从虚拟中获取可疑文件行为信息并进行分析。通常情况下,虚拟机中操作系统会有相应的程序与调度程序进行通信,来保证程序可以在虚拟机中按照任务调度程序指定的方式执行。在虚拟机系统中,也会存在任务执行模块和行为监控模块(行为监控一般是通过DLL注入可疑文件对应的进程空间,通过HOOK方式获取可疑文件调用操作系统的API函数及相关参数等行为信息),行为监控模块最终将可疑文件的行为信息传送给外部的任务调度程序。任务调度程序通过进一步甄别这些行为信息,捕获和分析其中的恶意行为,最终判断被检测的可疑文件是否是恶意文件。
由于在一个虚拟机中多个可疑文件并发运行时,它们的运行轨迹会存在互相干扰的情况,每个可疑文件的运行环境将无法保证纯净性和健壮性,使捕获到的可疑文件调用的操作系统API函数及其相关参数产生变化,从而影响检测的准确性。为解决这一问题,当前的沙箱动态模拟运行检测系统,在一个虚拟机中一次只检测一个可疑文件,以此来规避多文件并发运行带来的互干扰,确保每一个可疑文件的运行环境都是纯净且健壮的,而因此产生的不良后果是,同一时刻仅检测一个可疑文件比并发检测的性能会差很多,因而存在检测能力较低的问题。
发明内容
本发明的主要目的在于克服现有技术中的不足,提供一种能在虚拟机中并发模拟运行多个样本,且任一样本的运行轨迹不因其他样本的并发运行而产生改变的恶意文件检测方法。为解决上述技术问题,本发明的解决方案是:
提供基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,用于利用沙箱虚拟机,对多个可疑文件进行并发检测,所述基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法具体包括下述步骤:
步骤A:沙箱虚拟机中的操作系统提供回调接口和开放式可疑文件的提交接口;
所述提交接口用以外部任务调度程序向沙箱虚拟机提交可疑文件,且提交接口限定沙箱虚拟机中能并发运行的可疑文件的最大数量;
所述回调接口用以向外部任务调度程序返回可疑文件被捕获的行为信息,行为信息包括但不限于可疑文件调用操作系统的API函数及相关参数;
步骤B:在沙箱虚拟机的操作系统中,注册监控驱动;监控驱动用于对指定进程ID及其所有子进程的文件操作、注册表操作、内核对象进行重定向,以及对消息进行隔离,对进程(树)进行隐藏,使可疑文件的运行空间保持独占和相对隔离,从而保证每个可疑文件的运行轨迹不受其他可疑文件所产生的进程的影响(监控驱动是虚拟机中并发运行多样本,且保证任一可疑文件的运行轨迹不因其他可疑文件的运行而产生改变的核心所在);
所述监控驱动,是在Windows下,使用文件过滤驱动框架(SFilter或者MiniFilter)编写的程序,用于实现文件重定向、注册表重定向、内核对象重定向、消息隔离、进程隐藏等功能,即监控驱动是基于操作系统的文件系统过滤驱动的Windows驱动程序;
步骤C:当沙箱虚拟机的操作系统开始模拟运行多个可疑文件时,为保证每个可疑文件的运行截屏中,不出现其他可疑文件的运行信息或界面,会在每个可疑文件模拟运行时,为每个可疑文件分配专属桌面资源;
在专属桌面中,先以挂起方式执行(或打开)可疑文件,注入监控程序用以捕获可疑文件的行为信息,把进程ID传入监控驱动中,用以文件、注册表、内核对象重定向以及消息隔离、进程隐藏等操作;
其中,所述监控程序(行为监控模块),能(一般通过DLL)注入程序进程空间,并通过HOOK方式获取可疑文件调用操作系统的API函数及相关参数等行为信息;
步骤D:可疑文件执行完成后,通过回调接口,返回捕获到的上述可疑文件的行为信息,并清理重定向的文件、注册表路径、内核对象目录,销毁所述可疑文件的专属桌面资源;返回的行为信息包括但不限于可疑文件调用操作系统的API函数及相关参数。
在本发明中,所述步骤A中,沙箱虚拟机对是否已达多样本模拟运行的上限进行判断并处理,具体通过下述方式实现:
沙箱虚拟机中的初始可疑文件运行数量为0,提交接口每接收一个可疑文件并在可疑文件开始模拟运行时,可疑文件运行数量加1,每个可疑文件完成模拟运行且回调接口返回行为信息后,可疑文件运行数量减1;
当可疑文件运行数量,达到提交接口中限定的沙箱虚拟机中能并发运行的可疑文件的最大数量时,回调接口能向提交可疑文件的外部任务调度程序返回信息,通知外部任务调度程序稍后继续提交。
在本发明中,所述监控驱动对指定进程(树)的文件操作重定向,通过下述方式实现:
通过将监控驱动插入到沙箱虚拟机中Windows系统IO管理器的消息链中,拦截指定进程(树)的所有I/O请求包(IRP和FastIO)中关于对文件的创建、读、写等的操作,来实现对指定进程(树)产生的文件数据进行重定向。
在本发明中,所述监控驱动对指定进程(树)的注册表重定向,采用框架回调方式或者API HOOK的方式进行处理,具体通过下述方法实现:
在进行监控驱动初始化时,先创建一个HIVE格式的文件,然后将HIVE格式的文件挂载到注册表内;然后在沙箱虚拟机操作系统环境中注册监控驱动,初始化完成后,创建随机生成的重定向文件目录,初始化随机重定向注册表路径。
在本发明中,所述监控驱动对指定进程(树)的内核对象重定向,采用模拟内核对象命名空间的方式进行处理,具体通过下述方式实现:
通过监控和记录可疑文件模拟运行后的进程(树),为所在进程(树)模拟生成一个与沙箱虚拟机中的操作系统相仿的内核对象命名空间,并由内核对象管理器进行管理;然后该可疑文件运行过程中所产生的所有内核对象操作,均在内核对象命名空间中进行;所述内核对象包括互斥体、突变体、信号量、事件和定时器等。
在本发明中,所述监控驱动对消息进行隔离,分别通过下述方式实现:
对于窗口消息,即窗口接收的鼠标和键盘操作(鼠标的移动和键盘的单击等)产生的消息,通过对每个可疑文件分配专属桌面的方式,来实现隔离;
对于其他消息,包括IPC、RPC、LPC,属于内核对象,采用模拟内核对象命名空间的方式进行处理。
在本发明中,所述监控驱动对进程(树)进行隐藏,通过下述方式实现:
通过对内核对象(包括文件和注册表)进行隐藏,外加SSDT HOOK(X86)或者OBJECTTYPE HOOK,来实现多个进程(树)间互不可见。
在本发明中,所述步骤C具体包括下述过程:
过程C1:沙箱虚拟机中的操作系统从对外提供的开放式可疑文件的提交接口中,接收到至少一个待检测的可疑文件;
过程C2:沙箱虚拟机中的操作系统为每个可疑文件分配专属桌面;
过程C3:以挂起方式执行(或打开)可疑文件,并将可疑文件对应的进程ID传入步骤B中注册的监控驱动中,监控驱动用于对可疑文件对应的进程(树)的文件、注册表以及其他内核对象操作进行重定向,对进程(树)进行隐藏;
过程C4:将监控程序(行为监控模块)注入到可疑文件对应进程空间中,准备监控可疑文件的行为信息;
过程C5:将挂起的可疑文件进程恢复执行,启动可疑文件的检测任务,监控程序持续捕获可疑文件的行为信息,行为信息包括但不限于可疑文件调用操作系统的API函数及相关参数。
在本发明中,所述步骤C中,当可疑文件进程中存在对其他文件内容进行查询,或者对注册表内容进行查询的行为时,查询结果对原始文件内容和对该文件的重定向文件内容进行合并,或者对注册表项原始键值和该注册表项的重定向键值进行合并。
在本发明中,所述步骤D具体包括下述过程:
过程D1:可疑文件执行完成,或非PE文件的打开时间超过预先设定的检测时间后,结束对所述可疑文件的监控;
过程D2:沙箱虚拟机的操作系统通过回调接口,返回监控程序捕获到的可疑文件的行为信息,外部任务调度程序进一步甄别这些行为信息,捕获和分析行为信息中的恶意行为,最终判断被检测的可疑文件是否是恶意文件;
过程D3:对重定向目录、重定向注册表路径及重定向内核对象目录中的信息进行清空,销毁所述可疑文件的专属桌面等资源,完成所述可疑文件的模拟运行和检测流程。
本发明的核心思想为:通过操作系统的文件系统过滤驱动消息机制,过滤被检测可疑文件的行为,然后通过重定向、消息隔离和进程隐藏技术,把可疑文件执行(或打开)过程涉及的生成、修改或删除的文件、注册表及内核对象等信息,重定向到监控驱动初始化时指定的路径,这些路径包含但不限于文件路径、注册表路径和内核对象目录,再加上专属桌面的分配以及进程隐藏技术的使用,使可疑文件的运行空间从逻辑层面保持独占和相对隔离的模式,从而进一步保证它的运行轨迹不受其他可疑文件所产生的进程的影响,并达成虚拟机中并发检测样本的目的,最终在一定层度上提升了沙箱的检测效率。
与现有技术相比,本发明的有益效果是:
本发明和虚拟机中一次仅检测一个样本文件的沙箱检测系统相比,由于虚拟机中引入了不影响检测结果的并发检测技术,使多个样本可以在同一时间内互不干扰的进行检查,提升了对系统资源的利用率,也进一步提升了沙箱对可疑文件的检测效率。
附图说明
图1为本发明的检测流程图。
具体实施方式
首先需要说明的是,本发明涉及恶意文件检测领域,是计算机技术在信息安全技术领域的一个应用分支。在本发明的实现过程中,会涉及到多个软件功能模块的应用。申请人认为,如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。前述软件功能模块包括但不限于:监控驱动、监控程序等,凡本发明申请文件提及的均属此范畴,申请人不再一一列举。
下面结合附图与具体实施方式对本发明作进一步详细描述:
提供的基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,利用沙箱虚拟机,对多个可疑文件进行并发检测,其处理流程如图1所示,具体步骤如下所述:
步骤1:沙箱虚拟机启用可疑文件提交接口和检测结果回调接口,准备接收可疑文件进行检测。
沙箱虚拟机中的操作系统启动后,提供开放式可疑文件的提交接口,用以外部任务调度程序向沙箱虚拟机提交可疑文件,接口中将限定虚拟机中并发运行的可疑文件的最大数量;同时提供回调接口,用以返回上述可疑文件被捕获的行为信息,所述行为信息包括但不限于可疑文件调用操作系统的API函数及相关参数。
步骤2:沙箱接收到可疑文件,开始进行检测流程。
沙箱接收到外部任务调度程序发送的可疑文件,和外部调度程序的文件接收接口可以以任何网络通讯约定的方式(如TCP Socket通讯)来实现。在完成对可疑文件的接收后,启动恶意文件检测流程。
步骤3:判断是否已达到样本运行的最大数量。
初始样本运行数量为0,在可疑文件开始模拟运行时,该计数单位加1,可疑文件完成模拟运行且返回行为信息后,该计数单位减1。如果当前沙箱虚拟机环境中正在运行的样本数量已达到上限,将通过回调接口返回该信息,通知提交可疑文件的外部任务调度程序稍后继续提交,即进入步骤14处理;如果当前沙箱虚拟机环境中正在运行的样本数量未达到上限,则进入步骤4,继续检测流程。
步骤4:判断是否已注册监控驱动。
通过从操作系统中获取指定名称的驱动信息(此处为监控驱动名称),如果监控驱动未注册,则将无法获取到对应驱动信息,需要首先注册监控驱动。
步骤5:注册监控驱动。
在沙箱虚拟机操作系统环境中注册监控驱动,初始化监控驱动,创建重定向文件目录,初始化重定向注册表路径。为防止沙箱逃逸,文件目录及注册表路径均随机生成。监控驱动是虚拟机中并发运行多样本,且保证任一可疑文件的运行轨迹不因其他可疑文件的运行而产生改变的核心所在,它的原理是通过各种操作系统对象的重定向和消息隔离机制,以及自身进程的隐藏等方法,使可疑文件的运行空间保持独占和相对隔离,从而进一步保证它的运行轨迹不受其他可疑文件所产生的进程的影响。
步骤6:为样本模拟运行分配专属桌面。
为保证可疑文件的运行截屏中,不出现其他可疑文件的运行信息或界面,会在可疑文件模拟运行时,为它分配专属桌面资源。
步骤7:以挂起方式执行(或打开)可疑文件。
监控驱动已经注册的情况下,以挂起方式执行(或打开)可疑文件,并获取对应的进程ID。
步骤8:注入监控程序。
监控程序一般通过DLL注入程序进程空间,通过HOOK方式获取可疑文件调用操作系统的API函数及相关参数等行为信息。通过创建远程线程将监控程序(动态链接库)注入到可疑文件的进程空间中,准备监控可疑文件的行为信息。
步骤9:把可疑文件的进程ID传入到监控驱动。
把步骤7中获取到的可疑文件执行(或打开)对应的进程ID传到监控驱动中,监控驱动将对该进程及该进程的所有子进程的文件、注册表、内核对象操作进行监控和重定向,对内核消息进行内部隔离,并实现进程隐藏,以防止其他进程对可疑样本所在的进程(树)产生干扰。
步骤10:恢复运行可疑文件所在进程。
恢复运行可疑文件所在进程。
步骤11:重定向文件、注册表、内核对象操作,进行消息隔离和进程隐藏。
监控驱动获取可疑文件进程及其子进程ID后,通过操作系统的文件系统过滤驱动消息机制,过滤程序行为,然后通过重定向技术把可疑文件进程及所有子进程运行过程中涉及的对文件和内核对象的增加、修改和删除行为重定向到步骤5中创建的重定向文件目录,对涉及的注册表的插入、修改和删除操作重定向到步骤5中创建的注册表路径;对内核消息进行内部隔离,并实现进程(树)的隐藏。
进一步地,可疑文件进程中如果存在对其他文件内容进行查询,或者对注册表内容进行查询的行为,由于可疑文件进程本身可能已经对被查询文件或注册表键值做了更新,并已经重定向到指定的文件目录或指定的注册表位置中,所以查询结果中需要对原始文件内容和对该文件的重定向文件内容进行合并,需要对注册表项原始键值和该注册表项的重定向键值进行合并,以确保查询到的结果的准确性。
步骤12:监控并记录可疑文件行为信息。
监控程序以HOOK的方式获取可疑文件调用操作系统的API函数及相关参数等行为信息,并以外部任务调度程序可识别的格式进行保存(或者以约定的网络通讯的方式向外部任务调度程序实时返回捕获的行为信息)。
步骤13:可疑文件执行完成或超时。
可疑文件动态模拟运行结束,或者非PE文件(如Office Word文档)的打开时间,达到沙箱系统预先设定的单个可疑文件的最长模拟运行时间后,沙箱会主动结束这个可疑文件的模拟运行,从而结束对这个可疑文件的检测。
步骤14:使用回调接口返回可疑文件行为信息。
通过回调接口向提交可疑文件的外部程序返回捕获的行为信息,供外部任务调度程序进行恶意性判断,以确认这个可疑文件是否是恶意文件。
步骤15:清理可疑文件、重定向信息,销毁专属桌面,释放本次检测资源。
在每个可疑文件动态模拟运行完成后,为保证沙箱系统的完备性及健壮性,需要对可疑文件、重定向信息和专属桌面进行恢复,释放的资源可用于下一个可疑文件的检测。
至此,多个可疑文件的检测可以互不干扰的并发检测,任一样本的运行轨迹不因其他样本的并发运行而产生改变,提升了沙箱对恶意文件的检测效率。
最后,需要注意的是,以上列举的仅是本发明的较佳实施示例,并不用以限制本发明,本领域的普通技术人员能从本发明公开的内容中直接导出或联想到的所有变形,均应包含在本发明的保护范围内。

Claims (10)

1.基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,用于利用沙箱虚拟机,对多个可疑文件进行并发检测,其特征在于,所述基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法具体包括下述步骤:
步骤A:沙箱虚拟机中的操作系统提供回调接口和开放式可疑文件的提交接口;
所述提交接口用以外部任务调度程序向沙箱虚拟机提交可疑文件,且提交接口限定沙箱虚拟机中能并发运行的可疑文件的最大数量;
所述回调接口用以向外部任务调度程序返回可疑文件被捕获的行为信息,行为信息包括但不限于可疑文件调用操作系统的API函数及相关参数;
步骤B:在沙箱虚拟机的操作系统中,注册监控驱动;监控驱动用于对指定进程ID及其所有子进程的文件操作、注册表操作、内核对象进行重定向,以及对消息进行隔离,对进程进行隐藏,使可疑文件的运行空间保持独占和相对隔离,从而保证每个可疑文件的运行轨迹不受其他可疑文件所产生的进程的影响;
所述监控驱动,是在Windows下,使用文件过滤驱动框架编写的程序,用于实现文件重定向、注册表重定向、内核对象重定向、消息隔离、进程隐藏功能,即监控驱动是基于操作系统的文件系统过滤驱动的Windows驱动程序;
步骤C:当沙箱虚拟机的操作系统开始模拟运行多个可疑文件时,为保证每个可疑文件的运行截屏中,不出现其他可疑文件的运行信息或界面,会在每个可疑文件模拟运行时,为每个可疑文件分配专属桌面资源;
在专属桌面中,先以挂起方式执行可疑文件,注入监控程序用以捕获可疑文件的行为信息,把进程ID传入监控驱动中,用以文件、注册表、内核对象重定向以及消息隔离、进程隐藏操作;
其中,所述监控程序,能注入程序进程空间,并通过HOOK方式获取可疑文件调用操作系统的API函数及相关参数行为信息;
步骤D:可疑文件执行完成后,通过回调接口,返回捕获到的上述可疑文件的行为信息,并清理重定向的文件、注册表路径、内核对象目录,销毁所述可疑文件的专属桌面资源;返回的行为信息包括但不限于可疑文件调用操作系统的API函数及相关参数。
2.根据权利要求1所述的基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,其特征在于,所述步骤A中,沙箱虚拟机对是否已达多样本模拟运行的上限进行判断并处理,具体通过下述方式实现:
沙箱虚拟机中的初始可疑文件运行数量为0,提交接口每接收一个可疑文件并在可疑文件开始模拟运行时,可疑文件运行数量加1,每个可疑文件完成模拟运行且回调接口返回行为信息后,可疑文件运行数量减1;
当可疑文件运行数量,达到提交接口中限定的沙箱虚拟机中能并发运行的可疑文件的最大数量时,回调接口能向提交可疑文件的外部任务调度程序返回信息,通知外部任务调度程序稍后继续提交。
3.根据权利要求1所述的基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,其特征在于,所述监控驱动对指定进程的文件操作重定向,通过下述方式实现:
通过将监控驱动插入到沙箱虚拟机中Windows系统IO管理器的消息链中,拦截指定进程的所有I/O请求包中关于对文件的创建、读、写的操作,来实现对指定进程产生的文件数据进行重定向。
4.根据权利要求1所述的基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,其特征在于,所述监控驱动对指定进程的注册表重定向,采用框架回调方式或者API HOOK的方式进行处理,具体通过下述方法实现:
在进行监控驱动初始化时,先创建一个HIVE格式的文件,然后将HIVE格式的文件挂载到注册表内;然后在沙箱虚拟机操作系统环境中注册监控驱动,初始化完成后,创建随机生成的重定向文件目录,初始化随机重定向注册表路径。
5.根据权利要求1所述的基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,其特征在于,所述监控驱动对指定进程的内核对象重定向,采用模拟内核对象命名空间的方式进行处理,具体通过下述方式实现:
通过监控和记录可疑文件模拟运行后的进程,为所在进程模拟生成一个与沙箱虚拟机中的操作系统相仿的内核对象命名空间,并由内核对象管理器进行管理;然后该可疑文件运行过程中所产生的所有内核对象操作,均在内核对象命名空间中进行;所述内核对象包括互斥体、突变体、信号量、事件和定时器。
6.根据权利要求1所述的基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,其特征在于,所述监控驱动对消息进行隔离,分别通过下述方式实现:
对于窗口消息,即窗口接收的鼠标和键盘操作产生的消息,通过对每个可疑文件分配专属桌面的方式,来实现隔离;
对于其他消息,包括IPC、RPC、LPC,属于内核对象,采用模拟内核对象命名空间的方式进行处理。
7.根据权利要求1所述的基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,其特征在于,所述监控驱动对进程进行隐藏,通过下述方式实现:
通过对内核对象进行隐藏,外加SSDT HOOK或者OBJECT TYPE HOOK,来实现多个进程间互不可见。
8.根据权利要求1所述的基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,其特征在于,所述步骤C具体包括下述过程:
过程C1:沙箱虚拟机中的操作系统从对外提供的开放式可疑文件的提交接口中,接收到至少一个待检测的可疑文件;
过程C2:沙箱虚拟机中的操作系统为每个可疑文件分配专属桌面;
过程C3:以挂起方式执行可疑文件,并将可疑文件对应的进程ID传入步骤B中注册的监控驱动中,监控驱动用于对可疑文件对应的进程的文件、注册表以及其他内核对象操作进行重定向,对进程进行隐藏;
过程C4:将监控程序注入到可疑文件对应进程空间中,准备监控可疑文件的行为信息;
过程C5:将挂起的可疑文件进程恢复执行,启动可疑文件的检测任务,监控程序持续捕获可疑文件的行为信息,行为信息包括但不限于可疑文件调用操作系统的API函数及相关参数。
9.根据权利要求1所述的基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,其特征在于,所述步骤C中,当可疑文件进程中存在对其他文件内容进行查询,或者对注册表内容进行查询的行为时,查询结果对原始文件内容和对该其他文件的重定向文件内容进行合并,或者对注册表项原始键值和该注册表项的重定向键值进行合并。
10.根据权利要求1所述的基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法,其特征在于,所述步骤D具体包括下述过程:
过程D1:可疑文件执行完成,或非PE文件的打开时间超过预先设定的检测时间后,结束对所述可疑文件的监控;
过程D2:沙箱虚拟机的操作系统通过回调接口,返回监控程序捕获到的可疑文件的行为信息,外部任务调度程序进一步甄别这些行为信息,捕获和分析行为信息中的恶意行为,最终判断被检测的可疑文件是否是恶意文件;
过程D3:对重定向目录、重定向注册表路径及重定向内核对象目录中的信息进行清空,销毁所述可疑文件的专属桌面资源,完成所述可疑文件的模拟运行和检测流程。
CN201510455976.2A 2015-07-29 2015-07-29 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法 Active CN105117645B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510455976.2A CN105117645B (zh) 2015-07-29 2015-07-29 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510455976.2A CN105117645B (zh) 2015-07-29 2015-07-29 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法

Publications (2)

Publication Number Publication Date
CN105117645A CN105117645A (zh) 2015-12-02
CN105117645B true CN105117645B (zh) 2018-03-06

Family

ID=54665630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510455976.2A Active CN105117645B (zh) 2015-07-29 2015-07-29 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法

Country Status (1)

Country Link
CN (1) CN105117645B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023196076A1 (en) * 2022-04-08 2023-10-12 Vmware, Inc. Containerized execution of unknown files in a distributed malware detection system

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104215003B (zh) * 2013-06-05 2018-07-06 浙江盾安机电科技有限公司 储液器和空调设备
CN106650424A (zh) * 2016-11-28 2017-05-10 北京奇虎科技有限公司 一种目标样本文件的检测方法和装置
CN106650423A (zh) * 2016-11-28 2017-05-10 北京奇虎科技有限公司 一种目标样本文件的检测方法和装置
CN106682500A (zh) * 2016-11-28 2017-05-17 北京奇虎科技有限公司 一种目标样本文件的检测方法和装置
CN109472133B (zh) * 2017-12-01 2021-09-28 北京安天网络安全技术有限公司 一种沙箱监控方法和装置
CN108255542B (zh) * 2018-01-05 2021-08-10 北京北信源信息安全技术有限公司 一种虚拟机的串口并口管控方法与装置
CN108762826B (zh) * 2018-04-23 2021-09-28 厦门市美亚柏科信息股份有限公司 进程隐藏方法及计算机可读存储介质
CN108985086B (zh) * 2018-07-18 2022-04-19 中软信息系统工程有限公司 应用程序权限控制方法、装置及电子设备
CN109800577B (zh) * 2018-12-29 2020-10-16 360企业安全技术(珠海)有限公司 一种识别逃逸安全监控行为的方法及装置
CN110210213B (zh) * 2019-04-26 2021-04-27 奇安信科技集团股份有限公司 过滤恶意样本的方法及装置、存储介质、电子装置
CN110414233A (zh) * 2019-06-28 2019-11-05 奇安信科技集团股份有限公司 恶意代码检测方法及装置
CN111460439B (zh) * 2020-03-27 2023-03-21 中南大学 基于多环境的逃避行为检测方法
CN112084491A (zh) * 2020-08-26 2020-12-15 天津七一二通信广播股份有限公司 一种基于沙箱机制的集群虚拟用户系统实现方法
CN112434285B (zh) * 2020-12-03 2023-12-29 深信服科技股份有限公司 文件管理方法、装置、电子设备及存储介质
CN112506451B (zh) * 2020-12-08 2023-04-07 西安雷风电子科技有限公司 一种打印机信息管理工具包及管理方法
CN112906062A (zh) * 2021-02-20 2021-06-04 方圆标志认证集团浙江有限公司 一种基于信息安全管理体系认证的便携式信息设备
CN113900716B (zh) * 2021-09-29 2023-05-30 武汉噢易云计算股份有限公司 桌面启动的管理方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090241194A1 (en) * 2008-03-21 2009-09-24 Andrew James Thomas Virtual machine configuration sharing between host and virtual machines and between virtual machines
CN101436966B (zh) * 2008-12-23 2011-06-01 北京航空航天大学 虚拟机环境下的网络监控与分析系统
CN104200161B (zh) * 2014-08-05 2017-01-25 杭州安恒信息技术有限公司 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统
CN104766007B (zh) * 2015-03-27 2017-07-21 杭州安恒信息技术有限公司 一种基于文件系统过滤驱动实现沙箱快速恢复的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023196076A1 (en) * 2022-04-08 2023-10-12 Vmware, Inc. Containerized execution of unknown files in a distributed malware detection system

Also Published As

Publication number Publication date
CN105117645A (zh) 2015-12-02

Similar Documents

Publication Publication Date Title
CN105117645B (zh) 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法
CN104766007B (zh) 一种基于文件系统过滤驱动实现沙箱快速恢复的方法
CN109325351B (zh) 一种基于众测平台的安全漏洞自动化验证系统
CN104200161B (zh) 一种实现沙箱智能检测文件的方法及其沙箱智能检测系统
CN101553769B (zh) 用于跟踪并监控计算机应用的系统和方法
US7698293B2 (en) System and methods for capturing structure of data models using entity patterns
US10768919B2 (en) Package installation on a host file system using a container
KR101150653B1 (ko) 보안 소프트웨어 개발, 테스팅 및 모니터링 장치 및 방법
CN103559445B (zh) 一种应用程序交互控制方法及装置
CN104995630A (zh) 基于动态污点的安全性扫描
CN101873318B (zh) 针对应用基础支撑平台上应用系统的应用与数据保全方法
CN106330599B (zh) Android应用程序网络流量多线程采集系统及方法
US7636911B2 (en) System and methods for capturing structure of data models using entity patterns
CN108718307B (zh) 一种IaaS云环境下面向内部威胁的行为追溯检测方法
CN105718796B (zh) 一种安卓用户隐私数据访问的系统调用级监控方法
CN106844219A (zh) 应用检测方法及应用检测装置
CA2243599C (en) Processor system
US9092295B2 (en) Managing software package updates using communication pipes
CN107798244A (zh) 一种检测远程代码执行漏洞的方法及装置
CN113127884A (zh) 一种基于虚拟化的漏洞并行验证方法及装置
Wallace et al. A situated evaluation of the Object Management Group's (OMG) Object Management Architecture (OMA)
US20040098703A1 (en) Integration of multiple software tools under a single site
Spector Invited talk: modular architectures for distributed and databases systems
CN100508450C (zh) 一种安全扫描构件机制实现方法
US20030033085A1 (en) Mechanism for ensuring defect-free objects via object class tests

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Zhejiang Zhongcai Building No. 68 Binjiang District road Hangzhou City, Zhejiang Province, the 310051 and 15 layer

Patentee after: Hangzhou Annan information technology Limited by Share Ltd

Address before: Hangzhou City, Zhejiang province 310051 Binjiang District and Zhejiang road in the 15 storey building

Patentee before: Dbappsecurity Co.,ltd.