CN106055976B - 文件检测方法及沙箱控制器 - Google Patents

文件检测方法及沙箱控制器 Download PDF

Info

Publication number
CN106055976B
CN106055976B CN201610329540.3A CN201610329540A CN106055976B CN 106055976 B CN106055976 B CN 106055976B CN 201610329540 A CN201610329540 A CN 201610329540A CN 106055976 B CN106055976 B CN 106055976B
Authority
CN
China
Prior art keywords
file
detected
running track
behavior
resource pool
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
CN201610329540.3A
Other languages
English (en)
Other versions
CN106055976A (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 H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201610329540.3A priority Critical patent/CN106055976B/zh
Publication of CN106055976A publication Critical patent/CN106055976A/zh
Application granted granted Critical
Publication of CN106055976B publication Critical patent/CN106055976B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

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)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供了一种文件检测方法及沙箱控制器。所述方法包括:沙箱控制器接收待检测文件,并检测所述待检测文件的文件运行环境类型;根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机;将所述待检测文件发送至所述第一物理机,以使所述第一物理机运行所述待检测文件;接收所述第一物理机发送的所述待检测文件的第一运行轨迹;检测所述第一运行轨迹中是否存在恶意行为,当检测到所述第一运行轨迹中存在恶意行为时,进行告警。本实施例能够提高对文件检测时的准确性。

Description

