CN114117413A - 恶意样本的检测方法、装置、电子设备及存储介质 - Google Patents
恶意样本的检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114117413A CN114117413A CN202111476731.XA CN202111476731A CN114117413A CN 114117413 A CN114117413 A CN 114117413A CN 202111476731 A CN202111476731 A CN 202111476731A CN 114117413 A CN114117413 A CN 114117413A
- Authority
- CN
- China
- Prior art keywords
- sample
- instruction
- instructions
- detected
- abnormal
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例涉及计算机安全领域,特别涉及一种恶意样本的检测方法、装置、电子设备及存储介质。其中,恶意样本的检测方法包括:对待测样本进行静态分析,得到所述待测样本中存在的所有行为指令;其中,所述行为指令包括指令类型和指令参数;确定所有所述行为指令中的异常指令;基于确定的所述异常指令,判断所述待测样本是否为恶意样本。本发明提供的技术方案利用静态分析的方式加快了待测样本的检测效率,同时基于确定的异常指令可以有效判断待测样本是否为恶意样本,从而解决了恶意样本难以被有效检测的问题。
Description
技术领域
本发明实施例涉及计算机安全领域,特别涉及一种恶意样本的检测方法、装置、电子设备及存储介质。
背景技术
随着近年来各行各业都在不断开展信息化与智能化建设,社会信息化水平的不断提升,也对信息系统的安全防范提出了新的要求,而恶意威胁对于信息系统安全会产生极大的影响。
相关技术中,恶意威胁的检测方法通常包括基于特征的检测方法和基于动态行为的检测方法。其中,基于特征的检测方法是利用恶意代码检测引擎来检测待测样本内容是否含有恶意代码,基于动态行为的检测方法是利用沙箱的方式来运行待测样本。
发明内容
为了解决恶意样本难以被有效检测的问题,本发明实施例提供了一种恶意样本的检测方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供了一种恶意样本的检测方法,包括:
对待测样本进行静态分析,得到所述待测样本中存在的所有行为指令;其中,所述行为指令包括指令类型和指令参数;
确定所有所述行为指令中的异常指令;
基于确定的所述异常指令,判断所述待测样本是否为恶意样本。
在一种可能的设计中,所述指令类型包括如下中的至少一种:
服务指令、文件指令、窗口指令、注册表指令、进程指令、算法指令、通信指令和钩子指令。
在一种可能的设计中,所述异常指令包括如下中的至少一种:
反沙箱、反杀软、屏幕监控、键盘监控和数据回传。
在一种可能的设计中,所述对待测样本进行静态分析,得到所述待测样本中存在的所有行为指令,包括:
利用静态向量提取技术对待测样本进行分析,得到所述待测样本中存在的所有行为指令的指令类型;
利用反汇编技术对所述待测样本进行分析,得到所述待测样本中存在的所有行为指令的指令参数。
在一种可能的设计中,所述确定所有行为指令中的异常指令,包括:
基于历史异常指令以及与每个所述历史异常指令相对应的指令类型和指令参数,构建异常指令规则库;
基于所述异常指令规则库以及当前行为指令的指令类型和指令参数,判断每一个行为指令是否为异常指令,以确定所有行为指令中的异常指令。
在一种可能的设计中,在所述判断当前行为指令是否为异常指令之后,还包括:
若是,则输出用于表征所述异常指令的标识信息;
所述基于确定的所述异常指令,判断所述待测样本是否为恶意样本,包括:
将历史异常指令的标识信息和预设的样本标签分别作为输入和输出,训练预设的机器学习模型,得到恶意样本识别模型;其中,所述样本标签为恶意样本和正常样本;
基于所述恶意样本识别模型和确定的所述异常指令的标识信息,判断所述待测样本是否为恶意样本。
在一种可能的设计中,所述恶意样本识别模型为决策树模型;
在所述判断所述待测样本是否为恶意样本之后,还包括:
若否,则获取针对所述待测样本的人工判断结果;
若所述人工判断结果为所述待测样本是恶意样本,则更新所述恶意样本识别模型的树结构,再利用更新后的所述恶意样本识别模型检测所述待测样本。
第二方面,本发明实施例还提供了一种恶意样本的检测装置,包括:
分析模块,用于对待测样本进行静态分析,得到所述待测样本中存在的所有行为指令;其中,所述行为指令包括指令类型和指令参数;
确定模块,用于确定所有行为指令中的异常指令;
判断模块,用于基于确定的所述异常指令,判断所述待测样本是否为恶意样本。
第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
本发明实施例提供了一种恶意样本的检测方法、装置、电子设备及存储介质,通过对待测样本进行静态分析,得到待测样本中存在的所有行为指令,并进一步确定所有行为指令中的异常指令;而后基于确定的异常指令,判断待测样本是否为恶意样本。上述方案利用静态分析的方式加快了待测样本的检测效率,同时基于确定的异常指令可以有效判断待测样本是否为恶意样本,从而解决了恶意样本难以被有效检测的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明一实施例提供的一种恶意样本的检测方法流程图;
图2是本发明一实施例提供的另一种恶意样本的检测方法流程图;
图3是本发明一实施例提供的一种电子设备的硬件架构图;
图4是本发明一实施例提供的一种恶意样本的检测装置结构图;
图5是本发明一实施例提供的另一种恶意样本的检测装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
随着当今世界信息技术的高速发展,人们正享受着互联网带来的工作和生活便利的同时,也时时刻刻受到计算机病毒的威胁。随着计算机病毒代码编写技术从最简单的功能性破坏到采用多态变形、加壳等技术以避开杀毒软件的检测,尤其以高级威胁行为体(即恶意样本)的攻击尤为常见。
相关技术中,恶意样本的检测方法通常包括基于特征的检测方法和基于动态行为的检测方法。其中,基于特征的检测方法是利用恶意代码检测引擎来检测待测样本内容是否含有恶意代码,基于动态行为的检测方法是利用沙箱的方式来运行待测样本。
发明人在研发过程中发现:1)基于特征的检测方法虽然可以提供较为精准的检测,但易于被采用“免杀”、利用0DAY漏洞和加密混淆等方式的恶意代码逃避检测,因此这种检测方法难以有效发现恶意样本;2)基于动态行为的检测方法虽然可以有效检测出恶意样本,但是由于其是利用沙箱的方式来运行待测样本,因此其分析性能较低,无法有效应对当前日益增多的海量待测样本的检测需求。
为了解决该技术问题,发明人考虑通过分析待测样本的所有行为指令,并进一步确定出所有行为指令中的异常指令,如此基于异常指令来判断待测样本是否为恶意样本,这样既可以增加恶意样本的检测效率,又可以有效检测到恶意样本。
下面描述以上构思的具体实现方式。
请参考图1,本发明实施例提供了一种恶意样本的检测方法,该方法包括:
步骤100:对待测样本进行静态分析,得到待测样本中存在的所有行为指令;其中,行为指令包括指令类型和指令参数;
步骤102:确定所有行为指令中的异常指令;
步骤104:基于确定的异常指令,判断待测样本是否为恶意样本。
本发明实施例中,通过对待测样本进行静态分析,得到待测样本中存在的所有行为指令,并进一步确定所有行为指令中的异常指令;而后基于确定的异常指令,判断待测样本是否为恶意样本。上述方案利用静态分析的方式加快了待测样本的检测效率,同时基于确定的异常指令可以有效判断待测样本是否为恶意样本,从而解决了恶意样本难以被有效检测的问题。
本发明实施例采用的静态分析方法来检测恶意样本,兼顾了检测效率和恶意样本的检测能力,这样既解决了基于特征的检测方法容易被攻击绕过的问题,同时又解决了基于动态行为的检测方法无法有效应对海量检测需求的问题。
需要说明的是,异常指令是指异常于待测样本基本功能的指令,比如待测样本为软件,在下载软件的过程中,终端设备中的杀毒软件需要对所下载的软件进行检测,如果在检测过程中存在避开杀毒软件(即反杀软)的指令,则可将该指令称之为异常指令。
下面描述图1所示的各个步骤的执行方式。
针对步骤100:
在一些实施方式中,步骤100可以包括:
利用静态向量提取技术对待测样本进行分析,得到待测样本中存在的所有行为指令的指令类型;
利用反汇编技术对待测样本进行分析,得到待测样本中存在的所有行为指令的指令参数。
在该实施例中,具体是通过利用静态向量提取技术来得到待测样本中存在的所有行为指令的指令类型,以及利用反汇编技术来得到待测样本中存在的所有行为指令的指令参数。其中,静态向量提取技术和反汇编技术是本领域技术人员所熟知的技术,在此不进行赘述。
举例来说,例如判断是否为反杀软的异常指令,可以通过遍历进程指令,比较进程指令中的进程名是否为杀毒软件进程名的方式来判断。其中,进程指令即是指令类型,进程名即是指令参数。
在一些实施方式中,指令类型包括如下中的至少一种:
服务指令、文件指令、窗口指令、注册表指令、进程指令、算法指令、通信指令和钩子指令。
其中,服务指令是指操作系统提供的可用于修改系统服务的相关指令,例如:创建服务、删除服务、启动服务、停止服务等;窗口指令是指系统或者软件提供的可以被其它软件使用的窗口操作相关指令,例如:创建窗口、销毁窗口、弹出窗口以及移动窗口等;进程指令是指操作系统提供的可用于修改系统进程的相关指令,例如:创建进程、监控进程、遍历进程、终止进程等;算法指令是指软程序所使用的标准或者非标准的加密算法,例如:对称加密算法、非对称加密算法、摘要算法等;通信指令是指系统或者程序提供的通信相关指令,例如:初始化通信、创建套接字、发送数据、接收数据等;钩子指令是操作系统提供的可供其它程序使用的获取或者修改操作系统功能的相关指令,比如创建钩子、释放钩子等。
针对步骤102:
在一些实施方式中,异常指令包括如下中的至少一种:
反沙箱、反杀软、屏幕监控、键盘监控和数据回传。
其中,反沙箱的指令是指在利用沙箱运行待测样本时,存在避开沙箱运行的指令;屏幕监控的指令是指在待测样本运行过程中,存在监控屏幕的指令;键盘监控的指令是指在待测样本运行过程中,存在监控键盘的指令;数据回传的指令是指在待测样本运行过程中,存在回传数据的指令。
为了能够方便快速地检测到待测样本中的上述异常指令,不能使待测样本处于动态运行的状态。为此,本发明实施例是通过利用静态分析的方式来检测,具体是通过分析得到的行为指令的指令类型和指令参数,来判断每一个行为指令是否是异常指令。
在一些实施方式中,步骤100可以包括:
基于历史异常指令以及与每个历史异常指令相对应的指令类型和指令参数,构建异常指令规则库;
基于异常指令规则库以及当前行为指令的指令类型和指令参数,判断每一个行为指令是否为异常指令,以确定所有行为指令中的异常指令。
在该实施例中,通过基于历史异常指令来构建异常指令规则库,如此可以基于该异常指令规则库快速判断每一个行为指令是否为异常指令,从而可以快速确定出待测样本的所有行为指令中的异常指令。
可以理解的是,该异常指令规则库即为一个映射关系表,具体是指令类型和指令参数的集合与异常指令的映射关系。通过历史异常指令持续的总结归纳,可以有效提高利用异常指令规则库进行恶意判断的准确率。
当然,也可以基于其它方式,例如机器学习模型的判断方式,即将指令类型和指令参数的集合作为输入以及将预设的异常指令作为输出,训练预设的机器学习模型,得到异常指令判断模型,从而可以利用该异常指令判断模型来判断每一个行为指令是否为异常指令。然而,异常指令规则库的方式相比较机器学习模型的方式可以有效保证判断的准确率;而且由于异常指令较为分散,如果采用机器学习模型的方式进行判断,容易造成模型的膨胀。
在一些实施方式中,在判断当前行为指令是否为异常指令之后,还包括:
若是,则输出用于表征异常指令的标识信息。
在该实施方式中,可以借助输出的异常指令的标识信息来判断待测样本是否为恶意样本,具体请参见步骤104的描述。
针对步骤104:
在一些实施方式中,步骤104可以包括:
将历史异常指令的标识信息和预设的样本标签分别作为输入和输出,训练预设的机器学习模型,得到恶意样本识别模型;其中,所述样本标签为恶意样本和正常样本;
基于恶意样本识别模型和确定的异常指令的标识信息,判断待测样本是否为恶意样本。
在该实施方式中,以历史异常指令的标识信息和预设的样本标签作为数据基础,来训练预设的机器学习模型,如此可以利用训练得到的恶意样本识别模型来判断待测样本是否为恶意样本,提高了恶意样本的检测效率。
同时,由于异常指令的数据量可能偏大,为了提高训练的速率,可以考虑降低异常指令的数据量,因此可以基于历史异常指令的标识信息来训练机器学习模型。
在一些实施方式中,恶意样本识别模型可以为决策树模型或神经网络模型,其中,决策树模型相比神经网络模型可以在保证一定的识别准确率的基础上,可以进一步提高恶意样本识别的速率,且可以大大降低恶意样本识别模型的复杂程度。
需要说明的是,在基于确定的异常指令判断待测样本是否为恶意样本时采用的是模型识别的方式,而非数据库识别的方式,这是因为前者具备自学习的能力,后者只能判断已知威胁。如此,当待测样本中的异常指令是未知威胁时,通过模型识别的方式可以输出判断结果,而通过数据库识别的方式不能输出判断结果。
若步骤104的判断结果为是,则输出待测样本是恶意样本的检测结果;若步骤104的判断结果为否,则可以结束当前流程。然而,在一些情况下,决策树模型检测的结果并非是用户想要的准确结果,例如一个恶意样本在初始时需要命中A、B、C、D、E、F六个异常指令,如果只命中了其中的五个异常指令,例如A、B、C、D、E,那么用户也可以认为该待测样本仍然为恶意样本。因此,此时的决策树模型并非是十分准确的。
为了解决该技术问题,可以考虑将用户的反馈结果作为决策树模型的更新依据,以对决策树模型进行更新。
因此,在一些实施方式中,上述检测方法还包括:
若步骤104的判断结果为否,则获取针对待测样本的人工判断结果;
若人工判断结果为待测样本是恶意样本,则更新恶意样本识别模型的树结构,再利用更新后的恶意样本识别模型检测待测样本。
在该实施方式中,通过根据获得的针对待测样本的人工判断结果,来更新恶意样本识别模型的树结构,从而可以提高待测样本检测的准确率。
综上,通过对待测样本进行静态分析,得到待测样本中存在的所有行为指令,并进一步确定所有行为指令中的异常指令;而后基于确定的异常指令,判断待测样本是否为恶意样本。上述方案利用静态分析的方式加快了待测样本的检测效率,同时基于确定的异常指令可以有效判断待测样本是否为恶意样本,从而解决了恶意样本难以被有效检测的问题。
图2示出根据另一个实施例的恶意样本的检测方法的流程图。参见图2,该方法包括:
步骤200:利用静态向量提取技术对待测样本进行分析,得到待测样本中存在的所有行为指令的指令类型;
步骤202:利用反汇编技术对待测样本进行分析,得到待测样本中存在的所有行为指令的指令参数;
步骤204:基于历史异常指令以及与每个历史异常指令相对应的指令类型和指令参数,构建异常指令规则库;
步骤206:基于异常指令规则库以及当前行为指令的指令类型和指令参数,判断每一个行为指令是否为异常指令;若是,则执行步骤208,若否,则结束当前流程;
步骤208:输出用于表征异常指令的标识信息;
步骤210:将历史异常指令的标识信息和预设的样本标签分别作为输入和输出,训练预设的机器学习模型,得到恶意样本识别模型;
步骤212:基于恶意样本识别模型和确定的异常指令的标识信息,判断待测样本是否为恶意样本;若是,则执行步骤214,若否,则执行步骤216;
步骤214:输出待测样本为恶意样本的检测结果;
步骤216:获取针对待测样本的人工判断结果;
步骤218:若人工判断结果为待测样本是恶意样本,则更新恶意样本识别模型的树结构,再利用更新后的恶意样本识别模型检测待测样本。
如图3、图4所示,本发明实施例提供了一种恶意样本的检测装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种恶意样本的检测装置所在电子设备的一种硬件架构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其它硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在电子设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。
如图4所示,本实施例提供的一种恶意样本的检测装置,包括:
分析模块400,用于对待测样本进行静态分析,得到待测样本中存在的所有行为指令;其中,行为指令包括指令类型和指令参数;
确定模块402,用于确定所有行为指令中的异常指令;
判断模块404,用于基于确定的异常指令,判断待测样本是否为恶意样本。
在本发明实施例中,分析模块400可用于执行上述方法实施例中的步骤100,确定模块402可用于执行上述方法实施例中的步骤102,判断模块404可用于执行上述方法实施例中的步骤104。
在本发明的一个实施例中,指令类型包括如下中的至少一种:
服务指令、文件指令、窗口指令、注册表指令、进程指令、算法指令、通信指令和钩子指令。
在本发明的一个实施例中,异常指令包括如下中的至少一种:
反沙箱、反杀软、屏幕监控、键盘监控和数据回传。
在本发明的一个实施例中,分析模块400,用于执行如下操作:
利用静态向量提取技术对待测样本进行分析,得到待测样本中存在的所有行为指令的指令类型;
利用反汇编技术对待测样本进行分析,得到待测样本中存在的所有行为指令的指令参数。
在本发明的一个实施例中,确定模块402,用于执行如下操作:
基于历史异常指令以及与每个历史异常指令相对应的指令类型和指令参数,构建异常指令规则库;
基于异常指令规则库以及当前行为指令的指令类型和指令参数,判断每一个行为指令是否为异常指令,以确定所有行为指令中的异常指令。
在本发明的一个实施例中,确定模块402,还用于执行如下操作:
若是,则输出用于表征异常指令的标识信息;
判断模块404,用于执行如下操作:
将历史异常指令的标识信息和预设的样本标签分别作为输入和输出,训练预设的机器学习模型,得到恶意样本识别模型;其中,所述样本标签为恶意样本和正常样本;
基于恶意样本识别模型和确定的异常指令的标识信息,判断待测样本是否为恶意样本。
如图5所示,在本发明的一个实施例中,恶意样本识别模型为决策树模型;
还包括:
获取模块406,用于在待测样本不是恶意样本时,获取针对待测样本的人工判断结果;
更新模块408,用于在人工判断结果为待测样本是恶意样本时,更新恶意样本识别模型的树结构,再利用更新后的恶意样本识别模型检测待测样本。
可以理解的是,本发明实施例示意的结构并不构成对一种恶意样本的检测装置的具体限定。在本发明的另一些实施例中,一种恶意样本的检测装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本发明任一实施例中的一种恶意样本的检测方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时,使所述处理器执行本发明任一实施例中的一种恶意样本的检测方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
综上所述,本发明提供了一种恶意样本的检测方法、装置、电子设备及存储介质,本发明至少具有如下有益效果:
1、在本发明的一个实施例中,通过对待测样本进行静态分析,得到待测样本中存在的所有行为指令,并进一步确定所有行为指令中的异常指令;而后基于确定的异常指令,判断待测样本是否为恶意样本。上述方案利用静态分析的方式加快了待测样本的检测效率,同时基于确定的异常指令可以有效判断待测样本是否为恶意样本,从而解决了恶意样本难以被有效检测的问题。
2、在本发明的一个实施例中,通过基于历史异常指令来构建异常指令规则库,如此可以基于该异常指令规则库快速判断每一个行为指令是否为异常指令,从而可以快速确定出待测样本的所有行为指令中的异常指令。
3、在本发明的一个实施例中,以历史异常指令的标识信息和预设的样本标签作为数据基础,来训练预设的机器学习模型,如此可以利用训练得到的恶意样本识别模型来判断待测样本是否为恶意样本,提高了恶意样本的检测效率。
恶意样本识别模型为决策树模型,这样可以在保证一定的识别准确率的基础上,可以进一步提高恶意样本识别的速率,且可以大大降低恶意样本识别模型的复杂程度。
4、在本发明的一个实施例中,通过根据获得的针对待测样本的人工判断结果,来更新恶意样本识别模型的树结构,从而可以提高待测样本检测的准确率。
5、在本发明的一个实施例中,为了能够方便快速地检测到待测样本中的上述异常指令,不能使待测样本处于动态运行的状态。为此,本发明实施例是通过利用静态分析的方式来检测,具体是通过分析得到的行为指令的指令类型和指令参数,来判断每一个行为指令是否是异常指令。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种恶意样本的检测方法,其特征在于,包括:
对待测样本进行静态分析,得到所述待测样本中存在的所有行为指令;其中,所述行为指令包括指令类型和指令参数;
确定所有所述行为指令中的异常指令;
基于确定的所述异常指令,判断所述待测样本是否为恶意样本。
2.根据权利要求1所述的方法,其特征在于,所述指令类型包括如下中的至少一种:
服务指令、文件指令、窗口指令、注册表指令、进程指令、算法指令、通信指令和钩子指令。
3.根据权利要求1所述的方法,其特征在于,所述异常指令包括如下中的至少一种:
反沙箱、反杀软、屏幕监控、键盘监控和数据回传。
4.根据权利要求1所述的方法,其特征在于,所述对待测样本进行静态分析,得到所述待测样本中存在的所有行为指令,包括:
利用静态向量提取技术对待测样本进行分析,得到所述待测样本中存在的所有行为指令的指令类型;
利用反汇编技术对所述待测样本进行分析,得到所述待测样本中存在的所有行为指令的指令参数。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述确定所有行为指令中的异常指令,包括:
基于历史异常指令以及与每个所述历史异常指令相对应的指令类型和指令参数,构建异常指令规则库;
基于所述异常指令规则库以及当前行为指令的指令类型和指令参数,判断每一个行为指令是否为异常指令,以确定所有行为指令中的异常指令。
6.根据权利要求5所述的方法,其特征在于,在所述判断当前行为指令是否为异常指令之后,还包括:
若是,则输出用于表征所述异常指令的标识信息;
所述基于确定的所述异常指令,判断所述待测样本是否为恶意样本,包括:
将历史异常指令的标识信息和预设的样本标签分别作为输入和输出,训练预设的机器学习模型,得到恶意样本识别模型;其中,所述样本标签为恶意样本和正常样本;
基于所述恶意样本识别模型和确定的所述异常指令的标识信息,判断所述待测样本是否为恶意样本。
7.根据权利要求6所述的方法,其特征在于,所述恶意样本识别模型为决策树模型;
在所述判断所述待测样本是否为恶意样本之后,还包括:
若否,则获取针对所述待测样本的人工判断结果;
若所述人工判断结果为所述待测样本是恶意样本,则更新所述恶意样本识别模型的树结构,再利用更新后的所述恶意样本识别模型检测所述待测样本。
8.一种恶意样本的检测装置,其特征在于,包括:
分析模块,用于对待测样本进行静态分析,得到所述待测样本中存在的所有行为指令;其中,所述行为指令包括指令类型和指令参数;
确定模块,用于确定所有行为指令中的异常指令;
判断模块,用于基于确定的所述异常指令,判断所述待测样本是否为恶意样本。
9.一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111476731.XA CN114117413A (zh) | 2021-12-06 | 2021-12-06 | 恶意样本的检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111476731.XA CN114117413A (zh) | 2021-12-06 | 2021-12-06 | 恶意样本的检测方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114117413A true CN114117413A (zh) | 2022-03-01 |
Family
ID=80367169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111476731.XA Pending CN114117413A (zh) | 2021-12-06 | 2021-12-06 | 恶意样本的检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114117413A (zh) |
-
2021
- 2021-12-06 CN CN202111476731.XA patent/CN114117413A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10110619B2 (en) | Method and product for providing a predictive security product and evaluating existing security products | |
CN109145600B (zh) | 使用静态分析元素检测恶意文件的系统和方法 | |
EP2564341B1 (en) | Behavioral signature generation using clustering | |
CN110837640B (zh) | 恶意文件的查杀方法、查杀设备、存储介质及装置 | |
US8190647B1 (en) | Decision tree induction that is sensitive to attribute computational complexity | |
US20040205411A1 (en) | Method of detecting malicious scripts using code insertion technique | |
EP2975873A1 (en) | A computer implemented method for classifying mobile applications and computer programs thereof | |
CN107679403B (zh) | 一种基于序列比对算法的勒索软件变种检测方法 | |
CN108268773B (zh) | Android应用升级包本地存储安全性检测方法 | |
JP6282217B2 (ja) | 不正プログラム対策システムおよび不正プログラム対策方法 | |
CN114090406A (zh) | 电力物联网设备行为安全检测方法、系统、设备及存储介质 | |
CN110543765A (zh) | 一种恶意软件检测方法 | |
US11003772B2 (en) | System and method for adapting patterns of malicious program behavior from groups of computer systems | |
EP3800570A1 (en) | Methods and systems for genetic malware analysis and classification using code reuse patterns | |
CN114117413A (zh) | 恶意样本的检测方法、装置、电子设备及存储介质 | |
JP6602799B2 (ja) | セキュリティ監視サーバ、セキュリティ監視方法、プログラム | |
CN113434860A (zh) | 病毒检测方法、装置、计算设备及存储介质 | |
CN114238974A (zh) | 恶意Office文档的检测方法、装置、电子设备及存储介质 | |
EP3799367B1 (en) | Generation device, generation method, and generation program | |
CN112580038A (zh) | 反病毒数据的处理方法、装置及设备 | |
CN111027052A (zh) | 基于应用程序版本虚拟机文档判别方法、装置及存储设备 | |
CN114491849A (zh) | 自冲铆工艺参数的确定方法、装置、电子设备及存储介质 | |
CN113032784B (zh) | 一种威胁处置方法、威胁处置工具和计算机可读介质 | |
CN114117431A (zh) | Apt样本的发现方法、装置、电子设备及存储介质 | |
CN116170186A (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 |