CN112905534B - 一种基于沙箱环境的样本分析方法和装置 - Google Patents
一种基于沙箱环境的样本分析方法和装置 Download PDFInfo
- Publication number
- CN112905534B CN112905534B CN202110211904.9A CN202110211904A CN112905534B CN 112905534 B CN112905534 B CN 112905534B CN 202110211904 A CN202110211904 A CN 202110211904A CN 112905534 B CN112905534 B CN 112905534B
- Authority
- CN
- China
- Prior art keywords
- parameter information
- api
- sample
- called
- analyzed
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及一种基于沙箱环境的样本分析方法和装置,该样本分析方法,包括:获取待分析样本在执行过程中所调用的API的参数信息,所述参数信息的类型包括注册表、文件、服务、进程和窗体;判断所调用的API的参数信息和预先构建好的特征库是否匹配;如果是,则将所述特征库中与所调用的API的参数信息相匹配的参数信息发送给该API,以进行环境创建;如果否,则将与所调用的API的参数信息的类型相同的参数信息发送给该API,以进行环境创建;对所述待分析样本进行样本分析。本发明的方案能够提高基于沙箱环境的样本分析的效率和准确性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及基于沙箱环境的样本分析方法和装置。
背景技术
自动化分析样本的时候沙箱内环境基本是统一的,应用种类众多是一方面,另一方面每种应用也不只一种版本。一个沙箱环境搭载多个应用及版本显然是比较困难的。在海量分析样本的时候,被分析的样本可能需要的应用环境多种多样,而沙箱内的分析环境一成不变,这就导致样本的行为不能够被完全触发,将直接影响样本分析的效率和准确性。
因此,针对以上不足,需要提供一种基于沙箱环境的样本分析方法和装置。
发明内容
本发明要解决的技术问题在于基于沙箱环境的样本分析的效率和准确性不高,针对现有技术中的缺陷,提供一种基于沙箱环境的样本分析方法和装置。
为了解决上述技术问题,本发明提供了一种基于沙箱环境的样本分析方法,包括:
获取待分析样本在执行过程中所调用的API的参数信息,所述参数信息的类型包括注册表、文件、服务、进程和窗体;
判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配;
如果是,则将所述特征库中与所调用的API的参数信息相匹配的参数信息发送给该API,以进行环境创建;
如果否,则将与所调用的API的参数信息的类型相同的参数信息发送给该API,以进行环境创建;
对所述待分析样本进行样本分析。
在一种可能的实现方式中,所述获取待分析样本在执行过程中所调用的API的参数信息,包括:
构造跳转指令;
在内存中获取待hook的API的地址;
将所述跳转指令写入待hook的API的地址的预设位置,以获取待分析样本在执行过程中所调用的API的参数信息。
在一种可能的实现方式中,在所述获取待分析样本在执行过程中所调用的API的参数信息之后和在所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配之前,进一步包括:对获取的API的参数信息进行格式化处理;
利用该API经格式化处理得到的参数信息,执行所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配。
在一种可能的实现方式中,所述对获取的API的参数信息进行格式化处理,包括:
对获取的API的参数信息的类型进行一次格式化处理;
当获取的API的参数信息的类型为注册表或文件时,对获取的API的参数信息进行二次格式化处理。
在一种可能的实现方式中,在所述获取待分析样本在执行过程中所调用的API的参数信息之后和在所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配之前,进一步包括:
判断沙箱环境中是否存在与所调用的API的参数信息相同的参数信息;
如果是,则跳转执行所述对所述待分析样本进行样本分析;
如果否,则执行所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配。
在一种可能的实现方式中,在所述获取待分析样本在执行过程中所调用的API的参数信息之后和在所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配之前,进一步包括:
判断预先构建好的特征库中是否存在与所调用的API的参数信息相对应的唯一标识信息;所述唯一标识信息用于表征所述特征库发送给API的参数信息;
如果是,则跳转执行所述对所述待分析样本进行样本分析;
如果否,则执行所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配。
在一种可能的实现方式中,所述特征库是通过如下方式进行构建:
获取应用所述样本分析方法的服务器中每一个可执行程序的安装包;
获取所述服务器中每一个可执行程序在执行过程中产生的所有参数信息;
将所述服务器中每一个可执行程序的安装包和该可执行程序在执行过程中产生的所有参数信息存储到特征库中。
本发明还提供了一种基于沙箱环境的样本分析装置,包括:
获取模块,用于获取待分析样本在执行过程中所调用的API的参数信息,所述参数信息的类型包括注册表、文件、服务、进程和窗体;
第一判断模块,用于执行如下操作:判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配;如果是,则将所述特征库中与所调用的API的参数信息相匹配的参数信息发送给该API,以进行环境创建;如果否,则将与所调用的API的参数信息的类型相同的参数信息发送给该API,以进行环境创建;
样本分析模块,用于对所述待分析样本进行样本分析。
本发明还提供了一种基于沙箱环境的样本分析装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行如上述所述的方法。
本发明还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行如上述所述的方法。
实施本发明的基于沙箱环境的样本分析方法和装置,具有以下有益效果:
在对待分析样本进行样本分析时,通过设置预先构建好特征库,以判断待分析样本在执行过程中所调用的API的参数信息是否与该特征库存储的参数信息是否匹配,从而可以根据判断的结果来创建出该待分析样本所需的应用环境,并对待分析样本进行样本分析。上述技术方案可以避免人工介入修改沙箱环境,如此提高了样本分析的效率和准确性。
附图说明
图1是本发明一个实施例提供的基于沙箱环境的样本分析方法的流程图;
图2是本发明另一个实施例提供的基于沙箱环境的样本分析方法的流程图;
图3是本发明一个实施例提供的基于沙箱环境的样本分析装置所在设备的示意图;
图4是本发明一个实施例提供的基于沙箱环境的样本分析装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在样本分析的过程中,通常是通过对样本行为的监控、分析,并在沙箱内模拟样本执行所需的应用环境,让样本尽可能多的释放行为,以精确获取其行为特质。因此,对样本行为的分析需要对待分析样本(例如软件等可执行程序)进行尽可能多的释放或触发。其中,沙箱是指类似沙盒的独立作业环境,即是一个虚拟系统环境,运行所产生的变化可以随后删除。而在网络安全中,沙箱是指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。
然而,自动化分析样本的时候沙箱内环境基本是统一的,应用种类众多是一方面,另一方面每种应用也不只一种版本。一个沙箱环境搭载多个应用及版本显然是比较困难的。在海量分析样本的时候,被分析的样本可能需要的应用环境多种多样,而沙箱内的分析环境一成不变,这就导致样本的行为不能够被完全触发,将直接影响样本分析的效率和准确性。
为使沙箱环境无需受待分析样本的种类(例如聊天软件、视频软件、新闻软件等)和版本的影响,可以考虑对原有的沙箱环境不进行修改,而是增设特征库的方式,以使从待分析样本获取到的参数信息和该特征库中存储的参数信息进行比较(即判断是否匹配),如此不仅可以提高待分析样本分析的准确性,也能够避免人工介入修改沙箱环境,以利于提高样本分析的效率。
下面描述本发明所提供构思的具体实现方式。
图1示出根据一个实施例的基于沙箱环境的样本分析方法的流程图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。在本发明实施例中,该方法通过服务器来执行。
参见图1,该方法包括:
步骤101:获取待分析样本在执行过程中所调用的API的参数信息,参数信息的类型包括注册表、文件、服务、进程和窗体。
在步骤101中,例如可以利用hook的方式获取待分析样本在执行过程中所调用的API的参数信息。具体可以包括如下步骤:
构造跳转指令;
在内存中获取待hook的API的地址;
将跳转指令写入待hook的API的地址的预设位置,以获取待分析样本在执行过程中所调用的API的参数信息。
API函数都保存在操作系统提供的DLL文件中,当在程序中使用某个API函数时,在运行程序后,程序会隐式地将API所在的DLL加载入进程中。这样,程序就会像调用自己的函数一样调用API。
例如,CreateFile()是API函数,API函数也是由人编写的代码再编译而成的,也有其对应的二进制代码。既然是代码,那么就可以被修改。通过一种“野蛮”的方法来直接修改API函数在内存中的映像,从而对API函数进行hook。使用的方法是,直接使用汇编指令的jmp指令将其代码执行流程改变,进而执行我们的代码,这样就使原来的函数的流程改变了。执行完我们的流程以后,可以选择性地执行原来的函数,也可以不继续执行原来的函数。
假设要对某进程的kernel32.dll的CreateFile()函数进行hook,首先需要在指定进程中的内存中找到CreateFile()函数的地址,然后修改CreateFile()函数的首地址的代码为jmpMyProc的指令。这样,当指定的进程调用CreateFile()函数时,就会首先跳转到我们的函数当中去执行流程,这样就完成了我们的hook了。
上述hook的方式为Inline hook,当然hook的方式还可以包括IAT hook、Windows钩子等,在此不进行赘述。
步骤102:判断所调用的API的参数信息和预先构建好的特征库中存储的参数信息是否匹配。
在步骤102中,特征库是通过如下方式进行构建:
获取应用样本分析方法的服务器中每一个可执行程序的安装包;
获取服务器中每一个可执行程序在执行过程中产生的所有参数信息;
将服务器中每一个可执行程序的安装包和该可执行程序在执行过程中产生的所有参数信息存储到特征库中。
在本实施例中,通过获取服务器中每一个可执行程序的安装包,并将这些安装包存储到特征库中,如此可以保证当上述样本分析方法失效时,方便人工干预,加速手动安装真实应用的速度,来进一步诱导样本行为触发,提升自动化分析样本整体效率及准确率。而将服务器中每一个可执行程序在执行过程中产生的所有参数信息,并将这些参数信息存储到特征库中,有利于对后续的待分析样本进行样本分析,即起到了扩充特征库数据的作用。
举例来说,利用hook函数获取当前服务器中的winrar压缩软件在创建过程中产生的所有信息,这些信息包括注册表键值、特定目录和属于该软件独有的文件。将这些信息和winrar的压缩包存储到特征库中,以方便后续的待分析样本可以与特征库中的参数信息进行匹配。例如,当分析出样本需要使用本机的winrar压缩软件打包时,沙箱环境会立刻根据特征库的相关参数信息创建出winrar的环境,以使该样本可以被执行。
需要说明的是,该hook的方式和上述获取待分析样本中的参数信息所采用的hook的方式相同,均可包括Inline hook、IAT hook、Windows钩子等hook的方式,在此不进行具体限定。可执行程序不局限于软件,只要保证该程序可被执行即可,例如文件、图片等。
步骤103:如果是,则将特征库中与所调用的API的参数信息相匹配的参数信息发送给该API,以进行环境创建。
在步骤103中,“相匹配”可以理解为:特征库中参数信息可以是与所调用的API的参数信息完全相同或部分相同,如此可以增大参数信息匹配的适用性。可以知道的是,特征库发送给API的参数信息在进行环境创建后,能够使得待分析样本触发相关的功能,例如该参数信息为存储软件登录密码的文件路径,此时可以使待分析样本完成登录的功能。
步骤104:如果否,则将与所调用的API的参数信息的类型相同的参数信息发送给该API,以进行环境创建。
在步骤104中,由于特征库中未存储有与所调用的API的参数信息相匹配的参数信息,为使得待分析样本能够完成环境创建,以触发更多的样本行为。因此,此时需要服务器给该API发送与所调用的API的参数信息的类型相同的参数信息,但这种情形下,不能使待分析样本触发相关的功能。例如,该参数信息为存储某网站登录凭证(例如cookie)的文件路径,此时服务器发送给该API的参数信息只能保证是文件路径,而不是存储某网站登录凭证的文件路径,因此此时待分析样本不能完成登录的功能。
具体而言,在步骤104进行环境创建时,例如类型为注册表的API调用预先设置好的模拟注册表模块,类型为文件的API调用预先设置好的模拟文件模块,其余参数信息的类型的调用在此不进行一一赘述。
在此需要说明的是,注册表相关API包括:RegCreateKey、RegOpenKey、RegSetValue、RegCloseKey,调用这些API在沙箱内完成对注册表环境的创建;文件相关API包括:CreateFile、ReadFile、CopyFile、WriteFile、SetFileAttributes,调用这些API在沙箱内完成对文件环境的创建;服务相关API包括:OpenSCManager、CreateService、StartService、ControlService、CloseServiceHandle,调用这些API在沙箱内完成对服务环境的创建;进程相关API包括:CreateProcess、NtCreateUserProcess、ZwCreateUserProcess,调用这些API在沙箱内完成对进程环境创建;窗体相关API包括:RegisterClass、ShowWindow、UpdateWindow、SetFileAttributes,调用这些API在沙箱内完成对窗体环境的创建。
步骤105:对待分析样本进行样本分析。
可见,在上述图1所示过程中,通过设置预先构建好特征库,以判断待分析样本在执行过程中所调用的API的参数信息是否与该特征库存储的参数信息是否匹配,从而可以根据判断的结果来创建出该待分析样本所需的应用环境,并对待分析样本进行样本分析。从而可以避免人工介入修改沙箱环境,提高了样本分析的效率和准确性。
图2示出根据另一个实施例的基于沙箱环境的样本分析方法的流程图。参见图2,该方法包括:
步骤201:获取待分析样本在执行过程中所调用的API的参数信息。
在步骤201中,参数信息的类型包括注册表、文件、服务、进程和窗体。其它描述可参见步骤101,在此不进行赘述。
步骤202:对获取的API的参数信息进行格式化处理。
通过对获取的API的参数信息进行格式化处理,不仅可以有利于后续与预先构建好的特征库存储的参数信息进行快速匹配,还可以方便与用户交互(即易于用户看懂),以利于特征库的维护。
在步骤202中,具体可以包括如下步骤:
对获取的API的参数信息的类型进行一次格式化处理;
当获取的API的参数信息的类型为注册表或文件时,对获取的API的参数信息进行二次格式化处理。
在本实施例中,通过对参数信息的类型以及对当获取的API的参数信息的类型为注册表或文件时的参数信息进行格式化处理,可以方便后续与预先构建好的特征库存储的参数信息进行快速匹配。
针对“对获取的API的参数信息的类型进行一次格式化处理”,可以理解为,例如获取的API的参数信息的类型为注册表,则该类型可以与k1这一标签建立映射关系,为文件的类型时,可以与k2这一标签建立映射关系,以此类推。
以该API的参数信息为文件为例,具体可以为Program Files/Windows Defender/Offline/EppManifest.dll,二次格式化处理后的格式可以为Program Files/*/*/EppManifest.dll。其中,“*”用于表征文件夹的作用,即二次格式化处理后的格式只要满足第一个文件夹为“Program Files”、最后一个文件为“EppManifest.dll”,且二者之间存在两个文件夹的文件路径均属于该API的参数信息。
步骤203:判断沙箱环境中是否存在与所调用的API的参数信息相同的参数信息,如果是,则执行步骤206,如果否,则执行步骤204。
需要说明的是,与步骤203的并列方案还可以是:判断预先构建好的特征库中是否存在与所调用的API的参数信息相对应的唯一标识信息;唯一标识信息用于表征特征库发送给API的参数信息。如果是,则执行步骤206,如果否,则执行步骤204。
在步骤203中,为提高后续待分析样本的分析效率,在进行环境创建时,可以先沙箱环境中是否存在与所调用的API的参数信息相同的参数信息或判断预先构建好的特征库中是否存在与所调用的API的参数信息相对应的唯一标识信息,如果存在,则不会再进行二次环境创建,即直接执行步骤206。
可以理解的是,步骤202和步骤203的顺序可以调换,在此不进行限定。
步骤204:判断所调用的API的参数信息和预先构建好的特征库中存储的参数信息是否匹配,如果是,则执行步骤205,如果否,则执行步骤206。
步骤205:将特征库中与所调用的API的参数信息相匹配的参数信息发送给该API,以进行环境创建。在进行环境创建后,利用环境创建后的沙箱环境执行步骤207。
步骤206:将与所调用的API的参数信息的类型相同的参数信息发送给该API,以进行环境创建。在进行环境创建后,利用环境创建后的沙箱环境执行步骤207。
步骤207:对待分析样本进行样本分析。
如图3和图4所示,本发明实施例提供了一种基于沙箱环境的样本分析装置所在的设备和基于沙箱环境的样本分析装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的基于沙箱环境的样本分析装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
如图4所示,本实施例提供的基于沙箱环境的样本分析装置,包括:
获取模块401,用于获取待分析样本在执行过程中所调用的API的参数信息,参数信息的类型包括注册表、文件、服务、进程和窗体;
第一判断模块402,用于执行如下操作:判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配;如果是,则将特征库中与所调用的API的参数信息相匹配的参数信息发送给该API,以进行环境创建;如果否,则将与所调用的API的参数信息的类型相同的参数信息发送给该API,以进行环境创建;
样本分析模块403,用于对待分析样本进行样本分析。
在本发明实施例中,获取模块401可用于执行上述方法实施例中的步骤101,第一判断模块402可用于执行上述方法实施例中的步骤102、103和104,样本分析模块403可用于执行上述方法实施例中的步骤105。
在本发明的一个实施例中,获取模块401用于执行如下操作:
在待分析样本在执行过程中所调用的API中注册hook函数;
在待分析样本执行时,hook函数被触发,获取该API的参数信息。
在本发明的一个实施例中,进一步包括:格式化模块;
格式化模块,用于对获取的API的参数信息进行格式化处理;
第一判断模块402,用于利用该API经格式化处理得到的参数信息,执行判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配。
在本发明的一个实施例中,格式化模块,进一步用于执行如下操作:
对获取的API的参数信息的类型进行一次格式化处理;
当获取的API的参数信息的类型为注册表或文件时,对获取的API的参数信息进行二次格式化处理。
在本发明的一个实施例中,进一步包括:第二判断模块;
第二判断模块,用于执行如下操作:判断沙箱环境中是否存在与所调用的API的参数信息相同的参数信息;如果是,则执行对待分析样本进行样本分析;如果否,则执行判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配。
在本发明的一个实施例中,进一步包括:第三判断模块;
第三判断模块,用于执行如下操作:判断预先构建好的特征库中是否存在与所调用的API的参数信息相对应的唯一标识信息;唯一标识信息用于表征特征库发送给API的参数信息;如果是,则跳转执行对待分析样本进行样本分析;如果否,则执行判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配。
在本发明的一个实施例中,特征库是通过如下方式进行构建:
获取应用样本分析方法的服务器中每一个可执行程序的安装包;
获取服务器中每一个可执行程序在执行过程中产生的所有参数信息;
将服务器中每一个可执行程序的安装包和该可执行程序在执行过程中产生的所有参数信息存储到特征库中。
可以理解的是,本发明实施例示意的结构并不构成对基于沙箱环境的样本分析装置的具体限定。在本发明的另一些实施例中,基于沙箱环境的样本分析装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种基于沙箱环境的样本分析装置,包括:至少一个存储器和至少一个处理器;
至少一个存储器,用于存储机器可读程序;
至少一个处理器,用于调用机器可读程序,执行本发明任一实施例中的基于沙箱环境的样本分析方法。
本发明实施例还提供了一种计算机可读介质,存储用于使一计算机执行如本文的基于沙箱环境的样本分析方法的指令。具体地,可以提供配有存储介质的方法或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该方法或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作方法等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种基于沙箱环境的样本分析方法,其特征在于,包括:
获取待分析样本在执行过程中所调用的API的参数信息,所述参数信息的类型包括注册表、文件、服务、进程和窗体;
判断所调用的API的参数信息和预先构建好的特征库中存储的参数信息是否匹配;
如果是,则将所述特征库中与所调用的API的参数信息相匹配的参数信息发送给该API,以进行环境创建;
如果否,则将与所调用的API的参数信息的类型相同的参数信息发送给该API,以进行环境创建;
对所述待分析样本进行样本分析;
所述获取待分析样本在执行过程中所调用的API的参数信息,包括:
构造跳转指令;
在内存中获取待hook的API的地址;
将所述跳转指令写入待hook的API的地址的预设位置,以获取待分析样本在执行过程中所调用的API的参数信息。
2.根据权利要求1所述的方法,其特征在于,在所述获取待分析样本在执行过程中所调用的API的参数信息之后和在所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配之前,进一步包括:对获取的API的参数信息进行格式化处理;
利用该API经格式化处理得到的参数信息,执行所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配。
3.根据权利要求2所述的方法,其特征在于,所述对获取的API的参数信息进行格式化处理,包括:
对获取的API的参数信息的类型进行一次格式化处理;
当获取的API的参数信息的类型为注册表或文件时,对获取的API的参数信息进行二次格式化处理。
4.根据权利要求1所述的方法,其特征在于,在所述获取待分析样本在执行过程中所调用的API的参数信息之后和在所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配之前,进一步包括:
判断沙箱环境中是否存在与所调用的API的参数信息相同的参数信息;
如果是,则跳转执行所述对所述待分析样本进行样本分析;
如果否,则执行所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配。
5.根据权利要求1所述的方法,其特征在于,在所述获取待分析样本在执行过程中所调用的API的参数信息之后和在所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配之前,进一步包括:
判断预先构建好的特征库中是否存在与所调用的API的参数信息相对应的唯一标识信息;所述唯一标识信息用于表征所述特征库发送给API的参数信息;
如果是,则跳转执行所述对所述待分析样本进行样本分析;
如果否,则执行所述判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述特征库是通过如下方式进行构建:
获取应用所述样本分析方法的服务器中每一个可执行程序的安装包;
获取所述服务器中每一个可执行程序在执行过程中产生的所有参数信息;
将所述服务器中每一个可执行程序的安装包和该可执行程序在执行过程中产生的所有参数信息存储到特征库中。
7.一种基于沙箱环境的样本分析装置,其特征在于,包括:
获取模块,用于获取待分析样本在执行过程中所调用的API的参数信息,所述参数信息的类型包括注册表、文件、服务、进程和窗体;
第一判断模块,用于执行如下操作:判断所调用的API的参数信息和预先构建好的特征库存储的参数信息是否匹配;如果是,则将所述特征库中与所调用的API的参数信息相匹配的参数信息发送给该API,以进行环境创建;如果否,则将与所调用的API的参数信息的类型相同的参数信息发送给该API,以进行环境创建;
样本分析模块,用于对所述待分析样本进行样本分析;
获取模块用于执行如下操作:
在待分析样本在执行过程中所调用的API中注册hook函数;
在待分析样本执行时,hook函数被触发,获取该API的参数信息。
8.一种基于沙箱环境的样本分析装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1-6中任一项所述的方法。
9.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110211904.9A CN112905534B (zh) | 2021-02-25 | 2021-02-25 | 一种基于沙箱环境的样本分析方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110211904.9A CN112905534B (zh) | 2021-02-25 | 2021-02-25 | 一种基于沙箱环境的样本分析方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905534A CN112905534A (zh) | 2021-06-04 |
CN112905534B true CN112905534B (zh) | 2023-09-05 |
Family
ID=76108437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110211904.9A Active CN112905534B (zh) | 2021-02-25 | 2021-02-25 | 一种基于沙箱环境的样本分析方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905534B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923474A (zh) * | 2009-06-15 | 2010-12-22 | 联想(北京)有限公司 | 一种程序运行参数配置方法及计算机 |
CN104134041A (zh) * | 2014-07-31 | 2014-11-05 | 北京奇虎科技有限公司 | 终端模拟器系统的反检测方法和反检测装置 |
CN104951355A (zh) * | 2015-07-03 | 2015-09-30 | 北京数字联盟网络科技有限公司 | 识别应用程序虚拟运行环境的方法和装置 |
CN106569942A (zh) * | 2015-10-08 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 一种测试方法和装置 |
CN108108297A (zh) * | 2016-11-25 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 自动化测试的方法和装置 |
CN109240924A (zh) * | 2018-09-03 | 2019-01-18 | 中国平安人寿保险股份有限公司 | 一种应用程序的测试方法及设备 |
EP3528435A1 (en) * | 2018-02-16 | 2019-08-21 | Juniper Networks, Inc. | Automated configuration and data collection during modeling of network devices |
-
2021
- 2021-02-25 CN CN202110211904.9A patent/CN112905534B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101923474A (zh) * | 2009-06-15 | 2010-12-22 | 联想(北京)有限公司 | 一种程序运行参数配置方法及计算机 |
CN104134041A (zh) * | 2014-07-31 | 2014-11-05 | 北京奇虎科技有限公司 | 终端模拟器系统的反检测方法和反检测装置 |
CN104951355A (zh) * | 2015-07-03 | 2015-09-30 | 北京数字联盟网络科技有限公司 | 识别应用程序虚拟运行环境的方法和装置 |
CN106569942A (zh) * | 2015-10-08 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 一种测试方法和装置 |
CN108108297A (zh) * | 2016-11-25 | 2018-06-01 | 腾讯科技(深圳)有限公司 | 自动化测试的方法和装置 |
EP3528435A1 (en) * | 2018-02-16 | 2019-08-21 | Juniper Networks, Inc. | Automated configuration and data collection during modeling of network devices |
CN109240924A (zh) * | 2018-09-03 | 2019-01-18 | 中国平安人寿保险股份有限公司 | 一种应用程序的测试方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112905534A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101857001B1 (ko) | 안드로이드 동적 로딩 파일 추출 방법, 이를 수행하기 위한 기록 매체 및 시스템 | |
CN109101815B (zh) | 一种恶意软件检测方法及相关设备 | |
US9507933B2 (en) | Program execution apparatus and program analysis apparatus | |
CN109255235B (zh) | 基于用户态沙箱的移动应用第三方库隔离方法 | |
RU2634177C1 (ru) | Система и способ обнаружения нежелательного программного обеспечения | |
JP6282217B2 (ja) | 不正プログラム対策システムおよび不正プログラム対策方法 | |
US10310956B2 (en) | Techniques for web service black box testing | |
EP2985716B1 (en) | Information processing device and identifying method | |
WO2018070404A1 (ja) | マルウェア解析装置、マルウェア解析方法、及び、マルウェア解析プログラムが格納された記録媒体 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
CN108322458B (zh) | Web应用入侵检测方法、系统、计算机设备和存储介质 | |
CN111177665A (zh) | 一种新生成可执行文件的安全追溯方法 | |
CN114417335A (zh) | 一种恶意文件检测方法、装置、电子设备及存储介质 | |
CN113391874A (zh) | 一种虚拟机检测对抗方法、装置、电子设备及存储介质 | |
CN111428233A (zh) | 一种嵌入式设备固件的安全性分析方法 | |
US20140298002A1 (en) | Method and device for identifying a disk boot sector virus, and storage medium | |
CN112905534B (zh) | 一种基于沙箱环境的样本分析方法和装置 | |
CN112231697A (zh) | 第三方sdk行为的检测方法、装置、介质及电子设备 | |
US20230141948A1 (en) | Analysis and Testing of Embedded Code | |
CN115544518A (zh) | 漏洞扫描引擎实现方法、装置、漏洞扫描方法及电子设备 | |
KR101053470B1 (ko) | 유해 트래픽 제어 및 해킹을 차단하는 장치 및 방법 | |
CN113779576A (zh) | 一种可执行文件感染病毒的识别方法、装置及电子设备 | |
CN113378182A (zh) | 一种提权漏洞检测方法、装置、设备及介质 | |
JPWO2019049478A1 (ja) | コールスタック取得装置、コールスタック取得方法およびコールスタック取得プログラム | |
JPWO2020065778A1 (ja) | 情報処理装置、制御方法、及びプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |