沙箱报告的存储方法、装置、存储介质及电子设备与流程

文档序号:32839774发布日期:2023-01-06 20:24阅读:66来源:国知局
沙箱报告的存储方法、装置、存储介质及电子设备与流程

1.本发明涉及计算机技术领域,具体而言,涉及一种沙箱报告的存储方法、装置、存储介质及电子设备。


背景技术:

2.sandbox(又叫沙箱、沙盘)即是一个虚拟系统程序,允许在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。它创造了一个类似沙盒的独立作业环境,在其内部运行的程序并不能对硬盘产生永久性的影响。在网络安全中,沙箱是指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。
3.现有技术中,云沙箱上每天都要检测大量的可疑样本,并在检测结束之后产生样本的行为检测报告。产生的行为检测报告中并不是所有的报告都是有价值的,但是这些低价值报告又需要长期保存在云服务器上,导出使用的次数并不多,这对服务器造成了很大的数据存储压力。而产生的行为检测报告中由于存在大量的冗余数据,而导致沙箱报告存储能力较低。
4.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本发明实施例提供了一种沙箱报告的存储方法、装置、存储介质及电子设备,以至少解决现有技术中存在的沙箱报告存储能力较低的技术问题。
6.根据本发明实施例的一个方面,提供了一种沙箱报告的存储方法,包括:获取第一检测报告,其中,所述第一检测报告为沙箱对目标文件进行检测后所生成的报告;对所述第一检测报告所包含的行数据进行哈希计算,得到所述行数据对应的哈希值,其中,所述行数据为所述第一检测报告中的每行数据;在检测到预设哈希表中存在所述哈希值时,将所述第一检测报告中与所述哈希值对应的行数据更新为所述哈希值,得到第二检测报告,其中,所述预设哈希表用于存储所述第一检测报告中的冗余数据以及与所述冗余数据对应哈希值;将所述第二检测报告存储至服务器中。
7.进一步地,沙箱报告的存储方法还包括:在获取第一检测报告之前,获取所述沙箱生成的多个检测报告;对所述多个检测报告中的行数据进行哈希计算,得到多个候选哈希值;基于所述多个候选哈希值以及所述多个候选哈希值所对应的行数据生成所述预设哈希表。
8.进一步地,沙箱报告的存储方法还包括:统计所述多个候选哈希值中相同哈希值出现的次数,得到目标次数;从所述多个候选哈希值中确定所述目标次数大于预设阈值的多个目标哈希值;基于所述多个目标哈希值以及与所述多个目标哈希值所对应的行数据生成所述预设哈希表。
9.进一步地,沙箱报告的存储方法还包括:在将所述第二检测报告存储至服务器中之后,响应于报告导出指令,检测所述第二检测报告中的行数据是否存在哈希值;在所述第
二检测报告中的行数据存在哈希值时,读取所述第二检测报告中的多个哈希值;将所述多个哈希值更新为与所述哈希值对应的行数据,得到所述第一检测报告,并对所述第一检测报告进行导出操作。
10.进一步地,沙箱报告的存储方法还包括:基于所述多个哈希值从所述预设哈希表中查询与所述多个哈希值对应的行数据,得到目标行数据;将所述第二检测报告中哈希值更新为所述目标行数据,得到所述第一检测报告。
11.进一步地,沙箱报告的存储方法还包括:在对所述第一检测报告进行导出操作之后,将所述第一检测报告发送至客户端,其中,所述客户端用于对所述第一检测报告中的结论进行展示。
12.根据本发明实施例的另一方面,还提供了一种沙箱报告的存储装置,包括:沙箱报告获取模块,用于获取第一检测报告,其中,所述第一检测报告为沙箱对目标文件进行检测后所生成的报告;哈希计算模块,用于对所述第一检测报告所包含的行数据进行哈希计算,得到所述行数据对应的哈希值,其中,所述行数据为所述第一检测报告中的每行数据;沙箱报告更新模块,用于在检测到预设哈希表中存在所述哈希值,将所述第一检测报告中与所述哈希值对应的行数据更新为所述哈希值,得到第二检测报告,其中,所述预设哈希表用于存储所述第一检测报告中的冗余数据以及所述冗余数据所对应哈希值;沙箱报告存储模块,用于将所述第二检测报告存储至服务器中。
13.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的沙箱报告的存储方法。
14.根据本发明实施例的另一方面,还提供了一种电子设备,该电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的沙箱报告的存储方法。
15.根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述的沙箱报告的存储方法。
16.在本发明实施例中,采用将第一检测报告中的行数据进行哈希计算,并将第一检测报告中的行数据更新为哈希值的方式,首先获取第一检测报告,其中,所述第一检测报告为沙箱对目标文件进行检测后所生成的报告;对所述第一检测报告所包含的行数据进行哈希计算,得到所述行数据对应的哈希值,其中,所述行数据为所述第一检测报告中的每行数据;在检测到预设哈希表中存在所述哈希值时,将所述第一检测报告中与所述哈希值对应的行数据更新为所述哈希值,得到第二检测报告,其中,所述预设哈希表用于存储所述第一检测报告中的冗余数据以及与所述冗余数据对应哈希值;将所述第二检测报告存储至服务器中。
17.在上述过程中,在检测到预设哈希表中存在所述哈希值时,将第一检测报告中与哈希值对应的冗余数据更新为哈希值,而哈希值所对应的字节数通常远小于检测报告中冗余数据的字节数,从而使得生成的第二检测报告占用的系统内存要小于第一检测报告所占用的系统内存,因此,将第二检测报告存储至服务器中,可提高沙箱报告的存储能力,解决了现有技术中存在的沙箱报告存储能力较低的技术问题。此外,将第二检测报告存储至服
务器中,还可减轻了服务器的数据存储压力。
18.由此可见,通过本发明的技术方案,达到了存储沙箱报告目的,从而实现了提高服务器存储沙箱报告的存储能力的技术效果,进而解决了现有技术中存在的沙箱报告存储能力较低的技术问题。
附图说明
19.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
20.图1是根据本发明实施例的一种沙箱报告的存储方法的流程图;
21.图2是根据本发明实施例的一种可选的沙箱报告的存储方法的流程图;
22.图3是根据本发明实施例的一种可选的预设哈希表的生成方法的流程图;
23.图4是根据本发明实施例的一种可选的报告导出操作的流程示意图;
24.图5是根据本发明实施例的一种可选的沙箱报告的存储装置的示意图;
25.图6是根据本发明实施例的一种可选的服务器的示意图。
具体实施方式
26.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
27.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.需要说明的是,本发明所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
29.实施例1
30.根据本发明实施例,提供了一种沙箱报告的存储方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
31.哈希是一种加密算法,也称为散列函数或杂凑函数。哈希函数是一个公开函数,可
以将任意长度的消息m映射成为一个长度较短且长度固定的值h(m),称h(m)为哈希值、散列值(hash value)、杂凑值或者消息摘要。它是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。
32.易压缩性是哈希算法的常用特性。哈希算法可以将一段任意长度的数据压缩成一段固定长度的哈希值。使用不同的哈希算法,得到的哈希值长度会不一样,例如使用md5算法,得到哈希值的长度为128位,16字节。使用sha256算法,得到哈希值的长度为256位,32字节。将这一特性运用到数据存储方向,可以减轻服务器的数据存储压力,提高服务器的数据存储能力。
33.图1是根据本发明实施例的一种可选的沙箱报告的存储方法的流程图,如图1所示,该方法包括如下步骤:
34.步骤s102,获取第一检测报告,其中,第一检测报告为沙箱对目标文件进行检测后所生成的报告。
35.在步骤s102中,第一检测报告为沙箱对可疑文件进行检测之后生成的行为检测报告,在本实施例中,如图2所示,可以基于系统获取第一检测报告。
36.步骤s104,对第一检测报告所包含的行数据进行哈希计算,得到行数据对应的哈希值,其中,行数据为第一检测报告中的每行数据。
37.在步骤s104中,如图2所示的沙箱报告的存储方法的流程图,通过逐行遍历第一检测报告,对第一检测报告中的行数据进行哈希计算,得到行数据对应的哈希值。例如,有沙箱报告a和报告b,这两份报告均存在行数据a,行数据总长度109为字节,然后对行数据a进行哈希计算,得到总长度为32字节的哈希值。
38.需要说明的是,上述对行数据a进行哈希计算所采样的方式包括但不限于md5。
39.步骤s106,在检测到预设哈希表中存在哈希值时,将第一检测报告中与哈希值对应的行数据更新为哈希值,得到第二检测报告,其中,预设哈希表用于存储第一检测报告中的冗余数据以及与冗余数据对应哈希值。
40.步骤s108,将第二检测报告存储至服务器中。
41.在步骤s106-s108中,如图2所示的沙箱报告的存储方法的流程图,检测预设哈希表中是否存在所述哈希值,在预设哈希表中不存在哈希值时,则确定是否结束遍历,若不结束遍历,则重复进行哈希计算,直至结束遍历;在预设哈希表中存在哈希值时,将第一检测报告中与哈希值对应的行数据更新为哈希值,得到第二检测报告。例如,基于上述得到总长度为32字节的哈希值,将沙箱报告a和报告b中的行数据a替换为总长度为32字节的哈希值,得到沙箱报告a1和报告b1。然后将第二检测报告存储至服务器中。
42.需要说明的是,由于哈希值所对应的字节数通常远小于检测报告中行数据的字节数,从而使得生成的第二检测报告占用的系统内存要小于第一检测报告所占用的系统内存,因此通过将第一检测报告中与哈希值对应的行数据更新为哈希值,能够提高沙箱报告的存储能力,降低了检测报告占用服务器的内存容量,进而减轻了服务器的数据存储压力。
43.基于上述步骤s102至步骤s108所限定的方案,可以获知,在本发明实施例中,采用将第一检测报告中的行数据进行哈希计算,并将第一检测报告中的行数据更新为哈希值的方式,首先获取第一检测报告,其中,所述第一检测报告为沙箱对目标文件进行检测后所生成的报告;对所述第一检测报告所包含的行数据进行哈希计算,得到所述行数据对应的哈
希值,其中,所述行数据为所述第一检测报告中的每行数据;在检测到预设哈希表中存在所述哈希值时,将所述第一检测报告中与所述哈希值对应的行数据更新为所述哈希值,得到第二检测报告,其中,所述预设哈希表用于存储所述第一检测报告中的冗余数据以及与所述冗余数据对应哈希值;将所述第二检测报告存储至服务器中。
44.需要说明的是,在上述过程中,在检测到预设哈希表中存在所述哈希值时,将第一检测报告中与哈希值对应的冗余数据更新为哈希值,而哈希值所对应的字节数通常远小于检测报告中冗余数据的字节数,从而使得生成的第二检测报告占用的系统内存要小于第一检测报告所占用的系统内存,因此,将第二检测报告存储至服务器中,可提高沙箱报告的存储能力,解决了现有技术中存在的沙箱报告存储能力较低的技术问题。此外,将第二检测报告存储至服务器中,还可减轻了服务器的数据存储压力。
45.由此可见,通过本发明的技术方案,达到了存储沙箱报告目的,从而实现了提高服务器存储沙箱报告的存储能力的技术效果,进而解决了现有技术中存在的沙箱报告存储能力较低的技术问题。
46.在一种可选的实施例中,在获取第一检测报告之前,系统通过获取所述沙箱生成的多个检测报告;然后对所述多个检测报告中的行数据进行哈希计算,得到多个候选哈希值;最后基于所述多个候选哈希值以及所述多个候选哈希值所对应的行数据生成所述预设哈希表。
47.在本实施例中,如图3所示的预设哈希表的生成方法的流程图,系统在获取第一检测报告之前,通过获取沙箱生成的多个检测报告,逐行遍历多个检测报告,然后对多个检测报告中的行数据进行哈希计算,得到多个候选哈希值,基于候选哈希值以及与候选哈希值对应的行数据生成预设哈希表。可选的,候选哈希值对应的行数据为检测报告中的冗余数据。例如,通过多个检测报告中的候选哈希值和候选哈希值对应的行数据可生成长度为180字节预设哈希表c。
48.需要说明的是,基于检测报告中的冗余数据以及与冗余数据对应的哈希值生成预设哈希表,通过对冗余数据以及对应哈希值进行标记,为后续更新报告做准备。
49.进一步的,系统基于所述多个候选哈希值以及所述多个候选哈希值所对应的行数据生成所述预设哈希表,包括:通过统计所述多个候选哈希值中相同哈希值出现的次数,得到目标次数;然后从所述多个候选哈希值中确定所述目标次数大于预设阈值的多个目标哈希值;最后基于所述多个目标哈希值以及与所述多个目标哈希值所对应的行数据生成所述预设哈希表。
50.可选的,如图3所示的预设哈希表的生成方法的流程图,通过统计多个候选哈希值中相同哈希值出现的次数,得到目标次数,检测目标次数是否大于预设阈值,在目标次数小于预设阈值时,确定是否遍历结束,若不结束遍历,则重复进行目标次数的检测,直至结束遍历;在目标次数大于预设阈值时,基于多个目标哈希值以及与所述多个目标哈希值所对应的行数据生成所述预设哈希表。
51.可选的,在本实施例中,对越多存在相同行数据的检测报告进行哈希值的替换,越能提高沙箱报告的存储能力,进而降低服务器的存储压力。例如,基于上述报告a与报告b,预设哈希表c,于是就用了180+32*2=244字节的数据,替代沙箱原有的109*2=218字节的数据。但是,当第三份报告d也存在行数据a时,就是用180+32*3=276字节数据,替代了109*
3=327字节数据。以此类推,当四份报告都有这行数据时就是用308字节数据,替代了436字节数据。这样就用了较少的字节数替代了原来的数据。
52.可选的,基于上述内容可得到一个计算沙箱数据存储效率公式:
53.(哈希表长度+哈希值长度*n)/(行数据长度*n)
54.上述公式中的行数据不特指上述的行数据,n代表存在行数据的报告数
55.另外,m=(180+32*n)/(109*n),当n》2时,m的值小于1。其中,m与n正相关,即n越大,m越小,说明上述数据存储方法在越多沙箱报告有相同行数据时,越有效。
56.进一步的,在将所述第二检测报告存储至服务器中之后,系统响应于报告导出指令,检测所述第二检测报告中的行数据是否存在哈希值;在所述第二检测报告中的行数据存在哈希值时,读取所述第二检测报告中的多个哈希值;将所述多个哈希值更新为与所述哈希值对应的行数据,得到所述第一检测报告,并对所述第一检测报告进行导出操作。
57.可选的,在将所述第二检测报告存储至服务器中之后,系统的客户端向服务端发送报告导出指令,服务端响应于报告导出指令,然后如图4所示的报告导出操作的流程示意图,逐行遍历第二检测报告,然后检测第二检测报告中是否存在哈希值,若第二检测报告中不存在哈希值,则确认是否遍历结束;若第二检测报告中存在哈希值,则读取第二检测报告中的哈希值,并将哈希值更新为与哈希值对应的行数据,得到所述第一检测报告,并对所述第一检测报告进行导出操作。
58.另一种可选的实施例,系统还基于所述多个哈希值从所述预设哈希表中查询与所述多个哈希值对应的行数据,得到目标行数据;将所述第二检测报告中哈希值更新为所述目标行数据,得到所述第一检测报告。
59.在本实施例中,如图4所示的报告导出操作的流程示意图,在检测到第二检测报告中存在哈希值时,基于哈希值从预设哈希表中查询哈希值对应的目标行数据,将第二检测报告中哈希值更新为所述目标行数据,得到所述第一检测报告。
60.需要说明的是,通过将哈希值更新为与哈希值对应的目标行数据,得到第一检测报告,将报告还原为初始报告,提高了检测报告的准确性。
61.进一步的,在对所述第一检测报告进行导出操作之后,系统将所述第一检测报告发送至客户端,其中,所述客户端用于对所述第一检测报告中的结论进行展示。
62.可选的,在对所述第一检测报告进行导出操作之后,可将第一检测报告发送至客户端,为用户展示第一检测报告中的结论,用户可基于第一检测报告中的结论对可疑文件进行分析。
63.由上述内容可知,本技术通过计算云沙箱的样本行为报告的行数据的哈希值,构建哈希表。然后在云沙箱的样本行为报告存储前,用哈希值替换行数据后保存,减少了报告所占存储空间的大小,最后在云沙箱的样本行为报告导出前,将报告中的哈希值替换回目标数据后导出,从而实现了提高沙箱报告存储能力,减轻了服务器的数据存储压力。
64.实施例2
65.根据本发明实施例,还提供了一种沙箱报告的存储装置的实施例,其中,图5是根据本发明实施例的一种可选的一种沙箱报告的存储装置的示意图,如图5所示,该装置包括:沙箱报告获取模块501、哈希计算模块503、沙箱报告更新模块505以及沙箱报告存储模块507。
66.其中,沙箱报告获取模块501,用于获取第一检测报告,其中,所述第一检测报告为沙箱对目标文件进行检测后所生成的报告。
67.可选的,第一检测报告为沙箱对可疑文件进行检测之后生成的行为检测报告,在本实施例中,如图2所示,可以基于系统获取第一检测报告。
68.哈希计算模块503,用于对所述第一检测报告所包含的行数据进行哈希计算,得到所述行数据对应的哈希值,其中,所述行数据为所述第一检测报告中的每行数据。
69.可选的,如图2所示的沙箱报告的存储方法的流程图,通过逐行遍历第一检测报告,对第一检测报告中的行数据进行哈希计算,得到行数据对应的哈希值。例如,有沙箱报告a和报告b,这两份报告均存在行数据a,行数据总长度109为字节,然后对行数据a进行哈希计算,得到总长度为32字节的哈希值。
70.需要说明的是,上述对行数据a进行哈希计算所采样的方式包括但不限于md5。
71.沙箱报告更新模块505,用于在检测到预设哈希表中存在所述哈希值,将所述第一检测报告中与所述哈希值对应的行数据更新为所述哈希值,得到第二检测报告,其中,所述预设哈希表用于存储所述第一检测报告中的冗余数据以及所述冗余数据所对应哈希值。
72.沙箱报告存储模块507,用于将所述第二检测报告存储至服务器中。
73.可选的,如图2所示的沙箱报告的存储方法的流程图,检测预设哈希表中是否存在所述哈希值,在预设哈希表中不存在哈希值时,则确定是否结束遍历,若不结束遍历,则重复进行哈希计算,直至结束遍历;在预设哈希表中存在哈希值时,将第一检测报告中与哈希值对应的行数据更新为哈希值,得到第二检测报告。例如,基于上述得到总长度为32字节的哈希值,将沙箱报告a和报告b中的行数据a替换为总长度为32字节的哈希值,得到沙箱报告a1和报告b1。然后将第二检测报告存储至服务器中。
74.需要说明的是,由于哈希值所对应的字节数通常远小于检测报告中行数据的字节数,从而使得生成的第二检测报告占用的系统内存要小于第一检测报告所占用的系统内存,因此通过将第一检测报告中与哈希值对应的行数据更新为哈希值,能够提高沙箱报告的存储能力,降低了检测报告占用服务器的内存容量,进而减轻了服务器的数据存储压力。
75.在本发明实施例中,采用将第一检测报告中的行数据进行哈希计算,并将第一检测报告中的行数据更新为哈希值的方式,首先获取第一检测报告,其中,所述第一检测报告为沙箱对目标文件进行检测后所生成的报告;对所述第一检测报告所包含的行数据进行哈希计算,得到所述行数据对应的哈希值,其中,所述行数据为所述第一检测报告中的每行数据;在检测到预设哈希表中存在所述哈希值时,将所述第一检测报告中与所述哈希值对应的行数据更新为所述哈希值,得到第二检测报告,其中,所述预设哈希表用于存储所述第一检测报告中的冗余数据以及与所述冗余数据对应哈希值;将所述第二检测报告存储至服务器中。
76.需要说明的是,在上述过程中,在检测到预设哈希表中存在所述哈希值时,将第一检测报告中与哈希值对应的冗余数据更新为哈希值,而哈希值所对应的字节数通常远小于检测报告中冗余数据的字节数,从而使得生成的第二检测报告占用的系统内存要小于第一检测报告所占用的系统内存,因此,将第二检测报告存储至服务器中,可提高沙箱报告的存储能力,解决了现有技术中存在的沙箱报告存储能力较低的技术问题。此外,将第二检测报告存储至服务器中,还可减轻了服务器的数据存储压力。
77.由此可见,通过本发明的技术方案,达到了存储沙箱报告目的,从而实现了提高服务器存储沙箱报告的存储能力的技术效果,进而解决了现有技术中存在的沙箱报告存储能力较低的技术问题。
78.可选的,沙箱报告的存储装置还包括:第一获取模块、计算模块以及生成模块。其中,第一获取模块用于在获取第一检测报告之前,获取所述沙箱生成的多个检测报告;计算模块用于对所述多个检测报告中的行数据进行哈希计算,得到多个候选哈希值;生成模块用于基于所述多个候选哈希值以及所述多个候选哈希值所对应的行数据生成所述预设哈希表。
79.可选的,在本实施例中,如图3所示的预设哈希表的生成方法的流程图,系统在获取第一检测报告之前,通过获取沙箱生成的多个检测报告,逐行遍历多个检测报告,然后对多个检测报告中的行数据进行哈希计算,得到多个候选哈希值,基于候选哈希值以及与候选哈希值对应的行数据生成预设哈希表。可选的,候选哈希值对应的行数据为检测报告中的冗余数据。例如,通过多个检测报告中的候选哈希值和候选哈希值对应的行数据可生成长度为180字节预设哈希表c。
80.需要说明的是,基于检测报告中的冗余数据以及与冗余数据对应的哈希值生成预设哈希表,通过对冗余数据以及对应哈希值进行标记,为后续更新报告做准备。
81.可选的,生成模块还包括:统计单元、哈希计算单元以及生成单元。其中,统计单元用于统计所述多个候选哈希值中相同哈希值出现的次数,得到目标次数;哈希计算单元用于从所述多个候选哈希值中确定所述目标次数大于预设阈值的多个目标哈希值;生成单元用于基于所述多个目标哈希值以及与所述多个目标哈希值所对应的行数据生成所述预设哈希表。
82.可选的,如图3所示的预设哈希表的生成方法的流程图,通过统计多个候选哈希值中相同哈希值出现的次数,得到目标次数,检测目标次数是否大于预设阈值,在目标次数小于预设阈值时,确定是否遍历结束,若不结束遍历,则重复进行目标次数的检测,直至结束遍历;在目标次数大于预设阈值时,基于多个目标哈希值以及与所述多个目标哈希值所对应的行数据生成所述预设哈希表。
83.可选的,在本实施例中,对越多存在相同行数据的检测报告进行哈希值的替换,越能提高沙箱报告的存储能力,进而降低服务器的存储压力。例如,基于上述报告a与报告b,预设哈希表c,于是就用了180+32*2=244字节的数据,替代沙箱原有的109*2=218字节的数据。但是,当第三份报告d也存在行数据a时,就是用180+32*3=276字节数据,替代了109*3=327字节数据。以此类推,当四份报告都有这行数据时就是用308字节数据,替代了436字节数据。这样就用了较少的字节数替代了原来的数据。
84.可选的,基于上述内容可得到一个计算沙箱数据存储效率公式:
85.(哈希表长度+哈希值长度*n)/(行数据长度*n)
86.上述公式中的行数据不特指上述的行数据,n代表存在行数据的报告数
87.另外,m=(180+32*n)/(109*n),当n》2时,m的值小于1。其中,m与n正相关,即n越大,m越小,说明上述数据存储方法在越多沙箱报告有相同行数据时,越有效。
88.可选的,沙箱报告的存储装置还包括:检测模块、读取模块以及更新模块。其中,所述检测模块用于在将所述第二检测报告存储至服务器中之后,响应于报告导出指令,检测
所述第二检测报告中的行数据是否存在哈希值;读取模块用于在所述第二检测报告中的行数据存在哈希值时,读取所述第二检测报告中的多个哈希值;更新模块用于将所述多个哈希值更新为与所述哈希值对应的行数据,得到所述第一检测报告,并对所述第一检测报告进行导出操作。
89.可选的,在将所述第二检测报告存储至服务器中之后,系统的客户端向服务端发送报告导出指令,服务端响应于报告导出指令,然后如图4所示的报告导出操作的流程示意图,逐行遍历第二检测报告,然后检测第二检测报告中是否存在哈希值,若第二检测报告中不存在哈希值,则确认是否遍历结束;若第二检测报告中存在哈希值,则读取第二检测报告中的哈希值,并将哈希值更新为与哈希值对应的行数据,得到所述第一检测报告,并对所述第一检测报告进行导出操作。
90.可选的,更新模块还包括:查询单元以及更新单元。其中,查询单元用于基于所述多个哈希值从所述预设哈希表中查询与所述多个哈希值对应的行数据,得到目标行数据;更新单元用于将所述第二检测报告中哈希值更新为所述目标行数据,得到所述第一检测报告。
91.可选的,在本实施例中,如图4所示的报告导出操作的流程示意图,在检测到第二检测报告中存在哈希值时,基于哈希值从预设哈希表中查询哈希值对应的目标行数据,将第二检测报告中哈希值更新为所述目标行数据,得到所述第一检测报告。
92.需要说明的是,通过将哈希值更新为与哈希值对应的目标行数据,得到第一检测报告,将报告还原为初始报告,提高了检测报告的准确性。
93.可选的,沙箱报告的存储装置还包括:发送模块,用于在对所述第一检测报告进行导出操作之后,将所述第一检测报告发送至客户端,其中,所述客户端用于对所述第一检测报告中的结论进行展示。
94.可选的,在对所述第一检测报告进行导出操作之后,可将第一检测报告发送至客户端,为用户展示第一检测报告中的结论,用户可基于第一检测报告中的结论对可疑文件进行分析。
95.实施例3
96.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的沙箱报告的存储方法。
97.实施例4
98.根据本发明实施例的另一方面,还提供了一种电子设备,其中,图6是根据本发明实施例的一种可选的电子设备的示意图,如图6所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的沙箱报告的存储方法。
99.实施例5
100.根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的沙箱报告的存储方法。
101.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
102.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
103.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
104.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
105.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
106.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
107.以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1