【发明内容】
本发明要解决的技术问题是提供一种在杀毒***中跨服务器进行数据有效性校验的方法,其能防止杀毒***的后台服务器对由客户端软件***上传的一些垃圾文件做不必要的分析。
上述技术问题通过以下技术方案实现:
一种在杀毒***中跨服务器进行数据有效性校验的方法,所述杀毒***包括客户端软件***、查询服务器和后台服务器;其特征在于,所述方法包括:
当客户端软件***无法确认某文件为可信文件时,将提取所述某文件的微特征上传到查询服务器,所述微特征包括所述某文件的MD5值;
查询服务器对所述微特征进行分析,若当查询服务器无法确认所述某文件的微特征为病毒特征时,查询服务器根据预设条件认为所述某文件需要上传到后台服务器进行查杀,就通过一个不可逆算法并以包括接收到的MD5值作为计算参数计算出一个与所述某文件对应的第一凭证,然后查询服务器发回一返回信息给客户端软件***,所述返回信息包括凭证,所述不可逆算法使用不同的参数而计算出来的值是不同;
客户端软件***接收所述返回信息后,上传需分析信息给后台服务器,所述需分析信息包括所述某文件及第一凭证;
后台服务器接收所述需分析信息,当满足以下条件后对所述某文件进行分析:提取所述某文件的MD5值,通过所述不可逆算法并以包括由其提取到的MD5值作为计算参数算出一第二凭证,所述第二凭证与其接收到的所述第一凭证相同。
所述返回信息还包括计算的时间点,所述需分析信息还包括所述计算的时间点,后台服务器对所述某文件进行分析的满足条件还包括:接收到所述需分析信息的时间点与所述计算的时间点之间的间隔在一预设间隔之内。
所述不可逆算法的参数还包括所述计算的时间点。
由上述方案可见,本发明给需要上传到后台服务器进行分析的文件增加了一个由查询服务器根据文件的信息计算得出的第一凭证,及在后台服务器根据接收到文件的信息计算得出的第二凭证,进行校验第一凭证和第二凭证的相同,因此,能正确地判断出接收到的文件是否为由查询服务器判断过要上传的,当判断为是,才对接收到的文件进行分析。因此,本发明通过在查询服务器和后台服务器两个不同的服务器之间进行数据有效性校验,能够防止后台服务器对某些人利用上述缺陷通过客户端软件***向后台服务器发送的一些垃圾文件进行不必要的分析。
【具体实施方式】
实施一
这里以用户启用客户端软件***进行扫描本地计算机为例:
用户对客户端软件***进行操作,选择对电脑进行自定义扫描或全盘扫描;
客户端软件***启用本地的白特征库对本地的文件进行对比分析,当客户端软件***无法确认某文件为可信文件时,会将所述某文件的通道编号及提取所述某文件的微特征(所述某文件的通道编号是表示客户端软件***发现可疑文件的途径,该途径一般包括自定义扫描、全盘扫描、客户主动要求上传,然后根据不同的发现途径分别赋予所述某文件的不同的通道编号,即发现途径与通道编号一一对应)上传到查询服务器,所述微特征包括所述某文件的MD5值(文件的MD5值通过公知的算法进行计算);
查询服务器对所述微特征进行分析,若当确认所述某文件的微特征为病毒特征时,查询服务器会将所述某文件含病毒的信息告知客户端软件***;若当查询服务器无法确认所述某文件的微特征为病毒特征时,查询服务器根据预设条件若认为所述某文件需要上传到后台服务器进行查杀(例如,所述预设条件为所述某文件曾被5个及5个以上不同的客户上传过;预设条件的具体内容可由技术人员自由定义,不能作为本方案的限制),就通过一个不可逆算法计算出一个与所述某文件对应的第一凭证(我们称之为ticket),不可逆算法的参数为MD5值、计算的时间点、所述某文件的通道编号,然后查询服务器发回一返回信息给客户端软件***,所述返回信息包括第一凭证及计算的时间点,所述不可逆算法使用不同的参数而计算出来的值是不同;
若当客户端软件***收到查询服务器告知的所述某文件含病毒的信息,会提示用户所述某文件含病毒;
若当客户端软件***接收所述返回信息,会上传需分析信息给后台服务器,所述需分析信息包括所述某文件(所述某文件有可能因为某些人对客户端软件***的操作被其他文件所代替上传到后台服务器,此种情况下,后台服务器就是对代替所述某文件的其他文件进行判断)、第一凭证、所述某文件的通道编号及计算的时间点;
后台服务器接收所述需分析信息,当判断满足以下条件后对所述某文件(如果在客户端软件***上传时被其他文件替代,则在后台服务器中判断的文件就是其他文件)进行分析:(1)接收到所述需分析信息的时间点与所述计算的时间点之间的间隔在预设间隔之内,例如预设间隔为48小时;(2)提取所述某文件的MD5值,通过所述不可逆算法并以所述某文件的通道编号、其提取到的MD5值、计算的时间点作为计算参数算出一第二凭证,所述第二凭证与其接收到的所述第一凭证相同。
由上述描述可见,即使某些人利用客户端软件***的漏洞用垃圾文件替换所述某文件上传给后台服务器,但是,后台服务器用垃圾文件提出到的MD5值来计算得到的第二凭证是与第一凭证不同,后台服务器是不会对上传的垃圾文件进行分析的;因此,本方案非常有效地防止后台服务器对某些人利用客户端软件***向后台服务器发送的一些垃圾文件进行不必要的分析。
另外,所述不可逆算法中,参数包括了文件的MD5值、文件的通道编号、计算的时间点;在此要声明下,设置文件的通道编号、计算的时间点是分别基于以下目的:一、文件的通道编号,主要是用于采集用户在使用客户端软件***的一些习惯方面的数据,为软件的设计等提供参考信息;二、计算的时间点,是给后台服务器提供设置时间关卡的基点,让ticket具有了时效性的特性,因为安全也是需要优先关注新的文件,对于后台服务器还没有收到几天前就确认需要上传的文件,可能是目前已经不关心了;三、设置多参数的不可逆算法,能提高安全性。
但,仅从实现为了防止后台服务器对某些人利用上述缺陷向后台服务器发送一些垃圾文件进行不必要的查杀的目的来考虑,可以不运用文件的通道编号及计算的时间点,只是设置文件的MD5做为计算参数,自然而然,那么上述不可逆算法就要调整为使用一个参数进行计算的不可逆算法。
当然,文件的通道信息及计算的时间点这两个信息可以运用但不作为不可逆算法中的参数,只是简单提供来满足上述一、二两个目的;或将文件的通道编号及计算的时间点其中一个作为不可逆算法中的参数。
对于需要一个参数或多个参数并且使用不同的参数计算出来的值是不同的不可逆算法,均为本领域的技术人员能够掌握;即完成上述方案中的不可逆算法,可以由为本领域的技术人员根据公知知识进行定义。
实施例二
这里以用户启用客户端软件***进行主动要求上传某文件给后台服务器进行分析为例:
用户对客户端软件***进行操作,选择将上传某文件给后台服务器;
接着,客户端软件***启用本地的白特征库对某文件进行对比分析,当确认客户端软件***确认所述某文件为可信文件时,则告知用户不同意将上传某文件给后台服务器;
当客户端软件***无法确认所述某文件为可信文件时,客户端软件***会将提取所述某文件的微特征及所述某文件的通道编号上传到查询服务器,所述微特征包括所述某文件的MD5值;
查询服务器对所述微特征进行分析,若当确认所述某文件的微特征为病毒特征时,查询服务器会将所述某文件含病毒的信息告知客户端软件***;若当查询服务器无法确认所述某文件的微特征为病毒特征时,查询服务器根据预设条件认为所述某文件需要上传到后台服务器进行查杀,就通过一个不可逆算法计算出一个与所述某文件对应的凭证,可逆算法的参数为MD5值、计算的时间点、所述某文件的通道信息,然后查询服务器发回一返回信息给客户端软件***,所述返回信息包括凭证及计算的时间点,所述不可逆算法使用不同的参数而计算出来的值是不同;
若当客户端软件***收到查询服务器告知的所述某文件含病毒的信息,会提示用户所述某文件含病毒;
若当客户端软件***接收所述返回信息,会上传需分析信息给后台服务器,所述需分析信息包括所述某文件、第一凭证、所述某文件的通道编号及计算的时间点;
后台服务器接收所述需分析信息,当满足以下条件后对所述某文件进行分析:(1)接收到所述需分析信息的时间点与所述计算的时间点之间的间隔在预设间隔之内,例如预设间隔为48小时;(2)提取所述某文件的MD5值,通过与所述不可逆算法及所述某文件的通道编号、其提取到的MD5值、计算的时间点算出一第二凭证,所述第二凭证与其接收到的所述第一凭证相同。
本发明不局限于上述实施例,基于上述实施例的、未做出创造性劳动的简单替换,应当属于本发明揭露的范围。