专利名称::病毒检测方法及设备的制作方法
技术领域:
:本发明涉及通讯领域,尤其涉及一种病毒检测方法及一种病毒检测设备。
背景技术:
:对可移植执行(PortableExecute,PE)文件进行基于流的病毒检测时,由于只需要对承载有PE文件头的几个数据包进行重组,并根据从PE文件头中提取的特征与病毒库中预先存储的已知病毒的特征进行匹配,而无需重组出整个文件,与针对完整文件进行的基于特征的病毒检测方式来比,检测的性能较高。PE文件头中的结构信息详细描述了PE文件的各种属性信息,如文件的分块数量、每块的数据长度、程序起始指令地址和程序运行所需平台等信息。对PE文件进行检测的病毒检测方法具体为在PE文件头中的结构信息中提取识别信息,其中,识别信息可以由从上述各种属性信息中选取的若干信息组合而成,并将该识别信息与预先存储的病毒特征进行比较,以检测该PE文件是否携带病毒。由于PE文件病毒占全部病毒的95%以上,如果能够有效控制PE文件病毒在网络上蔓延就能极大的改善网络的安全状况。安装包、自解压包文件属于含有附加数据的PE文件,也被称为Archive文件,这种文件由两部分构成,第一部分为完整的PE文件,第二部分为数据部分。大量Archive文件仅在数据部分不同,PE文件部分完全相同。如果按照现有方法在PE文件头部的结构信息中提取识别信息,作为检测病毒文件的依据,则会导致此病毒文件所对应的Archive类型的文件全部都被误检测为病毒。目前解决上述问题的通常做法为放弃对Archive文件的病毒检测。但病毒文件很容易被加工成Archive文件,如果病毒传播者利用这一特点将含有病毒的文件制作成Archive文件,则现有的对PE文件进行的基于流的病毒检测方法将无法确定Archive文件是否是携带病毒的病毒文件。
发明内容本发明提供一种能够有效检测Archive类型的PE文件是否为病毒文件的检测方法及相关设备。本发明解决上述问题的病毒检测方法及设备包括第一方面,提供一种病毒检测方法,包括接收承载有可移植执行PE文件的网络数据流,并根据所述网络数据流中的数据包重组出所述PE文件的文件头,其中,所述文件头中包含所述PE文件的结构信息;根据所述PE文件的结构信息计算第一识别信息;将所述第一识别信息与病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则根据所述病毒库中预先存储的病毒识别信息与文件类型的对应关系,确定所述PE文件是否为Archive文件,其中,所述文件类型包括Archive文件和PE病毒文件;若所述PE文件为Archive文件,贝U从所述网络数据流中获取承载所述Archive文件数据部分的数据包,并根据所述承载所述Archive文件数据部分的数据包计算第二识别信息;将所述第二识别信息与所述病毒库中预先存储的所述病毒识别信息进行匹配,若匹配命中,则确定所述Archive文件为Archive病毒文件。在第一方面的第一种可能的实现方式中,若所述PE文件为非Archive文件则确定所述PE文件为PE病毒文件。结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述从所述网络数据流中获取承载所述Archive文件数据部分的数据包,并根据所述承载所述Archive文件数据部分的数据包计算第二识别信息,具体包括从所述病毒库中预先存储的病毒识别信息与Archive文件形式的对应关系中,查询所述第一识别信息对应的Archive文件形式,其中,所述Archive文件形式包括数据部分包含数据结构信息的Archive文件和数据部分不包含数据结构信息的Archive文件;从所述网络数据流中获取承载所述Archive文件数据部分的数据包;根据所述第一识别信息对应的Archive文件形式和所述承载所述Archive文件数据部分的数据包计算第二识别信息。。结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据所述第一识别信息对应的Archive文件形式和所述承载所述Archive文件数据部分的数据包计算第二识别信息,包括若所述第一识别信息对应的Archive文件形式为数据部分不包含数据结构信息的Archive文件,则根据所述承载所述Archive文件数据部分的数据包,重组出所述Archive文件的数据部分,利用哈希算法计算所述Archive文件的数据部分的哈希值,作为所述第二识别信息;或者,若所述第一识别信息对应的Archive文件形式为数据部分包含数据结构信息的Archive文件,则根据所述承载所述Archive文件数据部分的数据包,重组得到所述Archive文件数据部分中包含的数据结构信息,利用哈希算法计算重组得到的所述数据结构信息的哈希值,作为所述第二识别信息。结合第一方面、第一方面的第一种可能的实现方式或者第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述PE文件的结构信息计算第一识别信息具体包括从所述PE文件的结构信息中选取至少二个属性信息,并将所述至少二个属性信息衔接成一个数据块;利用哈希算法计算出所述数据块的哈希值,作为所述第一识别信息。第二方面,提供一种病毒检测设备,包括信息获取模块,用于接收承载有可移植执行PE文件的网络数据流,并根据所述网络数据流中的数据包重组出所述PE文件的文件头,其中,所述文件头中包含所述PE文件的结构信息;第一计算模块,用于根据所述信息获取模块获取的所述PE文件的结构信息计算第一识别信息;第一判断模块,用于将所述第一计算模块计算得到的所述第一识别信息与病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则根据所述病毒库中预先存储的病毒识别信息与文件类型的对应关系,确定所述PE文件是否为Archive文件,其中,所述文件类型包括Archive文件和PE病毒文件;第二计算模块,用于在所述第一判断模块确定出所述PE文件为Archive文件时,从所述网络数据流中获取承载所述Archive文件数据部分的数据包,并根据所述承载所述Archive文件数据部分的数据包计算第二识别信息;第二判断模块,用于将所述第二计算模块计算得出的所述第二识别信息与所述病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则确定所述Archive文件为Archive病毒文件。在第二方面的第一种可能的实现方式中,所述第一判断模块还用于,若所述PE文件为非Archive文件时,确定所述PE文件为PE病毒文件。结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二计算模块包括文件形式判断单元,用于从所述病毒库中预先存储的病毒识别信息与Archive文件形式的对应关系中,查询所述第一识别信息所对应的Archive文件形式,其中,所述文件形式包括数据部分包含数据结构信息的Archive文件和数据部分不包含数据结构信息的Archive文件;数据包获取单元,用于从所述网络数据流中获取承载所述Archive文件数据部分的数据包;计算单元,用于根据所述文件形式判断单元判断得出的所述第一识别信息所对应的Archive文件形式和所述数据包获取单元获取的所述承载所述Archive文件数据部分的数据包计算第二识别信息。结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述计算单元具体用于在第一识别信息所对应的Archive文件形式为数据部分不包含数据结构信息的Archive文件时,根据所述承载所述Archive文件数据部分的数据包,重组出所述Archive文件的数据部分,利用哈希算法计算所述Archive文件的数据部分的哈希值,作为所述第二识别息;或者,在第一识别信息所对应的Archive文件形式为数据部分包含数据结构信息的Archive文件时,根据所述承载所述Archive文件部分的数据包,重组得到所述Archive文件数据部分中包含的数据结构信息,利用哈希算法计算重组得到的所述数据结构信息的哈希值,作为所述第二识别信息。结合第二方面、第二方面的第一种可能或者第二方面的第三种可能的实现方式的实现方式,在第二方面的第四种可能的实现方式中,所述第一计算模块包括衔接单元,用于从所述信息获取模块获取的所述PE文件的结构信息中选取至少二个属性信息,并将所述至少二个属性信息衔接成一个数据块;计算单元,用于利用哈希算法计算所述衔接单元衔接成的所述数据块的哈希值,作为第一识别信息。第三方面,提供一种病毒检测设备,包括接收器、存储器和处理器,其中所述接收器,用于接收承载有可移植执行PE文件的网络数据流;所述存储器,用于存储代码;所述处理器,用于读取所述存储器中存储的代码,执行根据所述接收器接收的所述网络数据流中的数据包重组出所述PE文件的文件头,其中,所述文件头的数据包中包含所述PE文件的结构信息;根据所述PE文件的结构信息计算第一识别信息;将所述第一识别信息与病毒库中预先存储的病毒识别信息进行匹配,在匹配命中时,根据所述病毒库中预先存储的病毒识别信息与文件类型的对应关系,确定所述PE文件是否为Archive文件,其中,所述文件类型包括Archive文件和PE病毒文件;若所述PE文件为Archive文件,从所述网络数据流中获取承载所述Archive文件数据部分的数据包,并根据所述承载所述Archive文件数据部分的数据包计算第二识别信息;将所述第二识别信息与所述病毒库中预先存储的病毒识别信息进行匹配,在匹配命中时,确定所述Archive文件为Archive病毒文件。在第三方面的第一种可能的实现方式中,所述处理器执行从所述网络数据流中获取承载所述Archive文件数据部分的数据包,并根据所述承载所述Archive文件数据部分的数据包计算第二识别信息的具体方式为从所述病毒库中预先存储的病毒识别信息与Archive文件形式的对应关系中,查询所述第一识别信息对应的Archive文件形式,其中,所述Archive文件形式包括数据部分包含数据结构信息的Archive文件和数据部分不包含数据结构信息的Archive文件;从所述网络数据流中获取承载所述Archive文件数据部分的数据包;根据所述第一识别信息对应的Archive文件形式和所述承载所述Archive文件数据部分的数据包计算第二识别信息。结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述处理器执行所述根据所述第一识别信息对应的Archive文件形式和所述承载所述Archive文件数据部分的数据包计算第二识别信息的具体方式为若所述第一识别信息对应的Archive文件形式为数据部分不包含数据结构信息的Archive文件,则根据所述承载所述Archive文件数据部分的数据包,重组出所述Archive文件的数据部分,利用哈希算法计算所述Archive文件的数据部分的哈希值,作为所述第二识别信息;或者,若所述第一识别信息对应的Archive文件形式为数据部分包含数据结构信息的Archive文件,则根据所述承载所述Archive文件数据部分的数据包,重组得到所述Archive文件数据部分中包含的数据结构信息,利用哈希算法计算重组得到的所述数据结构信息的哈希值,作为所述第二识别信息。结合第三方面、第三方面的第一种可能的实现方式或者第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述处理器执行所述根据所述PE文件的结构信息计算第一识别信息的具体方式为从所述PE文件的结构信息中选取至少二个属性信息,并将所述至少二个属性信息衔接成一个数据块;利用哈希算法计算出所述数据块的哈希值,作为所述第一识别信息。对于Archive文件,本发明实施例在判断其是否为病毒文件时除了从PE文件头数据包中提取用于识别病毒特征的识别信息外,还从Archive文件的数据部分提取识别信息,并根据这两个识别信息来判断Archive文件是否为病毒文件,从而克服了现有技术无法确定Archive文件是否是携带病毒的病毒文件的问题,能够有效检测Archive类型的PE文件是否为病毒文件。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种病毒检测方法的流程图;图2是图1实施例中数据块的示意图;图3是本发明实施例提供的另一种病毒检测方法的流程图;图4是本发明实施例提供的一种病毒检测设备的结构图5是本发明实施例提供的另一种病毒检测设备的结构图;图6是本发明实施例提供的又一种病毒检测设备的结构图;图7是本发明实施例提供的另一种病毒检测设备的结构示意图。具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请参考图1,图1是本发明实施例提供的一种病毒检测方法的流程图,该流程的执行主体可以是网关设备,也可以是防火墙设备、路由器设备等可以从网络交换节点处得到数据流的设备,在这里不进行限定。所述方法包括101、接收承载有PE文件的网络数据流,并根据网络数据流中的数据包重组出PE文件的文件头,其中,文件头中包含PE文件的结构信息。其中,执行主体可以从网络数据流中的包含PE文件头的数据包中重组出PE文件的文件头。102、根据PE文件的结构信息计算第一识别信息。其中,根据PE文件的结构信息计算第一识别信息的实现方式可以为从PE文件的结构信息所描述的各种属性信息中选取至少二个属性信息,并将所述至少二个属性信息衔接成一个数据块;利用哈希算法计算出上述数据块的哈希值,作为第一识别信息。其中,哈希算法(又被称为摘要算法、杂凑算法)用于将数据运算为另一固定长度值,用于确保信息传输的一致和完整,本实施例可以用哈希算法来识别病毒。消息摘要5(MessageDigest5,MD5)算法是广泛使用的哈希算法之一,不同数据计算得出的MD5值相同的概率非常低,无限接近于零,本实施例优选用MD5算法来计算第一识别信息、第二识别信息和病毒库中已知病毒的特征信息(病毒识别信息)。可选地,本实施例选取PE文件的结构信息中的以下属性信息1、PE文件中的块数(NumberOfSection)2、PE文件的生成时间(TimeDateStamp)3、PE文件的程序入口点地址(AddressOfEntryPoint)4、PE文件的数据校验值(CheckSum)5、PE文件代码段大小(SizeOfCode)6、PE文件的内存映射大小(SizeOfImage)7、PE文件中的已初始化数据大小(SizeOfInitializedData)8、PE文件每个块的块属性(Characteristics)按上述顺序将上述结构信息衔接成为如图2所示的数据块,并计算该数据块的MD5值。103、将第一识别信息与病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则根据病毒库中预先存储的病毒识别信息与文件类型的对应关系,确定所述PE文件是否为Archive文件,其中,文件类型包括Archive文件和PE病毒文件。病毒库是一个数据文件,病毒库中存储了目前已知病毒的特征和Archive文件特征,这里统称为病毒识别信息。这里,已知病毒的特征是在病毒文件中提取部分信息并计算得出的,其计算方法与步骤102相同。同一类的archive文件其头部的特征是相同的,每一头部特征对应是否是archive文件以及是那种archive文件,这些信息也都保存在了病毒库中。当作为第一识别信息的MD5值与病毒库进行匹配时,根据匹配结果可以判断进行匹配的MD5值所对应的PE文件为病毒文件、archive文件或者非病毒文件。104、若PE文件为Archive文件,贝U从网络数据流中获取承载Archive文件数据部分的数据包,并根据承载所述Archive文件数据部分的数据包计算第二识别信息。可选地,上述根据承载Archive文件数据部分的数据包计算第二识别信息的实现方式可以为从病毒库中预先存储的病毒识别信息与Archive文件形式的对应关系中,查询第一识别信息对应的Archive文件形式,其中,所述Archive文件形式包括数据部分包含数据结构信息的Archive文件和数据部分不包含数据结构信息的Archive文件;从所述网络数据流中获取承载所述Archive文件数据部分的数据包;根据所述第一识别信息对应的Archive文件形式和承载所述Archive文件数据部分的数据包计算第二识别信息。其中,数据部分包含数据结构信息的Archive文件中的数据结构信息包括数据部分的循环冗余码校验值(CyclicRedundancyCheck,CRC)以及数据部分的大小等信息。CRC校验值是利用一个算法将一段数据计算得出一个数值,对于Archive文件来说就是由数据部分的数据计算得出的数值。可选地,上述根据所述第一识别信息对应的Archive文件形式和承载所述Archive文件和数据部分的数据包计算第二识别信息的实现方式可以为若第一识别信息对应的Archive文件形式为数据部分不包含数据结构信息的Archive文件,则根据承载Archive文件数据部分的数据包重组出Archive文件的数据部分,利用哈希算法计算Archive文件的数据部分的哈希值,作为第二识别信息;或者,若第一识别信息对应的Archive文件形式为数据部分包含数据结构信息的Archive文件,则根据承载Archive文件数据部分的数据包,重组得到Archive文件数据部分中包含的数据结构信息,利用哈希算法计算重组得到的数据结构信息的哈希值,作为第二识别息。本实施例优先利用MD5算法计算第二识别信息。105、将第二识别信息与病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则确定Archive文件为Archive病毒文件。本实施在判断病毒文件时除了从PE文件头数据包中提取用于识别病毒特征的识别信息外,还从Archive文件的数据部分提取识别信息,并根据这两个识别信息来判断Archive文件是否为病毒文件,从而克服了现有技术无法确定Archive文件是否是携带病毒的病毒文件的问题。本发明能够有效检测Archive类型的PE文件是否为病毒文件,提高基于流的病毒检测方法的可靠性,进一步改善网络的安全状况。请参考图3,图3是本发明实施例提供的一种病毒检测方法的流程图,包括201、接收承载有PE文件的网络数据流。202、根据网络数据流中的数据包重组出PE文件的文件头,其中,文件头中包含PE文件的结构信息。203、根据PE文件的结构信息计算第一识别信息。其中,根据PE文件的结构信息计算第一识别信息的具体方式参考图1实施例这里不再赘述。204、将第一识别信息与病毒库中预先存储的病毒识别信息进行匹配。205、判断第一识别信息与病毒识别信息是否匹配命中。若第一识别信息与病毒识别信息匹配命中则转步骤207,否则转步骤206。206、确定PE文件为非病毒文件。若第一识别信息与病毒库中的任何一条病毒识别信息都不能匹配上,则说明PE文件不属于已知病毒,确定PE文件为非病毒文件。207、判断第一识别信息所对应的PE文件是否为Archive文件。若第一识别信息与病毒库中的某一条病毒识别信息匹配上,则PE文件为病毒文件或者Archive文件,根据病毒库中预先存储的病毒识别信息与文件类型的对应关系可以进一步判断出PE文件为病毒文件或者Archive文件。若PE文件为Archive文件则转步骤209,否则转步骤208。208、确定PE文件为PE病毒文件。若第一识别信息与病毒库中的某一条病毒识别信息匹配上且该PE文件并非Archive文件,则确定PE文件为病毒文件。209、从网络数据流中获取承载Archive文件数据部分的数据包,并根据承载数据部分的数据包计算第二识别信息。第二识别信息的计算过程参考图1实施例这里不再赘述。210、将第二识别信息与病毒库中预先存储的病毒识别信息进行匹配。211、判断第二识别信息与病毒识别信息是否匹配命中。如果命中,进入步骤213;如果没有命中,进入步骤212。212、确定Archive文件为非病毒文件。若第二识别信息与病毒库存中的任一病毒识别信息不匹配,则Archive文件不属于已知病毒,判断该Archive文件为非病毒文件。213、确定Archive文件为Archive病毒文件。若第二识别信息与某一条病毒识别信息匹配,则说明Archive文件为已知病毒中的一种,判断Archive文件为Archive病毒文件。本实施在判断病毒文件时除了从PE文件头数据包中提取用于识别病毒特征的识别信息外,还从Archive文件的数据部分提取识别信息,并根据这两个识别信息来判断Archive文件是否为病毒文件。本发明能够有效检测Archive类型的PE文件是否为病毒文件,提高基于流的病毒检测方法的可靠性,进一步改善网络的安全状况。请参考图4,图4是本发明实施例提供的一种病毒检测设备的结构图,包括信息获取模块301,用于接收承载可移植执行PE文件的网络数据流,并根据所述网络数据流中的数据包重组出PE文件的文件头,其中,文件头中包含PE文件的结构信息。第一计算模块302,用于根据信息获取模块301获取的PE文件的结构信息计算第一识别信息。第一判断模块303,用于将第一计算模块302计算得到的第一识别信息与病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则根据病毒库中预先存储的病毒识别信息与文件类型的对应关系确定PE文件是否为Archive文件,其中,文件类型包括Archive文件和PE病毒文件。其中,第一判断模块303还用于,在判断出PE文件为非Archive文件时,确定PE文件为PE病毒文件。第二计算模块304,用于在第一判断模块303确定出PE文件为Archive文件时,从网络数据流中获取承载Archive文件数据部分的数据包,并根据承载Archive文件数据部分的数据包计算第二识别信息。第二判断模块305,用于将第二计算模块304计算得出的第二识别信息与病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则确定Archive文件为Archive病毒文件。可选地,第二计算模块304还可以包括文件形式判断单元3041、数据包获取单元3042和计算单元3043,如图5所示,其中文件形式判断单元3041,用于从病毒库中预先存储的病毒识别信息与Archive文件形式的对应关系中,查询第一识别信息所对应的Archive文件形式,其中,文件形式包括数据部分包含数据结构信息的Archive文件和数据部分不包含数据结构信息的Archive文件。数据包获取单元3042,用于从网络数据流中获取承载Archive文件数据部分的数据包。计算单元3043,用于根据文件形式判断单元3041判断得出的第一识别信息所对应的Archive文件形式和数据包获取单元3042获取的承载Archive文件数据部分的数据包计算第二识别息。其中,计算单元3043具体用于在第一识别信息所对应的Archive文件形式为数据部分不包含数据结构信息的Archive文件时,根据承载Archive文件数据部分的数据包,重组出Archive文件的数据部分,利用哈希算法计算Archive文件的数据部分的哈希值,作为第二识别信息;或者,在第一识别信息所对应的Archive文件形式为数据部分包含数据结构信息的Archive文件时,根据承载Archive文件部分的数据包,重组得到Archive文件数据部分中包含的数据结构信息,利用哈希算法计算重组得到的数据结构信息的哈希值,作为第二识别息。本实施例中,哈希算法优选为MD5算法。其中,第一计算模块302还可以包括衔接单元3021和计算单元3022,如图6所示,其中衔接单元3021,用于从信息获取模块301获取的PE文件的结构信息选取至少二个属性信息,并将该属性信息衔接成一个数据块。计算单元3022,用于利用哈希算法计算衔接单元3021衔接成的数据块的哈希值,作为第一识别信息。本实施例在判断病毒文件时除了从PE文件头数据包中提取用于识别病毒特征的识别信息外,还从Archive文件的数据部分提取识别信息,并根据这两个识别信息来判断Archive文件是否为病毒文件。从而克服了现有技术无法确定Archive文件是否是携带病毒的病毒文件的问题。本实施例能够有效检测Archive文件是否为病毒文件,降低了病毒传播者通过将病毒文件制作成Archive文件来逃避检测所带来的安全风险,提高基于流的病毒检测方法的可靠性,进一步改善网络的安全状况。请参考图7,图7是本发明实施例提供的一种病毒检测设备的结构图,包括接收器401、存储器402和处理器403,其中接收器401,用于接收承载有PE文件的网络数据流。存储器402,用于存储代码。处理器403,用于从存储器402中读取存储的代码,执行根据接收器401接收的网络数据流中的数据包重组出PE文件的文件头,其中,文件头的数据包中包含PE文件的结构信息;根据PE文件的结构信息计算第一识别信息;将第一识别信息与病毒库中预先存储的病毒识别信息进行匹配,在匹配命中时,根据病毒库中预先存储的病毒识别信息与文件类型的对应关系,确定PE文件是否为Archive文件,其中,文件类型包括Archive文件和PE病毒文件;若所述PE文件为Archive文件,从网络数据流中获取承载Archive文件数据部分的数据包,并根据承载Archive文件数据部分的数据包计算第二识别信息;将第二识别信息与病毒库中预先存储的病毒识别信息进行匹配,在匹配命中时,确定Archive文件为Archive病毒文件。可选地,处理器403执行从网络数据流中获取承载Archive文件数据部分的数据包,并根据承载Archive文件数据部分的数据包计算第二识别信息具体方式可以为从病毒库中预先存储的病毒识别信息与Archive文件形式的对应关系中,查询第一识别信息对应的Archive文件形式,其中,Archive文件形式包括数据部分包含数据结构信息的Archive文件和数据部分不包含数据结构信息的Archive文件;从网络数据流中获取承载Archive文件数据部分的数据包;根据第一识别信息对应的Archive文件形式和承载Archive文件数据部分的数据包计算第二识别息。其中,处理器403执行根据第一识别信息对应的Archive文件形式和承载Archive文件数据部分的数据包计算第二识别信息的具体方式可以为若第一识别信息对应的Archive文件形式为数据部分不包含数据结构信息的Archive文件,则根据承载Archive文件数据部分的数据包,重组出Archive文件的数据部分,利用哈希算法计算Archive文件的数据部分的哈希值,作为第二识别信息;或者,若第一识别信息对应的Archive文件形式为数据部分包含数据结构信息的Archive文件,则根据承载Archive文件数据部分的数据包,重组得到Archive文件数据部分中包含的数据结构信息,利用哈希算法计算重组得到的数据结构信息的哈希值,作为第二识别息。本实施例中哈希算法优选为MD5算法。处理器403执行根据PE文件的结构信息计算第一识别信息的具体方式为从PE文件的结构信息中选取至少二个属性信息,并将至少二个属性信息衔接成一个数据块;利用哈希算法计算出所述数据块的哈希值,作为所述第一识别信息。所述病毒检测设备的详细工作流程请参照前面方法实施例中的描述,在这里不再重复。本实施例中的病毒检测设备在判断病毒文件时除了从PE文件头数据包中提取用于识别病毒特征的识别信息外,还从Archive文件的数据部分提取识别信息,并根据这两个识别信息来判断Archive文件是否为病毒文件。本实施例能够有效检测Archive类型的PE文件是否为病毒文件,提高基于流的病毒检测方法的可靠性,进一步改善网络的安全状况。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存取存储器(RandomAccessMemory,简称RAM)等。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。权利要求1.一种病毒检测方法,其特征在于,包括接收承载有可移植执行PE文件的网络数据流,并根据所述网络数据流中的数据包重组出所述PE文件的文件头,其中,所述文件头中包含所述PE文件的结构信息;根据所述PE文件的结构信息计算第一识别信息;将所述第一识别信息与病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则根据所述病毒库中预先存储的病毒识别信息与文件类型的对应关系,确定所述PE文件是否为Archive文件,其中,所述文件类型包括Archive文件和PE病毒文件;若所述PE文件为Archive文件,则从所述网络数据流中获取承载所述Archive文件数据部分的数据包,并根据所述承载所述Archive文件数据部分的数据包计算第二识别信息;将所述第二识别信息与所述病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则确定所述Archive文件为Archive病毒文件。2.根据权利要求1所述的方法,其特征在于,若所述PE文件为非Archive文件,则确定所述PE文件为PE病毒文件。3.根据权利要求1或2所述的方法,其特征在于,所述从所述网络数据流中获取承载所述Archive文件数据部分的数据包,并根据所述承载所述Archive文件数据部分的数据包计算第二识别信息,具体包括从所述病毒库中预先存储的病毒识别信息与Archive文件形式的对应关系中,查询所述第一识别信息对应的Archive文件形式,其中,所述Archive文件形式包括数据部分包含数据结构信息的Archive文件和数据部分不包含数据结构信息的Archive文件;从所述网络数据流中获取承载所述Archive文件数据部分的数据包;根据所述第一识别信息对应的Archive文件形式和所述承载所述Archive文件数据部分的数据包计算第二识别信息。4.根据权利要求3所述的方法,其特征在于,所述根据所述第一识别信息对应的Archive文件形式和所述承载所述Archive文件数据部分的数据包计算第二识别信息,包括若所述第一识别信息对应的Archive文件形式为数据部分不包含数据结构信息的Archive文件,则根据所述承载所述Archive文件数据部分的数据包,重组出所述Archive文件的数据部分,利用哈希算法计算所述Archive文件的数据部分的哈希值,作为所述第二识别息;或者,若所述第一识别信息对应的Archive文件形式为数据部分包含数据结构信息的Archive文件,则根据所述承载所述Archive文件数据部分的数据包,重组得到所述Archive文件数据部分中包含的数据结构信息,利用哈希算法计算重组得到的所述数据结构信息的哈希值,作为所述第二识别信息。5.根据权利要求1、2或4所述的方法,其特征在于,所述根据所述PE文件的结构信息计算第一识别信息具体包括从所述PE文件的结构信息中选取至少二个属性信息,并将所述至少二个属性信息衔接成一个数据块;利用哈希算法计算出所述数据块的哈希值,作为所述第一识别信息。6.一种病毒检测设备,其特征在于,包括信息获取模块,用于接收承载有可移植执行PE文件的网络数据流,并根据所述网络数据流中的数据包重组出所述PE文件的文件头,其中,所述文件头中包含所述PE文件的结构信息;第一计算模块,用于根据所述信息获取模块获取的所述PE文件的结构信息计算第一识别息;第一判断模块,用于将所述第一计算模块计算得到的所述第一识别信息与病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则根据所述病毒库中预先存储的病毒识别信息与文件类型的对应关系,确定所述PE文件是否为Archive文件,其中,所述文件类型包括Archive文件和PE病毒文件;第二计算模块,用于在所述第一判断模块确定出所述PE文件为Archive文件时,从所述网络数据流中获取承载所述Archive文件数据部分的数据包,并根据所述承载所述Archive文件数据部分的数据包计算第二识别信息;第二判断模块,用于将所述第二计算模块计算得出的所述第二识别信息与所述病毒库中预先存储的病毒识别信息进行匹配,若匹配命中,则确定所述Archive文件为Archive病毒文件。7.根据权利要求6所述的设备,其特征在于,所述第一判断模块还用于,若所述PE文件为非Archive文件,确定所述PE文件为PE病毒文件。8.根据权利要求6或7所述的设备,其特征在于,所述第二计算模块包括文件形式判断单元,用于从所述病毒库中预先存储的病毒识别信息与Archive文件形式的对应关系中,查询所述第一识别信息所对应的Archive文件形式,其中,所述文件形式包括数据部分包含数据结构信息的Archive文件和数据部分不包含数据结构信息的Archive文件;数据包获取单元,用于从所述网络数据流中获取承载所述Archive文件数据部分的数据包;计算单元,用于根据所述文件形式判断单元判断得出的所述第一识别信息所对应的Archive文件形式和所述数据包获取单元获取的所述承载所述Archive文件数据部分的数据包计算第二识别信息。9.根据权利要求8所述的设备,其特征在于,所述计算单元具体用于在第一识别信息所对应的Archive文件形式为数据部分不包含数据结构信息的Archive文件时,根据所述承载所述Archive文件数据部分的数据包,重组出所述Archive文件的数据部分,利用哈希算法计算所述Archive文件的数据部分的哈希值,作为所述第二识别息;或者,在第一识别信息所对应的Archive文件形式为数据部分包含数据结构信息的Archive文件时,根据所述承载所述Archive文件部分的数据包,重组得到所述Archive文件数据部分中包含的数据结构信息,利用哈希算法计算重组得到的所述数据结构信息的哈希值,作为所述第二识别信息。10.根据权利要求6、7或9所述的设备,其特征在于,所述第一计算模块包括衔接单元,用于从所述信息获取模块获取的所述PE文件的结构信息中选取至少二个属性信息,并将所述至少二个属性信息衔接成一个数据块;计算单元,用于利用哈希算法计算所述衔接单元衔接成的所述数据块的哈希值,作为第一识别信息。11.一种病毒检测设备,其特征在于,包括接收器、存储器和处理器,其中所述接收器,用于接收承载有可移植执行PE文件的网络数据流;所述存储器,用于存储代码;所述处理器,用于读取所述存储器中存储的代码,执行根据所述接收器接收的所述网络数据流中的数据包重组出所述PE文件的文件头,其中,所述文件头的数据包中包含所述PE文件的结构信息;根据所述PE文件的结构信息计算第一识别信息;将所述第一识别信息与病毒库中预先存储的病毒识别信息进行匹配,在匹配命中时,根据所述病毒库中预先存储的病毒识别信息与文件类型的对应关系,确定所述PE文件是否为Archive文件,其中,所述文件类型包括Archive文件和PE病毒文件;若所述PE文件为Archive文件,从所述网络数据流中获取承载所述Archive文件数据部分的数据包,并根据所述承载所述Archive文件数据部分的数据包计算第二识别信息;将所述第二识别信息与所述病毒库中预先存储的病毒识别信息进行匹配,在匹配命中时,确定所述Archive文件为Archive病毒文件。12.根据权利要求11所述的设备,其特征在于,所述处理器执行从所述网络数据流中获取承载所述Archive文件数据部分的数据包,并根据所述承载所述Archive文件数据部分的数据包计算第二识别信息的具体方式为从所述病毒库中预先存储的病毒识别信息与Archive文件形式的对应关系中,查询所述第一识别信息对应的Archive文件形式,其中,所述Archive文件形式包括数据部分包含数据结构信息的Archive文件和数据部分不包含数据结构信息的Archive文件;从所述网络数据流中获取承载所述Archive文件数据部分的数据包;根据所述第一识别信息对应的Archive文件形式和所述承载所述Archive文件数据部分的数据包计算第二识别信息。13.根据权利要求12所述的设备,其特征在于,所述处理器执行所述根据所述第一识别信息对应的Archive文件形式和所述承载所述Archive文件数据部分的数据包计算第二识别信息的具体方式为若所述第一识别信息对应的Archive文件形式为数据部分不包含数据结构信息的Archive文件,则根据所述承载所述Archive文件数据部分的数据包,重组出所述Archive文件的数据部分,利用哈希算法计算所述Archive文件的数据部分的哈希值,作为所述第二识别息;或者,若所述第一识别信息对应的Archive文件形式为数据部分包含数据结构信息的Archive文件,则根据所述承载所述Archive文件数据部分的数据包,重组得到所述Archive文件数据部分中包含的数据结构信息,利用哈希算法计算重组得到的所述数据结构信息的哈希值,作为所述第二识别信息。14.根据权利要求11至13任一项所述的设备,其特征在于,所述处理器执行所述根据所述PE文件的结构信息计算第一识别信息的具体方式为从所述PE文件的结构信息中选取至少二个属性信息,并将所述至少二个属性信息衔接成一个数据块;利用哈希算法计算出所述数据块的哈希值,作为所述第一识别信息。全文摘要本发明公开了一种病毒检测方法及设备,所述方法包括接收承载有PE文件的网络数据流;根据PE文件的结构信息计算第一识别信息;将所述第一识别信息与病毒库中预先存储的病毒识别信息进行匹配,确定所述PE文件是否为Archive文件;若所述PE文件为Archive文件,则根据所述承载Archive文件数据部分的数据包计算第二识别信息;将所述第二识别信息与所述病毒库中预先存储的所述病毒识别信息进行匹配,若匹配命中,则确定所述Archive文件为Archive病毒文件。本发明能够有效检测Archive类型的PE文件是否为病毒文件。文档编号H04L29/06GK103067364SQ201210560398公开日2013年4月24日申请日期2012年12月21日优先权日2012年12月21日发明者刘振华申请人:华为技术有限公司