文件检测方法及沙箱控制器
技术领域
本发明涉及文件检测技术领域,特别涉及一种文件检测方法及沙箱控制器。
背景技术
沙箱(Sandboxie),又名沙盘,是一种按照安全策略限制程序行为的执行环境,它允许用户在沙箱环境中运行文件,例如浏览器或其他程序,运行所产生的变化可以随后删除。通过在沙箱环境中运行文件,可以检测文件中是否存在恶意行为,当发现文件中存在恶意行为时可以给出告警。
现有技术中,通常根据待检测文件的类型在沙箱中创建相应的虚拟环境,并使该待检测文件在该虚拟环境中运行,以便检测其运行过程中是否存在恶意行为。当待检测文件运行完毕后,沙箱中的虚拟环境可以恢复到原始状态,也就是说,在运行待检测文件时所产生的影响可以被消除。
但是,在实际使用过程中,沙箱的虚拟环境毕竟跟实际的物理环境不同,虚拟环境通常会携带一些较为明显特征,例如,该虚拟环境下的进程信息、内存大小信息以及特定字段信息都与实际物理运行环境有所区别。携带有恶意行为的文件通过检测沙箱的特征,来隐藏恶意行为或删除自身,从沙箱检测中逃逸,致使对文件的检测准确性不高。
发明内容
本发明实施例的目的在于提供了一种文件检测方法及沙箱控制器,以提高对文件检测时的准确性。
为了达到上述目的,本发明公开了一种文件检测方法,应用于沙箱控制器,所述沙箱控制器与资源池相连接,所述资源池中包括至少一个物理机,所述方法包括:
接收待检测文件,并检测所述待检测文件的文件运行环境类型;
根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机;
将所述待检测文件发送至所述第一物理机,以使所述第一物理机运行所述待检测文件;
接收所述第一物理机发送的所述待检测文件的第一运行轨迹;
检测所述第一运行轨迹中是否存在恶意行为;
当检测到所述第一运行轨迹中存在恶意行为时,进行告警。
为了达到上述目的,本发明公开了一种沙箱控制器,其与资源池相连接,所述资源池中包括至少一个物理机,所述沙箱控制器具体包括:
第一接收模块,用于接收待检测文件,检测所述待检测文件的文件运行环境类型;
确定模块,用于根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机;
发送模块,用于将所述待检测文件发送至所述第一物理机,以使所述第一物理机运行所述待检测文件;
第二接收模块,用于接收所述第一物理机发送的所述待检测文件的第一运行轨迹;
检测模块,用于检测所述第一运行轨迹中是否存在恶意行为,当检测到所述第一运行轨迹中存在恶意行为时,进行告警。
由上述技术方案可见,本实施例中,沙箱控制器在接收到待检测文件后检测其文件运行环境类型,根据检测得到的文件运行环境类型,从资源池中确定运行该待检测文件的第一物理机,并将待检测文件发送至所述第一物理机,以使第一物理机运行待检测文件。然后,接收第一物理机发送的待检测文件的第一运行轨迹,检测第一运行轨迹中是否存在恶意行为,当检测到其中存在恶意行为时进行告警。
也就是说,本实施例中,沙箱控制器将待检测文件发送至资源池的第一物理机中,使待检测文件在第一物理机的物理运行环境中运行,当检测到其第一运行轨迹中存在恶意行为时进行告警。由于携带有恶意行为的文件在物理运行环境中运行时,很难反向检测出自身运行在沙箱中,因此应用本实施例的检测方法,能够提高对文件检测时的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中沙箱工作的系统的一种示意图;
图2为本发明实施例提供的沙箱控制器工作的系统的一种示意图;
图3为本发明实施例提供的文件检测方法的一种流程示意图;
图4为本发明实施例提供的文件检测方法的另一种流程示意图;
图5为本发明实施例提供的文件检测方法的又一种流程示意图;
图6为本发明实施例提供的沙箱控制器的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了理解沙箱的应用环境,下面简单介绍一下现有技术中沙箱的运行环境。图1所示为一种沙箱工作的系统的示意图,其中包括外网101、防火墙102、交换机103、沙箱104和内网105以及内网105中的多个终端1051。现有技术中,内网用户发出从外网下载文件的请求后,外网101响应该请求,并将相应的文件11通过防火墙102发送至交换机103,交换机103将接收到的文件11分别发送到内网105和沙箱104,沙箱104接收到文件11后对其进行检测,并给出是否告警的信息。在图1中,沙箱104还可以位于交换机103与内网105之间,交换机103接收到文件11后将其发送至沙箱104,沙箱104检测接收到的文件,在无告警时将该文件转发至内网105。
本发明实施例提供了一种文件检测方法及沙箱控制器,能够提高沙箱控制器对文件检测时的准确性。
本实施例中,将现有技术中的沙箱替代为本实施例中的沙箱控制器,沙箱控制器工作的系统可以如图2所示,其中,外网201、防火墙202、交换机203和内网205以及内网205中的多个终端2051分别与现有技术中的外网101、防火墙102、交换机103和内网105以及内网105中的多个终端1051相同,文件21的发送过程也与现有技术中文件11的发送过程相同,此处均不再赘述。其中,沙箱控制器204还与资源池206相连,资源池206中包括至少一个物理机2061。
下面通过具体实施例,对本发明进行详细说明。
图3为本发明实施例提供的文件检测方法的一种流程示意图,应用于沙箱控制器,所述沙箱控制器与资源池相连接,所述资源池中包括至少一个物理机,所述方法包括如下步骤:
步骤S301:接收待检测文件,并检测所述待检测文件的文件运行环境类型。
具体的,待检测文件包括可执行文件和不可执行文件。可执行文件包括后缀为exe、doc、txt、pdf等可以在操作系统中运行的文件,文件中除可执行文件之外的文件可以称为不可执行文件。
在本实施例中,在检测所述待检测文件的文件运行环境类型之前,所述方法还可以包括:
检测所述待检测文件是否为可执行文件,如果是,则继续执行检测所述待检测文件的文件运行环境类型的步骤。这样,可以从待检测文件中识别出不可执行文件,避免将不可执行文件发送至沙箱控制器中运行,进而提高沙箱控制器的检测效率。
在本发明实施例中,可以根据文件的后缀检测待检测文件是否为可执行文件,当然也可以根据其他特征检测,本发明对此不做限定。需要说明的是,检测文件是否为可执行文件属于现有技术,其具体过程此处不再赘述。
在实际应用中,待检测文件可以是其他设备发送给沙箱控制器的,也可以是用户选择输入的,当然还可以是采用其他方式接收到的,本发明对此不做具体限定。
通常,每个文件在运行时需要至少一种相应类型的操作系统支持。需要说明的是,检测待检测文件的文件运行环境类型属于现有技术,其具体过程此处不再赘述。
步骤S302:根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机。
其中,物理机可以由服务器或主机来实现,当然也可以以其他设备形式实现,本发明对此不做限定。具体的,资源池可以包括一个物理机,也可以包括至少两个物理机。当资源池中包括两个或两个以上的物理机时,可以将资源池中空闲的物理机确定为第一物理机。
在实际应用中,本发明实施例中的资源池可以采用云端第三方的设备来实现,也可以通过在本地配置相应的设备来实现,当然还可以包括其他的实现方式,本发明对此不做限定。
步骤S303:将所述待检测文件发送至所述第一物理机,以使所述第一物理机运行所述待检测文件。
可以理解的是,第一物理机要想运行待检测文件,其中应该有与检测出的文件运行环境类型相对应的一种操作系统类型的物理运行环境。该物理运行环境可以是在接收到待检测文件之后,根据待检测文件的文件运行环境类型创建的。例如,待检测文件的文件运行环境类型为Linux操作系统环境,那么第一物理机在自身创建Linux操作系统。
由于物理运行环境的创建需要一定的时间,而且,如果采用第三方设备实现资源池的功能,临时创建物理运行环境不易实现。因此,为了提高物理机对待检测文件的运行效率,在本实施例中,资源池中的每个物理机中还可以存在已经创建完成的一种操作系统类型的物理运行环境。也就是说,预先在物理机中配置好一定的操作系统,当接收到待检测文件时,可以直接运行待检测文件。
需要说明的是,当资源池中只包括一个物理机时,一般一台物理机上对应有一种或两种操作系统类型的物理运行环境,即该物理机只用于检测一种或两种运行环境类型的目标文件。也就是说,这种情况下的沙箱控制器只用于检测一种或两种目标文件,其中的沙箱控制器可以根据该物理机的运行环境类型,从待检测文件中确定目标文件。例如,物理机上同时存在Windows操作系统和Linux操作系统,该物理机可以检测运行环境类型为Windows和Linux的两种文件。
当资源池中包括至少两个物理机时,可以在每个物理机中创建一种类型的操作系统,包括Windows操作系统、Linux操作系统、苹果MAC操作系统和尤尼斯Unix操作系统中的一种。在这种情况下,沙箱控制器可以用于检测多种运行环境类型的文件。当然,本实施例中,物理机的操作系统还可以包括其他类型,本发明对此不做限定。
例如,沙箱控制器检测出待检测文件A的文件运行环境类型为Linux,则从资源池中确定出创建有Linux操作系统的第一物理机B,然后将A发送至B中,使A在B中运行。
步骤S304:接收所述第一物理机发送的所述待检测文件的第一运行轨迹。
在实际应用中,物理机中可以设置行为监控层,行为监控层用于监控文件运行过程中的运行轨迹并记录。其中,第一运行轨迹包括待检测文件在运行过程中创建、修改、删除文件,以及创建、修改、删除注册表等操作信息。当然,运行轨迹还可以包括其他种类的操作,本发明对此不做限定。
步骤S305:检测所述第一运行轨迹中是否存在恶意行为,当检测到所述第一运行轨迹中存在恶意行为时,进行告警。
当检测到第一运行轨迹中不存在恶意行为时,不告警,即不做处理。
恶意行为包括上传文件行为、对外发起建立链接行为、修改注册表行为等敏感行为。对应的,非敏感行为可以包括查找文件行为、读取信息行为等。当然,本发明实施例中涉及的恶意行为的具体内容不限于此。
具体的,沙箱控制器根据接收的运行轨迹以及保存的行为特征库,检测该运行轨迹中是否存在恶意行为,如果是,则进行告警,否则,不告警,即不做处理。具体的,在检测运行轨迹中是否存在恶意行为时,可以将运行轨迹与已保存的行为特征库进行对比,如果发现该运行轨迹与行为特征库中的运行轨迹之间存在包括上传文件、对外发起链接、修改注册表等行为差异,那么可以认为该运行轨迹中存在恶意行为。举例来说,运行轨迹中包括1、2、3、4、5这五个步骤,行为特征库中对应的运行轨迹包括1、2、4、5这四个步骤,从而可以确定运行轨迹比行为特征库多出一个步骤3,而步骤3包括上传文件的行为,这时,可以确定该运行轨迹中存在恶意行为。
更具体的,检测运行轨迹中是否存在恶意行为属于现有技术,其具体过程此处不再赘述。
在本实施例中,当检测到所述运行轨迹中存在恶意行为时,进行告警,具体可以包括:检测所述运行轨迹中恶意行为的出现次数,判断所述出现次数是否大于预设数量阈值,如果是,则告警;否则不告警。
在本实施例中,当检测到所述运行轨迹中存在恶意行为时,进行告警,具体还可以包括:检测所述运行轨迹中恶意行为的行为种类,判断所述行为种类是否属于预设的行为种类,如果是,则告警,否则不告警。
在本实施例中,当检测到所述运行轨迹中存在恶意行为时,进行告警,还可以包括:检测所述运行轨迹中恶意行为的出现次数以及恶意行为的行为种类,判断所述出现次数是否大于预设数量阈值,判断所述行为种类是否属于预设的行为种类,如果判断结果都为是,则进行告警,如果判断结果都为否,则不告警。
由上述内容可知,本实施例中,沙箱控制器将待检测文件发送至资源池的第一物理机中,使待检测文件在第一物理机的物理运行环境中运行,当检测到其第一运行轨迹中存在恶意行为时进行告警。由于携带有恶意行为的文件在物理运行环境中运行时,很难反向检测出自身运行在沙箱中,因此应用本实施例的检测方法能够提高对文件检测时的准确性。
可以看出,在图3所示实施例中,沙箱控制器将待检测文件发送至资源池的物理机中运行,根据物理机的第一运行轨迹判断是否针对待检测文件进行告警,能够解决现有技术中沙箱对文件的检测的准确性不高的问题。为了解决现有技术中检测准确性不高的问题,同时又能提高检测的效率,可以在资源池中同时设置虚拟机和物理机,根据虚拟机和物理机对待检测文件的运行轨迹判断是否针对待检测文件进行告警。基于这种思路,在具体实现时,本发明可以包括图4所示实施例和图5所示实施例。
图4为本发明实施例提供的文件检测方法的另一种流程示意图,应用于沙箱控制器,所述沙箱控制器与资源池相连接,所述资源池中包括至少一个物理机,所述资源池中还包括至少一个虚拟机,所述方法包括如下步骤:
步骤S401:接收待检测文件,并检测所述待检测文件的文件运行环境类型。
步骤S402:根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第二虚拟机,将所述待检测文件发送至所述第二虚拟机,以使所述第二虚拟机运行所述待检测文件,接收所述第二虚拟机发送的所述待检测文件的第二运行轨迹。
其中,虚拟机可以由服务器或主机来实现,当然也可以以其他设备形式实现,本发明对此不做限定。具体的,资源池可以包括一个虚拟机,也可以包括至少两个虚拟机。当资源池中包括两个或两个以上的虚拟机时,可以将资源池中空闲的虚拟机确定为第二虚拟机。
可以理解的是,第二虚拟机要想运行待检测文件,其中应该有与检测出的文件运行环境类型相对应的一种操作系统类型的虚拟运行环境。该虚拟运行环境可以是在接收到待检测文件之后,根据待检测文件的文件运行环境类型创建的。例如,待检测文件的文件运行环境类型为Linux操作系统环境,那么第二虚拟机在自身创建Linux操作系统。
为了提高虚拟机对待检测文件的运行效率,在本实施例中,资源池中的每个虚拟机中还可以存在已经创建完成的一种操作系统类型的虚拟运行环境。这样,当接收到待检测文件时,可以直接运行待检测文件,无需创建相应运行环境。
当待检测文件在第二虚拟机中运行完成时,第二虚拟机将自身还原,以便为运行下一个待检测文件做准备。具体的,第二虚拟机可以通过快照技术将自身的虚拟运行环境恢复至原始状态,当然第二虚拟机还可以采用其他方式将自身恢复至原始状态,本实施例对此不做具体限定。更具体的,虚拟机将自身的虚拟运行环境还原属于现有技术,具体过程不再赘述。
步骤S403:当检测到所述第二运行轨迹中不存在恶意行为时,根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机,将所述待检测文件发送至所述第一物理机,以使所述第一物理机运行所述待检测文件。
当检测到第二运行轨迹中存在恶意行为时,进行告警。此时,无需执行根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机的步骤。
当检测到第二运行轨迹中不存在恶意行为时,可能包括以下情况,一是,待检测文件中不存在恶意代码。二是,待检测文件中存在恶意代码,在待检测文件在虚拟机中运行时,恶意代码检测到自身运行在沙箱环境中,因此隐藏了自身的恶意行为或删除了自身的恶意代码。因此,为了进一步确定待检测文件中是否存在恶意代码或恶意行为,继续执行根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机的步骤。
可以理解的是,物理机中的物理运行环境更接近真实的运行环境,当包含恶意代码的待检测文件在这种环境中运行时,恶意代码很难检测到自身运行在沙箱中,因此待检测文件通常会正常运行自身代码。
当待检测文件在第一物理机中运行完成时,第一物理机将自身还原,以便为运行下一个待检测文件做准备。具体的,第一物理机可以通过系统还原技术将自身的物理运行环境恢复至原始状态,系统还原技术包括Ghost技术。当然第一物理机还可以采用其他方式将自身恢复至原始状态,本实施例对此不做具体限定。更具体的,物理机将自身的物理运行环境还原属于现有技术,具体过程不再赘述。
步骤S404:接收所述第一物理机发送的所述待检测文件的第一运行轨迹。
步骤S405:检测所述第一运行轨迹中是否存在恶意行为,当检测到所述第一运行轨迹中存在恶意行为时,进行告警。
由上述内容可知,本实施例中,沙箱控制器首先使待检测文件在资源池的第二虚拟机中运行,当检测出第二运行轨迹中不存在恶意行为时,再使待检测文件在资源池的第一物理机中运行,当检测到第一运行轨迹中存在恶意行为时进行告警。由于在虚拟机的虚拟运行环境中运行待检测文件时的效率较高,在物理机的物理运行环境中运行待检测文件时的准确性较高,因此应用本实施例的检测方法,能够在提高对文件检测时的准确性的同时提高检测效率。
在另一实施例中,在图4所示实施例的基础上,所述方法还可以包括:
当所述第二运行轨迹中不存在恶意行为,第一运行轨迹中存在恶意行为时,比较所述第一运行轨迹和第二运行轨迹之间的行为差异,当所述行为差异属于预设行为类型时,记录所述行为差异。记录的行为差异可以进一步用于更新沙箱控制器中的行为特征库,当沙箱控制器检测虚拟机的运行轨迹时,可以进一步提高检测准确性。当然,所述行为差异的应用不限于此。
其中,预设行为类型可以包括上传文件、对外建立链接行为、修改注册表、创建系统文件等中的一种或多种。
举例来说,在对文件A的检测中,文件A的第一运行轨迹包括1、2、3、4、5、6这六个步骤,文件A的第二运行轨迹中包括1、2、4、5这四个步骤,并且沙箱控制器根据行为特征库中保存的步骤6检测出第二运行轨迹中不存在恶意行为,第一运行轨迹中存在恶意行为。那么,可以进一步比较出第一运行轨迹与第二运行轨迹之间存在步骤3这个修改注册表的行为差异,以及步骤6这个行为差异,那么可以记录步骤3和步骤6,并将步骤3更新至行为特征库。当行为轨迹中出现步骤3时可以快速地检测出该恶意行为,从而提高检测效率。
图5为本发明实施例提供的文件检测方法的另一种流程示意图,应用于沙箱控制器,所述沙箱控制器与资源池相连接,所述资源池中包括至少一个物理机,所述资源池中还包括至少一个虚拟机,所述方法包括如下步骤:
步骤S501:接收待检测文件,并检测所述待检测文件的文件运行环境类型。
步骤S502:根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第三虚拟机,将所述待检测文件发送至所述第三虚拟机,以使所述第三虚拟机运行所述待检测文件,接收所述第三虚拟机发送的所述待检测文件的第三运行轨迹。
步骤S503:根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机;将所述待检测文件发送至所述第一物理机,以使所述第一物理机运行所述待检测文件;接收所述第一物理机发送的所述待检测文件的第一运行轨迹。
其中,步骤S502与步骤S503可以同时执行,或前后执行的时间差别较小。这样,得到第三运行轨迹和第一运行轨迹的时间差别较小。当检测到第三运行轨迹中不存在恶意行为时,可以快速地检测第一运行轨迹,无需等待接收第一运行轨迹,从而提高检测效率。
步骤S504:当检测到所述第三运行轨迹中不存在恶意行为时,检测所述第一运行轨迹中是否存在恶意行为。
步骤S505:当检测到所述第一运行轨迹中存在恶意行为时,进行告警。
由上述内容可知,本实施例中,沙箱控制器使待检测文件在资源池的第二虚拟机和第一物理机中运行,当检测出第三运行轨迹中不存在恶意行为时,再检测第一运行轨迹,当第一运行轨迹中存在恶意行为时进行告警。由于在虚拟机的虚拟运行环境中运行待检测文件时的效率较高,在物理机的物理运行环境中运行待检测文件时的准确性较高,因此应用本实施例的检测方法,能够在提高对文件检测时的准确性的同时提高检测效率。
图5所示实施例与4图所示实施例的区别在于,图5所示实施例中在检测第三运行轨迹的同时,已经得到了第一运行轨迹,也就是说,不管第三运行轨迹中是否存在恶意行为,每个待检测文件都要在物理机中运行。而图4所示实施例中,当第二运行轨迹中不存在恶意行为时,待检测文件才在物理机中运行,也就是说,不是每个待检测文件都需要在物理机中运行。图5所示实施例在实施中效率更高,图4所示实施例在实施中更节省设备资源。
在另一实施例中,在图5所示实施例的基础上,所述方法还可以包括:
当所述第三运行轨迹中不存在恶意行为,第一运行轨迹中存在恶意行为时,比较所述第一运行轨迹和第三运行轨迹之间的行为差异,当所述行为差异属于预设行为类型时,记录所述行为差异。
由于图3、图4和图5属于同一个发明构思,因此三者可以相互参照。
图6为本发明实施例提供的沙箱控制器的一种结构示意图,与图3所示方法实施例相对应,其与资源池相连接,所述资源池中包括至少一个物理机,所述沙箱控制器具体包括:第一接收模块601、确定模块602、发送模块603、第二接收模块604和检测模块605;
其中,第一接收模块601,用于接收待检测文件,检测所述待检测文件的文件运行环境类型;
确定模块602,用于根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机;
发送模块603,用于将所述待检测文件发送至所述第一物理机,以使所述第一物理机运行所述待检测文件;
第二接收模块604,用于接收所述第一物理机发送的所述待检测文件的第一运行轨迹;
检测模块605,用于检测所述第一运行轨迹中是否存在恶意行为,当检测到所述第一运行轨迹中存在恶意行为时,进行告警。
在本实施例中,所述资源池中还包括至少一个虚拟机,所述确定模块602,还用于在从所述资源池中确定运行所述待检测文件的第一物理机之前,从所述资源池中确定运行所述待检测文件的第二虚拟机;
所述发送模块603,还用于将所述待检测文件发送至所述第二虚拟机,以使所述第二虚拟机运行所述待检测文件;
所述第二接收模块604,还用于接收所述第二虚拟机发送的所述待检测文件的第二运行轨迹;
所述检测模块605,还用于当检测到所述第二运行轨迹中不存在恶意行为时,从所述资源池中确定运行所述待检测文件的第一物理机。
在本实施例中,所述沙箱控制器还包括第一记录模块(图中未示出);
所述第一记录模块,用于在检测出所述第二运行轨迹中不存在恶意行为,第一运行轨迹中存在恶意行为时,比较所述第一运行轨迹和第二运行轨迹之间的行为差异,当所述行为差异属于预设行为类型时,记录所述行为差异。
在本实施例中,所述资源池中还包括至少一个虚拟机;所述确定模块602,还用于在接收待检测文件,并检测所述待检测文件的文件运行环境类型之后,从所述资源池中确定运行所述待检测文件的第三虚拟机;
所述发送模块603,还用于将所述待检测文件发送至所述第三虚拟机,以使所述第三虚拟机运行所述待检测文件;
所述第二接收模块604,还用于接收所述第三虚拟机发送的所述待检测文件的第三运行轨迹;
所述检测模块605,还用于当检测到所述第三运行轨迹中不存在恶意行为时,检测所述第一运行轨迹中是否存在恶意行为。
在本实施例中,所述沙箱控制器还包括第二记录模块(图中未示出);
所述第二记录模块,用于在检测出所述第三运行轨迹中不存在恶意行为,第一运行轨迹中存在恶意行为时,比较所述第一运行轨迹和第三运行轨迹之间的行为差异,当所述行为差异属于预设行为类型时,记录所述行为差异。
上述装置实施例与方法实施例是相互对应的,具有与方法实施例相同的技术效果,因此装置实施例的技术效果在此不再赘述,可以参见方法实施例部分的描述。
对于装置实施例而言,由于其与方法实施例是相互对应的,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解,上述实施方式中的全部或部分步骤是能够通过程序指令相关的硬件来完成的,所述的程序可以存储于计算机可读取存储介质中。这里所称存储介质,是指ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (8)

