CN106295328B - 文件检测方法、装置及系统 - Google Patents

文件检测方法、装置及系统 Download PDF

Info

Publication number
CN106295328B
CN106295328B CN201510260757.9A CN201510260757A CN106295328B CN 106295328 B CN106295328 B CN 106295328B CN 201510260757 A CN201510260757 A CN 201510260757A CN 106295328 B CN106295328 B CN 106295328B
Authority
CN
China
Prior art keywords
file
detected
behavior
sample
malicious act
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
CN201510260757.9A
Other languages
English (en)
Other versions
CN106295328A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510260757.9A priority Critical patent/CN106295328B/zh
Priority to TW104142284A priority patent/TWI678616B/zh
Priority to US15/149,938 priority patent/US9928364B2/en
Priority to PCT/US2016/031672 priority patent/WO2016186902A1/en
Publication of CN106295328A publication Critical patent/CN106295328A/zh
Priority to US15/892,670 priority patent/US10489583B2/en
Application granted granted Critical
Publication of CN106295328B publication Critical patent/CN106295328B/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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching

Abstract

本发明公开了一种文件检测方法、装置及系统。其中,该方法包括:获取文件检测任务,其中,文件检测任务至少包括待检测文件的存储地址以及用于运行待检测文件的基本信息;将文件检测任务发送至检测引擎,其中,由检测引擎根据存储地址从文件服务器中获取待检测文件,基于用于运行待检测文件的基本信息运行并监控待检测文件,生成对应待检测文件的监控行为记录;接收检测引擎返回的监控行为记录;确定监控行为记录中与预设的恶意行为集合相同的恶意行为;根据恶意行为,确定待检测文件是否为恶意文件。本发明解决了由于现有技术采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的技术问题。

Description

文件检测方法、装置及系统
技术领域
本发明涉及云计算领域,具体而言,涉及一种文件检测方法、装置及系统。
背景技术
随着互联网的发展,人们对在互联网中的文件的安全性的要求也越来越高。目前,大部分的文件检测系统(例如,病毒查杀系统)均是采用基于特征码的技术进行文件检测(病毒查杀)。
然而,采用基于特征码的技术进行文件检测,这样一旦病毒文件稍微变化或者面对最新出现的病毒,文件检测系统将束手无策。针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种文件检测方法、装置及系统,以至少解决由于现有技术采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的技术问题。
根据本发明实施例的一个方面,提供了一种文件检测方法,包括:获取文件检测任务,其中,上述文件检测任务至少包括待检测文件的存储地址以及用于运行上述待检测文件的基本信息;将上述文件检测任务发送至检测引擎,其中,由上述检测引擎根据上述存储地址从文件服务器中获取上述待检测文件,基于上述用于运行上述待检测文件的基本信息运行并监控上述待检测文件,生成对应上述待检测文件的监控行为记录;接收上述检测引擎返回的上述监控行为记录;确定上述监控行为记录中与预设的恶意行为集合相同的恶意行为;根据上述恶意行为,确定上述待检测文件是否为恶意文件。
根据本发明实施例的另一方面,还提供了一种文件检测方法,包括:接收文件检测装置发送的文件检测任务,上述文件检测任务中至少包括待检测文件的存储地址以及用于运行上述待检测文件的基本信息;根据上述待检测文件的存储地址,从文件服务器中获取上述待检测文件;基于上述用于运行上述待检测文件的基本信息,运行并监控上述待检测文件,生成对应上述待检测文件的监控行为记录;将上述监控行为记录发送至上述文件检测装置,其中,由上述文件检测装置确定上述监控行为记录中与预设的恶意行为集合相同的恶意行为,根据上述恶意行为,判断上述待检测文件是否为恶意文件。
根据本发明实施例的另一方面,还提供了一种文件检测装置,包括:第一获取单元,用于获取文件检测任务,其中,上述文件检测任务至少包括待检测文件的存储地址以及用于运行上述待检测文件的基本信息;第一发送单元,用于将上述文件检测任务发送至检测引擎,其中,由上述检测引擎根据上述存储地址从文件服务器中获取上述待检测文件,基于上述用于运行上述待检测文件的基本信息运行并监控上述待检测文件,生成对应上述待检测文件的监控行为记录;第一接收单元,用于接收上述检测引擎返回的上述监控行为记录;第一确定单元,用于确定上述监控行为记录中与预设的恶意行为集合相同的恶意行为;第二确定单元,用于根据上述恶意行为,确定上述待检测文件是否为恶意文件。
根据本发明实施例的另一方面,还提供了一种检测引擎,包括:第三接收单元,用于接收文件检测装置发送的文件检测任务,上述文件检测任务中至少包括待检测文件的存储地址以及用于运行上述待检测文件的基本信息;第二获取单元,用于根据上述待检测文件的存储地址,从文件服务器中获取上述待检测文件;监控单元,用于基于上述用于运行上述待检测文件的基本信息,运行并监控上述待检测文件,生成对应上述待检测文件的监控行为记录;第二发送单元,用于将上述监控行为记录发送至上述文件检测装置,其中,由上述文件检测装置确定上述监控行为记录中与预设的恶意行为集合相同的恶意行为,根据上述恶意行为,判断上述待检测文件是否为恶意文件。
根据本发明实施例的另一方面,还提供了一种文件检测系统,包括:具有上述任意特征的文件检测装置,以及与上述文件检测装置连接的具有上述任意特征的检测引擎。
在本发明实施例中,采用获取文件检测任务,其中,文件检测任务至少包括待检测文件的存储地址以及用于运行待检测文件的基本信息;将文件检测任务发送至检测引擎,其中,由检测引擎根据存储地址从文件服务器中获取待检测文件,基于用于运行待检测文件的基本信息运行并监控待检测文件,生成对应待检测文件的监控行为记录;接收检测引擎返回的监控行为记录;确定监控行为记录中与预设的恶意行为集合相同的恶意行为;根据恶意行为,确定待检测文件是否为恶意文件的方式,通过在接收到待检测文件的监控行为记录后,根据预设的恶意行为集合判断待检测文件是否为恶意文件,达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果,进而解决了由于现有技术采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种运行文件检测方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的一种可选的文件检测方法的流程示意图;
图3是根据本发明实施例的另一种可选的文件检测方法的流程示意图;
图4是根据本发明实施例的又一种可选的文件检测方法的流程示意图;
图5是根据本发明实施例的又一种可选的文件检测方法的流程示意图;
图6是根据本发明实施例的又一种可选的文件检测方法的流程示意图;
图7是根据本发明实施例的又一种可选的文件检测方法的流程示意图;
图8是根据本发明实施例的一种可选的文件检测装置的结构示意图;
图9是根据本发明实施例的一种可选的生成单元的结构示意图;
图10是根据本发明实施例的一种可选的处理模块的结构示意图;
图11是根据本发明实施例的一种可选的第二确定单元的结构示意图;
图12是根据本发明实施例的另一种可选的文件检测装置的结构示意图;
图13是根据本发明实施例的一种可选的检测引擎的结构示意图;
图14是根据本发明实施例的一种可选的监控单元的结构示意图;
图15是根据本发明实施例的一种可选的建立模块的结构示意图;
图16是根据本发明实施例的一种运行文件检测系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,还提供了一种文件检测方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种文件检测方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的文件检测方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图2所示的文件检测方法。图2是根据本发明实施例一的文件检测方法的流程图。
如图2所示,该文件检测方法可以包括如下实现步骤:
步骤S202,获取文件检测任务,其中,文件检测任务至少包括待检测文件的存储地址以及用于运行待检测文件的基本信息。
本申请上述步骤S202中,待检测文件的存储地址是指待检测文件存储在文件服务器中的地址(例如tfsname),用于运行待检测文件的基本信息可以包括以下一种或几种的组合:待检测文件的文件名称、文件类型、应用操作系统(例如windows或linux)、是否32位,MD5(Message Digest Algorithm,消息摘要算法)、文件大小、SHA1(Secure HashAlgorithm,安全哈希算法)、SHA256、提交时间、提交来源、文件类型(例如表示是tfs还是url还是oss或者其他)以及byte数组。
步骤S204,将文件检测任务发送至检测引擎,其中,由检测引擎根据存储地址从文件服务器中获取待检测文件,基于用于运行待检测文件的基本信息运行并监控待检测文件,生成对应待检测文件的监控行为记录。
本申请上述步骤S204中,文件检测装置在获取了包括待检测文件的存储地址以及用于运行待检测文件的基本信息的文件检测任务之后,可以将该文件检测任务发送至对应的检测引擎。
本发明实施例中,检测引擎在接收到该文件检测任务之后,可以根据存储地址从服务器中获取待检测文件,并基于上述用于运行待检测文件的基本信息运行并监控待检测文件,生成对应待检测文件的监控行为记录。
可选地,本发明实施例对文件检测任务的数量不做限制,即发送至检测引擎的文件检测任务的数量可以是一个也可以是多个。那么,检测引擎在接收到多个文件检测任务时,可以同时运行该多个待检测文件,并生成对应各个待检测文件的监控行为记录。其中,检测引擎如何运行多个待检测文件,后续实施例中会进行详细描述,此处不赘述。
步骤S206,接收检测引擎返回的监控行为记录。
本申请上述步骤S206中,检测引擎在生成监控行为记录之后,可以将监控行为记录发送至文件检测装置,由文件检测装置根据该监控行为记录判断待检测文件是否为恶意文件。
可选地,监控行为记录可以记录一些敏感函数(恶意行为经常触发调用的函数)的调用以及调用中的特定参数。例如NtCreateFile函数,从该函数中可以判断出是否新建一个文件、是否有写权限、新建文件的全路径等信息。另如NtSetinformationFile函数,该函数被调用的频率很高,其中部分场景(文件改名、修改文件属性、或者删除文件)中的被操作文件全路径。
步骤S208,确定监控行为记录中与预设的恶意行为集合相同的恶意行为。
本申请上述步骤S208中,预设的恶意行为集合是文件检测装置预先通过模型训练得到的,本发明实施例提供的文件检测方法,不再依赖于特征码,而是基于上述预设的恶意行为集合,达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果。
可选地,文件检测装置在接收到待检测文件的监控行为记录之后,可以调取预设的恶意行为集合,确定监控行为记录中与预设的恶意行为集合相同的恶意行为。
步骤S210,根据恶意行为,确定待检测文件是否为恶意文件。
本申请上述步骤S210中,恶意文件也叫恶意软件,指在计算机系统上可执行恶意任务的程序,通过破坏软件进程来实施控制。典型的恶意文件包括病毒、木马、蠕虫、远程控制软件、键盘记录软件等。文件检测装置在确定了监控行为记录中与预设的恶意行为集合相同的恶意行为之后,可以根据恶意行为确定待检测文件是否为恶意文件。
其中,根据恶意行为,确定待检测文件是否为恶意文件可以包括:计算恶意行为的数量;判断恶意行为的数量是否大于第三预设阈值;若恶意行为的数量大于第三预设阈值,则确定待检测文件为恶意文件。
由上可知,本申请上述实施例一所提供的方案,通过在接收到待检测文件的监控行为记录后,根据预设的恶意行为集合判断待检测文件是否为恶意文件,达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果,进而解决了由于现有技术采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的技术问题。
本申请上述实施例提供的一种可选方案中,在步骤S208,确定监控行为记录中与预设的恶意行为集合相同的恶意行为之前,文件检测方法还可以包括:
S10,生成预设的恶意行为集合。
可选地,如图3所示,上述步骤S10,生成预设的恶意行为集合可以包括:
步骤S302,创建第一训练样本集合和第二训练样本集合,其中,第一训练样本集合包括至少一个恶意样本文件,第二训练样本集合包括至少一个正常样本文件。
本申请上述步骤S302中,在确定监控行为记录中与预设的恶意行为集合相同的恶意行为之前,文件检测装置可以生成该预设的恶意行为集合,在此本发明实施例对文件检测装置如何生成该预设的恶意行为集合进行详细描述。
其中,文件检测装置首先创建第一训练样本集合和第二训练样本集合,第一训练样本集合包括至少一个恶意样本文件,该恶意样本文件可以为已知的恶意文件,第二训练样本集合包括至少一个正常样本文件,该正常样本文件可以为已知的正常文件。
步骤S304,获取运行每个恶意样本文件时的第一样本行为记录,以及运行每个正常样本文件时的第二样本行为记录。
本申请上述步骤S304中,在创建了第一训练样本集合和第二训练样本集合之后,文件检测装置获取运行每个恶意样本文件时的第一样本行为记录,以及运行每个正常样本文件时的第二样本行为记录。其中,第一样本行为记录和第二样本行为记录可以为检测引擎生成的,同样地,当第一训练样本集合中包括多个恶意样本文件、第二训练样本集合中包括多个正常样本文件时,检测引擎可以同时运行该多个恶意样本文件以及多个正常样本文件,并生成对应的第一样本行为记录和第二样本行为记录。
步骤S306,计算每个第一样本行为记录中各个样本行为的第一行为频率,以及每个第二样本行为中各个样本行为的第二行为频率。
本申请上述步骤S306中,每个第一样本行为记录中各个样本行为的第一行为频率是指在运行恶意样本文件时,恶意样本文件产生的各个样本行为的频率,每个第二样本行为中各个样本行为的第二行为频率是指在运行正常样本文件时,正常样本文件产生的各个样本行为的频率。
步骤S308,基于第一行为频率和第二行为频率,生成第一样本行为集合和第二样本行为集合,其中,第一样本行为集合包括第一行为频率大于第一预设阈值的行为,第二样本行为集合包括第二行为频率大于第二预设阈值的行为。
本申请上述步骤S308中,文件检测装置需要基于第一行为频率和第二行为频率对各个样本行为进行筛选,进而生成第一样本行为集合和第二样本行为集合。其中,筛选的方式为将上述第一行为频率大于第一预设阈值的行为组成第一样本行为集合,将上述第二行为频率大于第二预设阈值的行为组成第二样本行为集合。即,将操作频率较高的行为筛选出来,分别得到第一样本行为集合和第二样本行为集合。
步骤S310,根据第一样本行为集合与第二样本行为集合,得到预设的恶意行为集合。
本申请上述步骤S310中,由于恶意样本文件也可能产生正常的行为,因此文件检测装置需要进一步对第一样本行为集合中的行为进行筛选,具体地筛选方式,即上述步骤S310,根据第一样本行为集合与第二样本行为集合,得到预设的恶意行为集合可以包括:
S20,对第一样本行为集合与第二样本行为集合进行交集运算,得到第三样本行为集合,其中,第三样本行为集合中包括第一样本行为集合与第二样本行为集合中相同的行为。
本申请上述步骤S20中,文件检测装置可以对第一样本行为集合与第二样本行为集合进行交集运算,得到第三样本行为集合,其中,第三样本行为集合中包括第一样本行为集合与第二样本行为集合中相同的行为。
例如,第一样本行为集合中包含“行为1、行为2、行为3、行为4以及行为5”,第二样本行为集合中包括“行为2、行为5、行为6和行为7”,对第一样本行为集合与第二样本行为集合进行交集运算,得到第三样本行为集合,即{行为1,行为2,行为3,行为4,行为5}∩{行为2,行为5,行为6,行为7}={行为2,行为5},其中,第三样本行为集合中包括第一样本行为集合与第二样本行为集合中相同的行为,即{行为2,行为5}。
S22,从第一样本行为集合中删除第三样本行为集合中的行为,得到预设的恶意行为集合。
本申请上述步骤S22中,文件检测装置从第一样本行为集合中删去第一样本行为集合与第二样本行为集合相同的行为,将第一样本行为集合中的正常的行为删去保留恶意的行为,即从第一样本行为集合中删除第三样本行为集合中的行为,得到预设的恶意行为集合。
例如,{行为1,行为2,行为3,行为4,行为5}-{行为2,行为5}={行为1,行为3,行为4},{行为1,行为3,行为4}则为最终的预设的恶意行为集合。
本申请上述实施例提供的一种可选方案中,步骤S210,根据恶意行为,确定待检测文件是否为恶意文件可以包括:
步骤S30,计算恶意行为的数量。
本申请上述步骤S30中,文件检测装置可以在确定监控行为记录中与预设的恶意行为集合相同的恶意行为之后,可以根据该恶意行为确定待检测文件是否为恶意文件。作为一种可选的实现方式,文件检测装置可以基于恶意行为的数量来判断待检测文件是否为恶意文件。
需要说明的是,本发明实施例提供的文件检测方法,文件检测装置可以基于恶意行为的数量来确定待检测文件是否为恶意文件,文件检测装置也可以基于恶意行为的具体内容或恶意行为的发生频率来确定待检测文件是否为恶意文件,均应在本发明实施例的保护范围之内。
步骤S32,判断恶意行为的数量是否大于第三预设阈值。
本申请上述步骤S32中,文件检测装置在计算出恶意行为的数量之后,可以获取第三预设阈值,其中,该第三预设阈值可以是由维护人员预先设定的,进而,文件检测装置可以判断恶意行为的数量是否大于第三预设阈值,即判断待检测文件触发的恶意行为是否超过第三预设阈值。
步骤S34,若恶意行为的数量大于第三预设阈值,则确定待检测文件为恶意文件。
本申请上述步骤S34中,在恶意行为的数量大于第三预设阈值的情况下,文件检测装置则可以确定待检测文件为恶意文件。
本申请上述实施例提供的一种可选方案中,如图4所示,在步骤S202,获取文件检测任务之前,文件检测方法还包括:
步骤S402,接收客户端发送的待检测文件。
本申请上述步骤S402中,客户端为安装在用户机器上的软件,客户端可以将用户机器上无法识别的文件(即待检测文件,也可称为可疑文件),通过网络发送至文件检测装置,文件检测装置可以部署在云端,在接收到客户端发送的待检测文件后,依据本发明实施例提供的文件检测方法对待检测文件进行检测。
步骤S404,对待检测文件进行预处理,得到用于运行待检测文件的基本信息。
本申请上述步骤S404中,文件检测装置在接收到客户端发送的待检测文件之后,可以对待检测文件进行预处理,本发明实施例的预处理是对待检测文件进行静态分析,以得到待检测文件的基本信息,该基本信息用于运行待检测文件。
可选地,用于运行待检测文件的基本信息可以包括以下一种或几种的组合:待检测文件的文件名称、文件类型、应用操作系统、是否32位,消息摘要算法MD5、文件大小、安全哈希算法SHA1、SHA256、提交时间、提交来源、文件类型以及byte数组。
步骤S406,采用非对称算法对待检测文件进行加密。
本申请上述步骤S406中,由于业务方大多会要求待检测文件不能落地(即在处理过程中不能保存或缓存),为了防止被第三方或者恶意程序窃取,造成损失,因此本发明实施例采用非对称算法对待检测文件进行加密,从而保证业务方对待检测文件私密性的要求。
其中,非对称算法的加密算法的加密密钥和解密密钥是不一样的,或者说不能由其中一个密钥推导出另一个密钥。
步骤S408,将用于运行待检测文件的基本信息保存至数据库,以及将加密后的待检测文件保存至文件服务器。
本申请上述步骤S408中,文件检测装置将用于运行待检测文件的基本信息保存至数据库,以及将加密后的待检测文件保存至文件服务器,以便检测引擎在接收到文件检测任务后根据文件检测任务中的文件服务器中获取待检测文件。
可选地,文件检测装置生成文件检测任务可以是主动生成也可以是被动生成的,例如,文件检测装置可以周期性地生成文件检测任务,也可以在接收到维护人员的触发指令时生成文件检测任务。
其中,在检测引擎根据存储地址从文件服务器中获取待检测文件之后,基于用于运行待检测文件的基本信息运行待检测文件之前,方法还包括:检测引擎对待检测文件进行解密。
可选地,用于运行待检测文件的基本信息包括以下一种或几种的组合:待检测文件的文件名称、文件类型、应用操作系统、是否32位,消息摘要算法MD5、文件大小、安全哈希算法SHA1、SHA256、提交时间、提交来源、文件类型以及byte数组。
可选地,监控行为记录包括以下一种或几种的组合:创建NtCreateFile函数、删除NtDeleteFile函数和NtSetinformationFile函数、注册表创建NtCreateKey函数、注册表赋值NtSetValueKey函数。
由此可知,现有技术存在的采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的问题,本发明提出一种基于恶意行为集合进行文件检测的方法,从而达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,还提供了一种文件检测方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例二所提供的方法实施例仍旧可以在移动终端、计算机终端或者类似的运算装置中执行。此处需要说明的是,实施例二所提供的方法实施例仍旧可以运行在图1所示的计算机终端上。
在上述运行环境下,本申请提供了如图5所示的文件检测方法。图5是根据本发明实施例二的文件检测方法的流程图。
如图5所示,该文件检测方法可以包括如下实现步骤:
步骤S502,接收文件检测装置发送的文件检测任务,文件检测任务中至少包括待检测文件的存储地址以及用于运行待检测文件的基本信息。
本申请上述步骤S502中,文件检测任务可以是文件检测装置接收客户端发送的待检测文件;对待检测文件进行预处理,得到用于运行待检测文件的基本信息;采用非对称算法对待检测文件进行加密;将用于运行待检测文件的基本信息保存至数据库,以及将加密后的待检测文件保存至文件服务器之后生成的。
其中,待检测文件的存储地址是指待检测文件存储在文件服务器中的地址(例如tfsname),用于运行待检测文件的基本信息可以包括以下一种或几种的组合:待检测文件的文件名称、文件类型、应用操作系统(例如windows或linux)、是否32位,MD5、文件大小、SHA1、SHA256、提交时间、提交来源、文件类型(例如表示是tfs还是url还是oss或者其他)以及byte数组。
步骤S504,根据待检测文件的存储地址,从文件服务器中获取待检测文件。
本申请上述步骤S504中,检测引擎在接收到文件检测任务之后,可以根据文件检测任务中待检测文件的存储地址,从文件服务器中获取待检测文件。
步骤S506,基于用于运行待检测文件的基本信息,运行并监控待检测文件,生成对应待检测文件的监控行为记录。
本申请上述步骤S506中,监控行为记录可以包括以下一种或几种的组合:创建NtCreateFile函数、删除NtDeleteFile函数和NtSetinformationFile函数、注册表创建NtCreateKey函数、注册表赋值NtSetValueKey函数。
可选地,监控行为记录可以记录一些敏感函数(恶意行为经常触发调用的函数)的调用以及调用中的特定参数。例如NtCreateFile函数,从该函数中可以判断出是否新建一个文件、是否有写权限、新建文件的全路径等信息。另如NtSetinformationFile函数,该函数被调用的频率很高,其中部分场景(文件改名、修改文件属性、或者删除文件)中的被操作文件全路径。
步骤S508,将监控行为记录发送至文件检测装置,其中,由文件检测装置确定监控行为记录中与预设的恶意行为集合相同的恶意行为,根据恶意行为,判断待检测文件是否为恶意文件。
本申请上述步骤S508中,检测引擎在生成监控行为记录之后,可以将监控行为记录发送至文件检测装置。
其中,预设的恶意行为集合是文件检测装置预先通过模型训练得到的,本发明实施例提供的文件检测方法,不再依赖于特征码,而是基于上述预设的恶意行为集合,达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果。
可选地,文件检测装置在接收到待检测文件的监控行为记录之后,可以调取预设的恶意行为集合,确定监控行为记录中与预设的恶意行为集合相同的恶意行为。文件检测装置在确定了监控行为记录中与预设的恶意行为集合相同的恶意行为之后,可以根据恶意行为确定待检测文件是否为恶意文件。其中,恶意文件也叫恶意软件,指在计算机系统上可执行恶意任务的程序,通过破坏软件进程来实施控制。典型的恶意文件包括病毒、木马、蠕虫、远程控制软件、键盘记录软件等。
由上可知,本申请上述实施例二所提供的方案,通过生成待检测文件的监控行为记录,文件检测装置在接收到待检测文件的监控行为记录后,根据预设的恶意行为集合判断待检测文件是否为恶意文件,达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果,进而解决了由于现有技术采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的技术问题。
本申请上述实施例提供的一种可选方案中,如图6所示,在文件检测装置发送的文件检测任务的数量为至少两个的情况下,上述步骤S506,基于用于运行待检测文件的基本信息,运行并监控待检测文件,生成对应待检测文件的监控行为记录可以包括:
步骤S602,基于每个用于运行待检测文件的基本信息,在建立的至少两个虚拟机中运行各个待检测文件,其中,每个虚拟机对应一个待检测文件。
本申请上述步骤S602中,虚拟机可以为轻量级虚拟机。非轻量级虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统;轻量级虚拟机是指并不具有完整的硬件系统功能,一般它是应用程序,体积小,易控制,运行在应用层,通过控制系统服务的行为而隔离环境中的应用程序运行时的输出。
需要说明的是,非轻量级虚拟机同一时间一台检测引擎只能检测一个样本,效率极低同时浪费了机器性能;轻量级虚拟机,可在同一检测同一时间运行多个虚拟机,提高检测性能,同时作为轻量级虚拟机,不会对系统造成严重性破坏,例如蓝屏。
步骤S604,在运行各个待检测文件的过程中,调用预设动态链接库DLL中的函数分别对各个待检测文件进行监控,生成对应各个待检测文件的监控行为记录。
本申请上述步骤S604中,在运行各个待检测文件的过程中,调用预设DLL(DynamicLink Library,动态链接库)中的函数分别对各个待检测文件进行监控,生成对应各个待检测文件的监控行为记录,包括:将DLL注入各个待检测文件;在运行各个待检测文件的过程中,采用挂钩HOOK技术对ntdll.dll函数进行监控,生成对应各个待检测文件的监控行为记录。
本发明实施例对文件检测任务的数量不做限制,即发送至检测引擎的文件检测任务的数量可以是一个也可以是多个。那么,检测引擎在接收到多个文件检测任务时,可以同时运行该多个待检测文件,并生成对应各个待检测文件的监控行为记录。
本申请上述实施例提供的一种可选方案中,如图7所示,各个待检测文件为文件检测装置采用非对称算法对各个待检测文件进行加密的文件;其中,上述步骤S602,基于每个用于运行待检测文件的基本信息,在建立的至少两个虚拟机中运行各个待检测文件,其中,每个虚拟机对应一个待检测文件可以包括:
步骤S702,获取加密后的各个待检测文件的解密算法。
本申请上述步骤S702中,由于业务方大多会要求待检测文件不能落地(即在处理过程中不能保存或缓存),为了防止被第三方或者恶意程序窃取,造成损失,因此本发明实施例采用非对称算法对待检测文件进行加密,从而保证业务方对待检测文件私密性的要求。其中,非对称算法的加密算法的加密密钥和解密密钥是不一样的,或者说不能由其中一个密钥推导出另一个密钥。
也就是说,检测引擎从文件服务器中的获取到的待检测文件是通过非对称算法加密后的文件,因此检测引擎首先需要对该加密后的待检测文件进行解密。检测引擎可以获取预先配置的解密算法,也可以从用于存储解密算法的数据库中获取,本发明实施例对此不做限定。
步骤S704,依据解密算法对各个待检测文件进行解密。
本申请上述步骤S704中,检测引擎在获取加密后的各个待检测文件的解密算法之后,可以依据解密算法对各个待检测文件进行解密。
步骤S706,根据每个用于运行待检测文件的基本信息,在至少两个虚拟机中构造虚拟运行环境。
本申请上述步骤S706中,检测引擎可以根据每个用于运行待检测文件的基本信息,在至少两个虚拟机中构造虚拟运行环境,例如构造如32位或者64位的windows和linux系统平台。
步骤S708,基于虚拟运行环境,在至少两个虚拟机中分别运行各个待检测文件,其中,将在运行各个待检测文件的过程中产生的读写操作重定向至各个虚拟机配置的地址中。
可选地,文件检测装置生成预设的恶意行为集合的方法,包括:文件检测装置创建第一训练样本集合和第二训练样本集合,其中,第一训练样本集合包括至少一个恶意样本文件,第二训练样本集合包括至少一个正常样本文件;文件检测装置获取运行每个恶意样本文件时的第一样本行为记录,以及运行每个正常样本文件时的第二样本行为记录;文件检测装置计算每个第一样本行为记录中各个样本行为的第一行为频率,以及每个第二样本行为中各个样本行为的第二行为频率;文件检测装置基于第一行为频率和第二行为频率,生成第一样本行为集合和第二样本行为集合,其中,第一样本行为集合包括第一行为频率大于第一预设阈值的行为,第二样本行为集合包括第二行为频率大于第二预设阈值的行为;文件检测装置根据第一样本行为集合与第二样本行为集合,得到预设的恶意行为集合。
例如,第一样本行为集合中包含“行为1、行为2、行为3、行为4以及行为5”,第二样本行为集合中包括“行为2、行为5、行为6和行为7”,对第一样本行为集合与第二样本行为集合进行交集运算,得到第三样本行为集合,即{行为1,行为2,行为3,行为4,行为5}∩{行为2,行为5,行为6,行为7}={行为2,行为5},其中,第三样本行为集合中包括第一样本行为集合与第二样本行为集合中相同的行为,即{行为2,行为5}。
可选地,文件检测装置根据第一样本行为集合与第二样本行为集合,得到预设的恶意行为集合,包括:文件检测装置对第一样本行为集合与第二样本行为集合进行交集运算,得到第三样本行为集合,其中,第三样本行为集合中包括第一样本行为集合与第二样本行为集合中相同的行为;文件检测装置从第一样本行为集合中删除第三样本行为集合中的行为,得到预设的恶意行为集合。
例如,{行为1,行为2,行为3,行为4,行为5}-{行为2,行为5}={行为1,行为3,行为4},{行为1,行为3,行为4}则为最终的预设的恶意行为集合。
可选地,文件检测装置根据恶意行为,确定待检测文件是否为恶意文件包括:文件检测装置计算恶意行为的数量;文件检测装置判断恶意行为的数量是否大于第三预设阈值;若恶意行为的数量大于第三预设阈值,则确定待检测文件为恶意文件。
本发明实施例提供的文件检测方法,文件检测装置可以基于恶意行为的数量来确定待检测文件是否为恶意文件,文件检测装置也可以基于恶意行为的具体内容或恶意行为的发生频率来确定待检测文件是否为恶意文件,均应在本发明实施例的保护范围之内。文件检测装置在计算出恶意行为的数量之后,可以获取第三预设阈值,其中,该第三预设阈值可以是由维护人员预先设定的,进而,文件检测装置可以判断恶意行为的数量是否大于第三预设阈值,即判断待检测文件触发的恶意行为是否超过第三预设阈值。文件检测装置在计算出恶意行为的数量之后,可以获取第三预设阈值,其中,该第三预设阈值可以是由维护人员预先设定的,进而,文件检测装置可以判断恶意行为的数量是否大于第三预设阈值,即判断待检测文件触发的恶意行为是否超过第三预设阈值。
可选地,用于运行待检测文件的基本信息包括以下一种或几种的组合:待检测文件的文件名称、文件类型、应用操作系统、是否32位,消息摘要算法MD5、文件大小、安全哈希算法SHA1、SHA256、提交时间、提交来源、文件类型以及byte数组。
可选地,监控行为记录包括以下一种或几种的组合:创建NtCreateFile函数、删除NtDeleteFile函数和NtSetinformationFile函数、注册表创建NtCreateKey函数、注册表赋值NtSetValueKey函数。
由此可知,现有技术存在的采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的问题,本发明提出一种基于恶意行为集合进行文件检测的方法,从而达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例3
根据本发明实施例,还提供了一种用于实施上述方法实施例的装置实施例,本申请上述实施例所提供的装置可以在计算机终端上运行。
图8是根据本申请实施例的文件检测装置的结构示意图。
如图8所示,该文件检测装置可以包括第一获取单元802、第一发送单元804、第一接收单元806、第一确定单元808以及第二确定单元810。
其中,第一获取单元802,用于获取文件检测任务,其中,所述文件检测任务至少包括待检测文件的存储地址以及用于运行所述待检测文件的基本信息;第一发送单元804,用于将所述文件检测任务发送至检测引擎,其中,由所述检测引擎根据所述存储地址从文件服务器中获取所述待检测文件,基于所述用于运行所述待检测文件的基本信息运行并监控所述待检测文件,生成对应所述待检测文件的监控行为记录;第一接收单元806,用于接收所述检测引擎返回的所述监控行为记录;第一确定单元808,用于确定所述监控行为记录中与预设的恶意行为集合相同的恶意行为;第二确定单元810,用于根据所述恶意行为,确定所述待检测文件是否为恶意文件。
由上可知,本申请上述实施例三所提供的方案,通过生成待检测文件的监控行为记录,文件检测装置在接收到待检测文件的监控行为记录后,根据预设的恶意行为集合判断待检测文件是否为恶意文件,达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果,进而解决了由于现有技术采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的技术问题。
此处需要说明的是,上述第一获取单元802、第一发送单元804、第一接收单元806、第一确定单元808以及第二确定单元810对应于实施例一中的步骤S202至步骤S210,五个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图9所示,生成单元90,用于生成所述预设的恶意行为集合,其中,所述生成单元90可以包括:创建模块902、获取模块904、第一计算模块906、生成模块908以及处理模块910。
其中,创建模块902,用于创建第一训练样本集合和第二训练样本集合,其中,所述第一训练样本集合包括至少一个恶意样本文件,第二训练样本集合包括至少一个正常样本文件;获取模块904,用于获取运行每个所述恶意样本文件时的第一样本行为记录,以及运行每个所述正常样本文件时的第二样本行为记录;第一计算模块906,用于计算每个所述第一样本行为记录中各个样本行为的第一行为频率,以及每个所述第二样本行为中各个样本行为的第二行为频率;生成模块908,用于基于所述第一行为频率和所述第二行为频率,生成第一样本行为集合和第二样本行为集合,其中,所述第一样本行为集合包括第一行为频率大于第一预设阈值的行为,所述第二样本行为集合包括第二行为频率大于第二预设阈值的行为;处理模块910,用于根据所述第一样本行为集合与所述第二样本行为集合,得到所述预设的恶意行为集合。
此处需要说明的是,上述创建模块902、获取模块904、第一计算模块906、生成模块908以及处理模块910对应于实施例一中的步骤S302至步骤S310,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图10所示,所述处理模块910可以包括:运算子模块1002和删除子模块1004。
其中,运算子模块1002,用于对所述第一样本行为集合与所述第二样本行为集合进行交集运算,得到第三样本行为集合,其中,所述第三样本行为集合中包括所述第一样本行为集合与所述第二样本行为集合中相同的行为;删除子模块1004,用于从所述第一样本行为集合中删除所述第三样本行为集合中的行为,得到所述预设的恶意行为集合。
此处需要说明的是,上述运算子模块1002和删除子模块1004对应于实施例一中的步骤S20至步骤S22,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图11所示,所述第二确定单元810可以包括:第二计算模块1102、判断模块1104以及确定模块1106。
其中,第二计算模块1102,用于计算所述恶意行为的数量;判断模块1104,用于判断所述恶意行为的数量是否大于第三预设阈值;确定模块1106,用于若所述恶意行为的数量大于所述第三预设阈值,则确定所述待检测文件为所述恶意文件。
此处需要说明的是,上述第二计算模块1102、判断模块1104以及确定模块1106对应于实施例一中的步骤S30至步骤S34,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图12所示,文件检测装置还可以包括:第二接收单元1202、预处理单元1204、加密单元1206以及控制单元1208。
其中,第二接收单元1202,用于接收客户端发送的所述待检测文件;预处理单元1204,用于对所述待检测文件进行预处理,得到所述用于运行所述待检测文件的基本信息;加密单元1206,用于采用非对称算法对所述待检测文件进行加密;控制单元1208,用于将所述用于运行所述待检测文件的基本信息保存至数据库,以及将加密后的所述待检测文件保存至所述文件服务器。
此处需要说明的是,上述第二接收单元1202、预处理单元1204、加密单元1206以及控制单元1208对应于实施例一中的步骤S402至步骤S408,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
由此可知,现有技术存在的采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的问题,本发明提出一种基于恶意行为集合进行文件检测的方法,从而达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果。
实施例4
根据本发明实施例,还提供了一种用于实施上述方法实施例的装置实施例,本申请上述实施例所提供的装置可以在计算机终端上运行。
图13是根据本申请实施例的检测引擎的结构示意图。
如图13所示,该检测引擎可以包括第三接收单元1302、第二获取单元1304、监控单元1306以及第二发送单元1308。
其中,第三接收单元1302,用于接收文件检测装置发送的文件检测任务,所述文件检测任务中至少包括待检测文件的存储地址以及用于运行所述待检测文件的基本信息;第二获取单元1304,用于根据所述待检测文件的存储地址,从文件服务器中获取所述待检测文件;监控单元1306,用于基于所述用于运行所述待检测文件的基本信息,运行并监控所述待检测文件,生成对应所述待检测文件的监控行为记录;第二发送单元1308,用于将所述监控行为记录发送至所述文件检测装置,其中,由所述文件检测装置确定所述监控行为记录中与预设的恶意行为集合相同的恶意行为,根据所述恶意行为,判断所述待检测文件是否为恶意文件。
由上可知,本申请上述实施例三所提供的方案,通过生成待检测文件的监控行为记录,文件检测装置在接收到待检测文件的监控行为记录后,根据预设的恶意行为集合判断待检测文件是否为恶意文件,达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果,进而解决了由于现有技术采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的技术问题。
此处需要说明的是,上述第三接收单元1302、第二获取单元1304、监控单元1306以及第二发送单元1308对应于实施例二中的步骤S502至步骤S508,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例二提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图14所示,在所述文件检测装置发送的文件检测任务的数量为至少两个的情况下,所述监控单元1306可以包括:建立模块1402和调用模块1404。
其中,建立模块1402,用于基于每个所述用于运行所述待检测文件的基本信息,在建立的至少两个虚拟机中运行各个待检测文件,其中,每个虚拟机对应一个待检测文件;调用模块1404,用于在运行所述各个待检测文件的过程中,调用预设动态链接库DLL中的函数分别对所述各个待检测文件进行监控,生成对应所述各个待检测文件的监控行为记录。
此处需要说明的是,上述建立模块1402和调用模块1404对应于实施例二中的步骤S602至步骤S604,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例二提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,如图15所示,所述各个待检测文件为所述文件检测装置采用非对称算法对所述各个待检测文件进行加密的文件;其中,所述建立模块1402可以包括:获取子模块1502、解密子模块1504、处理子模块1506以及控制子模块1508。
其中,获取子模块1502,用于获取加密后的所述各个待检测文件的解密算法;解密子模块1504,用于依据所述解密算法对所述各个待检测文件进行解密;处理子模块1506,用于根据每个所述用于运行所述待检测文件的基本信息,在所述至少两个虚拟机中构造虚拟运行环境;控制子模块1508,用于基于所述虚拟运行环境,在所述至少两个虚拟机中分别运行所述各个待检测文件,其中,将在运行所述各个待检测文件的过程中产生的读写操作重定向至各个虚拟机配置的地址中。
此处需要说明的是,上述获取子模块1502、解密子模块1504、处理子模块1506以及控制子模块1508对应于实施例二中的步骤S702至步骤S708,该模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例二提供的计算机终端10中,可以通过软件实现,也可以通过硬件实现。
可选地,所述调用模块用于执行以下步骤在运行所述各个待检测文件的过程中,调用预设动态链接库DLL中的函数分别对所述各个待检测文件进行监控,生成对应所述各个待检测文件的监控行为记录:将所述DLL注入所述各个待检测文件;在运行所述各个待检测文件的过程中,采用挂钩HOOK技术对ntdll.dll函数进行监控,生成所述对应所述各个待检测文件的监控行为记录。
由此可知,现有技术存在的采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的问题,本发明提出一种基于恶意行为集合进行文件检测的方法,从而达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果。
实施例5
根据本发明实施例,还提供了一种扫描节点的控制系统,图16是根据本发明实施例的一种文件检测系统的结构示意图。
该系统包括:具有上述任意特征的文件检测装置160,以及与所述文件检测装置连接的具有上述任意特征的检测引擎162。
可选地,客户端收集可疑文件(即待检测文件),通过网络传送至文件检测装置160中的预处理模块,预处理模块对可疑文件进行静态分析,得到可疑文件的基本信息(即用于运行待检测文件的基本信息),并将基本信息保存至数据库,然后采用加密算法(即非对称算法),对可疑文件进行加密,将加密后可疑文件保存到文件服务器,文件检测装置160中的调度模块生成文件检测任务(例如,可以周期性主动生成文件检测任务,也可以在收到维护人员的触发指令时生成文件检测任务,还可以在收到预处理模块依据任务优先级生成触发命令时生成文件检测任务),并调度安排至不同的检测引擎,检测引擎从文件服务器获得加密后的可疑文件,解密并运行可疑文件,同时监控该可疑文件的行为,生成监控行为记录,将监控行为记录传送至文件检测装置160中的分析模块,分析模块依据恶意行为集合对监控行为记录中的行为逐条分析,最后得出该可疑文件是否为恶意文件。
可选地,预处理模块至调度模块传递:可疑文件通过客户端提交后,先经过预处理模块,然后生成基本信息给到调度模块。预处理目前比较简单,对可疑文件算md5、sha1、sha256、扩展名、大小、解压缩以及文件的一些具体信息等,例如文件真实格式的判断,所应用的操作系统类型,32位或者64位系统,这样在调度模块可以根据样本的信息来做不同的调度。生成的基本信息包含上述预处理的结果:文件名称,文件类型,应用操作系统(windows、linux),是否32位,md5,大小,sha1,sha256,提交时间,提交来源,文件内部存储地址(目前是tfsname),文件内部存储类型(表示是tfs还是url还是oss或者其他),以及文件本体的byte数组。
可选地,调度模块至检测引擎传递:调度模块的文件检测任务是基于队列的,恶意程序队列存储上面提到的基本信息,对应的检测引擎注册到调度模块,调度模块根据检测引擎的注册信息,得知该去哪个队列去取可疑文件,返回json格式的信息给检测引擎,json格式是可配置的,内容来源还是上述基本信息。一般情况json内容包含文件名称、后缀、大小、MD5、文件内部存储地址(tfsname)等。
本发明实施例的文件检测系统整体架构可以采用JAVA语言开发,其中因为在系统中增加了对待检测文件的加解密,需要考虑性能问题,相关模块编程语言采用C/C++较为理想,检测模块涉及到进程行为监控,将采用C语言开发。另外加解密算法考虑采用非对称算法,可使得即使样本文件被第三方截获也不能被破解。
本发明实施例提供的文件检测系统具有如下优点:
(1)全面文件检测
本发明实施例的文件检测系统将静态分析与动态分析相结合,将待检测文件通过静态分析得到的基本信息与动态运行产生的监控行为记录相结合,更全面的对文件进行诊断。
(2)高检测效率
本发明实施例的文件检测系统采用自设计轻量级虚拟机,可在同一系统平台同时运行多个虚拟机,即同时检测多个样本,充分利用了机器的性能,提高了检测效率。
(3)文件保密性高
本发明实施例的文件检测系统对待检测文件在中不同位置(数据库、检测引擎)进行加解密,从而保护业务方对样本文件私密性的要求。
由此可知,现有技术存在的采用基于特征码的技术进行文件检测造成的在病毒文件稍有变化时,文件检测准确性较低的问题,本发明提出一种基于恶意行为集合进行文件检测的方法,从而达到了采用恶意行为比对的方式进行文件检测,细化文件检测粒度的目的,从而实现了文件检测准确性较高的技术效果。
实施例6
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的文件检测方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取文件检测任务,其中,所述文件检测任务至少包括待检测文件的存储地址以及用于运行所述待检测文件的基本信息;将所述文件检测任务发送至检测引擎,其中,由所述检测引擎根据所述存储地址从文件服务器中获取所述待检测文件,基于所述用于运行所述待检测文件的基本信息运行并监控所述待检测文件,生成对应所述待检测文件的监控行为记录;接收所述检测引擎返回的所述监控行为记录;确定所述监控行为记录中与预设的恶意行为集合相同的恶意行为;根据所述恶意行为,确定所述待检测文件是否为恶意文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:生成所述预设的恶意行为集合。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:创建第一训练样本集合和第二训练样本集合,其中,所述第一训练样本集合包括至少一个恶意样本文件,第二训练样本集合包括至少一个正常样本文件;获取运行每个所述恶意样本文件时的第一样本行为记录,以及运行每个所述正常样本文件时的第二样本行为记录;计算每个所述第一样本行为记录中各个样本行为的第一行为频率,以及每个所述第二样本行为中各个样本行为的第二行为频率;基于所述第一行为频率和所述第二行为频率,生成第一样本行为集合和第二样本行为集合,其中,所述第一样本行为集合包括第一行为频率大于第一预设阈值的行为,所述第二样本行为集合包括第二行为频率大于第二预设阈值的行为;根据所述第一样本行为集合与所述第二样本行为集合,得到所述预设的恶意行为集合。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:对所述第一样本行为集合与所述第二样本行为集合进行交集运算,得到第三样本行为集合,其中,所述第三样本行为集合中包括所述第一样本行为集合与所述第二样本行为集合中相同的行为;从所述第一样本行为集合中删除所述第三样本行为集合中的行为,得到所述预设的恶意行为集合。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:计算所述恶意行为的数量;判断所述恶意行为的数量是否大于第三预设阈值;若所述恶意行为的数量大于所述第三预设阈值,则确定所述待检测文件为所述恶意文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:接收客户端发送的所述待检测文件;对所述待检测文件进行预处理,得到所述用于运行所述待检测文件的基本信息;采用非对称算法对所述待检测文件进行加密;将所述用于运行所述待检测文件的基本信息保存至数据库,以及将加密后的所述待检测文件保存至所述文件服务器;其中,在所述检测引擎根据所述存储地址从所述文件服务器中获取所述待检测文件之后,所述基于所述用于运行所述待检测文件的基本信息运行所述待检测文件之前,所述方法还包括:所述检测引擎对所述待检测文件进行解密。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。
实施例7
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例二所提供的文件检测方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收文件检测装置发送的文件检测任务,所述文件检测任务中至少包括待检测文件的存储地址以及用于运行所述待检测文件的基本信息;根据所述待检测文件的存储地址,从文件服务器中获取所述待检测文件;基于所述用于运行所述待检测文件的基本信息,运行并监控所述待检测文件,生成对应所述待检测文件的监控行为记录;将所述监控行为记录发送至所述文件检测装置,其中,由所述文件检测装置确定所述监控行为记录中与预设的恶意行为集合相同的恶意行为,根据所述恶意行为,判断所述待检测文件是否为恶意文件。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:基于每个所述用于运行所述待检测文件的基本信息,在建立的至少两个虚拟机中运行各个待检测文件,其中,每个虚拟机对应一个待检测文件;在运行所述各个待检测文件的过程中,调用预设动态链接库DLL中的函数分别对所述各个待检测文件进行监控,生成对应所述各个待检测文件的监控行为记录。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:获取加密后的所述各个待检测文件的解密算法;依据所述解密算法对所述各个待检测文件进行解密;根据每个所述用于运行所述待检测文件的基本信息,在所述至少两个虚拟机中构造虚拟运行环境;基于所述虚拟运行环境,在所述至少两个虚拟机中分别运行所述各个待检测文件,其中,将在运行所述各个待检测文件的过程中产生的读写操作重定向至各个虚拟机配置的地址中。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:将所述DLL注入所述各个待检测文件;在运行所述各个待检测文件的过程中,采用挂钩HOOK技术对ntdll.dll函数进行监控,生成所述对应所述各个待检测文件的监控行为记录。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的订单信息的处理装置,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (24)

1.一种文件检测方法,其特征在于,包括:
获取文件检测任务,其中,所述文件检测任务至少包括待检测文件的存储地址以及用于运行所述待检测文件的基本信息;
将所述文件检测任务发送至检测引擎,其中,由所述检测引擎根据所述存储地址从文件服务器中获取所述待检测文件,基于所述用于运行所述待检测文件的基本信息运行并监控所述待检测文件,生成对应所述待检测文件的监控行为记录;
接收所述检测引擎返回的所述监控行为记录;
确定所述监控行为记录中与预设的恶意行为集合相同的恶意行为;
根据所述恶意行为,确定所述待检测文件是否为恶意文件;
其中,所述基本信息包括以下一种或几种的组合:待检测文件的文件名称、文件类型、应用操作系统、是否32位,MD5、文件大小、SHA1、SHA256、提交时间、提交来源、文件类型以及byte数组。
2.根据权利要求1所述的方法,其特征在于,在所述确定所述监控行为记录中与预设的恶意行为集合相同的恶意行为之前,所述方法还包括:生成所述预设的恶意行为集合,其中,生成所述预设的恶意行为集合包括:
创建第一训练样本集合和第二训练样本集合,其中,所述第一训练样本集合包括至少一个恶意样本文件,第二训练样本集合包括至少一个正常样本文件;
获取运行每个所述恶意样本文件时的第一样本行为记录,以及运行每个所述正常样本文件时的第二样本行为记录;
计算每个所述第一样本行为记录中各个样本行为的第一行为频率,以及每个所述第二样本行为中各个样本行为的第二行为频率;
基于所述第一行为频率和所述第二行为频率,生成第一样本行为集合和第二样本行为集合,其中,所述第一样本行为集合包括第一行为频率大于第一预设阈值的行为,所述第二样本行为集合包括第二行为频率大于第二预设阈值的行为;
根据所述第一样本行为集合与所述第二样本行为集合,得到所述预设的恶意行为集合。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一样本行为集合与所述第二样本行为集合,得到所述预设的恶意行为集合包括:
对所述第一样本行为集合与所述第二样本行为集合进行交集运算,得到第三样本行为集合,其中,所述第三样本行为集合中包括所述第一样本行为集合与所述第二样本行为集合中相同的行为;
从所述第一样本行为集合中删除所述第三样本行为集合中的行为,得到所述预设的恶意行为集合。
4.根据权利要求1所述的方法,其特征在于,所述根据所述恶意行为,确定所述待检测文件是否为恶意文件包括:
计算所述恶意行为的数量;
判断所述恶意行为的数量是否大于第三预设阈值;
若所述恶意行为的数量大于所述第三预设阈值,则确定所述待检测文件为所述恶意文件。
5.根据权利要求1所述的方法,其特征在于,在所述获取文件检测任务之前,所述方法还包括:
接收客户端发送的所述待检测文件;
对所述待检测文件进行预处理,得到所述用于运行所述待检测文件的基本信息;
采用非对称算法对所述待检测文件进行加密;
将所述用于运行所述待检测文件的基本信息保存至数据库,以及将加密后的所述待检测文件保存至所述文件服务器;
其中,在所述检测引擎根据所述存储地址从所述文件服务器中获取所述待检测文件之后,所述基于所述用于运行所述待检测文件的基本信息运行所述待检测文件之前,所述方法还包括:
所述检测引擎对所述待检测文件进行解密。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述用于运行所述待检测文件的基本信息包括以下一种或几种的组合:所述待检测文件的文件名称、文件类型、应用操作系统、是否32位,消息摘要算法MD5、文件大小、安全哈希算法SHA1、SHA256、提交时间、提交来源、文件类型以及byte数组。
7.一种文件检测方法,其特征在于,包括:
接收文件检测装置发送的文件检测任务,所述文件检测任务中至少包括待检测文件的存储地址以及用于运行所述待检测文件的基本信息;
根据所述待检测文件的存储地址,从文件服务器中获取所述待检测文件;
基于所述用于运行所述待检测文件的基本信息,运行并监控所述待检测文件,生成对应所述待检测文件的监控行为记录;
将所述监控行为记录发送至所述文件检测装置,其中,由所述文件检测装置确定所述监控行为记录中与预设的恶意行为集合相同的恶意行为,根据所述恶意行为,判断所述待检测文件是否为恶意文件;
其中,所述基本信息包括以下一种或几种的组合:待检测文件的文件名称、文件类型、应用操作系统、是否32位,MD5、文件大小、SHA1、SHA256、提交时间、提交来源、文件类型以及byte数组。
8.根据权利要求7所述的方法,其特征在于,在所述文件检测装置发送的文件检测任务的数量为至少两个的情况下,所述基于所述用于运行所述待检测文件的基本信息,运行并监控所述待检测文件,生成对应所述待检测文件的监控行为记录,包括:
基于每个所述用于运行所述待检测文件的基本信息,在建立的至少两个虚拟机中运行各个待检测文件,其中,每个虚拟机对应一个待检测文件;
在运行所述各个待检测文件的过程中,调用预设动态链接库DLL中的函数分别对所述各个待检测文件进行监控,生成对应所述各个待检测文件的监控行为记录。
9.根据权利要求8所述的方法,其特征在于,所述各个待检测文件为所述文件检测装置采用非对称算法对所述各个待检测文件进行加密的文件;
其中,所述基于每个所述用于运行所述待检测文件的基本信息,在建立的至少两个虚拟机中运行各个待检测文件,包括:
获取加密后的所述各个待检测文件的解密算法;
依据所述解密算法对所述各个待检测文件进行解密;
根据每个所述用于运行所述待检测文件的基本信息,在所述至少两个虚拟机中构造虚拟运行环境;
基于所述虚拟运行环境,在所述至少两个虚拟机中分别运行所述各个待检测文件,其中,将在运行所述各个待检测文件的过程中产生的读写操作重定向至各个虚拟机配置的地址中。
10.根据权利要求8所述的方法,其特征在于,所述在运行所述各个待检测文件的过程中,调用预设动态链接库DLL中的函数分别对所述各个待检测文件进行监控,生成对应所述各个待检测文件的监控行为记录,包括:
将所述DLL注入所述各个待检测文件;
在运行所述各个待检测文件的过程中,采用挂钩HOOK技术对ntdll.dll函数进行监控,生成所述对应所述各个待检测文件的监控行为记录。
11.根据权利要求7所述的方法,其特征在于,所述文件检测装置生成所述预设的恶意行为集合的方法,包括:
所述文件检测装置创建第一训练样本集合和第二训练样本集合,其中,所述第一训练样本集合包括至少一个恶意样本文件,第二训练样本集合包括至少一个正常样本文件;
所述文件检测装置获取运行每个所述恶意样本文件时的第一样本行为记录,以及运行每个所述正常样本文件时的第二样本行为记录;
所述文件检测装置计算每个所述第一样本行为记录中各个样本行为的第一行为频率,以及每个所述第二样本行为中各个样本行为的第二行为频率;
所述文件检测装置基于所述第一行为频率和所述第二行为频率,生成第一样本行为集合和第二样本行为集合,其中,所述第一样本行为集合包括第一行为频率大于第一预设阈值的行为,所述第二样本行为集合包括第二行为频率大于第二预设阈值的行为;
所述文件检测装置根据所述第一样本行为集合与所述第二样本行为集合,得到所述预设的恶意行为集合。
12.根据权利要求11所述的方法,其特征在于,所述文件检测装置根据所述第一样本行为集合与所述第二样本行为集合,得到所述预设的恶意行为集合,包括:
所述文件检测装置对所述第一样本行为集合与所述第二样本行为集合进行交集运算,得到第三样本行为集合,其中,所述第三样本行为集合中包括所述第一样本行为集合与所述第二样本行为集合中相同的行为;
所述文件检测装置从所述第一样本行为集合中删除所述第三样本行为集合中的行为,得到所述预设的恶意行为集合。
13.根据权利要求12所述的方法,其特征在于,所述文件检测装置根据所述恶意行为,确定所述待检测文件是否为恶意文件包括:
所述文件检测装置计算所述恶意行为的数量;
所述文件检测装置判断所述恶意行为的数量是否大于第三预设阈值;
若所述恶意行为的数量大于所述第三预设阈值,则确定所述待检测文件为所述恶意文件。
14.根据权利要求7至13中任一项所述的方法,其特征在于,所述用于运行所述待检测文件的基本信息包括以下一种或几种的组合:所述待检测文件的文件名称、文件类型、应用操作系统、是否32位,消息摘要算法MD5、文件大小、安全哈希算法SHA1、SHA256、提交时间、提交来源、文件类型以及byte数组。
15.一种文件检测装置,其特征在于,包括:
第一获取单元,用于获取文件检测任务,其中,所述文件检测任务至少包括待检测文件的存储地址以及用于运行所述待检测文件的基本信息;
第一发送单元,用于将所述文件检测任务发送至检测引擎,其中,由所述检测引擎根据所述存储地址从文件服务器中获取所述待检测文件,基于所述用于运行所述待检测文件的基本信息运行并监控所述待检测文件,生成对应所述待检测文件的监控行为记录;
第一接收单元,用于接收所述检测引擎返回的所述监控行为记录;
第一确定单元,用于确定所述监控行为记录中与预设的恶意行为集合相同的恶意行为;
第二确定单元,用于根据所述恶意行为,确定所述待检测文件是否为恶意文件;
其中,所述基本信息包括以下一种或几种的组合:待检测文件的文件名称、文件类型、应用操作系统、是否32位,MD5、文件大小、SHA1、SHA256、提交时间、提交来源、文件类型以及byte数组。
16.根据权利要求15所述的装置,其特征在于,还包括:生成单元,用于生成所述预设的恶意行为集合,其中,所述生成单元包括:
创建模块,用于创建第一训练样本集合和第二训练样本集合,其中,所述第一训练样本集合包括至少一个恶意样本文件,第二训练样本集合包括至少一个正常样本文件;
获取模块,用于获取运行每个所述恶意样本文件时的第一样本行为记录,以及运行每个所述正常样本文件时的第二样本行为记录;
第一计算模块,用于计算每个所述第一样本行为记录中各个样本行为的第一行为频率,以及每个所述第二样本行为中各个样本行为的第二行为频率;
生成模块,用于基于所述第一行为频率和所述第二行为频率,生成第一样本行为集合和第二样本行为集合,其中,所述第一样本行为集合包括第一行为频率大于第一预设阈值的行为,所述第二样本行为集合包括第二行为频率大于第二预设阈值的行为;
处理模块,用于根据所述第一样本行为集合与所述第二样本行为集合,得到所述预设的恶意行为集合。
17.根据权利要求16所述的装置,其特征在于,所述处理模块包括:
运算子模块,用于对所述第一样本行为集合与所述第二样本行为集合进行交集运算,得到第三样本行为集合,其中,所述第三样本行为集合中包括所述第一样本行为集合与所述第二样本行为集合中相同的行为;
删除子模块,用于从所述第一样本行为集合中删除所述第三样本行为集合中的行为,得到所述预设的恶意行为集合。
18.根据权利要求15所述的装置,其特征在于,所述第二确定单元包括:
第二计算模块,用于计算所述恶意行为的数量;
判断模块,用于判断所述恶意行为的数量是否大于第三预设阈值;
确定模块,用于若所述恶意行为的数量大于所述第三预设阈值,则确定所述待检测文件为所述恶意文件。
19.根据权利要求15所述的装置,其特征在于,还包括:
第二接收单元,用于接收客户端发送的所述待检测文件;
预处理单元,用于对所述待检测文件进行预处理,得到所述用于运行所述待检测文件的基本信息;
加密单元,用于采用非对称算法对所述待检测文件进行加密;
控制单元,用于将所述用于运行所述待检测文件的基本信息保存至数据库,以及将加密后的所述待检测文件保存至所述文件服务器。
20.一种检测引擎,其特征在于,包括:
第三接收单元,用于接收文件检测装置发送的文件检测任务,所述文件检测任务中至少包括待检测文件的存储地址以及用于运行所述待检测文件的基本信息;
第二获取单元,用于根据所述待检测文件的存储地址,从文件服务器中获取所述待检测文件;
监控单元,用于基于所述用于运行所述待检测文件的基本信息,运行并监控所述待检测文件,生成对应所述待检测文件的监控行为记录;
第二发送单元,用于将所述监控行为记录发送至所述文件检测装置,其中,由所述文件检测装置确定所述监控行为记录中与预设的恶意行为集合相同的恶意行为,根据所述恶意行为,判断所述待检测文件是否为恶意文件;
其中,所述基本信息包括以下一种或几种的组合:待检测文件的文件名称、文件类型、应用操作系统、是否32位,MD5、文件大小、SHA1、SHA256、提交时间、提交来源、文件类型以及byte数组。
21.根据权利要求20所述的检测引擎,其特征在于,在所述文件检测装置发送的文件检测任务的数量为至少两个的情况下,所述监控单元包括:
建立模块,用于基于每个所述用于运行所述待检测文件的基本信息,在建立的至少两个虚拟机中运行各个待检测文件,其中,每个虚拟机对应一个待检测文件;
调用模块,用于在运行所述各个待检测文件的过程中,调用预设动态链接库DLL中的函数分别对所述各个待检测文件进行监控,生成对应所述各个待检测文件的监控行为记录。
22.根据权利要求21所述的检测引擎,其特征在于,所述各个待检测文件为所述文件检测装置采用非对称算法对所述各个待检测文件进行加密的文件;
其中,所述建立模块包括:
获取子模块,用于获取加密后的所述各个待检测文件的解密算法;
解密子模块,用于依据所述解密算法对所述各个待检测文件进行解密;
处理子模块,用于根据每个所述用于运行所述待检测文件的基本信息,在所述至少两个虚拟机中构造虚拟运行环境;
控制子模块,用于基于所述虚拟运行环境,在所述至少两个虚拟机中分别运行所述各个待检测文件,其中,将在运行所述各个待检测文件的过程中产生的读写操作重定向至各个虚拟机配置的地址中。
23.根据权利要求21所述的检测引擎,其特征在于,所述调用模块用于执行以下步骤在运行所述各个待检测文件的过程中,调用预设动态链接库DLL中的函数分别对所述各个待检测文件进行监控,生成对应所述各个待检测文件的监控行为记录:
将所述DLL注入所述各个待检测文件;
在运行所述各个待检测文件的过程中,采用挂钩HOOK技术对ntdll.dll函数进行监控,生成所述对应所述各个待检测文件的监控行为记录。
24.一种文件检测系统,其特征在于,包括如权利要求15至19中任一项所述的文件检测装置,以及与所述文件检测装置连接的如权利要求20至23中任一项所述的检测引擎。
CN201510260757.9A 2015-05-20 2015-05-20 文件检测方法、装置及系统 Active CN106295328B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201510260757.9A CN106295328B (zh) 2015-05-20 2015-05-20 文件检测方法、装置及系统
TW104142284A TWI678616B (zh) 2015-05-20 2015-12-16 文件檢測方法、裝置及系統
US15/149,938 US9928364B2 (en) 2015-05-20 2016-05-09 Detecting malicious files
PCT/US2016/031672 WO2016186902A1 (en) 2015-05-20 2016-05-10 Detecting malicious files
US15/892,670 US10489583B2 (en) 2015-05-20 2018-02-09 Detecting malicious files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510260757.9A CN106295328B (zh) 2015-05-20 2015-05-20 文件检测方法、装置及系统

Publications (2)

Publication Number Publication Date
CN106295328A CN106295328A (zh) 2017-01-04
CN106295328B true CN106295328B (zh) 2019-06-18

Family

ID=57325428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510260757.9A Active CN106295328B (zh) 2015-05-20 2015-05-20 文件检测方法、装置及系统

Country Status (3)

Country Link
US (2) US9928364B2 (zh)
CN (1) CN106295328B (zh)
TW (1) TWI678616B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811665B1 (en) 2013-07-30 2017-11-07 Palo Alto Networks, Inc. Static and dynamic security analysis of apps for mobile devices
US10019575B1 (en) 2013-07-30 2018-07-10 Palo Alto Networks, Inc. Evaluating malware in a virtual machine using copy-on-write
US9489516B1 (en) * 2014-07-14 2016-11-08 Palo Alto Networks, Inc. Detection of malware using an instrumented virtual machine environment
US9805193B1 (en) 2014-12-18 2017-10-31 Palo Alto Networks, Inc. Collecting algorithmically generated domains
US9646159B2 (en) 2015-03-31 2017-05-09 Juniper Networks, Inc. Multi-file malware analysis
US10382468B2 (en) * 2017-07-03 2019-08-13 Juniper Networks, Inc. Malware identification via secondary file analysis
CN107426201A (zh) * 2017-07-13 2017-12-01 北京金山安全管理系统技术有限公司 可执行文件的处理方法及装置、存储介质和处理器
US11416612B2 (en) * 2018-03-16 2022-08-16 Acronis International Gmbh Protecting against malware code injections in trusted processes
US11494491B2 (en) * 2018-03-16 2022-11-08 Acronis International Gmbh Systems and methods for protecting against malware code injections in trusted processes by a multi-target injector
CN109871690A (zh) * 2018-05-04 2019-06-11 360企业安全技术(珠海)有限公司 设备权限的管理方法及装置、存储介质、电子装置
US20190362075A1 (en) * 2018-05-22 2019-11-28 Fortinet, Inc. Preventing users from accessing infected files by using multiple file storage repositories and a secure data transfer agent logically interposed therebetween
US10956573B2 (en) 2018-06-29 2021-03-23 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
US11010474B2 (en) 2018-06-29 2021-05-18 Palo Alto Networks, Inc. Dynamic analysis techniques for applications
CN108920956B (zh) * 2018-07-03 2021-05-14 亚信科技(成都)有限公司 基于情景感知的机器学习方法及系统
US11036856B2 (en) 2018-09-16 2021-06-15 Fortinet, Inc. Natively mounting storage for inspection and sandboxing in the cloud
CN110955891B (zh) * 2018-09-26 2023-05-02 阿里巴巴集团控股有限公司 文件检测的方法、装置、系统和数据处理法的方法
CN109669776B (zh) * 2018-12-12 2023-08-04 北京文章无忧信息科技有限公司 检测任务的处理方法、装置和系统
CN109992969B (zh) * 2019-03-25 2023-03-21 腾讯科技(深圳)有限公司 一种恶意文件检测方法、装置及检测平台
US11288369B1 (en) * 2019-03-28 2022-03-29 Ca, Inc. Systems and methods for detecting and protecting against malicious use of legitimate computing-system tools
CN111030978B (zh) * 2019-06-19 2022-11-25 安天科技集团股份有限公司 一种基于区块链的恶意数据获取方法、装置及存储设备
US11288401B2 (en) * 2019-09-11 2022-03-29 AO Kaspersky Lab System and method of reducing a number of false positives in classification of files
US11196765B2 (en) 2019-09-13 2021-12-07 Palo Alto Networks, Inc. Simulating user interactions for malware analysis
US11522891B2 (en) 2019-11-26 2022-12-06 Micro Focus Llc Machine learning anomaly detection of process-loaded DLLs
US11645390B2 (en) * 2020-03-16 2023-05-09 Vmware, Inc. Cloud-based method to increase integrity of a next generation antivirus (NGAV) security solution in a virtualized computing environment
CN111159707A (zh) * 2020-04-07 2020-05-15 北京安博通科技股份有限公司 恶意dll注入的检测方法及装置
US11768933B2 (en) * 2020-08-11 2023-09-26 Saudi Arabian Oil Company System and method for protecting against ransomware without the use of signatures or updates
WO2022191843A1 (en) * 2021-03-11 2022-09-15 Hewlett-Packard Development Company, L.P. Instructions to process files in virtual machines
CN116737673B (zh) * 2022-09-13 2024-03-15 荣耀终端有限公司 嵌入式操作系统中文件系统的调度方法、设备及存储介质
CN115630020B (zh) * 2022-12-23 2023-03-10 北京亿赛通科技发展有限责任公司 一种安全扫描结果复用的方法、装置及电子设备

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7360249B1 (en) * 2004-01-13 2008-04-15 Symantec Corporation Refining behavioral detections for early blocking of malicious code
US7539871B1 (en) * 2004-02-23 2009-05-26 Sun Microsystems, Inc. System and method for identifying message propagation
US8584239B2 (en) * 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
CN1753359B (zh) * 2004-09-24 2011-01-19 华为技术有限公司 实现传输SyncML同步数据的方法
US7765400B2 (en) * 2004-11-08 2010-07-27 Microsoft Corporation Aggregation of the knowledge base of antivirus software
US20070056038A1 (en) * 2005-09-06 2007-03-08 Lok Technology, Inc. Fusion instrusion protection system
US20080016339A1 (en) 2006-06-29 2008-01-17 Jayant Shukla Application Sandbox to Detect, Remove, and Prevent Malware
US8387139B2 (en) * 2008-02-04 2013-02-26 Microsoft Corporation Thread scanning and patching to disable injected malware threats
GB2470928A (en) * 2009-06-10 2010-12-15 F Secure Oyj False alarm identification for malware using clean scanning
US8776218B2 (en) * 2009-07-21 2014-07-08 Sophos Limited Behavioral-based host intrusion prevention system
RU2420791C1 (ru) * 2009-10-01 2011-06-10 ЗАО "Лаборатория Касперского" Метод отнесения ранее неизвестного файла к коллекции файлов в зависимости от степени схожести
US8677491B2 (en) * 2010-02-04 2014-03-18 F-Secure Oyj Malware detection
US20120137340A1 (en) * 2010-11-29 2012-05-31 Palo Alto Research Center Incorporated Implicit authentication
US9111094B2 (en) * 2011-01-21 2015-08-18 F-Secure Corporation Malware detection
US8438644B2 (en) * 2011-03-07 2013-05-07 Isight Partners, Inc. Information system security based on threat vectors
US9047441B2 (en) 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
CN102955912B (zh) * 2011-08-23 2013-11-20 腾讯科技(深圳)有限公司 一种程序恶意属性判别方法和服务器
US9672355B2 (en) 2011-09-16 2017-06-06 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
CN102724176A (zh) 2012-02-23 2012-10-10 北京市计算中心 一种面向云计算环境的入侵检测系统
US8996887B2 (en) 2012-02-24 2015-03-31 Google Inc. Log structured volume encryption for virtual machines
US9298912B2 (en) * 2012-04-24 2016-03-29 Behaviometrics Ab System and method for distinguishing human swipe input sequence behavior and using a confidence value on a score to detect fraudsters
US9038178B1 (en) * 2012-06-25 2015-05-19 Emc Corporation Detection of malware beaconing activities
US9088606B2 (en) * 2012-07-05 2015-07-21 Tenable Network Security, Inc. System and method for strategic anti-malware monitoring
US9245120B2 (en) * 2012-07-13 2016-01-26 Cisco Technologies, Inc. Method and apparatus for retroactively detecting malicious or otherwise undesirable software as well as clean software through intelligent rescanning
CN103632088A (zh) 2012-08-28 2014-03-12 阿里巴巴集团控股有限公司 一种木马检测方法及装置
US9292688B2 (en) 2012-09-26 2016-03-22 Northrop Grumman Systems Corporation System and method for automated machine-learning, zero-day malware detection
US9830452B2 (en) * 2012-11-30 2017-11-28 Beijing Qihoo Technology Company Limited Scanning device, cloud management device, method and system for checking and killing malicious programs
US9922192B1 (en) * 2012-12-07 2018-03-20 Bromium, Inc. Micro-virtual machine forensics and detection
RU2530210C2 (ru) 2012-12-25 2014-10-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ выявления вредоносных программ, препятствующих штатному взаимодействию пользователя с интерфейсом операционной системы
US9106692B2 (en) 2013-01-31 2015-08-11 Northrop Grumman Systems Corporation System and method for advanced malware analysis
US9491187B2 (en) * 2013-02-15 2016-11-08 Qualcomm Incorporated APIs for obtaining device-specific behavior classifier models from the cloud
US9208317B2 (en) 2013-02-17 2015-12-08 Check Point Software Technologies Ltd. Simultaneous screening of untrusted digital files
US9471782B2 (en) * 2013-04-08 2016-10-18 Tencent Technology (Shenzhen) Company Limited File scanning method and system, client and server
US9361459B2 (en) 2013-04-19 2016-06-07 Lastline, Inc. Methods and systems for malware detection based on environment-dependent behavior
US9571511B2 (en) * 2013-06-14 2017-02-14 Damballa, Inc. Systems and methods for traffic classification
CN103368973B (zh) 2013-07-25 2016-02-17 浪潮(北京)电子信息产业有限公司 一种云操作系统安全体系
TWI515598B (zh) * 2013-08-23 2016-01-01 國立交通大學 產生純化惡意程式的方法、偵測惡意程式之方法及其系統
GB2518636B (en) * 2013-09-26 2016-03-09 F Secure Corp Distributed sample analysis
TWI553503B (zh) * 2014-02-27 2016-10-11 國立交通大學 產生候選鈎點以偵測惡意程式之方法及其系統
US9684787B2 (en) * 2014-04-08 2017-06-20 Qualcomm Incorporated Method and system for inferring application states by performing behavioral analysis operations in a mobile device

Also Published As

Publication number Publication date
US20180165449A1 (en) 2018-06-14
US20160342787A1 (en) 2016-11-24
CN106295328A (zh) 2017-01-04
TW201642135A (zh) 2016-12-01
TWI678616B (zh) 2019-12-01
US9928364B2 (en) 2018-03-27
US10489583B2 (en) 2019-11-26

Similar Documents

Publication Publication Date Title
CN106295328B (zh) 文件检测方法、装置及系统
US10581894B2 (en) Assessing effectiveness of cybersecurity technologies
EP3399716B1 (en) Network security threat intelligence sharing
US10445502B1 (en) Susceptible environment detection system
Al-Hawawreh et al. Targeted ransomware: A new cyber threat to edge system of brownfield industrial Internet of Things
US9661003B2 (en) System and method for forensic cyber adversary profiling, attribution and attack identification
US9584541B1 (en) Cyber threat identification and analytics apparatuses, methods and systems
EP2996061A1 (en) System and method for monitoring data and providing alerts
US20160285914A1 (en) Exploit detection system
CN109711170A (zh) 防护pdf的异常操作行为的方法及装置
CN111400722B (zh) 扫描小程序的方法、装置、计算机设备和存储介质
US20150347773A1 (en) Method and system for implementing data security policies using database classification
CN103617395A (zh) 一种基于云安全拦截广告程序的方法、装置和系统
US20240007487A1 (en) Asset Remediation Trend Map Generation and Utilization for Threat Mitigation
US11762991B2 (en) Attack kill chain generation and utilization for threat analysis
US20230370439A1 (en) Network action classification and analysis using widely distributed honeypot sensor nodes
US20230308487A1 (en) System and method for secure evaluation of cyber detection products
Alqatawna et al. Toward a detection framework for android botnet
US20230362142A1 (en) Network action classification and analysis using widely distributed and selectively attributed sensor nodes and cloud-based processing
US20210352104A1 (en) Detecting malicious activity in a cluster
CN108345795A (zh) 用于检测和分类恶意软件的系统和方法
CN111181914B (zh) 一种局域网内部数据安全监控方法、装置、系统和服务器
US11636198B1 (en) System and method for cybersecurity analyzer update and concurrent management system
US20240121249A1 (en) System for detecting lateral movement computing attacks
Govindaraj et al. Precognition: Automated digital forensic readiness system for mobile computing devices in enterprises

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