专利名称:一种样本收集方法及系统的利记博彩app
技术领域:
本发明涉及计算机安全技术领域,特别是涉及一种样本收集方法及系统。
背景技术:
在互联网时代,信息爆炸性增长,木马、病毒也随之爆发性的泛滥,如何快速反应, 及时发现新的木马和病毒,及早控制木马、病毒的传播是安全行业面临的新的挑战。海量样本实时鉴定技术,是基于服务器端强大的处理能力对海量的样本进行收集并实时给出精准的鉴定结果的一种云鉴定技术。海量样本实时鉴定系统主要包含四大部分样本收集,样本鉴定,样本存储,鉴定结果发布。样本收集指的是利用各种探测工具收集互联网上最新出现的未被鉴定系统识别过的可执行文件;样本存储指的是妥善的存储海量的样本,并能做到数据的高可靠性、高可用性;样本鉴定指的是灵活的组织调度各种各样的鉴定服务快速的给出样本的各种鉴定结果,并综合这些鉴定结果最终确定该样本的安全等级;鉴定结果发布指的是样本鉴定结果快速发布到云引擎服务器,为客户端提供鉴定结果查询。这一实现方式,大大缩短了互联网中新增样本的识别时间,远优于传统杀软利用病毒库升级来识别新样本的传统模式,其目标是做到实时鉴定,实时查杀。但是在现有的海量样本实时鉴定系统中还存在许多待改善提高的地方,例如,在样本收集方面,现有技术中通常采用由客户端发现可疑样本,然后上传到服务器进行鉴定, 但是,经常出现大样本无法上传导致上传失败,以及上传效率比较低等问题。
发明内容
本发明提供了一种样本收集方法及系统,能够提高样本收集的效率及成功率。本发明提供了如下方案—种样本收集方法,包括当客户端发现待上传样本时,向管理服务器发送上传样本的请求;客户端根据管理服务器返回的分片策略,对所述待上传样本进行分片;客户端以分片为单位向数据服务器进行样本上传;其中,如果不同的客户端发现同一待上传样本,则由各个客户端并行上传该同一待上传样本的不同分片。其中,所述以分片为单位向数据服务器进行样本上传包括按照分片号的顺序,向所述管理服务器发送样本上传请求,所述管理服务器根据其他客户端针对该样本的各分片的已上传情况,确定当前客户端是否需要上传当前分片;如果接收到需要上传的响应消息,则将当前分片上传到数据服务器。其中,还包括如果接收到不需要上传的响应消息,则放弃上传当前分片,并向所述管理服务器发送上传其他分片的请求。其中,还包括所述管理服务器根据该客户端的IP地址确定该客户端需要上传的数据服务器,并返回给所述客户端;所述以分片为单位向数据服务器进行样本上传包括以分片为单位向所述需要上传的数据服务器进行样本上传。其中,还包括所述管理服务器将不同客户端上传的同一样本的各个分片路由到同一个组包服务器,由所述组包服务器对各个分片进行组包。一种样本收集系统,包括样本发现单元,用于当客户端发现待上传样本时,向管理服务器发送上传样本的请求;样本分片单元,用于客户端根据管理服务器返回的分片策略,对所述待上传样本进行分片;分片上传单元,用于客户端以分片为单位向数据服务器进行样本上传;其中,如果不同的客户端发现同一待上传样本,则由各个客户端并行上传该同一待上传样本的不同分片。其中,所述分片上传单元包括请求子单元,用于按照分片号的顺序,向所述管理服务器发送样本上传请求,所述管理服务器根据其他客户端针对该样本的各分片的已上传情况,确定当前客户端是否需要上传当前分片;上传子单元,用于如果接收到需要上传的响应消息,则将当前分片上传到数据服务器。其中,还包括放弃上传单元,用于如果接收到不需要上传的响应消息,则放弃上传当前分片,并向所述管理服务器发送上传其他分片的请求。其中,还包括数据服务器获知单元,用于所述管理服务器根据该客户端的IP地址确定该客户端需要上传的数据服务器,并返回给所述客户端;所述分片上传单元具体用于以分片为单位向所述需要上传的数据服务器进行样本上传。其中,还包括组包单元,用于所述管理服务器将不同客户端上传的同一样本的各个分片路由到同一个组包服务器,由所述组包服务器对各个分片进行组包。根据本发明提供的具体实施例,本发明公开了以下技术效果通过本发明,由于采用了分片及多客户端并行上传的机制,这样,一方面,由于对样本进行了分片,因此,可以避免由于样本过大导致的上传失败现象,提高上传的成功率; 另一方面,如果多个客户端都发现了同一可疑样本,则由于多客户端可以并行上传该可疑样本的不同分片,因此,也可以在降低单个客户端的上传负担的同时,避免受到一个客户端上传带宽的限制,提高上传的效率。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的方法的流程图;图2是本发明实施例提供的装置的示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。本发明人在实现本发明的过程中发现,现有技术中之所以会存在样本上传成功率及效率低的问题,是因为,由发现可疑样本的客户端直接将整个样本上传到服务器,这样, 如果一个样本太大,而客户端可以使用的上传带宽比较小的话,就可能导致上传失败,另外,仅使用一个客户端进行同一个样本的上传,也会使得该客户端的上传负担比较重,也将导致上传的速度很慢。因此,在本发明实施例中,采用分片及多客户端并行上传的机制,这样,一方面,由于对样本进行了分片,因此,可以避免由于样本过大导致的上传失败现象,提高上传的成功率;另一方面,如果多个客户端都发现了同一可疑样本,则由于多客户端可以并行上传该可疑样本的不同分片,因此,也可以在降低单个客户端的上传负担的同时,避免受到一个客户端上传带宽的限制,提高上传的效率。具体实现时,参见图1,本发明实施例提供的样本收集方法包括以下步骤SlOl 当发现待上传样本时,向管理服务器发送上传样本的请求;在本发明实施例中,仍然采取由客户端发现可疑样本,然后上传到服务器的方式进行样本收集,但是为了实现前述分片及多客户端并行上传,并不是由客户端直接将上传请求发送到数据服务器,而是首先由一个管理服务器(可以称为Token管理服务器)接收客户端的上传请求。其中,客户端的上传请求中可以包括待上传样本的大小、文件名等信息,管理服务器的作用就是根据待上传文件的大小等参数,确定该样本的分片策略,也即分为多少个分片,每个分片的大小,等等。当然,在实际应用中,由于数据服务器会在多个,分布在不同的物理区域,相应的,客户端也是分布在不同的物理区域,一般而言,如果客户端能够将自己的数据就近发送到自己所在区域部署的服务器,则可以获得更大的上传速率。因此,在本发明实施例中,客户端的上传请求中还可以包括客户端的IP地址,这样,管理服务器就可以根据客户端的IP地址,为该客户端分配距离最近的数据服务器,客户端在上传具体的数据时,就可以向该分配的数据服务器上传。具体实现时,可以根据客户端上传的IP地址,来比对IP库从而确定客户端所在的地域,然后再根据该地域的数据服务器部署情况,为用户选择合适的服务器。当然,在实际应用中,除了依据客户端的IP地址之外,还额可以根据根据客户端的带宽状况等等综合考虑,为客户端选择最好的数据服务器。
需要说明的是,客户端发现可疑样本的方法可以参照现有技术中的实现方式,例如,当客户端的各个产品无论是扫描还是主动触发的时候,都发现某个样本在服务端的样本库中没有收集,则会将该其作为一个可疑样本,并发起上传请求。S102 客户端根据管理服务器返回的分片策略,对所述待上传样本进行分片;客户端在接收到管理服务器的分片策略之后,就可以对待上传的样本进行分片, 同时,还可以为各个分片分配分片号(具体如何编号也可以包含在分片策略中)。分片之后,每一片仍采用原来的数据格式,且可以保留原样本的标识符,但只包含原样本的部分数据。并且,一旦完成分片后,每个分片就都可以作为独立的数据传输单元进行传送。其中, 具体的分片方法可以采用已有技术中的方法来实现,这里不再详述。S103 客户端以分片为单位向数据服务器进行样本上传;其中,如果不同的客户端发现同一待上传样本,则由各个客户端并行上传该同一待上传样本的不同分片。客户端在完成分片之后,就可以以分片为单位进行样本的上传,并且,由于可能有多个客户端都发现了同一样本,因此,就可以由这些客户端分别上传一部分分片,这样就可以避免一个客户端的上传任务过重,并且由于可以多个客户端可以并行上传,因此,上传的效率就可以得到大幅的提高。其中,客户端在上传各个分片时,可以按照分片号的顺序,向管理服务器发送样本上传请求,管理服务器根据其他客户端针对该样本的各分片的已上传情况,确定当前客户端是否需要上传当前分片;如果需要,则向客户端发出需要上传的指示,客户端接收到需要上传的响应消息,则将当前分片上传到数据服务器,否则,就可以不必上传该分片。例如,假设某样本被分为3个分片,当某客户端A请求上传其中的分片1时,如果已经有其他客户端上传了该分片,或者有其他客户端正在上传在分片,那么管理服务器就可以指示该客户端A不需要上传该分片;客户端A在接收到该指令之后,就可以放弃对分片 1的上传请求,继而向管理服务器发出上传分片2的请求。否则,如果在接收到客户端A上传分片1的请求时,分片1尚未上传到数据服务器,也没有其他客户端正在上传该分片1,那么管理服务器就会向客户端A发出上传该分片的指令,客户端A接收到该指令之后,就可以上传该分片1 ;待完成分片1的上传之后,再向管理服务器发出上传分片2的请求,以此类推。需要说明的是,针对同一待上传样本,管理服务器分配的分片策略是相同的。也就是说,假设有三个客户端都发现了上述例子中的样本,则向这三个客户端发送的分片策略都应该是分成三个分片,并且每个分片的大小及编号等在各个客户端之间都是一致的。当然,另外需要说明的是,在实际应用中,各个客户端并不一定是同一时刻发现同一样本,而是存在时间上的先后性,但是使用前述方式进行每个分片的上传时,并不影响本发明实施例的实现。例如,客户端A最先发现了某样本,在根据管理服务器的策略对样本进行分片之后,首先将分片1上传到数据服务器;就在客户端A上传分片1的过程中,客户端B也发现了该样本,管理服务器同样指示该客户端B按照同样的策略对样本进行分片,并且客户端B 在发起上传分片1的请求时,管理服务器就可以指示该客户端B不必上传该分片1,于是客户端B再向管理服务器发起上传分片2的请求,如果在此之前还没有其他客户端上传该分片2,就可以指示该客户端B可以上传该分片2,于是客户端B就可以开始上传该分片2,以此类推。需要说明的是,由于在上传的过程中已经对样本进行了分片,因此,在服务器侧还需要再对各个分片进行组包,以得到完整的样本。而在本发明实施例中,由于同一样本的不同分片可能是由不同的客户端上传的,而根据各个客户端所处的地理位置的不同,管理服务器针对不同的客户端选择的数据服务器可能是不同的,这样,同一样本的不同分片可能被上传的不同的数据服务器上去。针对这种情况,还可以首先将不同客户端上传的同一样本的各个分片路由到同一个组包服务器,然后由组包服务器对各个分片进行组包。具体实现时,数据服务器(相当于是上传接收机)可以是个集群,每个数据服务器都可以接收分片上传,分片上传到数据服务器之后,可以由分片分发进程把各个分片路由到组包集群上。具体的,这个进程可以先去请求一下调度中心,得到该分片应该去哪个组包服务器,调度中心根据样本的md5 (Message Digest Algorithm,消息摘要算法第五版,是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护)给分发进程分配一个合适的组包服务器,每个组包服务器都会起动一个组包worker等待组包,这样同一样本的所有分片就会落在同一台组包服务器中。需要说明的是,本发明实施例所述的数据服务器、组包服务器可以是物理上相互独立的机器,也可以使用同一机器中提供不同的服务,本发明实施例在描述时重点突出功能性,但并不能看作是对本发明的限制。其中,上述的调度中心可以用来监控组包机器的状态,该调度中心是冗余的,可以热切;当一个分片请求调度中心时候,可以根据样本的md5,通过hash算法找到相应的组包服务器,当某台组包服务器失效时候,调度中心会检测到该组包服务器失效,并把状态置为无效,同时选择一台备份机器顶替掉失效的机器。通过这种机制,可以提高系统的容错能力,保证组包服务的可靠运行。总之,在本发明实施例中,由于采用了分片及多客户端并行上传的机制,这样,一方面,由于对样本进行了分片,因此,可以避免由于样本过大导致的上传失败现象,提高上传的成功率;另一方面,如果多个客户端都发现了同一可疑样本,则由于多客户端可以并行上传该可疑样本的不同分片,因此,也可以在降低单个客户端的上传负担的同时,避免受到一个客户端上传带宽的限制,提高上传的效率。与本发明实施例提供的样本收集方法相对应,本发明实施例还提供了一种样本收集系统,参见图2,该系统包括样本发现单元201,用于当客户端发现待上传样本时,向管理服务器发送上传样本的请求;样本分片单元202,用于客户端根据管理服务器返回的分片策略,对所述待上传样本进行分片;分片上传单元203,用于客户端以分片为单位向数据服务器进行样本上传;其中, 如果不同的客户端发现同一待上传样本,则由各个客户端并行上传该同一待上传样本的不同分片。具体实现时,分片上传单元203可以包括请求子单元,用于按照分片号的顺序,向所述管理服务器发送样本上传请求,所述管理服务器根据其他客户端针对该样本的各分片的已上传情况,确定当前客户端是否需要上传当前分片;上传子单元,用于如果接收到需要上传的响应消息,则将当前分片上传到数据服务器。此外,该系统还可以包括放弃上传单元,用于如果接收到不需要上传的响应消息,则放弃上传当前分片,并向所述管理服务器发送上传其他分片的请求。该系统还可以包括数据服务器获知单元,用于所述管理服务器根据该客户端的IP地址确定该客户端需要上传的数据服务器,并返回给所述客户端;所述分片上传单元具体用于以分片为单位向所述需要上传的数据服务器进行样本上传。为了在上传之后得到完成的样本,该系统还可以包括组包单元,用于所述管理服务器将不同客户端上传的同一样本的各个分片路由到同一个组包服务器,由所述组包服务器对各个分片进行组包。总之,在上述系统中,由于采用了分片及多客户端并行上传的机制,这样,一方面, 由于对样本进行了分片,因此,可以避免由于样本过大导致的上传失败现象,提高上传的成功率;另一方面,如果多个客户端都发现了同一可疑样本,则由于多客户端可以并行上传该可疑样本的不同分片,因此,也可以在降低单个客户端的上传负担的同时,避免受到一个客户端上传带宽的限制,提高上传的效率。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上对本发明所提供的一种样本收集方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种样本收集方法,其特征在于,包括当客户端发现待上传样本时,向管理服务器发送上传样本的请求;客户端根据管理服务器返回的分片策略,对所述待上传样本进行分片;客户端以分片为单位向数据服务器进行样本上传;其中,如果不同的客户端发现同一待上传样本,则由各个客户端并行上传该同一待上传样本的不同分片。
2.根据权利要求1所述的方法,其特征在于,所述以分片为单位向数据服务器进行样本上传包括按照分片号的顺序,向所述管理服务器发送样本上传请求,所述管理服务器根据其他客户端针对该样本的各分片的已上传情况,确定当前客户端是否需要上传当前分片;如果接收到需要上传的响应消息,则将当前分片上传到数据服务器。
3.根据权利要求2所述的方法,其特征在于,还包括如果接收到不需要上传的响应消息,则放弃上传当前分片,并向所述管理服务器发送上传其他分片的请求。
4.根据权利要求1至3任一项所述的方法,其特征在于,还包括所述管理服务器根据该客户端的IP地址确定该客户端需要上传的数据服务器,并返回给所述客户端;所述以分片为单位向数据服务器进行样本上传包括以分片为单位向所述需要上传的数据服务器进行样本上传。
5.根据权利要求4所述的方法,其特征在于,还包括所述管理服务器将不同客户端上传的同一样本的各个分片路由到同一个组包服务器, 由所述组包服务器对各个分片进行组包。
6.一种样本收集系统,其特征在于,包括样本发现单元,用于当客户端发现待上传样本时,向管理服务器发送上传样本的请求;样本分片单元,用于客户端根据管理服务器返回的分片策略,对所述待上传样本进行分片;分片上传单元,用于客户端以分片为单位向数据服务器进行样本上传;其中,如果不同的客户端发现同一待上传样本,则由各个客户端并行上传该同一待上传样本的不同分片。
7.根据权利要求6所述的系统,其特征在于,所述分片上传单元包括请求子单元,用于按照分片号的顺序,向所述管理服务器发送样本上传请求,所述管理服务器根据其他客户端针对该样本的各分片的已上传情况,确定当前客户端是否需要上传当前分片;上传子单元,用于如果接收到需要上传的响应消息,则将当前分片上传到数据服务器。
8.根据权利要求7所述的系统,其特征在于,还包括放弃上传单元,用于如果接收到不需要上传的响应消息,则放弃上传当前分片,并向所述管理服务器发送上传其他分片的请求。
9.根据权利要求6至8任一项所述的系统,其特征在于,还包括数据服务器获知单元,用于所述管理服务器根据该客户端的IP地址确定该客户端需要上传的数据服务器,并返回给所述客户端;所述分片上传单元具体用于以分片为单位向所述需要上传的数据服务器进行样本上传。
10.根据权利要求9所述的系统,其特征在于,还包括组包单元,用于所述管理服务器将不同客户端上传的同一样本的各个分片路由到同一个组包服务器,由所述组包服务器对各个分片进行组包。
全文摘要
本发明公开了一种样本收集方法及系统,其中,所述方法包括通过本发明,当客户端发现待上传样本时,向管理服务器发送上传样本的请求;客户端根据管理服务器返回的分片策略,对所述待上传样本进行分片;客户端以分片为单位向数据服务器进行样本上传;其中,如果不同的客户端发现同一待上传样本,则由各个客户端并行上传该同一待上传样本的不同分片。能够提高样本收集的效率及成功率。
文档编号H04L29/12GK102571788SQ20111045699
公开日2012年7月11日 申请日期2011年12月30日 优先权日2011年12月30日
发明者冯鑫, 李振博, 谢冉 申请人:北京奇虎科技有限公司