1.一种文件检测方法,其特征在于,应用于沙箱控制器,所述沙箱控制器与资源池相连接,所述资源池中包括至少一个物理机,所述方法包括:
接收待检测文件,并检测所述待检测文件的文件运行环境类型;
根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机;
将所述待检测文件发送至所述第一物理机,以使所述第一物理机运行所述待检测文件;其中,所述第一物理机中有与检测出的文件运行环境类型相对应的操作系统类型的物理运行环境,该物理运行环境为所述第一物理机在接收到所述待检测文件之后,根据所述待检测文件的文件运行环境类型创建的;
接收所述第一物理机发送的所述待检测文件的第一运行轨迹;
检测所述第一运行轨迹中是否存在恶意行为,当检测到所述第一运行轨迹中存在恶意行为时,进行告警;
所述资源池中还包括至少一个虚拟机;
在从所述资源池中确定运行所述待检测文件的第一物理机之前,所述方法还包括:
从所述资源池中确定运行所述待检测文件的第二虚拟机;
将所述待检测文件发送至所述第二虚拟机,以使所述第二虚拟机运行所述待检测文件;
接收所述第二虚拟机发送的所述待检测文件的第二运行轨迹;
当检测到所述第二运行轨迹中不存在恶意行为时,执行从所述资源池中确定运行所述待检测文件的第一物理机的步骤;
所述方法还包括:
当所述第二运行轨迹中不存在恶意行为,第一运行轨迹中存在恶意行为时,比较所述第一运行轨迹和第二运行轨迹之间的行为差异,当所述行为差异属于预设行为类型时,记录所述行为差异。
2.根据权利要求1所述的检测方法,其特征在于,在接收待检测文件,并检测所述待检测文件的文件运行环境类型之后,所述方法还包括:
从所述资源池中确定运行所述待检测文件的第三虚拟机;
将所述待检测文件发送至所述第三虚拟机,以使所述第三虚拟机运行所述待检测文件;
接收所述第三虚拟机发送的所述待检测文件的第三运行轨迹;
当检测到所述第三运行轨迹中不存在恶意行为时,执行检测所述第一运行轨迹中是否存在恶意行为的步骤。
3.根据权利要求2所述的检测方法,其特征在于,所述方法还包括:
当所述第三运行轨迹中不存在恶意行为,第一运行轨迹中存在恶意行为时,比较所述第一运行轨迹和第三运行轨迹之间的行为差异,当所述行为差异属于预设行为类型时,记录所述行为差异。
4.根据权利要求1-3任一项所述的检测方法,其特征在于,所述资源池中的每个物理机中存在已经创建完成的一种操作系统类型的物理运行环境。
5.根据权利要求1-3任一项所述的检测方法,其特征在于,所述资源池中的每个虚拟机中存在已经创建完成的一种操作系统类型的虚拟运行环境。
6.一种沙箱控制器,其特征在于,其与资源池相连接,所述资源池中包括至少一个物理机,所述沙箱控制器具体包括:
第一接收模块,用于接收待检测文件,检测所述待检测文件的文件运行环境类型;
确定模块,用于根据检测得到的文件运行环境类型,从所述资源池中确定运行所述待检测文件的第一物理机;
发送模块,用于将所述待检测文件发送至所述第一物理机,以使所述第一物理机运行所述待检测文件;其中,所述第一物理机中有与检测出的文件运行环境类型相对应的操作系统类型的物理运行环境,该物理运行环境为所述第一物理机在接收到所述待检测文件之后,根据所述待检测文件的文件运行环境类型创建的;
第二接收模块,用于接收所述第一物理机发送的所述待检测文件的第一运行轨迹;
检测模块,用于检测所述第一运行轨迹中是否存在恶意行为,当检测到所述第一运行轨迹中存在恶意行为时,进行告警;
所述资源池中还包括至少一个虚拟机;
所述确定模块,还用于在从所述资源池中确定运行所述待检测文件的第一物理机之前,从所述资源池中确定运行所述待检测文件的第二虚拟机;
所述发送模块,还用于将所述待检测文件发送至所述第二虚拟机,以使所述第二虚拟机运行所述待检测文件;
所述第二接收模块,还用于接收所述第二虚拟机发送的所述待检测文件的第二运行轨迹;
所述检测模块,还用于当检测到所述第二运行轨迹中不存在恶意行为时,从所述资源池中确定运行所述待检测文件的第一物理机;
所述沙箱控制器还包括第一记录模块;
所述第一记录模块,用于在检测出所述第二运行轨迹中不存在恶意行为,第一运行轨迹中存在恶意行为时,比较所述第一运行轨迹和第二运行轨迹之间的行为差异,当所述行为差异属于预设行为类型时,记录所述行为差异。
7.根据权利要求6 所述的沙箱控制器,其特征在于,所述确定模块,还用于在接收待检测文件,并检测所述待检测文件的文件运行环境类型之后,从所述资源池中确定运行所述待检测文件的第三虚拟机;
所述发送模块,还用于将所述待检测文件发送至所述第三虚拟机,以使所述第三虚拟机运行所述待检测文件;
所述第二接收模块,还用于接收所述第三虚拟机发送的所述待检测文件的第三运行轨迹;
所述检测模块,还用于当检测到所述第三运行轨迹中不存在恶意行为时,检测所述第一运行轨迹中是否存在恶意行为。
8.根据权利要求7所述的沙箱控制器,其特征在于,所述沙箱控制器还包括第二记录模块;
所述第二记录模块,用于在检测出所述第三运行轨迹中不存在恶意行为,第一运行轨迹中存在恶意行为时,比较所述第一运行轨迹和第三运行轨迹之间的行为差异,当所述行为差异属于预设行为类型时,记录所述行为差异。
CN201610329540.3A 2016-05-16 2016-05-16 文件检测方法及沙箱控制器 Active CN106055976B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610329540.3A CN106055976B (zh) 2016-05-16 2016-05-16 文件检测方法及沙箱控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610329540.3A CN106055976B (zh) 2016-05-16 2016-05-16 文件检测方法及沙箱控制器

