CN110543759A - 恶意文件检测方法、装置、计算机设备和存储介质 - Google Patents

恶意文件检测方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110543759A
CN110543759A CN201910740213.0A CN201910740213A CN110543759A CN 110543759 A CN110543759 A CN 110543759A CN 201910740213 A CN201910740213 A CN 201910740213A CN 110543759 A CN110543759 A CN 110543759A
Authority
CN
China
Prior art keywords
file
sandbox
virtual
suspicious
execution result
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.)
Pending
Application number
CN201910740213.0A
Other languages
English (en)
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.)
China Southern Power Grid Co Ltd
Southern Power Grid Digital Grid Research Institute Co Ltd
Original Assignee
China Southern Power Grid Co Ltd
Southern Power Grid Digital Grid Research Institute 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 China Southern Power Grid Co Ltd, Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical China Southern Power Grid Co Ltd
Priority to CN201910740213.0A priority Critical patent/CN110543759A/zh
Publication of CN110543759A publication Critical patent/CN110543759A/zh
Pending legal-status Critical Current

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
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种恶意文件检测方法、装置、计算机设备和存储介质。所述方法包括:在沙箱环境池中运行可疑文件;沙箱环境池中包括至少两个类别的虚拟沙箱;获取可疑文件在沙箱环境池中的执行结果信息;执行结果信息包括由各虚拟沙箱的执行结果组成的结果矩阵;根据执行结果信息检测可疑文件是否为恶意文件。采用本方法能够提升检测准确率,进而避免了对恶意文件的漏报问题,提升了系统的安全性。

Description

恶意文件检测方法、装置、计算机设备和存储介质
技术领域
本申请涉及互联网数据处理技术领域,特别是涉及一种恶意文件检测方法、装置、计算机设备和存储介质
背景技术
随着互联网的高速发展,在互联网为工作生活提供便利的同时,也为计算机病毒、木马等恶意程序文件提供了传播环境。近年来网络攻击形式多样,攻击工具不断演化,甚至于在互联网攻击事件中,一些系统漏洞经常被不法分子拿来发起攻击,对系统安全造成了很大的威胁。为了应对未知类型的攻击,主动防御的概念应运而生,一些主动防御技术的应用越来越广泛,比如沙箱、蜜罐等。
沙箱是一种可执行的安全软件,可以将一个可疑文件放入沙箱中运行,记录该可疑文件执行过程中创建、修改、删除文件和注册表等敏感操作,进而判断该可疑文件是否为恶意文件,并且这些敏感操作都会被虚拟化重定向,对物理主机、真实文件系统没有损害。
然而,针对各种庞大且复杂的各类监控系统,例如电力监控系统、银行系统等,由于其涉及物理主机、网络、应用以及数据等各种软硬件资源,操作系统种类多、应用复杂,不同运行环境下运行的程序文件不尽相同,传统技术中的沙箱检测方法,只能用来检测单一运行环境下的可疑文件,容易出现漏报问题。
发明内容
基于此,有必要针对上述技术问题,提供一种时效性好且准确度高的恶意文件检测方法、装置、计算机设备和存储介质。
第一方面,本发明提供一种恶意文件检测方法,所述方法包括:
在沙箱环境池中运行可疑文件;所述沙箱环境池中包括至少两个类别的虚拟沙箱;
获取所述可疑文件在所述沙箱环境池中的执行结果信息;所述执行结果信息包括由各所述虚拟沙箱的执行结果组成的结果矩阵;
根据所述执行结果信息检测所述可疑文件是否为恶意文件。
在其中一个实施例中,所述虚拟沙箱包括至少一个虚拟子沙箱,不同的所述虚拟子沙箱设置于不同的运行环境中;所述在沙箱环境池中运行可疑文件,包括:
获取所述可疑文件的文件类别;
根据所述文件类别确定所述可疑文件的运行环境;
在各所述虚拟沙箱中选择与所述运行环境对应的虚拟子沙箱作为检测子沙箱;
分别在各所述检测子沙箱中运行所述可疑文件。
在其中一个实施例中,所述获取所述可疑文件在所述沙箱环境池中的执行结果信息,包括:
获取所述可疑文件在各所述检测子沙箱中的判别结果;
将各所述检测子沙箱中的判别结果作为对应的所述虚拟沙箱的执行结果;
根据各所述虚拟沙箱的执行结果生成所述结果矩阵,将所述结果矩阵作为所述执行结果信息。
在其中一个实施例中,所述根据所述执行结果信息确定所述可疑文件的判定结果,包括:
统计所述执行结果信息中出现异常的虚拟沙箱个数作为异常量,统计所述执行结果信息中未出现异常的虚拟沙箱个数作为正常量;
若所述异常量与所述正常量的比值大于或等于预设阈值,认定所述可疑文件为恶意文件;
若所述异常量与所述正常量的比值小于预设阈值,认定所述可疑文件为普通文件。
在其中一个实施例中,所述根据所述执行结果信息检测所述可疑文件是否为恶意文件,包括:
若所述执行结果信息中的至少一个所述执行结果中存在异常,认定所述可疑文件为恶意文件;
若所述执行结果信息中各所述执行结果均未存在异常,认定所述可疑文件为普通文件。
在其中一个实施例中,所述执行结果信息还包括所述可疑文件在各所述虚拟子沙箱中的运行信息,所述运行信息包含文件访问信息、注册表访问信息、邮件访问信息、网页访问信息及进程发送指令信息。
在其中一个实施例中,所述方法还包括:
保存所述可疑文件对应的结果矩阵至历史结果矩阵;所述历史结果矩阵用于存储多个可疑文件在各所述虚拟子沙箱中的执行结果;
根据所述历史结果矩阵确定各所述虚拟子沙箱对应的运行环境的安全系数。
在其中一个实施例中,所述在沙箱环境池中运行所述可疑文件之前,还包括:
获取所述沙箱环境池中的沙箱资源情况;所述沙箱资源情况包括各虚拟沙箱的利用率;
根据所述沙箱资源情况判断所述沙箱环境池中当前是否存在可用的沙箱资源;
若存在可用的沙箱资源,则所述在沙箱环境池中运行所述可疑文件包括:在所述可用的沙箱资源中运行所述可疑文件。
第二方面,本发明提供一种恶意文件检测装置,所述装置包括:
运行模块,用于在沙箱环境池中运行可疑文件;所述沙箱环境池中包括至少两个类别的虚拟沙箱;
运行结果获取模块,用于获取所述可疑文件在所述沙箱环境池中的执行结果信息;所述执行结果信息包括由各所述虚拟沙箱的执行结果组成的结果矩阵;
判定模块,用于根据所述执行结果信息检测所述可疑文件是否为恶意文件。
第三方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在沙箱环境池中运行可疑文件;所述沙箱环境池中包括至少两个类别的虚拟沙箱;
获取所述可疑文件在所述沙箱环境池中的执行结果信息;所述执行结果信息包括由各所述虚拟沙箱的执行结果组成的结果矩阵;
根据所述执行结果信息检测所述可疑文件是否为恶意文件。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在沙箱环境池中运行可疑文件;所述沙箱环境池中包括至少两个类别的虚拟沙箱;
获取所述可疑文件在所述沙箱环境池中的执行结果信息;所述执行结果信息包括由各所述虚拟沙箱的执行结果组成的结果矩阵;
根据所述执行结果信息检测所述可疑文件是否为恶意文件。
上述恶意文件检测方法、装置、计算机设备和存储介质,通过在沙箱环境池中运行可疑文件;沙箱环境池中包括至少两个类别的虚拟沙箱;获取可疑文件在沙箱环境池中的执行结果信息;执行结果信息包括由各虚拟沙箱的执行结果组成的结果矩阵;根据执行结果信息检测可疑文件是否为恶意文件。根据本申请实施例提供的恶意文件检测方法,通过设置包含不同类别虚拟沙箱的沙箱环境池,并在该沙箱环境池运行可疑文件得到对应的执行结果信息,进而检测所述可疑文件是否为恶意文件,提升了对可疑文件的检测维度,提升了检测准确率,进而避免了对恶意文件的漏报问题,提升了系统的安全性。
附图说明
图1为本申请实施例提供的恶意文件检测方法的实施环境图;
图2为本申请实施例提供的一种恶意文件检测方法的流程图;
图3为本申请实施例中可疑文件运行步骤的流程图;
图4为本申请实施例中获取执行结果信息步骤的流程图;
图5为本申请实施例中可疑文件检测步骤的流程图;
图6为本申请实施例中另一种可疑文件检测步骤的流程图;
图7为本申请实施例中安全系数生成步骤的流程图;
图8为本申请实施例中沙箱资源检测步骤的流程图;
图9为本申请实施例提供的一种恶意文件检测装置的框图;
图10为本申请实施例提供的另一种恶意文件检测装置的框图;
图11为本申请实施例提供的一种计算机设备的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的恶意文件检测方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
请参考图2,其示出了本实施例提供的一种恶意文件检测方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,在沙箱环境池中运行可疑文件;沙箱环境池中包括至少两个类别的虚拟沙箱。
在本申请的一个实施例中,该可疑文件可以是管理员标记的文件,其中,当管理员在对系统进行操作时发现疑似是恶意文件的可疑文件时,可以对其添加标记,系统会将添加标记后的文件作为可疑文件保存至隔离区域,并在该隔离区域中依次提取可疑文件放入该沙箱环境池中运行。
在本申请的一个实施例中,该可疑文件也可以是在当前系统中收集到的文件。其中,当前系统对待执行文件或程序进行安全检测时,若判断某个文件安全系数较低,或判断某个文件即不存在于黑名单或白名单中时,将该文件作为可疑文件保存至隔离区域,系统会在该隔离区域中依次提取可疑文件放入该沙箱环境池中运行。
具体的,该沙箱环境池中包含了至少两个类别的虚拟沙箱,其中,每一类别的虚拟沙箱可以是一个或多个。不同类别的虚拟沙箱可以为不同版本的虚拟沙箱,也可以为不同厂家的虚拟沙箱,也可以为不同检测方式的虚拟沙箱。
步骤204,获取可疑文件在沙箱环境池中的执行结果信息;执行结果信息包括由各虚拟沙箱的执行结果组成的结果矩阵。
在本申请的一个实施例中,将该可疑文件分别放入该沙箱环境池中的每一类别的虚拟沙箱中运行,得到多个虚拟沙箱的执行结果,并进一步生成结果矩阵。其中,还可以将该可疑文件放入该沙箱环境池中的其中几个类别的虚拟沙箱中运行,并得到结果矩阵。该结果矩阵包含的执行结果对应的虚拟沙箱类别至少为两种类别。
步骤206,根据执行结果信息检测可疑文件是否为恶意文件。
在本申请的一个实施例中,该执行结果信息中包含的结果矩阵包含了多个类别的虚拟沙箱对该可疑文件的执行结果,根据得到的多个执行结果可以分析该可疑文件为恶意文件的可能性,并进一步确定该可疑文件是否为恶意文件,并输出判断结果。
在本申请的一个实施例中,当判断该可疑文件为恶意文件时,会发出告警提示,该告警提示用于指示管理员对其进行处理,当判断该可疑文件为普通文件时,会将该普通文件从隔离区域中移出,以使当前系统对该普通文件进行访问或执行该普通文件。
在本申请实施例提供的恶意文件检测方法中,通过在沙箱环境池中运行可疑文件;沙箱环境池中包括至少两个类别的虚拟沙箱;获取可疑文件在沙箱环境池中的执行结果信息;执行结果信息包括由各虚拟沙箱的执行结果组成的结果矩阵;根据执行结果信息检测可疑文件是否为恶意文件。根据本申请实施例提供的恶意文件检测方法,通过设置包含不同类别虚拟沙箱的沙箱环境池,并在该沙箱环境池运行可疑文件得到对应的执行结果信息,进而检测所述可疑文件是否为恶意文件,提升了对可疑文件的检测维度,提升了检测准确率,进而避免了对恶意文件的漏报问题,提升了系统的安全性。
请参考图3,其示出了本实施例中可疑文件运行步骤的流程图,该恶意文件检测方法可以应用于上文所述的实施环境中的终端102中。在上述图2所示实施例的基础上,所述虚拟沙箱包括至少一个虚拟子沙箱,不同的所述虚拟子沙箱设置于不同的运行环境中,上述步骤202具体可以包括以下步骤:
步骤302,获取可疑文件的文件类别。
在本申请的一个实施例中,可以通过识别该可疑文件的文件后缀来确定该可疑文件的文件类别,在本申请的另一个实施例中,可以通过获取该可疑文件的特征码来确定该可疑文件的文件类别。
步骤304,根据文件类别确定可疑文件的运行环境。
具体的,由于每一运行环境中可执行的文件类型都不完全相同,可以根据预设的文件类别与运行环境的对应关系确定该可疑文件的运行环境,该可疑文件的运行环境可以为一个,也可以为多个。
在本申请的一个实施例中,若预设的文件类别与运行环境的对应关系中并未查找到该文件类别对应的运行环境,则认定该可疑文件的运行环境为任意一种运行环境,以避免漏报的可能性。具体的,运行环境可以为操作系统,软件系统等。
步骤306,在各虚拟沙箱中选择与运行环境对应的虚拟子沙箱作为检测子沙箱。
在本申请的一个实施例中,不同的所述虚拟子沙箱设置于不同的运行环境中,也就是说,针对每一虚拟沙箱,都包含多个设置于不同运行环境中的虚拟子沙箱,在确定该可疑文件的运行环境后,会在每个虚拟沙箱中查找对应的虚拟子沙箱作为检测子沙箱。
步骤308,分别在各检测子沙箱中运行可疑文件。
在本申请实施例提供的恶意文件检测方法中,通过获取可疑文件的文件类别;根据文件类别确定可疑文件的运行环境;在各虚拟沙箱中选择与运行环境对应的虚拟子沙箱作为检测子沙箱;分别在各检测子沙箱中运行可疑文件。根据本申请实施例提供的恶意文件检测方法,通过获取可疑文件的运行环境,在沙箱环境池中各虚拟沙箱的多个虚拟子沙箱中选择对应的检测子沙箱,只在各检测子沙箱中运行可疑文件,可以提升沙箱环境池中各虚拟沙箱的利用效率。
请参考图4,其示出了本实施例中获取执行结果信息步骤的流程图,该恶意文件检测方法可以应用于上文所述的实施环境中的终端102中。在上述图3所示实施例的基础上,上述步骤204具体可以包括以下步骤:
步骤402,获取可疑文件在各检测子沙箱中的判别结果。
在本申请的一个实施例中,对于每一个检测子沙箱,针对该可疑文件都会生成一个对应的判别结果,改判别结果为该可疑文件是否为恶意文件。
步骤404,将各检测子沙箱中的判别结果作为对应的虚拟沙箱的执行结果。
步骤406,根据各虚拟沙箱的执行结果生成结果矩阵,将结果矩阵作为执行结果信息。
在本申请的一个实施例中,由于只在各虚拟沙箱中的与该可疑文件的运行环境对应的检测子沙箱中运行该可疑文件,因此,将得到的检测子沙箱的判别结果作为对应的虚拟沙箱的执行结果。
在本申请实施例提供的恶意文件检测方法中,通过获取可疑文件在各检测子沙箱中的判别结果;将各检测子沙箱中的判别结果作为对应的虚拟沙箱的执行结果;根据各虚拟沙箱的执行结果生成结果矩阵,将结果矩阵作为执行结果信息。根据本申请实施例提供的恶意文件检测方法,通过只在虚拟沙箱中对应的检测子沙箱中运行该可疑文件,并将得到的判别结果作为对应的虚拟沙箱的执行结果,可以提升沙箱环境池中各虚拟沙箱的利用效率。
请参考图5,其示出了本实施例中一种可疑文件检测步骤的流程图,该恶意文件检测方法可以应用于上文所述的实施环境中的终端102中。在上述图2所示实施例的基础上,上述步骤206具体可以包括以下步骤:
步骤502,统计执行结果信息中出现异常的虚拟沙箱个数作为异常量,统计执行结果信息中未出现异常的虚拟沙箱个数作为正常量。
在本申请的一个实施例中,得到的执行结果信息可以表示为[Q1 … Qm]的结果矩阵,其中,Qm表示第m个虚拟沙箱的执行结果,m>1,Qm∈{0,1},其中,当0表示执行结果为该可疑文件为普通文件,1表示执行结果为该可疑文件为恶意文件。统计该结果矩阵中数值为0的执行结果个数作为正常量,统计该结果矩阵中数值为1的执行结果个数作为异常量。
步骤504,若异常量与正常量的比值大于或等于预设阈值,认定可疑文件为恶意文件。
步骤506,若异常量与正常量的比值小于预设阈值,认定可疑文件为普通文件。
在本申请的一个实施例中,该预设阈值可以设置为小于或等于0.5的任意数值,较优的,该预设阈值可以设置为0.02或更小的数值。该预设阈值设置的数值越小,表示当前检测机制对恶意文件的检测灵敏度越高,因此,管理员可以通过调整该预设阈值的大小改变对恶意文件检测的灵敏度。
在本申请实施例提供的恶意文件检测方法中,通过统计执行结果信息中出现异常的虚拟沙箱个数作为异常量,统计执行结果信息中未出现异常的虚拟沙箱个数作为正常量;若异常量与正常量的比值小于预设阈值,认定可疑文件为恶意文件;若异常量与正常量的比值大于或等于预设阈值,认定可疑文件为普通文件。根据本申请实施例提供的恶意文件检测方法,通过获取异常量与正常量的比值与预设阈值的大小关系,进而判断该可疑文件是否恶意文件,可以避免因个别虚拟沙箱的检测错误而导致的错误隔离问题。
请参考图6,其示出了本实施例中另一种可疑文件检测步骤的流程图,该恶意文件检测方法可以应用于上文所述的实施环境中的终端102中。在上述图2所示实施例的基础上,上述步骤206具体可以包括以下步骤:
步骤602,若执行结果信息中的至少一个执行结果中存在异常,认定可疑文件为恶意文件。
步骤604,若执行结果信息中各执行结果均未存在异常,认定可疑文件为普通文件。
在本申请的一个实施例中,得到的执行结果信息可以表示为[Q1 … Qm]的结果矩阵,其中,Qm表示第m个虚拟沙箱的执行结果,m>1,Qm∈{0,1},其中,当0表示执行结果为该可疑文件为普通文件,1表示执行结果为该可疑文件为恶意文件。
在本申请的一个实施例中,可以通过R=Q1∪Q2∪…∪Qm,确定该可疑文件是否为恶意文件,当R=0时表示该可疑文件为普通文件,当R=1时表示该可疑文件为恶意文件。
在本申请实施例提供的恶意文件检测方法中,通过判断执行结果信息中的异常情况,若执行结果信息中的至少一个执行结果中存在异常,认定可疑文件为恶意文件;若执行结果信息中各执行结果均未存在异常,认定可疑文件为普通文件。根据本申请实施例提供的恶意文件检测方法,通过分析执行结果信息中结果矩阵的执行结果分布,确定该可疑文件是否为恶意文件,提升了对可疑文件的检测维度,提升了检测准确率,进而避免了对恶意文件的漏报问题,提升了系统的安全性。
本实施例还提供另一种恶意文件检测方法,该恶意文件检测方法可以应用于上文所述的实施环境中的终端102中。在上述图3所示实施例的基础上,所述执行结果信息还包括所述可疑文件在各所述虚拟子沙箱中的运行信息,所述运行信息包含文件访问信息、注册表访问信息、邮件访问信息、网页访问信息及进程发送指令信息。
请参考图7,其示出了本实施例中安全系数生成步骤的流程图,该恶意文件检测方法可以应用于上文所述的实施环境中的终端102中。在上述图2所示实施例的基础上,所述方法还可以包括以下步骤:
步骤702,保存可疑文件对应的结果矩阵至历史结果矩阵;历史结果矩阵用于存储多个可疑文件在各虚拟子沙箱中的执行结果。
步骤704,根据历史结果矩阵确定各虚拟子沙箱对应的运行环境的安全系数。
在本申请的一个实施例中,该可疑文件的结果矩阵表示为[Q1 … Qm],该历史结果矩阵可以表示为
其中,M表示当前沙箱环境池中所有虚拟子沙箱的个数,j表示历史结果矩阵中的可疑文件个数。
具体的,通过分析该历史结果矩阵中每一列执行结果,可以得到该列虚拟子沙箱代表的运行环境的安全系数。
在本申请实施例提供的恶意文件检测方法中,通过保存可疑文件对应的结果矩阵至历史结果矩阵;历史结果矩阵用于存储多个可疑文件在各虚拟子沙箱中的执行结果;根据历史结果矩阵确定各虚拟子沙箱对应的运行环境的安全系数。根据本申请实施例提供的恶意文件检测方法,通过保存可疑文件的对应的结果矩阵至历史结果矩阵,及分析该历史结果矩阵中每一列执行结果进而可以得到各虚拟子沙箱对应的运行环境的安全系数,可以给管理员提供当前系统在各个运行环境下的安全系数。
在将可疑文件放入该沙箱资源池中运行时,若该沙箱资源池中运行的可疑文件已占用过多资源,将会使得该即将放入的可疑文件出现运行异常,进而导致误识别问题,因此,请参考图8,其示出了本实施例中沙箱资源检测步骤的流程图,该恶意文件检测方法可以应用于上文所述的实施环境中的终端102中。在上述图2所示实施例的基础上,在上述步骤202之前,还可以包括以下步骤:
步骤802,获取沙箱环境池中的沙箱资源情况;沙箱资源情况包括各虚拟沙箱的利用率。
步骤804,根据沙箱资源情况判断沙箱环境池中当前是否存在可用的沙箱资源。
步骤806,若存在可用的沙箱资源,则在沙箱环境池中运行可疑文件包括:在可用的沙箱资源中运行可疑文件。
在本申请的一个实施例中,在将可疑文件放入该沙箱环境池中运行之前,需要判断当前沙箱环境池的资源情况,即判断当前沙箱环境池中各虚拟沙箱当前的利用率,若当前沙箱环境池中各虚拟沙箱当前的利用率较高,无法完成对该可疑文件的多维度检测,则将该可疑文件放入隔离区域内的待检测列表中,并根据沙箱资源情况判断沙箱环境池中当前是否存在可用的沙箱资源,当存在可用的沙箱资源,则在可用的沙箱资源中运行可疑文件。
在本申请实施例提供的恶意文件检测方法中,通过获取沙箱环境池中的沙箱资源情况;沙箱资源情况包括各虚拟沙箱的利用率;根据沙箱资源情况判断沙箱环境池中当前是否存在可用的沙箱资源;若存在可用的沙箱资源,则在沙箱环境池中运行可疑文件包括:在可用的沙箱资源中运行可疑文件。根据本申请实施例提供的恶意文件检测方法,通过判断当前沙箱环境池中的沙箱资源情况,在沙箱环境池中存在可用的沙箱资源时将该可疑文件放入该沙箱环境池中运行,避免了沙箱环境池中因虚拟沙箱的利用率过高而导致的误识别问题。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
请参考图9,其示出了本申请实施例提供的一种恶意文件检测装置900的框图。如图9所示,所述恶意文件检测装置900可以包括:运行模块901、运行结果获取模块902和判定模块903,其中:
所述运行模块901,用于在沙箱环境池中运行可疑文件;所述沙箱环境池中包括至少两个类别的虚拟沙箱。
在本申请的一个实施例中,该可疑文件可以是管理员标记的文件,其中,当管理员在对系统进行操作时发现疑似是恶意文件的可疑文件时,可以对其添加标记,系统会将添加标记后的文件作为可疑文件保存至隔离区域,并在该隔离区域中依次提取可疑文件放入该沙箱环境池中运行。
在本申请的一个实施例中,该可疑文件也可以是在当前系统中收集到的文件。其中,当前系统对待执行文件或程序进行安全检测时,若判断某个文件安全系数较低,或判断某个文件即不存在于黑名单或白名单中时,将该文件作为可疑文件保存至隔离区域,系统会在该隔离区域中依次提取可疑文件放入该沙箱环境池中运行。
具体的,该沙箱环境池中包含了至少两个类别的虚拟沙箱,其中,每一类别的虚拟沙箱可以是一个或多个。不同类别的虚拟沙箱可以为不同版本的虚拟沙箱,也可以为不同厂家的虚拟沙箱,也可以为不同检测方式的虚拟沙箱。
所述运行结果获取模块902,用于获取所述可疑文件在所述沙箱环境池中的执行结果信息;所述执行结果信息包括由各所述虚拟沙箱的执行结果组成的结果矩阵。
在本申请的一个实施例中,将该可疑文件分别放入该沙箱环境池中的每一类别的虚拟沙箱中运行,得到多个虚拟沙箱的执行结果,并进一步生成结果矩阵。其中,还可以将该可疑文件放入该沙箱环境池中的其中几个类别的虚拟沙箱中运行,并得到结果矩阵。该结果矩阵包含的执行结果对应的虚拟沙箱类别至少为两种类别。
所述判定模块903,用于根据所述执行结果信息检测所述可疑文件是否为恶意文件。
在本申请的一个实施例中,该执行结果信息中包含的结果矩阵包含了多个类别的虚拟沙箱对该可疑文件的执行结果,根据得到的多个执行结果可以分析该可疑文件为恶意文件的可能性,并进一步确定该可疑文件是否为恶意文件,并输出判断结果。
在本申请的一个实施例中,当判断该可疑文件为恶意文件时,会发出告警提示,该告警提示用于指示管理员对其进行处理,当判断该可疑文件为普通文件时,会将该普通文件从隔离区域中移出,以使当前系统对该普通文件进行访问或执行该普通文件。
在本申请的一个实施例中,所述虚拟沙箱包括至少一个虚拟子沙箱,不同的所述虚拟子沙箱设置于不同的运行环境中,所述运行模块901,具体用于:获取可疑文件的文件类别;根据文件类别确定可疑文件的运行环境;在各虚拟沙箱中选择与运行环境对应的虚拟子沙箱作为检测子沙箱;分别在各检测子沙箱中运行可疑文件。
具体的,可以通过识别该可疑文件的文件后缀来确定该可疑文件的文件类别,在本申请的另一个实施例中,可以通过获取该可疑文件的特征码来确定该可疑文件的文件类别。由于每一运行环境中可执行的文件类型都不完全相同,可以根据预设的文件类别与运行环境的对应关系确定该可疑文件的运行环境,该可疑文件的运行环境可以为一个,也可以为多个。若预设的文件类别与运行环境的对应关系中并未查找到该文件类别对应的运行环境,则认定该可疑文件的运行环境为任意一种运行环境,以避免漏报的可能性。具体的,运行环境可以为操作系统,软件系统等。在本申请的一个实施例中,不同的所述虚拟子沙箱设置于不同的运行环境中,也就是说,针对每一虚拟沙箱,都包含多个设置于不同运行环境中的虚拟子沙箱,在确定该可疑文件的运行环境后,会在每个虚拟沙箱中查找对应的虚拟子沙箱作为检测子沙箱。
在本申请的一个实施例中,所述运行结果获取模块902,具体用于:获取可疑文件在各检测子沙箱中的判别结果;将各检测子沙箱中的判别结果作为对应的虚拟沙箱的执行结果;根据各虚拟沙箱的执行结果生成结果矩阵,将结果矩阵作为执行结果信息。
具体的,对于每一个检测子沙箱,针对该可疑文件都会生成一个对应的判别结果,改判别结果为该可疑文件是否为恶意文件。在本申请的一个实施例中,由于只在各虚拟沙箱中的与该可疑文件的运行环境对应的检测子沙箱中运行该可疑文件,因此,将得到的检测子沙箱的判别结果作为对应的虚拟沙箱的执行结果。
在本申请的一个实施例中,所述判定模块903,具体用于:统计所述执行结果信息中出现异常的虚拟沙箱个数作为异常量,统计所述执行结果信息中未出现异常的虚拟沙箱个数作为正常量;若所述异常量与所述正常量的比值大于或等于预设阈值,认定所述可疑文件为恶意文件;若所述异常量与所述正常量的比值小于预设阈值,认定所述可疑文件为普通文件。
具体的,得到的执行结果信息可以表示为[Q1 … Qm]的结果矩阵,其中,Qm表示第m个虚拟沙箱的执行结果,m>1,Qm∈{0,1},其中,当0表示执行结果为该可疑文件为普通文件,1表示执行结果为该可疑文件为恶意文件。统计该结果矩阵中数值为0的执行结果个数作为正常量,统计该结果矩阵中数值为1的执行结果个数作为异常量。在本申请的一个实施例中,该预设阈值可以设置为小于或等于0.5的任意数值,较优的,该预设阈值可以设置为0.02或更小的数值。该预设阈值设置的数值越小,表示当前检测机制对恶意文件的检测灵敏度越高,因此,管理员可以通过调整该预设阈值的大小改变对恶意文件检测的灵敏度。
在本申请的一个实施例中,所述判定模块903,具体用于:若所述执行结果信息中的至少一个所述执行结果中存在异常,认定所述可疑文件为恶意文件;若所述执行结果信息中各所述执行结果均未存在异常,认定所述可疑文件为普通文件。
具体的,得到的执行结果信息可以表示为[Q1 … Qm]的结果矩阵,其中,Qm表示第m个虚拟沙箱的执行结果,m>1,Qm∈{0,1},其中,当0表示执行结果为该可疑文件为普通文件,1表示执行结果为该可疑文件为恶意文件。
在本申请的一个实施例中,可以通过R=Q1∪Q2∪…∪Qm,确定该可疑文件是否为恶意文件,当R=0时表示该可疑文件为普通文件,当R=1时表示该可疑文件为恶意文件。
在本申请的一个实施例中,所述执行结果信息还包括所述可疑文件在各所述虚拟子沙箱中的运行信息,所述运行信息包含文件访问信息、注册表访问信息、邮件访问信息、网页访问信息及进程发送指令信息。
请参考图10,其示出了本申请实施例提供的一种恶意文件检测装置1000的框图。如图10所示,所述恶意文件检测装置1000除了包括恶意文件检测装置900包括的各模块外,可选的,还可以包括:安全系数生成模块904和沙箱资源查询模块905。其中:
所述安全系数生成模块904,用于保存可疑文件对应的结果矩阵至历史结果矩阵;历史结果矩阵用于存储多个可疑文件在各虚拟子沙箱中的执行结果;根据历史结果矩阵确定各虚拟子沙箱对应的运行环境的安全系数。
具体的,该可疑文件的结果矩阵表示为[Q1 … Qm],该历史结果矩阵可以表示为
其中,M表示当前沙箱环境池中所有虚拟子沙箱的个数,j表示历史结果矩阵中的可疑文件个数。具体的,通过分析该历史结果矩阵中每一列执行结果,可以得到该列虚拟子沙箱代表的运行环境的安全系数。
所述沙箱资源查询模块905,用于获取沙箱环境池中的沙箱资源情况;沙箱资源情况包括各虚拟沙箱的利用率;根据沙箱资源情况判断沙箱环境池中当前是否存在可用的沙箱资源;若存在可用的沙箱资源,则在沙箱环境池中运行可疑文件包括:在可用的沙箱资源中运行可疑文件。
具体的,在将可疑文件放入该沙箱环境池中运行之前,需要判断当前沙箱环境池的资源情况,即判断当前沙箱环境池中各虚拟沙箱当前的利用率,若当前沙箱环境池中各虚拟沙箱当前的利用率较高,无法完成对该可疑文件的多维度检测,则将该可疑文件放入隔离区域内的待检测列表中,并根据沙箱资源情况判断沙箱环境池中当前是否存在可用的沙箱资源,当存在可用的沙箱资源,则在可用的沙箱资源中运行可疑文件。
关于恶意文件检测装置的具体限定可以参见上文中对于恶意文件检测方法的限定,在此不再赘述。上述恶意文件检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种恶意文件检测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
在沙箱环境池中运行可疑文件;沙箱环境池中包括至少两个类别的虚拟沙箱;
获取可疑文件在沙箱环境池中的执行结果信息;执行结果信息包括由各虚拟沙箱的执行结果组成的结果矩阵;
根据执行结果信息检测可疑文件是否为恶意文件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在沙箱环境池中运行可疑文件;沙箱环境池中包括至少两个类别的虚拟沙箱;
获取可疑文件在沙箱环境池中的执行结果信息;执行结果信息包括由各虚拟沙箱的执行结果组成的结果矩阵;
根据执行结果信息检测可疑文件是否为恶意文件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种恶意文件检测方法,其特征在于,所述方法包括:
在沙箱环境池中运行可疑文件;所述沙箱环境池中包括至少两个类别的虚拟沙箱;
获取所述可疑文件在所述沙箱环境池中的执行结果信息;所述执行结果信息包括由各所述虚拟沙箱的执行结果组成的结果矩阵;
根据所述执行结果信息检测所述可疑文件是否为恶意文件。
2.根据权利要求1所述的方法,其特征在于,所述虚拟沙箱包括至少一个虚拟子沙箱,不同的所述虚拟子沙箱设置于不同的运行环境中;所述在沙箱环境池中运行可疑文件,包括:
获取所述可疑文件的文件类别;
根据所述文件类别确定所述可疑文件的运行环境;
在各所述虚拟沙箱中选择与所述运行环境对应的虚拟子沙箱作为检测子沙箱;
分别在各所述检测子沙箱中运行所述可疑文件。
3.根据权利要求2所述的方法,其特征在于,所述获取所述可疑文件在所述沙箱环境池中的执行结果信息,包括:
获取所述可疑文件在各所述检测子沙箱中的判别结果;
将各所述检测子沙箱中的判别结果作为对应的所述虚拟沙箱的执行结果;
根据各所述虚拟沙箱的执行结果生成所述结果矩阵,将所述结果矩阵作为所述执行结果信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述执行结果信息检测所述可疑文件是否为恶意文件,包括:
统计所述执行结果信息中出现异常的虚拟沙箱个数作为异常量,统计所述执行结果信息中未出现异常的虚拟沙箱个数作为正常量;若所述异常量与所述正常量的比值大于或等于预设阈值,认定所述可疑文件为恶意文件;若所述异常量与所述正常量的比值小于预设阈值,认定所述可疑文件为普通文件。
5.根据权利要求2所述的方法,其特征在于,所述执行结果信息还包括所述可疑文件在各所述虚拟子沙箱中的运行信息,所述运行信息包含文件访问信息、注册表访问信息、邮件访问信息、网页访问信息及进程发送指令信息。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
保存所述可疑文件对应的结果矩阵至历史结果矩阵;所述历史结果矩阵用于存储多个可疑文件在各所述虚拟子沙箱中的执行结果;
根据所述历史结果矩阵确定各所述虚拟子沙箱对应的运行环境的安全系数。
7.根据权利要求2所述的方法,其特征在于,所述在沙箱环境池中运行所述可疑文件之前,还包括:
获取所述沙箱环境池中的沙箱资源情况;所述沙箱资源情况包括各虚拟沙箱的利用率;
根据所述沙箱资源情况判断所述沙箱环境池中当前是否存在可用的沙箱资源;
若存在可用的沙箱资源,则所述在沙箱环境池中运行所述可疑文件包括:在所述可用的沙箱资源中运行所述可疑文件。
8.一种恶意文件检测装置,其特征在于,所述装置包括:
运行模块,用于在沙箱环境池中运行可疑文件;所述沙箱环境池中包括至少两个类别的虚拟沙箱;
运行结果获取模块,用于获取所述可疑文件在所述沙箱环境池中的执行结果信息;所述执行结果信息包括由各所述虚拟沙箱的执行结果组成的结果矩阵;
判定模块,用于根据所述执行结果信息检测所述可疑文件是否为恶意文件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201910740213.0A 2019-08-12 2019-08-12 恶意文件检测方法、装置、计算机设备和存储介质 Pending CN110543759A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910740213.0A CN110543759A (zh) 2019-08-12 2019-08-12 恶意文件检测方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910740213.0A CN110543759A (zh) 2019-08-12 2019-08-12 恶意文件检测方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN110543759A true CN110543759A (zh) 2019-12-06

Family

ID=68710564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910740213.0A Pending CN110543759A (zh) 2019-08-12 2019-08-12 恶意文件检测方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110543759A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559441A (zh) * 2013-10-28 2014-02-05 中国科学院信息工程研究所 一种恶意文件云环境下跨平台检测方法及系统
CN105491053A (zh) * 2015-12-21 2016-04-13 用友网络科技股份有限公司 一种Web恶意代码检测方法及系统
CN106055975A (zh) * 2016-05-16 2016-10-26 杭州华三通信技术有限公司 文件检测方法及沙箱

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103559441A (zh) * 2013-10-28 2014-02-05 中国科学院信息工程研究所 一种恶意文件云环境下跨平台检测方法及系统
CN105491053A (zh) * 2015-12-21 2016-04-13 用友网络科技股份有限公司 一种Web恶意代码检测方法及系统
CN106055975A (zh) * 2016-05-16 2016-10-26 杭州华三通信技术有限公司 文件检测方法及沙箱

Similar Documents

Publication Publication Date Title
CN109586282B (zh) 一种电网未知威胁检测系统及方法
US7631356B2 (en) System and method for foreign code detection
US20140053267A1 (en) Method for identifying malicious executables
CN113489713B (zh) 网络攻击的检测方法、装置、设备及存储介质
US20180075233A1 (en) Systems and methods for agent-based detection of hacking attempts
US20130239214A1 (en) Method for detecting and removing malware
US9659173B2 (en) Method for detecting a malware
GB2485622A (en) Server detecting malware in user device.
CN107301082A (zh) 一种实现操作系统完整性保护的方法和装置
CN113472803A (zh) 漏洞攻击状态检测方法、装置、计算机设备和存储介质
CN113312620B (zh) 一种程序安全检测方法及装置、处理器芯片、服务器
CN111428239A (zh) 一种恶意挖矿软件的检测方法
CN112395603B (zh) 基于指令执行序列特征的漏洞攻击识别方法、装置及计算机设备
US11263307B2 (en) Systems and methods for detecting and mitigating code injection attacks
EP3535681B1 (en) System and method for detecting and for alerting of exploits in computerized systems
US20220138311A1 (en) Systems and methods for detecting and mitigating code injection attacks
CN112351008B (zh) 网络攻击分析方法、装置、可读存储介质及计算机设备
CN110543759A (zh) 恶意文件检测方法、装置、计算机设备和存储介质
CN114417349A (zh) 攻击结果判定方法、装置、电子设备及存储介质
CN111538986A (zh) 一种基于调用栈轨迹进行动态度量计算机可信状态装置及其方法
CN111177726A (zh) 一种系统漏洞检测方法、装置、设备及介质
CN110674501A (zh) 恶意驱动检测方法、装置、设备及介质
CN116094847B (zh) 蜜罐识别方法、装置、计算机设备和存储介质
CN113076540B (zh) 一种攻击检测的方法、装置、电子设备及存储介质
CN111881459B (zh) 一种基于可信运算环境的设备风险控管系统及检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191206