CN115906076A - 内存快照存储方法、装置、计算机设备和存储介质 - Google Patents
内存快照存储方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115906076A CN115906076A CN202211380415.7A CN202211380415A CN115906076A CN 115906076 A CN115906076 A CN 115906076A CN 202211380415 A CN202211380415 A CN 202211380415A CN 115906076 A CN115906076 A CN 115906076A
- Authority
- CN
- China
- Prior art keywords
- memory
- node
- memory modification
- modification
- snapshot
- 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
-
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种内存快照存储方法、装置、计算机设备和存储介质,包括:响应于当前的内存修改操作,获取内存修改过程;将所述内存修改过程存储至数据库中,所述数据库中存储有初始内存快照。通过本方法可以解决当前虚拟执行环境内存快照保存耗时长、数据量大和帧数低的问题,达到提高快照保存效率、增加内存快照帧数和减少快照数据量的技术效果。
Description
技术领域
本申请涉及信息安全技术领域,特别是涉及一种内存快照存储方法、装置、计算机设备和存储介质。
背景技术
随着信息安全的发展,对于恶意程序的检测越来越受到重视。沙箱作为一个隔离的系统环境,已经被安全研究人员运用于分析不受信任的文件或程序的过程中。
目前,安全研究人员通过沙箱分析恶意程序往往采用生成内存快照的方式,由于单个内存快照的数据量较大,在任意时刻保存多个内存快照进行分析的方法不现实,因此安全研究人员往往将程序退出前的最后时刻的内存快照进行保存,并在回溯过程中打开特定时刻的内存快照进行分析。然而如果恶意程序在程序退出前将恶意内容抹除,则安全研究人员无法分析出其恶意内容,存在较大的安全隐患。
由此可见,目前虚拟执行环境仍存在内存快照保存耗时长、数据量大和帧数低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低内存快照保存时长、和数据量以及提高帧数的内存快照存储方法、装置、计算机设备和计算机可读存储介质。
第一个方面,本实施例提供了一种内存快照存储方法,所述方法包括:
响应于当前的内存修改操作,获取内存修改过程;
将所述内存修改过程存储至数据库中,所述数据库中存储有初始内存快照。
在其中一个实施例中,所述内存修改过程包括多个操作节点,所述操作节点中包括至少一个内存修改操作,所述响应于内存修改操作,获取内存修改过程,包括:
获取前一时刻的历史修改过程;
基于所述历史修改过程确定前一时刻的操作节点;
获取当前的所述内存修改操作的操作参数;
若所述操作参数与所述前一时刻的操作节点匹配,则将当前的所述内存修改操作合并至所述前一时刻的操作节点,得到内存修改过程。
在其中一个实施例中,所述获取当前的所述内存修改操作的操作参数之后还包括:
若所述操作参数与所述前一时刻的操作节点不匹配,则基于当前的所述内存修改操作新建操作节点,并基于新建的所述操作节点以及历史修改过程得到内存修改过程。
在其中一个实施例中,所述操作参数包括地址范围,若所述操作参数与所述前一时刻的操作节点匹配,则将当前的所述内存修改操作合并至所述前一时刻的操作节点包括:
判断所述地址范围与所述前一时刻的操作节点的地址范围是否重合;
若不重合,则视为匹配,将当前的所述内存修改操作合并至所述前一时刻的操作节点。
在其中一个实施例中,所述操作参数包括操作时间,若所述操作参数与所述前一时刻的操作节点匹配,则将当前的所述内存修改操作合并至所述前一时刻的操作节点包括:
判断所述操作时间与所述前一时刻的操作节点的时间范围是否匹配;
若匹配,则将当前的内存修改操作合并至所述前一时刻的操作节点。
在其中一个实施例中,将所述内存修改过程存储至数据库中之后,还包括:
获取内存快照生成指令,基于所述内存快照生成指令确定目标内存修改操作;
基于所述目标内存修改操作和所述内存修改过程生成目标内存快照。
在其中一个实施例中,所述内存修改过程包括多个操作节点,所述操作节点中包括至少一个内存修改操作,所述基于所述内存快照生成指令确定目标内存修改操作包括:
基于所述内存快照生成指令确定目标操作节点;
基于所述目标操作节点确定目标内存修改操作。
第二个方面,本实施例提供了一种内存快照存储装置,所述装置包括:
获取模块,用于响应于当前的内存修改操作,获取内存修改过程;
存储模块,用于将所述内存修改过程存储至数据库中,所述数据库中存储有初始内存快照。
第三个方面,本实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一项所述的方法的步骤。
第四个方面,本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述内存快照存储方法、装置、计算机设备和存储介质,通过响应于当前的内存修改操作,获取内存修改过程;将所述内存修改过程存储至数据库中,所述数据库中存储有初始内存快照,相比于传统技术中在多个时刻保存完整的内存快照,可以通过记录内存修改操作本身来减少特定时刻内存快照的保存时长和数据量;内存修改过程中的每一内存修改操作均可以用于生成对应时刻的内存快照,由此提高内存快照保存的帧数,解决了当前虚拟执行环境内存快照保存耗时长、数据量大和帧数低的问题,可以达到提高快照保存效率、增加内存快照帧数和减少快照数据量的技术效果。
附图说明
图1为一个实施例中内存快照存储方法的应用环境图;
图2为一个实施例中内存快照存储方法的流程示意图;
图3为另一个实施例中内存快照存储方法的流程示意图;
图4为另一个实施例中内存快照存储方法的流程示意图;
图5为另一个实施例中内存快照存储方法的流程示意图;
图6为另一个实施例中内存快照存储方法的流程示意图;
图7为一个实施例中内存快照存储装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的内存快照存储方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102响应于当前的内存修改操作,获取内存修改过程;将所述内存修改过程存储至数据存储系统中,该数据存储系统还存储有初始内存快照。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种内存快照存储方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S100,响应于当前的内存修改操作,获取内存修改过程。
其中,该方法可以应用于沙箱,还可以应用于其他对待测试程序进行内存修改操作监控的虚拟执行环境,本文对此不作限定。虚拟执行环境是指建立与操作系统层次上、为待测试程序提供的隔离环境,该虚拟执行环境可以基于操作系统内的数据生成。
内存修改操作可以是由待测试程序发送的数据操作命令,该数据操作命令用于对磁盘内的数据进行操作,可以是读取命令、写入命令等,还可以是其他对磁盘数据进行操作的命令,本文对此不作限定。
内存修改过程对应于内存修改操作,是指在当前的内存修改操作下的历史内存修改数据,可以是包括该内存修改操作在内的全部或部分的历史内存修改操作的集合,还可以是其他可以复现历史内存修改操作记录的数据,本文对此不作限定。
步骤S200,将所述内存修改过程存储至数据库中,所述数据库中存储有初始内存快照。
内存快照是指内存中的数据在特定时刻的状态记录。初始内存快照是指待测试程序在未发送数据操作命令前的内存快照,初始内存快照可以是在执行待测试程序之前记录的内存快照,还可以是基于虚拟执行环境的生成条件重新生成内存快照。
将所述内存修改过程存储至数据库中,则数据库中将存储有初始内存快照和内存修改过程,安全分析人员可以基于初始内存快照和内存修改过程生成特定时刻的内存快照。
本实施例提供的一种内存快照存储方法,通过获取内存修改过程,将内存修改过程存储于数据库中,相比于传统技术中在多个时刻保存完整的内存快照,可以通过记录内存修改操作本身来减少特定时刻内存快照的保存时长和数据量;内存修改过程中的每一内存修改操作均可以用于生成对应时刻的内存快照,由此提高内存快照保存的帧数,解决了当前虚拟执行环境内存快照保存耗时长、数据量大和帧数低的问题,可以达到提高快照保存效率、增加内存快照帧数和减少快照数据量的技术效果。
请参阅图3,在其中一个实施例中,所述内存修改过程包括多个操作节点,所述操作节点中包括至少一个内存修改操作,如图3所示,所述响应于内存修改操作,获取内存修改过程包括:
步骤S110,获取前一时刻的历史修改过程。
其中,操作节点是指内存修改过程的关键操作点,所述操作节点包括至少一个内存修改操作,该操作节点可以是一至多个内存修改操作的集合,也可以是将多个内存修改操作合并为一个内存修改操作,还可以是其他包含内存修改操作的节点。进一步的,操作节点还可以包括内存修改操作的类型信息、内容信息、时间信息、地址信息的一种或多种,安全分析人员在查看时可以通过上述操作信息对操作节点下的内存修改操作进行预览。
历史修改过程是指历史的内存修改过程,获取前一时刻的历史修改过程,可以是获取前一时刻获取的内存修改过程。
步骤S120,基于所述历史修改过程确定前一时刻的操作节点。
其中,基于所述历史修改过程确定前一时刻的操作节点,可以是基于前一时刻的内存修改过程确定所处理的操作节点,也可以是将历史修改过程最后一个操作节点确定为前一时刻的操作节点。
步骤S130,获取当前的所述内存修改操作的操作参数。
内存修改操作的操作参数可以是基于内存修改操作本身确定,也可以是基于虚拟执行环境在获取内存修改操作过程中产生的数据确定。基于内存修改操作本身确定,可以但不限于操作类型、地址范围、修改内容等操作参数;基于虚拟执行环境在获取内存修改操作时产生的数据确定,可以但不限于操作时间等操作参数。
步骤S140,若所述操作参数与所述前一时刻的操作节点匹配,则将当前的所述内存修改操作合并至所述前一时刻的操作节点,得到内存修改过程。
将操作参数与前一时刻的操作节点进行匹配,可以是基于全部或部分操作参数进行匹配。操作参数可以经过预先设置,并根据预设的操作参数进行匹配,也可以是根据该操作节点下的内存修改操作确定。
操作参数与操作节点的匹配规则也可以经过预先设置,若操作参数与操作节点满足匹配规则,则判断匹配情况为匹配。在一个具体实施例中,若操作参数为操作类型,匹配规则为若操作参数相同则视为匹配,则当操作参数的操作类型与前一时刻的操作节点的操作类型一致时,匹配结果为成功;在另一个具体实施例中,若操作参数为修改内容,匹配规则为若修改内容不一致则视为匹配,则当操作参数的修改内容与前一时刻的操作节点的修改内容不一致时,匹配结果为成功。
将当前的所述内存修改操作合并至所述前一时刻的操作节点,是指将当前内存修改操作合并至历史修改操作中的前一时刻的操作节点。合并的方式可以是将当前的内存修改操作并入操作节点的内存修改操作集合,也可以是获取操作节点内与当前内存修改操作的操作类型一致的内存修改操作,并将操作类型一致的内存修改操作合并为一个内存修改操作。
进一步的,可以基于当前的内存修改操作更新当前时刻操作节点的操作参数。在一个具体实施例中,当前的内存修改操作为在指定路径的元数据信息写入数据,则:可以将当前内存修改操作的指定路径与操作节点下其他内存修改操作的地址范围进行合并,确定新的地址范围作为操作节点的地址范围,还可以是基于其他内存修改操作的操作参数更新当前时刻的操作节点的操作参数,本文对此不作限定。
进一步的,当操作参数与前一时刻的操作节点不匹配时,可以是确定历史修改过程中该操作节点的下一操作节点,将其作为当前时刻的操作节点并重新匹配,也可以是对操作参数对应的内存修改操作按照预设规则单独处理,也可以是不作任何处理。
得到内存修改过程,可以是在历史修改过程经过上述步骤处理后,将处理后的历史修改过程确定为内存修改过程。
本实施例提供的一种内存快照存储方法,通过将操作参数与前一时刻的操作节点进行匹配并基于匹配结果合并操作节点得到内存修改过程,可以实现对关键的操作节点的确定以及操作参数的预览,用户可以基于操作节点的信息确定需要的时刻,并对相应时刻的内存快照进行生成,达到提高用户操作效率的技术效果;同时,将多个内存修改操作合并为一个内存修改操作,还可以减少历史修改过程中的冗余字段,达到降低内存快照存储数据量的技术效果。
在其中一个实施例中,所述获取当前的所述内存修改操作的操作参数之后还包括:
若所述操作参数与所述前一时刻的操作节点不匹配,则基于当前的所述内存修改操作新建操作节点,并基于新建的所述操作节点以及历史修改过程得到内存修改过程。
新建的操作节点存储于历史修改过程中。基于新建的所述操作节点以及历史修改过程确定内存修改过程,可以是将历史修改过程中新建的操作节点作为当前时刻的操作节点,将当前的内存修改操作合并至当前时刻的操作节点中,并将基于处理过后的历史修改过程得到内存修改过程。
进一步的,还可以基于当前时刻的内存修改操作确定新建的操作节点的操作参数。在一个具体实施例中,当前时刻的内存修改操作为在指定路径的元数据信息写入数据,则可以基于当前时刻确定预设长度的时间范围,将该时间范围作为新建操作节点的操作时间,也可以将指定路径作为新建操作节点的地址范围,还可以是基于其他内存修改操作的操作参数确定新建操作节点的操作参数,本文对此不作限定。
本实施例提供的一种内存快照存储方法,通过当操作参数与操作节点不匹配时新建操作节点并得到内存修改过程,可以实现操作节点的自动创建,达到提高快照存储效率的技术效果。
可以理解的是,操作节点作为内存修改的关键操作点,应当保留数据的完整性以供用户进行分析。在一个操作节点中,若后者的内存修改操作对前者的内存修改操作所修改的数据进行覆盖,则在以操作节点生成内存快照时,将丢失被覆盖的相关数据,降低数据的完整性和用户的分析效率。为此,本申请还提供了一个实施例,以解决内存修改操作合并至操作节点时可能的数据覆盖的问题。
在其中一个实施例中,所述操作参数包括地址范围,若所述操作参数与所述前一时刻的操作节点匹配,则将当前的所述内存修改操作合并至所述前一时刻的操作节点包括:
判断所述地址范围与所述前一时刻的操作节点的地址范围是否重合;
若不重合,则视为匹配,将当前的所述内存修改操作合并至所述前一时刻的操作节点。
其中,地址范围是指内存修改操作对应数据的内存地址的范围。判断所述地址范围与所述前一时刻的操作节点的地址范围是否重合,是将内存操作地址的地址范围与前一时刻的操作节点的地址范围进行比对。内存修改操作与前一时刻的操作节点的地址范围存在重合,可以是地址范围中存在至少一个相同的内存地址。
若内存修改操作与前一时刻的操作节点的地址范围不重合,则可以视为不存在数据覆盖的情况,则视为匹配,将当前的所述内存修改操作合并至所述前一时刻的操作节点。
进一步的,若重合,则可以是确定历史修改过程中该操作节点的下一操作节点,将其作为当前时刻的操作节点并重新匹配,也可以是对操作参数对应的内存修改操作按照预设规则单独处理,也可以是不作任何处理。
本实施例提供的一种内存快照存储方法,通过基于地址范围的重合情况确定操作节点的合并,避免了当前时刻的内存修改操作对历史修改过程的数据覆盖,提高了快照回溯的数据完整性,达到了提高用户对恶意样本的分析效率的技术效果。
在其中一个实施例中,所述操作参数包括操作时间,若所述操作参数与所述前一时刻的操作节点匹配,则将当前的所述内存修改操作合并至所述前一时刻的操作节点包括:
判断所述操作时间与所述前一时刻的操作节点的时间范围是否匹配;
若匹配,则将当前的内存修改操作合并至所述前一时刻的操作节点。
可以理解的是,基于操作时间将内存修改操作合并至操作节点,可以使用户在需要根据操作时间来生成特定时刻的内存快照时,能够更快的找到所需操作时间的操作节点并进行生成内存快照。
前一时刻的操作节点的时间范围可以经过预先设置,若内存修改操作的操作时间与该时间范围匹配,则将当前的内存修改操作合并至所述前一时刻的操作节点。
若不匹配,可以将历史修改过程中该操作节点的下一操作节点确定为当前时刻的操作节点,并将内存修改操作的操作时间与当前时刻的操作节点的时间范围进行匹配,往复如是,直至内存修改操作的操作时间与历史修改过程中的一个操作节点的时间范围匹配为止。
进一步的,若不匹配,还可以是新建操作节点,并基于当前内存修改操作的操作时间确定预设长度的时间范围,将该时间范围作为新建操作节点的时间范围。
进一步的,出于内存修改操作连续性的考虑,将当前的内存修改操作合并至所述前一时刻的操作节点,还可以基于当前的内存修改操作更新操作节点的时间范围,例如,可以基于当前内存修改操作的操作时间延长预设长度的时间范围,并将延长后的时间范围作为操作节点的时间范围。在一个具体实施例中,前一时刻操作节点的时间范围为14:20:00至14:20:10,预设时间长度为10毫秒,则在前一时刻的内存修改操作发送后的10毫秒内,都可以视为内存修改操作是连续的,若前一时刻为14:20:00,当前时刻为14:20:10,则当前时刻的操作时间与前一时刻的操作节点的时间范围匹配,并相应地延长该操作节点10毫秒的时间范围,将其时间范围更新为14:20:00至14:20:20。由此可以在根据操作时间合并操作节点的同时维持内存修改操作的连续性,提高内存快照的可读性。
本实施例提供的一种内存快照存储方法,通过基于操作时间确定操作节点,实现了对内存修改操作的合并,分析人员可以基于操作时间进行内存快照的回溯生成,达到提高内存快照生成效率的效果。
在其中一个实施例中,将所述内存修改过程存储至数据库中之后,还包括:
获取内存快照生成指令,基于所述内存快照生成指令确定目标内存修改操作;
基于所述目标内存修改操作和所述内存修改过程生成目标内存快照。
其中,内存快照生成指令可以是用户发送的特定时刻内存快照的生成指令,可以包括内存修改操作信息。基于所述内存快照生成指令确定目标内存修改操作,可以是基于内存修改操作信息确定目标内存修改操作。
基于所述目标内存修改操作和所述内存修改过程生成目标内存快照,可以是基于目标内存修改操作确定内存修改过程中相应的内存修改操作,并将该内存修改操作及其之前的内存修改操作在初始内存快照执行,得到目标时刻的内存快照。
本实施例提供的一种内存快照存储方法,通过基于内存快照生成指令确定目标内存修改操作并生成目标内存快照,实现了任意时刻的内存快照的生成,达到增加内存快照帧数的技术效果。
在其中一个实施例中,所述内存修改过程包括多个操作节点,所述操作节点中包括至少一个内存修改操作,所述基于所述内存快照生成指令确定目标内存修改操作包括:
基于所述内存快照生成指令确定目标操作节点;
基于所述目标操作节点确定目标内存修改操作。
其中,内存快照生成指令还可以包括操作节点信息。基于内存快照生成指令确定目标操作节点,可以是根据操作节点信息确定目标操作节点。基于目标操作节点确定目标内存修改操作,可以是将该操作节点中第一个内存修改操作确定为目标内存修改操作,也可以是将该操作节点中最后一个内存修改操作确定为目标内存修改操作。
本实施例提供的一种内存快照存储方法,通过基于目标操作节点生成对应节点的内存快照,可以实现在减少数据量的同时提高内存快照易读性和完整性,达到提高恶意样本分析效率的技术效果。
为了更清楚地阐述本申请的技术方案,本申请还提供了一种详细实施例进行进一步解释。
如图4所示,本实施例提供了一种内存快照存储方法,应用于沙箱中,沙箱作为一个虚拟执行环境,用户可以在环境中测试不受信任的文件或程序,并记录其行为,所记录的行为可以提供给用户来判断其是否具有恶意。该方法包括:
将待检测程序投入沙箱中准备执行;
将运行该待检测程序所需的数据加载到内存中,并在开始执行前保存一份内存快照作为初始内存快照;
执行待检测程序,并获取其执行过程中发送的内存修改操作,包括:通过API对内存进行修改,以及通过指令对内存进行修改;其中,该内存修改操作包括操作参数,操作参数包括操作类型、地址范围、修改内容、操作时间等;
将内存修改操作按照操作时间顺序保存为内存修改过程文件。
在其中一个实施例中,还包括:获取内存修改操作,基于内存修改操作合并操作节点,生成内存操作节点文件,包括:依次读取内存修改操作,若当前内存修改操作对应修改的地址范围与当前操作节点的地址范围不重合,则将该内存修改操作合并至当前操作节点中,若重合,则将该内存修改操作确定为新的当前操作节点,并继续判断下一个操作与当前操作节点的地址范围是否重合;基于多个操作节点生成内存操作节点文件。
在一个具体实施例中,如图5所示,可以是:
依次读取内存修改操作,将第一条内存修改操作确定为当前操作节点,记该内存修改操作为N;
判断是否存在下一条内存修改操作,若存在,则读取下一条内存修改操作,记该内存修改操作为M,判断N与M的内存地址的修改范围是否重合,若重合,则将N添加到内存操作节点序列L中,并将M确定为当前操作节点,记M为N;若不重合,则将M的修改内容合并至N中;处理过后继续判断是否存在下一条内存修改操作;
若不存在,则将N添加到内存操作节点序列L中,基于内存操作节点序列生成内存操作节点文件。
可以理解的是,获取内存修改操作以及基于内存修改操作合并操作节点并生成内存修改,可以是在待检测程序的执行过程中进行,也可以是在待检测程序完成后进行。
如图6所示,在其中一个实施例中,还包括:
获取初始内存快照和内存操作节点文件;
读取内存操作节点文件;其中,还可以对内存操作节点文件的操作节点信息进行分析,并将操作节点信息进行展示,用户可以基于展示的操作节点确定目标时刻的操作节点并发送内存快照生成指令;
获取内存快照生成指令,并基于内存快照生成指令和内存操作节点文件得到目标内存修改操作,将目标内存修改操作在初始内存快照中执行,得到目标内存快照。
本实施例提供的一种内存快照存储方法,通过获取初始内存快照和执行过程中的内存修改操作并进行存储,可以解决当前虚拟执行环境内存快照保存耗时长、数据量大和帧数低的问题;通过对内存修改操作进行操作节点的合并,在提高用户操作效率的同时,可以减少内存修改操作中的冗余字段,达到降低存储数据量的技术效果;通过基于地址范围的重合情况确定操作节点的合并,避免了当前时刻的内存修改操作对历史修改过程的数据覆盖,提高了快照回溯的数据完整性,达到了提高用户对恶意样本的分析效率的技术效果。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的内存快照存储方法的内存快照存储装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个内存快照存储装置实施例中的具体限定可以参见上文中对于内存快照存储方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种内存快照存储装置,包括:获取模块和存储模块,其中:
获取模块100,用于响应于当前的内存修改操作,获取内存修改过程。
存储模块200,用于将所述内存修改过程存储至数据库中,所述数据库中存储有初始内存快照。
获取模块100还用于:获取前一时刻的历史修改过程;基于所述历史修改过程确定前一时刻的操作节点;获取当前的所述内存修改操作的操作参数;若所述操作参数与所述前一时刻的操作节点匹配,则将当前的所述内存修改操作合并至所述前一时刻的操作节点,得到内存修改过程。
获取模块100还用于:若所述操作参数与所述前一时刻的操作节点不匹配,则基于当前的所述内存修改操作新建操作节点,并基于新建的所述操作节点以及历史修改过程得到内存修改过程。
获取模块100还用于:判断所述地址范围与所述前一时刻的操作节点的地址范围是否重合;若不重合,则视为匹配,将当前的所述内存修改操作合并至所述前一时刻的操作节点。
获取模块100还用于:判断所述操作时间与所述前一时刻的操作节点的时间范围是否匹配;若匹配,则将当前的内存修改操作合并至所述前一时刻的操作节点。
内存快照存储装置还包括:内存快照生成模块,用于获取内存快照生成指令,基于所述内存快照生成指令确定目标内存修改操作;基于所述目标内存修改操作和所述内存修改过程生成目标内存快照。
内存快照生成模块还用于:基于所述内存快照生成指令确定目标操作节点;基于所述目标操作节点确定目标内存修改操作。
上述内存快照存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种内存快照存储方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
响应于当前的内存修改操作,获取内存修改过程;
将所述内存修改过程存储至数据库中,所述数据库中存储有初始内存快照。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于当前的内存修改操作,获取内存修改过程;
将所述内存修改过程存储至数据库中,所述数据库中存储有初始内存快照。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种内存快照存储方法,其特征在于,所述方法包括:
响应于当前的内存修改操作,获取内存修改过程;
将所述内存修改过程存储至数据库中,所述数据库中存储有初始内存快照。
2.根据权利要求1所述的方法,其特征在于,所述内存修改过程包括多个操作节点,所述操作节点中包括至少一个内存修改操作,所述响应于内存修改操作,获取内存修改过程,包括:
获取前一时刻的历史修改过程;
基于所述历史修改过程确定前一时刻的操作节点;
获取当前的所述内存修改操作的操作参数;
若所述操作参数与所述前一时刻的操作节点匹配,则将当前的所述内存修改操作合并至所述前一时刻的操作节点,得到内存修改过程。
3.根据权利要求2所述的方法,其特征在于,所述获取当前的所述内存修改操作的操作参数之后还包括:
若所述操作参数与所述前一时刻的操作节点不匹配,则基于当前的所述内存修改操作新建操作节点,并基于新建的所述操作节点以及历史修改过程得到内存修改过程。
4.根据权利要求2所述的方法,其特征在于,所述操作参数包括地址范围,若所述操作参数与所述前一时刻的操作节点匹配,则将当前的所述内存修改操作合并至所述前一时刻的操作节点包括:
判断所述地址范围与所述前一时刻的操作节点的地址范围是否重合;
若不重合,则视为匹配,将当前的所述内存修改操作合并至所述前一时刻的操作节点。
5.根据权利要求2所述的方法,其特征在于,所述操作参数包括操作时间,若所述操作参数与所述前一时刻的操作节点匹配,则将当前的所述内存修改操作合并至所述前一时刻的操作节点包括:
判断所述操作时间与所述前一时刻的操作节点的时间范围是否匹配;
若匹配,则将当前的内存修改操作合并至所述前一时刻的操作节点。
6.根据权利要求1所述的方法,其特征在于,将所述内存修改过程存储至数据库中之后,还包括:
获取内存快照生成指令,基于所述内存快照生成指令确定目标内存修改操作;
基于所述目标内存修改操作和所述内存修改过程生成目标内存快照。
7.根据权利要求6所述的方法,其特征在于,所述内存修改过程包括多个操作节点,所述操作节点中包括至少一个内存修改操作,所述基于所述内存快照生成指令确定目标内存修改操作包括:
基于所述内存快照生成指令确定目标操作节点;
基于所述目标操作节点确定目标内存修改操作。
8.一种内存快照存储装置,其特征在于,所述装置包括:
获取模块,用于响应于当前的内存修改操作,获取内存修改过程;
存储模块,用于将所述内存修改过程存储至数据库中,所述数据库中存储有初始内存快照。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至权利要求7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211380415.7A CN115906076A (zh) | 2022-11-04 | 2022-11-04 | 内存快照存储方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211380415.7A CN115906076A (zh) | 2022-11-04 | 2022-11-04 | 内存快照存储方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115906076A true CN115906076A (zh) | 2023-04-04 |
Family
ID=86491691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211380415.7A Pending CN115906076A (zh) | 2022-11-04 | 2022-11-04 | 内存快照存储方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115906076A (zh) |
-
2022
- 2022-11-04 CN CN202211380415.7A patent/CN115906076A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018049883A1 (zh) | 文件操作方法及装置 | |
CN114924911B (zh) | Windows操作系统有效数据备份方法、装置、设备和存储介质 | |
CN115906076A (zh) | 内存快照存储方法、装置、计算机设备和存储介质 | |
CN114756293A (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
CN114816806A (zh) | 容器可用性验证方法、装置、计算机设备和存储介质 | |
CN114528045B (zh) | 插件操作方法、装置、计算机设备和存储介质 | |
CN115422897A (zh) | 资源转移报文的处理方法、装置、计算机设备、存储介质 | |
CN115964271A (zh) | 测试案例生成方法、装置、计算机设备和存储介质 | |
CN116339793A (zh) | 智能物联网操作系统升级方法、装置、计算机设备和介质 | |
CN115687074A (zh) | 业务系统测试方法、装置、计算机设备和存储介质 | |
CN116662143A (zh) | 测试方法、装置、设备、存储介质和计算机程序产品 | |
CN117494105A (zh) | 软件安全测试方法、装置、计算机设备、存储介质和产品 | |
CN118113530A (zh) | 芯片故障定位方法、装置、计算机设备和存储介质 | |
CN117827554A (zh) | 测试方法、装置、计算机设备和存储介质 | |
CN114860404A (zh) | 异常作业识别方法、装置、计算机设备和存储介质 | |
CN117319022A (zh) | 漏洞检测方法、装置、计算机设备和存储介质 | |
CN116644444A (zh) | 文件访问方法、装置、计算机设备及其存储介质 | |
CN118113597A (zh) | 接口覆盖率的确定方法、装置、计算机设备、存储介质 | |
CN117424721A (zh) | 前端应用安全防护方法、装置、计算机设备和存储介质 | |
CN116681203A (zh) | 基于大数据分析的企业管理咨询方法与系统 | |
CN117216425A (zh) | 金融业务页面展示方法、装置、计算机设备和存储介质 | |
CN115738238A (zh) | 检测串号的方法、装置、计算机设备和存储介质 | |
CN116226187A (zh) | 数据缓存方法、装置、计算机设备和存储介质 | |
CN114374688A (zh) | 应用程序部署方法、装置、计算机设备和存储介质 | |
CN117369895A (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 |