Publications (2)

Publication Number Publication Date
CN106055976A CN106055976A (zh) 2016-10-26
CN106055976B true CN106055976B (zh) 2021-05-28

Family

ID=57177584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610329540.3A Active CN106055976B (zh) 2016-05-16 2016-05-16 文件检测方法及沙箱控制器

Country Status (1)

Country Link
CN (1) CN106055976B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650424A (zh) * 2016-11-28 2017-05-10 北京奇虎科技有限公司 一种目标样本文件的检测方法和装置
CN106650423A (zh) * 2016-11-28 2017-05-10 北京奇虎科技有限公司 一种目标样本文件的检测方法和装置
CN106919840B (zh) * 2017-03-03 2020-12-29 努比亚技术有限公司 一种恶意软件的检测方法及装置
CN107357717B (zh) * 2017-06-07 2020-06-09 阿里巴巴集团控股有限公司 检测配置错误的方法、装置及设备
CN107609396B (zh) * 2017-09-22 2020-06-23 杭州安恒信息技术股份有限公司 一种基于沙箱虚拟机的逃逸检测方法
CN109472141B (zh) * 2017-12-29 2022-01-04 北京安天网络安全技术有限公司 一种基于时间序列化差异检测恶意代码的方法及系统
CN110213132B (zh) * 2019-06-06 2021-02-26 深圳市网心科技有限公司 网络连通方法、电子设备、系统及介质
US11379578B1 (en) * 2020-10-16 2022-07-05 Trend Micro Incorporated Detecting malware by pooled analysis of sample files in a sandbox
CN113076540B (zh) * 2021-04-16 2023-04-14 顶象科技有限公司 一种攻击检测的方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737722A (zh) * 2005-08-03 2006-02-22 珠海金山软件股份有限公司 一种检测和防御计算机恶意程序的系统和方法
CN102750475A (zh) * 2012-06-07 2012-10-24 中国电子科技集团公司第三十研究所 基于虚拟机内外视图交叉比对恶意代码行为检测方法及系统
CN103559441A (zh) * 2013-10-28 2014-02-05 中国科学院信息工程研究所 一种恶意文件云环境下跨平台检测方法及系统
CN103617396A (zh) * 2013-11-29 2014-03-05 杭州华三通信技术有限公司 一种漏洞利用的检测方法和系统
CN103984899A (zh) * 2014-06-09 2014-08-13 武汉大学 一种虚拟机在线高效批量杀毒系统及杀毒方法
CN105117649A (zh) * 2015-07-30 2015-12-02 中国科学院计算技术研究所 一种用于虚拟机的防病毒方法与系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8196205B2 (en) * 2006-01-23 2012-06-05 University Of Washington Through Its Center For Commercialization Detection of spyware threats within virtual machine
CN102082802A (zh) * 2011-03-01 2011-06-01 陈彪 一种基于行为的移动终端的安全防护系统和方法
CN103677882A (zh) * 2012-09-18 2014-03-26 珠海市君天电子科技有限公司 一种手机程序的虚拟安装装置和方法
CN102902915B (zh) * 2012-09-29 2016-06-29 北京奇虎科技有限公司 对文件行为特征进行检测的系统
CN103839003B (zh) * 2012-11-22 2018-01-30 腾讯科技(深圳)有限公司 恶意文件检测方法及装置
US9626205B2 (en) * 2013-08-14 2017-04-18 Bank Of America Corporation Hypervisor driven embedded endpoint security monitoring
US20150089655A1 (en) * 2013-09-23 2015-03-26 Electronics And Telecommunications Research Institute System and method for detecting malware based on virtual host
CN103810422B (zh) * 2014-02-20 2017-05-17 东莞中国科学院云计算产业技术创新与育成中心 一种基于镜像智能管理的安全虚拟化隔离方法
CN105187394B (zh) * 2015-08-10 2018-01-12 济南大学 具有移动终端恶意软件行为检测能力的代理服务器及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737722A (zh) * 2005-08-03 2006-02-22 珠海金山软件股份有限公司 一种检测和防御计算机恶意程序的系统和方法
CN102750475A (zh) * 2012-06-07 2012-10-24 中国电子科技集团公司第三十研究所 基于虚拟机内外视图交叉比对恶意代码行为检测方法及系统
CN103559441A (zh) * 2013-10-28 2014-02-05 中国科学院信息工程研究所 一种恶意文件云环境下跨平台检测方法及系统
CN103617396A (zh) * 2013-11-29 2014-03-05 杭州华三通信技术有限公司 一种漏洞利用的检测方法和系统
CN103984899A (zh) * 2014-06-09 2014-08-13 武汉大学 一种虚拟机在线高效批量杀毒系统及杀毒方法
CN105117649A (zh) * 2015-07-30 2015-12-02 中国科学院计算技术研究所 一种用于虚拟机的防病毒方法与系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Behavioral Modeling for Suspicious Process Detection in Cloud Computing Environments;Andrey Dolgikh,et al.;《2013 IEEE 14th International Conference on Mobile Data Management》;20130606;第177-181页 *
pTrace:一种面向可控云计算的DDoS攻击源控制技术;李保珲 等;《计算机研究与发展》;20151015;第52卷(第10期);第2212-2223页 *
Sensing services in cloud-centric Internet of Things: A survey, taxonomy and challenges;Burak Kanta, et al.;《2015 IEEE International Conference on Communication Workshop (ICCW)》;20150612;第1865-1870页 *
vmLMMT:基于虚拟机动态迁移的恶意行为跟踪方法;王晓娣 等;《第八届信息安全漏洞分析与风险评估大会》;20151023;第256-266页 *
一种基于KVM虚拟机的隐藏进程检测算法;彭春洪 等;《小型微型计算机系统》;20160215(第03期);第231-235页 *

Also Published As

Publication number Publication date
CN106055976A (zh) 2016-10-26

Similar Documents

Publication Publication Date Title
CN106055976B (zh) 文件检测方法及沙箱控制器
US10210332B2 (en) Identifying an evasive malicious object based on a behavior delta
US11681591B2 (en) System and method of restoring a clean backup after a malware attack
US10169585B1 (en) System and methods for advanced malware detection through placement of transition events
US10997291B2 (en) Extending dynamic detection of malware using static and dynamic malware analyses
CN109586282B (zh) 一种电网未知威胁检测系统及方法
US9953164B2 (en) Confirming a malware infection on a client device using a remote access connection tool, to identify a malicious file based on fuzz hashes
US10963558B2 (en) Malware detection method and malware detection apparatus
JP2014038596A (ja) 悪意ある実行ファイルの識別方法
US9813443B1 (en) Systems and methods for remediating the effects of malware
US20130239214A1 (en) Method for detecting and removing malware
KR20150134679A (ko) 패치파일 분석시스템과 분석방법
EP3474174B1 (en) System and method of adapting patterns of dangerous behavior of programs to the computer systems of users
CN110826058B (zh) 基于用户交互的恶意软件检测的设备、方法、介质
CN109074448B (zh) 计算装置的安全状态与额定安全状态的偏差的检测
CN105095759A (zh) 文件的检测方法及装置
US10073973B2 (en) Process testing apparatus, computer-readable medium, and process testing method
US11528298B2 (en) Methods and systems for preventing malicious activity in a computer system
JP2014071796A (ja) マルウェア検知装置、マルウェア検知システム、マルウェア検知方法、及びプログラム
US11250126B2 (en) Systems and methods for analyzing process chains to detect malicious behavior
RU2738334C1 (ru) Способ и система принятия решения о необходимости автоматизированного реагирования на инцидент
US10893090B2 (en) Monitoring a process on an IoT device
US11763004B1 (en) System and method for bootkit detection
CN113852623B (zh) 一种病毒工控行为检测方法及装置
CN115600206A (zh) 一种病毒查杀方法、装置、设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou science and Technology Industrial Park, high tech Industrial Development Zone, Zhejiang Province, No. six and road, No. 310

Applicant before: Huasan Communication Technology Co., Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant