专利名称:用于病毒检测的方法、装置和云服务器的制作方法
技术领域:
本发明涉及通信技术领域,尤其涉及用于病毒检测的方法、装置和云服务器。
背景技术:
随着计算机技术和互联网的飞速发展,计算机病毒已经成为不可忽视的网络问题,为了改善不断恶化的网络环境,可以在终端安装安全防护软件。安装在终端上的安全防护软件中包含一个病毒扫描引擎,安全防护软件通过该病毒扫描引擎扫描需要检测的文件。由于终端通常只能安装一个安全防护软件,而一个安全防护软件只能通过一个病毒扫描引擎对需要检测的文件进行病毒扫描,一个病毒扫描引擎的扫描方式会比较单一,所以,在终端上安装安全防护软件的方式容易出现检测结果错误, 而且当终端需要对大量文件进行病毒检测时,会增加终端的负载,进而影响病毒扫描引擎扫描文件的速度,降低终端的性能。为了使检测结果更加准确、且同时减少由于需要检测的文件过多给终端带来的负载,可以采用云查杀技术和本地安全防护软件查杀相结合的方式。具体的,云查杀病毒检测系统包含云服务器,云服务器上设有病毒文件库、样本文件库、一个病毒扫描引擎。云服务器定时更新样本文件库中的样本文件,病毒扫描引擎根据样本文件库中更新的内容定时更新病毒文件库。当终端需要检测某些文件时,在无法确定该文件安全时,根据MD5 (MassageDigest,消息摘要算法)对该文件进行计算,得到该文件的病毒识别信息,并将得到的病毒识别信息发送至云服务器。病毒扫描引擎根据接收到的病毒识别信息在病毒文件库中进行查询,若病毒扫描引擎从病毒文件库中查询到病毒识别信息,则该文件携带有病毒文件,是不安全的;若病毒扫描引擎没有从病毒文件库中查询到病毒识别信息,则该文件不携带有病毒文件,是安全的。在实现上述病毒检测的过程中,发明人发现现有技术中至少存在如下问题由于云服务器上设置的病毒扫描引擎扫描方式有限,则不能够获得准确的病毒检测结果,出现误测的概率很高。
发明内容
本发明的实施例提供一种病毒检测的方法、装置和云服务器,解决了杀毒软件扫描引擎单一,对病毒识别效率低、准确性低的问题。为达到上述目的,本发明的实施例采用如下技术方案一种用于病毒检测的方法,包括接收终端发送的病毒检测请求消息,所述病毒检测请求消息中包含待检测文件的病毒识别信息、和所述病毒检测请求消息的来源信息;选取第一病毒扫描引擎和第二病毒扫描引擎,所述第一病毒扫描引擎和所述第二病毒扫描引擎分别采用不同的扫描方式;
从样本文件库中获取所述病毒识别信息对应的样本文件;通过所述第一病毒扫描引擎和所述第二病毒扫描引擎对所述样本文件进行扫描;获取所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析所述扫描结果,确定待检测文件的病毒检测结果;根据所述来源信息发送所述病毒检测结果。一种用于病毒检测的装置,包括接收单元,用于接收病毒检测请求消息,所述病毒检测请求消息中包含待检测文件的病毒识别信息、和所述病毒检测请求消息的来源信息;选取单元,用于选取第一病毒扫描引擎和第二病毒扫描引擎,所述第一病毒扫描·引擎和所述第二病毒扫描引擎分别采用不同的扫描方式;第一获取单元,用于从样本文件库中获取所述病毒识别信息对应的样本文件;
扫描单元,用于通过所述第一病毒扫描弓I擎和所述第二病毒扫描弓I擎对所述样本文件进行扫描;第二获取单元,用于获取所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果;发送单元,用于根据所述来源信息发送所述病毒检测结果。一种云服务器,包括病毒文件库,用于存储样本文件库中所有样本文件的病毒识别信息及病毒识别信息对应的病毒检测结果;病毒检测中心,用于根据终端发送的待检测文件的病毒识别信息,从所述病毒样本库中获取所对应的病毒检测结果;病毒扫描引擎环境,包含第一病毒扫描引擎和第二病毒扫描引擎,所述第一病毒扫描引擎和所述第二病毒扫描引擎分别采用不同的扫描方式对样本文件进行扫描,所述病毒扫描引擎环境用于获取所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定所述待检测文件的病毒检测结果。本发明实施例提供的用于病毒检测的方法、装置和云服务器,接收终端发送的病毒检测请求消息,病毒检测请求消息中包含待检测文件的病毒识别信息、和病毒检测请求消息的来源信息;选取第一病毒扫描引擎和第二病毒扫描引擎;从样本文件库中获取病毒识别信息对应的样本文件;通过第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描;获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析扫描结果,确定待检测文件的病毒检测结果;根据来源信息发送待检测文件的病毒检测结果。在云服务器上设置两个或两个以上病毒扫描引擎,通过在云服务器上两个或两个以上不同的病毒扫描引擎对文件进行病毒检测,使文件的病毒检测结果更加准确。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例提供的用于病毒检测的方法的流程图; 图2为本发明实施例中VDC结构图;图3为本发明实施例提供的另一种用于病毒检测的方法的流程图;图4为本发明实施例中XEN扫描引擎环境结构示意图;图5为本发明实施例提供的一种用于病毒检测的装置的结构示意图;图6为本发明实施例提供的另一种用于病毒检测的装置的结构示意图; 图7为本发明实施例提供的一种云服务器的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供了一种用于病毒检测的方法,如图I所示,包括以下步骤101、接收病毒检测请求消息,病毒检测请求消息中包含病毒识别信息、和病毒检测请求消息的来源信息。当终端需要对某些文件进行检测时,云服务器接收终端的病毒检测请求信息,病毒检测请求消息中包含病毒识别信息、和病毒检测请求消息的来源信息。云服务器根据病毒识别信息从样本文件库中获取对应的样本为文件,以便病毒扫描引擎对终端需要检测文件对应的样本文件进行扫描。其中,本实施例中提到的病毒识别信息为待检测的文件的识别信息;病毒检测请求消息的来源信息为待检测的文件的来源信息。102、选取第一病毒扫描引擎和第二病毒扫描引擎,第一病毒扫描引擎和第二病毒扫描引擎分别采用不同的扫描方式。第一病毒扫描引擎和第二病毒扫描引擎的扫描方式不相同,这就保证了待检测文件对应的样本文件经过不同扫描方式的病毒扫描引擎进行扫描,可获得多个病毒扫描引擎的扫描结果。103、从样本文件库中获取病毒识别信息对应的样本文件。云服务器中包含样本文件库,该样本文件库用于存储大量的样本文件,供病毒扫描引擎下载。为了减少传输待检测文件时占用过多的资源,病毒扫描引擎获取的是待检测文件的病毒识别信息,而不是待检测文件,因此,第一病毒扫描引擎和第二病毒扫描引擎在获取到待检测文件的病毒识别信息后,还要从样本文件库中下载与待检测文件的病毒识别信息相对应的样本文件,以便对样本文件进行扫描。104、通过第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描。第一病毒扫描引擎和第二病毒扫描引擎根据接收到的病毒识别信息,从样本文件库中获取与病毒识别信息对应的样本文件并进行扫描。第一病毒扫描引擎和第二病毒扫描引擎分别米用不同扫描方式对病毒识别信息进行扫描。通过第一病毒扫描引擎和第二病毒扫描引擎对病毒识别信息对应的样本文件进行扫描,使得可以获得多个病毒扫描引擎的扫描结果。105、获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果。获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果。按照预设的病毒检测结果准则方式对多个扫描结果进行综合分析得出的病毒检测结果,增加了病毒检测结果的准确性。106、根据病毒检测请求消息的来源信息发送待检测文件的病毒检测结果。病毒检测请求消息中携带有待检测文件的来源信息,在确定了样本文件的病毒检·测结果后,将病毒检测结果根据待检测文件的来源信息返回至终端,使得终端可以获取到待检测文件的病毒检测结果。本实施例提供的用于病毒检测的方法,接收终端发送的病毒检测请求消息,病毒检测请求消息中包含待检测文件的病毒识别信息、和病毒检测请求消息的来源信息;选取第一病毒扫描引擎和第二病毒扫描引擎;从样本文件库中获取病毒识别信息对应的样本文件;通过第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描;获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析扫描结果,确定待检测文件的病毒检测结果;根据来源信息发送待检测文件的病毒检测结果。在云服务器上设置两个或两个以上病毒扫描引擎,通过在云服务器上两个或两个以上不同的病毒扫描引擎对文件进行病毒检测,使文件的病毒检测结果更加准确。作为本实施例的一种改进,本发明实施例提供另一种用于病毒检测的方法。首先对本发明实施例中云服务器作介绍,该云服务器包括VDC(Virus DetectionCebter,病毒检测中心)、和XEN病毒扫描引擎环境,VDC中的病毒扫描引擎模块部署在XEN病毒扫描引擎环境中,有利于云服务器对多个扫描引擎惊醒部署、和管理。如图2所示VDC主要包括请求接收模块、任务分发模块、病毒扫描引擎模块、结果汇总模块、结果上报模块。如图3所示,本实施提供的用于病毒检测的方法包括以下步骤301、云服务器接收病毒检测请求消息,病毒检测请求消息中包含待检测文件的病毒识别信息、和病毒检测请求消息的来源信息。当终端需要对某些文件进行检测时,首先通过终端上的安全防护软件对待检测文件进行检测,在无法确定待检测文件是否安全时,便根据MD5算法计算待检测文件的病毒识别信息,并向云服务器发送病毒检测请求信息,MD5算法是本领域技术人员所熟知的,在此不再赘述。云服务器的请求接收模块接收待检测文件的病毒检测请求信息,并将接收到的病毒检测请求信息放入请求接收模块的任务队列中。病毒检测请求消息中含病毒识别信息、待检测文件的来源信息、待检测文件的优先级信息。病毒识别信息可以包括病毒识别信息对应文件的内容摘要信息等;来源信息可以包括待检测文件所在终端的地址信息等;待检测文件优先级设置方法可以包括按程序的性质或其长度、或是按来源信息等,设置其优先级。终端根据MD5 (Message Digest,消息摘要)算法对待检测文件进行计算,生成病毒识别信息,经MD5算法计算得到的病毒识别信息是独一无二的,可以对文件起标识作用,又可以称为文件的“数字指纹”,如果文件被改动,则其对应的“数字指纹”会随之发生变化。302、云服务器根据病毒识别信息查找病毒文件库。云服务器中包含样本文件库、和病毒文件库,病毒文件库用于存储样本文件库中所有样本文件的病毒识别信息及病毒识别信息对应的病毒检测结果,病毒检测结果用于标识病毒识别信息是否携带病毒。病毒检测结果可以包括携带病毒、未携带病毒、可疑。在接收到终端的病毒检测请求消息后,云服务器根据待检测的文件的病毒识别信 息在病毒文件库中进行查找,若查找到相同的病毒识别信息,则根据病毒文件库中的病毒识别信息对应的检测结果可得到待检测文件的检测结果,从而确定待检测文件是否携带病毒。云服务器会定时更新样本文件库中的样本文件,从而可以实现对病毒文件库的更新。具体的,云服务器若是从各终端检测到有新的样本文件时,会随时向样本文件库中添加新的样本文件;云服务器定时通过VDC对样本文件库中的样本文件进行检测,并将病毒检测结果存储至病毒文件库,这样,样本文件库中新添加的样本文件的病毒检测结果会存储在病毒文件库中,从而实现云服务器对病毒文件库的更新。具体的,若云服务器根据病毒识别信息在病毒文件库中查找到相同的病毒识别信息,则执行步骤313 ;若云服务器根据病毒识别信息没有在病毒文件库中查找到相同的病毒识别信息,则执行步骤303。若病毒文件库中含有待检测文件的病毒识别信息,则省去了通过病毒扫描引擎对待检测文件进行病毒检测的过程。303、选取第一病毒扫描引擎和第二病毒扫描引擎,第一病毒扫描引擎和第二病毒扫描引擎分别采用不同的扫描方式。若云服务器没有从病毒文件库中查找到和待检测文件的病毒识别信息相同的病毒识别信息,则需要通过VDC对文件进行检测。作为本实施例的一种实施方式,为了加快了病毒扫描引擎扫描文件的扫描效率,各病毒扫描引擎定时向任务分发模块发送自己的扫描类型信息、和负载信息等,任务分发模块会根据各病毒扫描引擎的扫描类型信息,对病毒扫描引擎进行分组,将扫描方式相同的病毒扫描引擎划分为一组。云服务器中至少包含两个病毒扫描引擎组。同组的病毒扫描引擎的扫描效率相近,扫描方式相同,同组的病毒扫描引擎扫描文件时,被分配到负载最小的病毒扫描引擎中的文件可以最先被扫描。在同组的病毒扫描引擎中选择负载最小的病毒扫描引擎,加快了病毒扫描引擎扫描文件的扫描效率。进一步可选的,任务分发模块分别从各病毒扫描引擎组中选取各病毒扫描引擎组中负载最小的病毒扫描引擎,获得病毒扫描引擎集合;病毒扫描引擎集合中至少包含两个病毒扫描引擎。之后,任务分发模块再分别从病毒扫描引擎集合中选取第一病毒扫描引擎和第二病毒扫描引擎。为了方便管理和维护,VDC的病毒扫描引擎模块可以部署在XEN扫描引擎环境中。XEN扫描引擎环境包括来自终端的多个病毒扫描引擎组,每个病毒扫描引擎组中包含至少一个病毒扫描引擎,每个病毒扫描引擎对应的终端具备自己的独立IP,方便实现信息的传输;XEN扫描引擎环境具有统一的监控和部署管理机制,可以实现病毒扫描引擎的工作部署、代码及组件更新、病毒扫描引擎进程的起停,方便统一管理;XEN扫描引擎环境有自己的安全控制策略,保持病毒扫描引擎扫描检测环境的隔离性。XEN扫描引擎环境如图4所
/Jn o304、从样本文件库中获取病毒识别信息对应的样本文件。第一病毒扫描引擎和第二病毒扫描引擎获取到的是待检测文件的病毒识别信息,而不是待检测文件,减少了传输待检测文件时占用过多的资源。因此,第一病毒扫描引擎和第二病毒扫描引擎在获取到待检测文件的病毒识别信息后,还要获取与待检测文件的病毒识别信息相对应的样本文件,以便对样本文件进行扫描。 病毒扫描引擎不会主动接收任务分发模块发来的病毒识别信息,也不会主动下载对应的样本文件,而是通过Python框架控制病毒扫描引擎执行这些步骤的。Python框架主要用于对各病毒扫描引擎的调度和控制,如病毒扫描引擎下载样本文件、扫描样本文件、清除临时样本文件、发送病毒检测结果等。Python框架是本领域技术人员所熟知的,在此不再赘述。具体的,在Python框架控制下,第一病毒扫描引擎和第二病毒扫描引擎从请求接收模块的任务队列中获取待检测文件的病毒识别信息,并将病毒识别信息放入病毒扫描引擎的任务队列中;第一病毒扫描引擎和第二病毒扫描引擎获取每个待检测文件对应的样本文件。进一步可选的,第一病毒扫描引擎和第二病毒扫描引擎按照待检测文件的优先级由高到低的顺序依次从样本文件库中获取对应的样本文件。305、云服务器通过第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描。第一病毒扫描引擎和第二病毒扫描引擎将下载的样本文件存储于云服务器的磁盘和内存中;然后,在Python框架的控制下,病毒扫描引擎模块将第一病毒扫描引擎和第二病毒扫描引擎分别获取各自样本文件存储于磁盘的路径信息,以便启动第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描。通过分别采用不同扫描方式的病毒扫描引擎对病毒识别信息对应的样本文件进行扫描,采用不同扫描方式的病毒扫描引擎扫描相同样本文件得出的扫描结果可能不同,通过第一病毒扫描引擎和第二病毒扫描引擎对病毒识别信息对应的样本文件进行扫描,并按照预设的病毒检测结果准则方式综合分析第一病毒扫描引擎和第二病毒扫描引擎的扫描结果得出病毒检测结果,使得病毒检测结果更加准确。306、云服务器获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果。结果汇总模块获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,以便按照预设的病毒检测结果准则方式分析获取到的第一病毒扫描引擎和第二病毒扫描引擎的扫描结果。通过对多个不同类型的病毒扫描引擎的扫描结果进行综合分析得出的病毒检测结果,增加了该病毒检测结果的准确性。307、云服务器删除云服务器磁盘中与云服务器已获取的扫描结果对应的样本文件。
在第一病毒扫描引擎和第二病毒扫描引擎下载样本文件时,云服务器还将样本文件存入云服务器磁盘中。在第一病毒扫描引擎和第二病毒扫描引擎对样本文件扫描结束后,云服务器需要删除云服务器磁盘中与结果汇总模块已获取的扫描结果对应的样本文件,以保证经第一病毒扫描引擎和第二病毒扫描引擎扫描过的样本文件不占用云服务器磁盘的空间。308、云服务器判断是否既获取到第一病毒扫描引擎的扫描结果又获取到第二病毒扫描引擎的扫描结果。由于结果汇总模块在一定时间内是否既获取到第一病毒扫描引擎的扫描结果又获取到第二病毒扫描引擎的扫描结果,会得到不同的待检测文件的病毒检测结果,因此,在确定待检测文件的病毒检测结果之前,结果汇总模块要判断是否既获取到第一病毒扫描引 擎的扫描结果又获取到第二病毒扫描引擎的扫描结果。其中,判断结果包括结果汇总模块既获取到第一病毒扫描引擎的扫描结果又获取到第二病毒扫描引擎的扫描结果,则执行步骤309 ;结果汇总模块没有既获取到第一病毒扫描引擎的扫描结果又获取到第二病毒扫描引擎的扫描结果,则执行步骤310。扫描结果包括携带病毒、未携带病毒、可疑。309、云服务器按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果。结果汇总模块判断第一病毒扫描引擎和第二病毒扫描引擎的扫描结果中是否有携带病毒的结果。本实施例中的预设方式为若第一病毒扫描引擎和第二病毒扫描引擎的扫描结果中有携带病毒的结果,则确定待检测文件的病毒检测结果为携带病毒;若第一病毒扫描引擎和第二病毒扫描引擎的扫描结果中没有携带病毒的结果,则判断第一病毒扫描引擎和第二病毒扫描引擎的扫描结果中是否有可疑的结果;若第一病毒扫描引擎和第二病毒扫描引擎的扫描结果中有可疑的结果,则确定待检测文件的病毒检测结果为可疑;否则,确定待检测文件的病毒检测结果为未携带病毒。执行步骤312。具体的,按上述预设方式分析准则如下表所示,其中,表格中黑代表文件的病毒检测结果为携带病毒;白代表文件的病毒检测结果为未携带病毒;灰代表文件的病毒检测结果为可疑。
黑__^__灰
' N
白黑白灰
_A__M.__A__A_310、云服务器将获得到的扫描结果确定为待检测文件的病毒检测结果。在相隔预设内,没有既获取到第一病毒扫描引擎的扫描结果又获取到第二病毒扫描引擎的扫描结果,仅获取到第一病毒扫描引擎的扫描结果或者第二病毒扫描引擎的扫描结果,则将获得到的扫描结果确定为待检测文件的病毒检测结果。
若选取多于两个病毒扫描引擎对样本文件进行扫描,但是,结果汇总模块没有接收到所有选取的病毒扫描引擎的扫描结果,则首先确定返回扫描结果的所有病毒扫描引擎中优先级最高的病毒扫描引擎的扫描结果,然后,将优先级最高的病毒扫描引擎的扫描结果确定为待检测文件的病毒检测结果。优先级高的病毒扫描引擎的扫描结果准确性较高,因此,将优先级高的病毒扫描引擎的扫描结果确定为待检测文件的病毒检测结果。病毒扫描引擎的优先级可以根据病毒扫描引擎的扫描方式等规则进行设定,优先级高的病毒扫描引擎的扫描结果准确性较高。311、云服务器将在预设时间范围外接收到的扫描结果放入云服务器的日志中,同时云服务器对第一病毒扫描引擎和第二病毒扫描引擎中没有在预设时间范围内发送扫描结果的病毒扫描引擎进行监控,检测该病毒扫描引擎是否可正常工作。由于一些因素影响病毒扫描引擎扫描样本文件的速度,使得结果汇总模块不能在预设时间内接收到扫描结果。因此,云服务器需要将在预设时间范围外发送扫描结果的病 毒扫描引擎进行监控,检测该病毒扫描引擎是否可正常工作。若检测到该病毒扫描引擎不可正常工作,则任务分发模块不将待扫描文件的病毒识别信息发送至该病毒扫描引擎。312、云服务器将病毒检测结果存储至病毒文件库。结果上报模块将待检测文件的病毒识别信息、和病毒检测结果存储至病毒文件库,以便下次可以在病毒文件库中查找到该病毒检测结果,省去了还要通过病毒扫描引擎扫描的过程。313、在确定了病毒检测结果后,云服务器删除病毒检测请求消息携带的相关信
肩、O请求接收模块将接收到的病毒检测请求信息放入任务队列中,当任务分发模块将病毒检测请求信息中的识别信息发送至第一扫描引擎和第二病毒扫描引擎中的某一个病毒扫描引擎后,请求接收模块并不将任务队列中的病毒检测请求信息删除,只有当任务分发模块将病毒检测请求信息中的识别信息既发送至第一扫描引擎又发送至第二病毒扫描引擎中后,请求接收模块才会将存储在任务队列中对应的病毒检测请求信息删除。在当任务分发模块将病毒检测请求信息中的识别信息既发送至第一扫描引擎又发送至第二病毒扫描引擎中后,再将任务队列中对应的病毒检测请求信息删除,可以保证待检测文件对应的样本文件既被第一扫描引擎扫描,又被第二病毒扫描引擎中扫描,从而可以获得采用不同扫描方式扫描的病毒扫描引擎的扫描结果。314、云服务器根据病毒检测请求消息的来源信息发送待检测文件的病毒检测结果。病毒检测请求消息中携带有待检测文件的来源信息,在确定了样本文件的病毒检测结果后,结果上报模块将病毒检测结果根据待检测文件的来源信息中的地址信息返回至终端,使得终端可以获取到待检测文件的病毒检测结果。本实施例提供的用于病毒检测的方法,接收终端发送的病毒检测请求消息,病毒检测请求消息中包含待检测文件的病毒识别信息、和病毒检测请求消息的来源信息;选取第一病毒扫描引擎和第二病毒扫描引擎;从样本文件库中获取病毒识别信息对应的样本文件;通过第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描;获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果;根据来源信息发送待检测文件的病毒检测结果。在云服务器上设置两个或两个以上病毒扫描引擎,通过在云服务器上两个或两个以上不同的病毒扫描引擎对文件进行病毒检测,使文件的病毒检测结果更加准确。为了实现上述用于病毒检测的方法,本发明实施例提供一种用于病毒检测的装置,如图5所示,包括接收单元51、选取单元52、第一获取单元53、扫描单元54、第二获取单元55、发送单元56。本实施例中的接收单元51包含于方法实施例中的请求接收模块;选取单元52包含于方法实施例中的任务分发模块;第一获取单元53、扫描单元54包含于方法实施例中的病毒扫描引擎模块;第二获取单元55包含于方法实施例中的结果汇总模块;发送单元56包含于方法实施例中的结果上报模块。其中,接收单元51,用于接收病毒检测请求消息,病毒检测请求消息中包含待检测文件的病毒识别信息、和病毒检测请求消息的来源信息。选取单元52,用于选取第一病毒扫描引擎和第二病毒扫描引擎,第一病毒扫描引·擎和第二病毒扫描引擎分别采用不同的扫描方式。第一获取单元53,用于从样本文件库中获取病毒识别信息对应的样本文件。扫描单元54,用于通过第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描。第二获取单兀55,用于获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果。发送单元56,用于根据来源信息发送待检测文件的病毒检测结果。本实施例提供的用于病毒检测的装置,接收终端发送的病毒检测请求消息,病毒检测请求消息中包含待检测文件的病毒识别信息、和病毒检测请求消息的来源信息;选取第一病毒扫描引擎和第二病毒扫描引擎;从样本文件库中获取病毒识别信息对应的样本文件;通过第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描;获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果;根据来源信息发送待检测文件的病毒检测结果。在云服务器上设置两个或两个以上病毒扫描引擎,通过在云服务器上两个或两个以上不同的病毒扫描引擎对文件进行病毒检测,使文件的病毒检测结果更加准确。作为本实施例的一种改进,本发明实施例提供另一种用于病毒检测的装置,如图6所示,包括接收单元61、选取单元62、第一获取单元63、扫描单元64、第二获取单元65、发送单元66。本实施例中的接收单元61包含于方法实施例中的请求接收模块;选取单元62、第一获取单兀63包含于方法实施例中的任务分发模块;扫描单兀64包含于方法实施例中的病毒扫描引擎模块;第二获取单元65包含于方法实施例中的结果汇总模块;发送单元66包含于方法实施例中的结果上报模块。其中,选取单兀62包括第一选取模块621、第二选取模块622。第二获取单元65包括获取模块651、第一判断模块652、第二判断模块653、第一确定模块654、第三判断模块655、第二确定模块656、第三确定模块657。
接收单元61,用于接收病毒检测请求消息,病毒检测请求消息中包含待检测文件的病毒识别信息、和病毒检测请求消息的来源信息。当终端需要对某些文件进行检测时,接收单元接收待检测文件的病毒检测请求信息,并将接收到的病毒检测请求信息放入请求接收模块的任务队列中。选取单元62,用于选取第一病毒扫描引擎和第二病毒扫描引擎,第一病毒扫描引擎和第二病毒扫描引擎分别采用不同的扫描方式。选取单元分别从各病毒扫描引擎组中选取各病毒扫描引擎组中负载最小的病毒扫描引擎,获得病毒扫描引擎集合;病毒扫描引擎集合中至少包含两个病毒扫描引擎。之后,任务分发模块再分别从病毒扫描引擎集合中选取第一病毒扫描引擎和第二病毒扫描引擎。第一获取单元63,用于从样本文件库中获取病毒识别信息对应的样本文件。 在Python框架控制下,第一获取单元选取的第一病毒扫描引擎和第二病毒扫描引擎从请求接收模块的任务队列中获取待检测文件的病毒识别信息,并将病毒识别信息放入第一病毒扫描引擎和第二病毒扫描引擎的任务队列中;第一病毒扫描引擎和第二病毒扫描引擎按照待检测文件优先级从高到低的顺序,分别根据病毒识别信息获取对应的样本文件。扫描单兀64,用于通过第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描。扫描单兀通过米用不同扫描方式的第一病毒扫描引擎和第二病毒扫描引擎分别对病毒识别信息对应的样本文件进行扫描,采用不同扫描方式扫描的病毒扫描引擎扫描样本文件得出的扫描结果可能不同,通过按照预设的病毒检测结果准则方式综合分析多种类型病毒扫描引擎的扫描结果,得出的病毒检测结果更加准确。第二获取单兀65,用于获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果。第二获取单元获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,以便按照预设的病毒检测结果准则方式分析获取到的病毒扫描引擎的扫描结果。通过对多个不同类型的病毒扫描引擎的扫描结果进行综合分析得出的病毒检测结果,增加了该病毒检测结果的准确性。具体的,获取模块651,用于获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果。第一判断模块652,用于在预设时间内,判断是否既获取到第一病毒扫描引擎的扫描结果又获取到第二病毒扫描引擎的扫描结果。第二判断模块653,用于若既获取到第一病毒扫描引擎的扫描结果又获取到第二病毒扫描引擎的扫描结果,则判断第一病毒扫描引擎和第二病毒扫描引擎的扫描结果中是否有携带病毒的结果。第一确定模块654,用于若第一病毒扫描引擎和第二病毒扫描引擎的扫描结果中有携带病毒的结果,则确定待检测文件的病毒检测结果为携带病毒。第三判断模块655,用于若第一病毒扫描引擎和第二病毒扫描引擎的扫描结果中没有携带病毒的结果,则判断第一病毒扫描引擎和第二病毒扫描引擎的扫描结果中是否有可疑的结果。第二确定模块656,用于若第一病毒扫描引擎和第二病毒扫描引擎的扫描结果中有可疑的结果,则确定待检测文件的病毒检测结果为可疑;否则,确定待检测文件的病毒检测结果为不携带病毒。第三确定模块657,用于若没有既获取到第一病毒扫描引擎的扫描结果又获取到第二病毒扫描引擎的扫描结果,仅获取到第一病毒扫描引擎的扫描结果或者第二病毒扫描引擎的扫描结果,则将获取到的扫描结果确定为待检测文件的病毒检测结果。发送单元66,用于根据来源信息发送待检测文件的病毒检测结果。病毒检测请求消息中携带有待检测文件的来源信息,在确定了样本文件的病毒检测结果后,发送单元将病毒检测结果根据待检测文件的来源信息返回至终端,使得终端可 以获取到待检测文件的病毒检测结果。本实施例提供的用于病毒检测的装置,接收终端发送的病毒检测请求消息,病毒检测请求消息中包含待检测文件的病毒识别信息、和病毒检测请求消息的来源信息;选取第一病毒扫描引擎和第二病毒扫描引擎;从样本文件库中获取病毒识别信息对应的样本文件;通过第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描;获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果;根据来源信息发送待检测文件的病毒检测结果。在云服务器上设置两个或两个以上病毒扫描引擎,通过在云服务器上两个或两个以上不同的病毒扫描引擎对文件进行病毒检测,使文件的病毒检测结果更加准确。为了实现上述用于病毒检测的方法,本发明实施例提供一种云服务器,如图7所示,包括Windows运行平台71、Linux运行平台72、病毒文件库73、病毒检测中心74、病毒扫描引擎环境75。Windows运行平台71,用于运行基于Windows操作系统的病毒扫描引擎。Linux运行平台72,用于运行基于Linux操作系统的病毒扫描引擎。病毒文件库73,用于存储样本文件库中所有样本文件的病毒识别信息及病毒识别信息对应的病毒检测结果。病毒检测中心74,用于根据终端发送的待检测文件的病毒识别信息,从病毒样本库中获取所对应的病毒检测结果。病毒扫描引擎环境75,包含第一病毒扫描引擎和第二病毒扫描引擎,第一病毒扫描引擎和第二病毒扫描引擎分别采用不同的扫描方式对样本文件进行扫描,病毒扫描引擎环境用于获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果;病毒扫描引擎环境包含第一病毒扫描引擎和第二病毒扫描引擎,第一病毒扫描引擎和第二病毒扫描引擎分别采用不同的扫描方式对样本文件进行扫描。本实施例提供的云服务器,接收病毒检测请求消息,病毒检测请求消息中包含待检测文件的病毒识别信息、和病毒检测请求消息的来源信息;从各病毒扫描引擎组中分别选择一个病毒扫描引擎,获得第一病毒扫描引擎;病毒扫描引擎组至少有两个;病毒扫描引擎组中包含至少一个病毒扫描引擎,且同一病毒扫描引擎组中的所有病毒扫描引擎采用相同的扫描方式对样本文件进行扫描,不同病毒扫描引擎组中的病毒扫描引擎采用不同的扫描方式对样本文件进行扫描;获取病毒识别信息对应的样本文件;通过第一病毒扫描引擎对样本文件进行扫描,第一病毒扫描引擎分别采用不同扫描方式对样本文件进行扫描;获取病毒扫描引擎的扫描结果,按照预设方式分析获取到的第一病毒扫描引擎的扫描结果,确定待检测文件的病毒检测结果;根据病毒检测请求消息的来源信息发送待检测文件的病毒检测结果。在云服务器上设置两个或两个以上病毒扫描引擎,通过在云服务器上两个或两个以上不同的病毒扫描引擎对文件进行病毒检测,使文件的病毒检测结果更加准确。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。 以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种用于病毒检测的方法,其特征在于, 接收终端发送的病毒检测请求消息,所述病毒检测请求消息中包含待检测文件的病毒识别信息、和所述病毒检测请求消息的来源信息; 选取第一病毒扫描引擎和第二病毒扫描引擎,所述第一病毒扫描引擎和所述第二病毒扫描引擎分别采用不同的扫描方式; 从样本文件库中获取所述病毒识别信息对应的样本文件; 通过所述第一病毒扫描引擎和所述第二病毒扫描引擎对所述样本文件进行扫描; 获取所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析所述扫描结果,确定待检测文件的病毒检测结果; 根据所述来源信息发送所述病毒检测结果。
2.根据权利要求I所述的用于病毒检测的方法,其特征在于,所述选取第一病毒扫描引擎和第二病毒扫描引擎,所述第一病毒扫描引擎和所述第二病毒扫描引擎分别采用不同的扫描方式还包括 分别从各病毒扫描引擎组中选取各病毒扫描引擎组中负载最小的病毒扫描引擎,获得病毒扫描引擎集合;所述病毒扫描引擎集合中至少包含两个病毒扫描引擎; 从所述病毒扫描引擎集合中选取第一病毒扫描引擎和第二病毒扫描引擎; 所述各病毒扫描引擎组中,同一病毒扫描引擎组中的所有病毒扫描引擎采用相同的扫描方式对所述样本文件进行扫描,不同病毒扫描引擎组中的病毒扫描引擎采用不同的扫描方式对所述样本文件进行扫描。
3.根据权利要求2所述的用于病毒检测的方法,其特征在于,所述病毒检测请求消息中还包含所述待检测文件的优先级信息,所述从样本文件库中获取所述病毒识别信息对应的样本文件为 按照待检测文件的优先级由高到低的顺序依次从样本文件库中获取每个待检测文件对应的样本文件。
4.根据权利要求3所述的用于病毒检测的方法,其特征在于,所述获取所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析所述扫描结果,确定所述待检测文件的病毒检测结果还包括 获取所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果; 在预设时间内,判断是否既获取到所述第一病毒扫描引擎的扫描结果又获取到所述第二病毒扫描引擎的扫描结果; 若既获取到所述第一病毒扫描引擎的扫描结果又获取到所述第二病毒扫描引擎的扫描结果,则判断所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果中是否有携带病毒的结果; 若所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果中有携带病毒的结果,则确定所述待检测文件的病毒检测结果为携带病毒; 若所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果中没有携带病毒的结果,则判断所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果中是否有可疑的结果; 若所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果中有可疑的结果,则确定所述待检测文件的病毒检测结果为可疑;否则,确定所述待检测文件的病毒检测结果为不携带病毒; 若仅获取到所述第一病毒扫描引擎的扫描结果或者所述第二病毒扫描引擎的扫描结果,则将获取到的扫描结果确定为所述待检测文件的病毒检测结果。
5.一种用于病毒检测装置,其特征在于, 接收单元,用于接收病毒检测请求消息,所述病毒检测请求消息中包含待检测文件的病毒识别信息、和所述病毒检测请求消息的来源信息; 选取单元,用于选取第一病毒扫描引擎和第二病毒扫描引擎,所述第一病毒扫描引擎和所述第二病毒扫描引擎分别采用不同的扫描方式; 第一获取单兀,用于从样本文件库中获取所述病毒识别信息对应的样本文件; 扫描单元,用于通过所述第一病毒扫描引擎和所述第二病毒扫描引擎对所述样本文件进行扫描; 第二获取单元,用于获取所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析所述扫描结果,确定待检测文件的病毒检测结果; 发送单元,用于根据所述来源信息发送所述病毒检测结果。
6.根据权利要求5所述用于病毒检测装置,其特征在于,所述选取单元还包括 第一选取模块,用于分别从各病毒扫描引擎组中选取各病毒扫描引擎组中负载最小的病毒扫描引擎,获得病毒扫描引擎集合;所述病毒扫描引擎集合中至少包含两个病毒扫描引擎; 第二选取模块,用于从所述病毒扫描引擎集合中选取第一病毒扫描引擎和第二病毒扫描引擎; 所述各病毒扫描引擎组中,同一病毒扫描引擎组中的所有病毒扫描引擎采用相同的扫描方式对所述样本文件进行扫描,不同病毒扫描引擎组中的病毒扫描引擎采用不同的扫描方式对所述样本文件进行扫描。
7.根据权利要求6所述用于病毒检测装置,其特征在于,所述病毒检测请求消息中还包含所述待检测文件的优先级信息,所述第一获取单元按照待检测文件的优先级由高到低的顺序依次从样本文件库中获取每个待检测文件对应的样本文件。
8.根据权利要求7所述用于病毒检测装置,其特征在于,所述第二获取单元还包括 获取模块,用于获取所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果; 第一判断模块,用于在预设时间内,判断是否既获取到所述第一病毒扫描引擎的扫描结果又获取到所述第二病毒扫描引擎的扫描结果; 第二判断模块,用于若既获取到所述第一病毒扫描引擎的扫描结果又获取到所述第二病毒扫描引擎的扫描结果,则判断所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果中是否有携带病毒的结果; 第一确定模块,用于若所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果中有携带病毒的结果,则确定所述待检测文件的病毒检测结果为携带病毒; 第三判断模块,用于若所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果中没有携带病毒的结果,则判断所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果中是否有可疑的结果; 第二确定模块,用于若所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果中有可疑的结果,则确定所述待检测文件的病毒检测结果为可疑;否则,确定所述待检测文件的病毒检测结果为不携带病毒; 第三确定模块,用于若仅获取到所述第一病毒扫描引擎的扫描结果或者所述第二病毒扫描引擎的扫描结果时,将获取到的扫描结果确定为所述待检测文件的病毒检测结果。
9.一种云服务器,其特征在于,其包括 病毒文件库,用于存储样本文件库中所有样本文件的病毒识别信息及病毒识别信息对应的病毒检测结果; 病毒检测中心,用于根据终端发送的待检测文件的病毒识别信息,从所述病毒样本库中获取所对应的病毒检测结果; 病毒扫描引擎环境,包含第一病毒扫描引擎和第二病毒扫描引擎,所述第一病毒扫描引擎和所述第二病毒扫描引擎分别采用不同的扫描方式对样本文件进行扫描,所述病毒扫描引擎环境用于获取所述第一病毒扫描引擎和所述第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定所述待检测文件的病毒检测结果。
10.根据权利要求9所述的云服务器,其特征在于,所述云服务器还包括 Windows运行平台,用于运行基于Windows操作系统的病毒扫描引擎;或/和, Linux运行平台,用于运行基于Linux操作系统的病毒扫描引擎。
全文摘要
本发明实施例公开了一种用于病毒检测的方法、装置和云服务器。涉及通信技术领域。解决了杀毒软件扫描引擎单一,对病毒识别效率低、准确性低的问题。该方法包括接收终端发送的病毒检测请求消息,病毒检测请求消息中包含待检测文件的病毒识别信息、和病毒检测请求消息的来源信息;选取第一病毒扫描引擎和第二病毒扫描引擎;从样本文件库中获取病毒识别信息对应的样本文件;通过第一病毒扫描引擎和第二病毒扫描引擎对样本文件进行扫描;获取第一病毒扫描引擎和第二病毒扫描引擎的扫描结果,按照预设的病毒检测结果准则方式分析获取到的扫描结果,确定待检测文件的病毒检测结果;根据来源信息发送待检测文件的病毒检测结果。可应用于计算机安全防护。
文档编号H04L29/06GK102970272SQ20111025716
公开日2013年3月13日 申请日期2011年9月1日 优先权日2011年9月1日
发明者高明, 何德照 申请人:腾讯科技(深圳)有限公司