专利名称::文件类型识别方法及文件类型识别装置的利记博彩app
技术领域:
:本发明涉及计算机及通信
技术领域:
,尤其涉及一种文件类型的识别方法及一种文件类型的识别装置。
背景技术:
:计算机网络极大地便利了人们的生活,使得处于不同地点的人们可以通过联网计算机无缝地传输数据,然而这也对信息安全提出了挑战。对于企业而言,如何在确保机密信息安全的同时,不影响工作、业务的正常开展,已经成为一个热点问题。例如,在用户向连接到网络中的另一用户发送带有附件的电子邮件的场景下,出于安全和审计方面的考虑,例如为了防止机密信息被发送给错误的接收对象,企业常需要对所传输文件的类型进行识别检测,并根据识别检测的结果确定是否需要对邮件进行过滤。早期的文件类型识别技术根据文件后缀名来确定文件类型,其原理为设置于发送方和接收方之间的检测设备对传输的数据包进行协议分析,如果判断出正在传输文件,则提取后缀名,根据后缀名与文件类型的对应关系,确定该文件的类型,例如若后缀名为“doc”,则为word文件,若后缀名为“txt”,则为文本文件。但是该方案只能识别出带有后缀名的文件的类型,如果发送方人为地去掉文件的后缀名,接收方在传输完成后再添加真实的后缀名,则过滤设备无法进行有效的识别和过滤。为解决以上问题,现有技术提出了基于“魔鬼数字”的文件类型识别方法。“魔鬼数字”是指文件头中能够反映不同文件类型特征的字段内容。其原理为,检测设备对所传输的文件的文件头进行分析,若文件头中包含预先存储的已知文件类型对应的魔鬼数字,则确定所传输的文件的类型为该魔鬼数字对应的文件类型。发明人在实现本发明过程中发现,现有技术至少存在以下缺陷发送方可以人为地修改文件头中的几个字节,使得文件头、特别是魔鬼数字所在字段的内容发生改变,接收方在传输完成后再还原真实的文件头,也可以达到逃避识别和过滤的目的。在这种情况下,现有检测设备就无法确定传输的是哪种类型的文件,因此现有技术不能有效地识别出通过网络传输的文件的类型,从而确保机密信息的安全。
发明内容本发明实施例提供一种文件类型识别方法,用以解决现有技术在发送方对传输的文件进行篡改时,不能有效地识别出文件类型的问题。对应地,本发明实施例还提供了一种文件类型识别装置。本发明实施例提供的技术方案如下一种文件类型识别方法,包括从传输的数据包中获取待识别文件的文件头,判断从所述文件头中是否能获得待识别文件的魔鬼数字;若能获得待识别文件的魔鬼数字,则从文件类型与魔鬼数字的第一对应关系中查找所述文件头中的魔鬼数字对应的文件类型;判断所述待识别文件的数据是否符合所述文件类型的数据结构特征;若符合,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型;若不符合,则确定所述待识别文件的文件类型为异常类型,所述异常类型用于表明所述待识别文件为类型被篡改的文件。一种文件类型识别装置,包括第一测试单元,用于从传输的数据包中获取待识别文件的文件头,测试从所述文件头中是否能获得待识别文件的魔鬼数字;第一查找单元,用于若第一测试单元能获得待识别文件的魔鬼数字,则从文件类型与魔鬼数字的第一对应关系中查找所述文件头中的魔鬼数字对应的文件类型;第一判断单元,用于判断所述待识别文件的数据是否符合所述文件类型的数据结构特征;第一确定单元,用于若第一判断单元判断结果为符合,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型;若判断结果为不符合,则确定所述待识别文件的文件类型为异常类型,所述异常类型用于表明所述待识别文件为类型被篡改的文件。本发明实施例通过文件头中的魔鬼数字确定待识别文件的类型后,还需要再次确定待识别文件中数据反映出的文件结构特征,是否符合根据魔鬼数字所确定的文件类型对应的文件结构特征,只有符合,才能最终确定待识别文件的文件类型。通过上述方案可以使检测设备能够有效识别出类型被篡改的文件,保护机密信息不被恶意泄露。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一提供的文件识别方法的原理流程图;图2为本发明实施例二提供的文件识别方法的流程图;图3为本发明实施例二提供的文件识别实例的示意图;图4为本发明实施例三提供的文件识别方法的流程图;图5为本发明实施例三中便携文件格式(PDF,PortableDocumentFormat)文件结构特征的示意图;图6为本发明实施例四中文件类型识别装置的第一结构示意图;图7为本发明实施例四中文件类型识别装置的第二结构示意图;图8为本发明实施例提供的文件类型识别装置中第一确定单元的结构示意图。具体实施例方式下面结合各个附图对本发明实施例技术方案的主要实现原理具体实施方式及其对应能够达到的有益效果进行详细的阐述。实施例一在本发明实施例中有设置于数据包发送方和接收方中间的检测设备,发送方发送的数据包需要经过检测设备才能发送给接收方。在发送方为企业构建的局域网内部的用户,接收方为局域网外部的用户的场景下,所述检测设备可以为部署局域网边界的防火墙设备、入侵防御系统(IPS,IntrusionPreventionSystem)设备等防护设备,或者作为一个独立模块集成于路由器或IPS等设备中。在个人用户的场景下,所述检测设备也可以为主机浏览器、即时消息(IMdnstantMessaging)聊天客户端或其他应用软件中的一个软件模块。检测设备对发送方和接收方所传输的数据包进行检测,识别传输的数据包携带的文件的文件类型。进一步地,检测设备可以根据识别出的文件类型和预先配置的过滤策略,对携带有过滤策略所限定的某些类型文件的数据包进行过滤,以保证机密信息的安全。如图1所示,本发明实施例提供的文件类型识别方法的原理流程如下步骤10,检测设备从传输的数据包中获取待识别文件的文件头,判断从所述文件头中是否能获得待识别文件的魔鬼数字,若是,进入步骤20。检测设备对流经该检测设备的数据包进行逐层协议解析,数据包解析原理可以参照现有的深度包识别(DPI,De印PacketInspection)设备,在这里不再详述。检测设备接收到传输的数据包后,通过深度协议解析获得该数据包的载荷内容,并判断所述载荷内容中是否包含文件传输的特征字段,若包含特征字段,则检测设备确定数据包携带有文件。根据特征字段判断数据包是否携带有文件的过程是现有技术,请参照现有各种可用于传输文件的应用层协议对应的标准文档,如超文本传输协议(HTTP,HyperTextTransferProtocol)对应的RFC2616、文件传输协议(FTP,FileTransferProtocol)对应的RFC959、简单文件传输协议(TFTP,TrivialFileTransferProtocol)对应的RFC783文档等,在这里不做详述。若是,则确定该数据包携带的内容是文件,并根据文件头中起始地址字段所指示的文件起始地址,对该数据包载荷内容中的文件数据进行缓存;判断已缓存的文件数据是否已达到预定大小,若是将已缓存的文件数据作为所述待识别文件的文件头,否则继续缓存同一数据流中后续数据包载荷内容中的文件数据。所述检测设备在缓存的文件数据达到预定大小后,将已缓存的数据依次分别与各种可识别文件类型对应的魔鬼数字进行比较;若存在比较结果一致的魔鬼数字,则将所述比较结果一致的魔鬼数字作为所述待识别文件头中的魔鬼数字;否则,确定不能获得待识别文件的魔鬼数字。其中,所述预定大小是根据目前已知的几十种可识别文件类型魔鬼数字的长度值等经验数据来确定的。魔鬼数字是指文件头中可以用来标识该文件类型的字段内容。这里需要说明的是,魔鬼数字是识别文件类型的重要途径,只要一个文件的文件类型是可识别的,那么从该文件头中一定可以提取到该文件类型对应的魔鬼数字。不同的文件类型的文件中魔鬼数字长度、数值大小、特征均不相同。有的文件类型的魔鬼数字为2字节,有的为20字节或者22字节,在这里难以一一列举,通常魔鬼数字的长度均在2字节至32字节的范围内。因此上述缓存的数据大小可以设置为2字节至32字节,在这个范围内既不至于占用过大的缓冲空间,又能够实现较好的识别效果。步骤20,若能获得待识别文件的魔鬼数字,则从文件类型与魔鬼数字的第一对应关系中查找所述文件头中的魔鬼数字对应的文件类型。所述检测设备中预先存储文件类型与魔鬼数字的第一对应关系,通过该第一对应关系,就可以由从文件中提取的魔鬼数字确定文件类型。一个具体实例为原始文件为压缩文件(rar,RoshalARchive)类型的文件,发送方对该文件头中的魔鬼数字进行篡改,篡改为PDF文件类型对应的魔鬼数字,并把篡改后的文件发送给接收方。此时检测设备获取魔鬼数字后,从第一对应关系中查找该魔鬼数字对应的文件类型,确定待识别文件为PDF文件。步骤30,判断所述待识别文件的数据是否符合所述魔鬼数字对应的文件类型的数据结构特征,若符合,则进入步骤40,否则进入步骤50。文件的数据结构特征反映了文件的数据组织特点,数据结构特征是在文件格式设计阶段就确定出的,一种类型的所有文件都遵从这种数据组织形式。文件结构特征包括特征字符或字符串、数据存储时所采用的数据结构格式,各种数据结构的对象间的关系,交叉引用表等等。可以根据某种类型文件的数据结构特征,设计相适应的文件解析器,将一种文件类型的文件数据输入该文件类型的解析器,如果能够解析出正确的文件内容而不是乱码,则说明所述文件数据与所述文件类型的数据结构特征是相符合的。在后面的例子中将进行详细介绍。此时,从待识别文件中提取的文件结构特征仍然是rar文件的结构特征。步骤40,若符合所述魔鬼数字对应的文件类型的结构特征,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型。步骤50,若不符合所述魔鬼数字对应的文件类型的结构特征,则确定所述待识别文件的文件类型为异常类型,所述异常类型用于表明所述待识别文件为类型被篡改的文件。在上述实例中,根据魔鬼数字确定出的文件类型为rar,而从待识别文件中提取的文件结构特征为PDF文件的结构特征,二者不同,说明待识别文件已被篡改。可选地,在本发明实施例中,在确定出所述待识别文件的文件类型为异常类型之前,可以允许数据包所在的数据流通过,但当确定出所述待识别文件的文件类型为异常类型之后,阻断所述数据流通过。这样做的好处是在检测设备无需缓存大量的数据包;而接收方由于数据流被阻断造成数据缺失,无法还原出待识别文件的,可以达到保护数据安全的目的。本发明实施例在通过文件头中的魔鬼数字确定待识别文件的类型后,还需要再次确定待识别文件中数据反映出的文件结构特征,是否符合根据魔鬼数字所确定的文件类型对应的文件结构特征,只有符合,才能最终确定待识别文件的文件类型。这样,即使发送方企图通过篡改待识别文件头的魔鬼数字来逃避检测,由于该文件的结构特征仍然对应篡改前的魔鬼数字对应的类型,与篡改后的魔鬼数字对应的类型不对应,从而使检测设备能够识别出类型被篡改的文件。与篡改魔鬼数字相比,发送方企图通过篡改文件结构特征逃避检测的实施难度要大得多,因为只要修改了文件内容中的部分数据,将很可能接收方无法恢复原始文件。因此,本发明实施例提供的文件类型识别方法能够提高文件类型识别的准确性,加强机密信息的安全性。实施例二发送方在企图通过篡改待识别文件头的魔鬼数字来逃避检测时,除了将一种文件类型的魔鬼数字修改为另一种文件类型的魔鬼数字之外,还可能并不确切地知晓文件头中魔鬼数字的字段位置或者其他文件类型魔鬼数字具体是什么,这时发送方往往是随意地修改文件头中的部分字段内容,修改后的文件头中并未包含任意一种可识别文件类型的魔鬼数字。针对这种情况,本实施例在实施例一的基础上进行了改进,改进后的文件类型识别方法流程图如图2所示。其中步骤10步骤50与实施例一类似,这里不再重复。步骤10,检测设备从传输的数据包中获取待识别文件的文件头,判断从所述文件头中是否能获得待识别文件的魔鬼数字,若是,进入步骤20,否则进入步骤60。—个具体实例为原始文件为rar类型的文件,发送方对该文件头中的魔鬼数字的字段内容进行篡改,篡改后的数据不是任何可识别文件类型的魔鬼数据,并把篡改后的文件发送给接收方。检测设备依照实施例一步骤10中获得待识别文件的魔鬼数字的方式无法成功获得待识别文件的魔鬼数字。步骤20,若能获得待识别文件的魔鬼数字,则从文件类型与魔鬼数字的第一对应关系中查找所述文件头中的魔鬼数字对应的文件类型。步骤30,判断所述待识别文件的数据是否符合所述魔鬼数字对应的文件类型的结构特征,若符合,则进入步骤40,否则进入步骤50。步骤40,若符合所述魔鬼数字对应的文件类型的结构特征,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型。步骤50,若不符合所述魔鬼数字对应的文件类型的结构特征,则确定所述待识别文件的文件类型为异常类型,所述异常类型用于表明所述待识别文件为类型被篡改的文件。步骤60,若不能获得待识别文件的魔鬼数字,则判断是否能够从所述数据包中提取到所述待识别文件的后缀名。若是,进入步骤70,否则进入步骤80。所述文件名是通过对数据包进行深度协议解析得到的,根据预定后缀获取策略,可以判断文件名中是否包含后缀名,并获得后缀名。步骤70,若能够提取到后缀名,则从后缀名与文件类型的第二对应关系中查找所述待识别文件的后缀名对应的文件类型,进入步骤90。在上述实例中,检测设备根据后缀名“rar”从所述第二对应关系中查找到对应的文件类型压缩文件。步骤80,若不能提取到后缀名,则确定所述待识别文件的类型为未识别文件类型。步骤90,判断所述第一对应关系中是否存在从第二对应关系中查找到得文件类型,所述第一对应关系中的文件类型为可识别文件类型,若是进入步骤100,否则进入步骤110。步骤100,若第一对应关系中存在从第二对应关系中查找到得文件类型,则确定所述待识别文件的文件类型为异常类型,所述异常类型用于表明所述待识别文件为类型被篡改的文件。在上述实例中,由于第一对应关系中存在后缀名“rar”对应的压缩文件类型,而在步骤10中却没有获得文本文件类型的魔鬼数字,即没有获得可识别文件类型的魔鬼数字,那么就说明待识别文件文件头中的魔鬼数字已被篡改。步骤110,若第一对应关系中不存在从第二对应关系中查找到得文件类型,则确定所述待识别文件的类型为未识别文件类型。通过上述实施方案能够准确地确定待识别文件类型,可选地,为了能够检测出发送方只是单纯修改后缀名的情况,进一步提高识别篡改行为的可靠性和准确度,对上述步骤40进行了改进,如附图3所示,步骤40进一步包括步骤401,判断是否能够从所述数据包中提取到所述待识别文件的后缀名;若是进入步骤402。可选地,若未提取到后缀名,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型。步骤402,从存储的后缀名与文件类型的第二对应关系中查找所述待识别文件的后缀名对应的文件类型。步骤403,将查找到的所述待识别文件的后缀名对应的文件类型与文件头中所述魔鬼数字对应的文件类型进行比较,确认二者是否一致;若比较结果一致,进入步骤404,否则进入步骤405。步骤404,确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型。步骤405,确定所述待识别文件的文件类型为异常类型。本发明实施例提供的文件类型的识别方法,在实施例一的基础上,能够适应原始文件的魔鬼数字被发送方任意修改的情况,完善了文件识别的流程,扩大了适用范围。实施例三本发明实施例以office文件和PDF文件为例,对实施例一、实施例二中提供的文件类型识别方法进行举例说明。在本实施例中,原始文件为office文件,发送方为了逃避检测,将文件头中的魔鬼数字修改为PDF文件类型的魔鬼数字。附图4为本发明实施例提供的文件类型识别方法的流程图。其中各步骤与附图2中的步骤类似,这里只对该实例中所执行的部分步骤进行详细说明,未执行的步骤不再重Μ.ο步骤310,检测设备从传输的数据包中获取待识别文件的文件头,判断从所述文件头中是否能获得待识别文件的魔鬼数字,若是,进入步骤320。检测设备根据各种不同的用于传输文件的协议的格式定义,在根据数据包中包含的特征字段确认数据包传输文件之后,从数据包中提取文件信息,文件信息包括文件名、文件起始地址、数据包大小等。从文件起始地址开始,对数据流中传输文件的数据包的载荷内容进行缓存,直到缓存了32个字节为止,将缓存的数据作为文件头。检测设备从所述缓存数据中获得待识别文件文件头中的魔鬼数字“%PDF-xx%”,其中,XX为版本标识。步骤320,若能获得待识别文件的魔鬼数字,则从文件类型与魔鬼数字的第一对应关系中查找所述文件头中的魔鬼数字对应的文件类型。检测设备从所述第一对应关系中查找到魔鬼数字“%PDF-xx%"对应的文件类型为PDF文件。步骤330,判断所述待识别文件的数据是否符合所述魔鬼数字对应的文件类型的结构特征,若不符合进入步骤350。PDF文件的结构特征具体如附图5所示。PDF文件的文件头以“%PDF-XX%”开始。文件头所在的一行偏移量之后是PDF文件的内容部分。内容部分是对象(标识为obj),对象的具体格式请参照相关标准定义。在若干对象之后为交叉引用表,交叉引用表(标识为xref)中保存了之前各对象的信息,例如每个对象数据存储时的偏移量。若干对象和交叉引用表组成的组合体可能会重复多次。文件最后是文件追踪体(标识为trailer)、每个交叉引用表的存储偏移量(标识为startxref)和PDF文件结束标记(标识为^^EOF)。文件追踪体用于迅速索引到交叉引用表和特殊对象。检测设备判断所述缓存的数据是否存在以obj为起始标识的字符串,若不存在则说明所述待识别文件的数据不符合PDF文件类型的结构特征。由于原始文件是office文件,在魔鬼数字之后是0LE2的结构体,而不是obj为起始标识的字符串,因此待识别文件的数据不符合PDF文件类型的结构特征。步骤350,若不符合所述魔鬼数字对应的文件类型的结构特征,则确定所述待识别文件的文件类型为异常类型,所述异常类型用于表明所述待识别文件为类型被篡改的文件。在本实例中,由于所述待识别文件的数据不符合PDF文件类型的结构特征,检测设备输出待识别文件的文件类型为异常类型。实施例四相应地,本发明实施例还提供了一种文件类型识别装置,如图6所示,该装置包括第一测试单元601、第一查找单元602、第一判断单元603和第一确定单元604,具体如下第一测试单元601,用于从传输的数据包中获取待识别文件的文件头,测试从所述文件头中是否能获得待识别文件的魔鬼数字;第一查找单元602,用于若第一测试单元601能获得待识别文件的魔鬼数字,则从文件类型与魔鬼数字的第一对应关系中查找所述文件头中的魔鬼数字对应的文件类型;第一判断单元603,用于判断所述待识别文件的数据是否符合第一查找单元602查找到的所述文件类型的数据结构特征;第一确定单元604,用于若第一判断单元603判断结果为符合,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型;若判断结果为不符合,则确定所述待识别文件的文件类型为异常类型,所述异常类型用于表明所述待识别文件为类型被篡改的文件。进一步地,如附图7所示,附图6所述装置中还包括第二测试单元605,用于若第一测试单元601不能获得待识别文件的魔鬼数字,则测试通过协议解析是否能够从所述数据包中提取到所述待识别文件的后缀名;第二查找单元606,用于若第二测试单元605能够提取到后缀名,则从后缀名与文件类型的第二对应关系中查找所述待识别文件的后缀名对应的文件类型;第二判断单元607,用于判断所述第一对应关系中是否存在第二查找单元606从第二对应关系中查找到得文件类型,所述第一对应关系中的文件类型为可识别文件类型;第二确定单元608,用于若第二判断单元607判断结果为存在,则确定所述待识别文件的文件类型为异常类型;第三确定单元609,用于若第二测试单元605不能提取后缀名、或者第一对应关系中不存在从第二对应关系中查找到得文件类型,则确定所述待识别文件的类型为未识别文件类型。可选地,请参照附图8,所述第一确定单元604包括测试子单元801,用于在第一判断单元603判断结果为符合时,测试是否能够从所述数据包中提取到所述待识别文件的后缀名;查找子单元802,用于若测试子单元801能够提取到所述待识别文件的后缀名,则从存储的后缀名与文件类型的第二对应关系中查找所述待识别文件的后缀名对应的文件类型;比较子单元803,用于将查找子单元802查找到的所述待识别文件的后缀名对应的文件类型与文件头中所述魔鬼数字对应的文件类型进行比较;确定子单元804,用于若比较子单元803比较结果一致,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型;若比较结果不一致,则确定所述待识别文件的文件类型为异常类型。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如ROM/RAM、磁碟、光盘等。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。权利要求1.一种文件类型识别方法,其特征在于,包括从传输的数据包中获取待识别文件的文件头,判断从所述文件头中是否能获得待识别文件的魔鬼数字;若能获得待识别文件的魔鬼数字,则从文件类型与魔鬼数字的第一对应关系中查找所述文件头中的魔鬼数字对应的文件类型;判断所述待识别文件的数据是否符合所述文件类型的数据结构特征;若符合,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型;若不符合,则确定所述待识别文件的文件类型为异常类型,所述异常类型用于表明所述待识别文件为类型被篡改的文件。2.如权利要求1所述的方法,其特征在于,所述从所述文件头中是否能获得待识别文件的魔鬼数字后,还包括若不能获得待识别文件的魔鬼数字,则判断通过协议解析是否能够从所述数据包中提取到所述待识别文件的后缀名;若能够提取到后缀名,则从后缀名与文件类型的第二对应关系中查找所述待识别文件的后缀名对应的文件类型;判断所述第一对应关系中是否存在从第二对应关系中查找到得文件类型,所述第一对应关系中的文件类型为可识别文件类型;若存在,则确定所述待识别文件的文件类型为异常类型;若不能提取后缀名、或者第一对应关系中不存在从第二对应关系中查找到得文件类型,则确定所述待识别文件的类型为未识别文件类型。3.如权利要求1所述的方法,其特征在于,所述符合,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型,包括判断是否能够从所述数据包中提取到所述待识别文件的后缀名;若能够提取到所述待识别文件的后缀名,则从存储的后缀名与文件类型的第二对应关系中查找所述待识别文件的后缀名对应的文件类型;将查找到的所述待识别文件的后缀名对应的文件类型与文件头中所述魔鬼数字对应的文件类型进行比较;若比较结果一致,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型;若比较结果不一致,则确定所述待识别文件的文件类型为异常类型。4.如权利要求1-3任一所述的方法,其特征在于,所述从传输的数据包中获得待识别文件头,包括接收到传输的数据包后,通过协议解析获得该数据包的载荷内容,判断所述载荷内容中是否包含文件头标识;若是,则确定该数据包携带的内容是文件,并根据文件头标识所指示的文件起始地址,对该数据包载荷内容中的文件数据进行缓存;判断已缓存的文件数据是否已达到预定大小,若是将已缓存的文件数据作为所述待识别文件的文件头,否则继续缓存同一数据流中后续数据包载荷内容中的文件数据。5.如权利要求4所述的方法,其特征在于,所述判断从所述文件头中是否能获得待识别文件的魔鬼数字,包括将已缓存的数据依次分别与各种可识别文件类型对应的魔鬼数字进行比较;若存在比较结果一致的魔鬼数字,则将所述比较结果一致的魔鬼数字作为所述待识别文件头中的魔鬼数字;否则,确定不能获得待识别文件的魔鬼数字。6.如权利要求4所述的方法,其特征在于,所述预定大小为2字节至32字节。7.如权利要求1、2、3、5或6所述的方法,其特征在于,所述确定所述待识别文件的文件类型为异常类型之前,还包括允许所述数据包所在的数据流通过;所述确定所述待识别文件的文件类型为异常类型之后,还包括阻断所述数据包所在的数据流通过。8.一种文件类型识别装置,其特征在于,包括第一测试单元,用于从传输的数据包中获取待识别文件的文件头,测试从所述文件头中是否能获得待识别文件的魔鬼数字;第一查找单元,用于若第一测试单元能获得待识别文件的魔鬼数字,则从文件类型与魔鬼数字的第一对应关系中查找所述文件头中的魔鬼数字对应的文件类型;第一判断单元,用于判断所述待识别文件的数据是否符合所述文件类型的数据结构特征;第一确定单元,用于若第一判断单元判断结果为符合,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型;若判断结果为不符合,则确定所述待识别文件的文件类型为异常类型,所述异常类型用于表明所述待识别文件为类型被篡改的文件。9.如权利要求8所述的装置,其特征在于,还包括第二测试单元,用于若第一测试单元不能获得待识别文件的魔鬼数字,则测试通过协议解析是否能够从所述数据包中提取到所述待识别文件的后缀名;第二查找单元,用于若第二测试单元能够提取到后缀名,则从后缀名与文件类型的第二对应关系中查找所述待识别文件的后缀名对应的文件类型;第二判断单元,用于判断所述第一对应关系中是否存在从第二对应关系中查找到得文件类型,所述第一对应关系中的文件类型为可识别文件类型;第二确定单元,用于若第二判断单元判断结果为存在,则确定所述待识别文件的文件类型为异常类型;第三确定单元,用于若第二测试单元不能提取后缀名、或者第一对应关系中不存在从第二对应关系中查找到得文件类型,则确定所述待识别文件的类型为未识别文件类型。10.如权利要求8或9所述的装置,其特征在于,所述第一确定单元包括测试子单元,用于在第一判断单元判断结果为符合时,测试是否能够从所述数据包中提取到所述待识别文件的后缀名;查找子单元,用于若测试子单元能够提取到所述待识别文件的后缀名,则从存储的后缀名与文件类型的第二对应关系中查找所述待识别文件的后缀名对应的文件类型;比较子单元,用于将查找子单元查找到的所述待识别文件的后缀名对应的文件类型与文件头中所述魔鬼数字对应的文件类型进行比较;确定子单元,用于若比较结果一致,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型;若比较结果不一致,则确定所述待识别文件的文件类型为异常类型。全文摘要本发明公开了一种文件类型识别方法及文件类型识别装置,用以现有技术在发送方对传输的文件进行篡改时,不能有效地识别出文件类型的问题。该方法包括从传输的数据包中获取待识别文件的文件头,判断从所述文件头中是否能获得待识别文件的魔鬼数字;若能获得待识别文件的魔鬼数字,则从文件类型与魔鬼数字的第一对应关系中查找所述文件头中的魔鬼数字对应的文件类型;判断所述待识别文件的数据是否符合所述文件类型的数据结构特征;若符合,则确定所述待识别文件的文件类型为文件头中魔鬼数字对应的文件类型;若不符合,则确定所述待识别文件的文件类型为异常类型,所述异常类型用于表明所述待识别文件为类型被篡改的文件。文档编号H04L29/06GK102571767SQ20111043935公开日2012年7月11日申请日期2011年12月24日优先权日2011年12月24日发明者李世光,王振辉,蒋武,阮玲宏申请人:成都市华为赛门铁克科技有限公司