文件类型识别方法、装置、设备及存储介质.pdf

上传人:jo****n 文档编号:10638000 上传时间:2021-08-06 格式:PDF 页数:21 大小:879.38KB
收藏 版权申诉 举报 下载
文件类型识别方法、装置、设备及存储介质.pdf_第1页
第1页 / 共21页
文件类型识别方法、装置、设备及存储介质.pdf_第2页
第2页 / 共21页
文件类型识别方法、装置、设备及存储介质.pdf_第3页
第3页 / 共21页
文档描述:

《文件类型识别方法、装置、设备及存储介质.pdf》由会员分享,可在线阅读,更多相关《文件类型识别方法、装置、设备及存储介质.pdf(21页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201911373313.0 (22)申请日 2019.12.27 (71)申请人 深信服科技股份有限公司 地址 518055 广东省深圳市南山区学苑大 道1001号南山智园A1栋 (72)发明人 杜振宇 (74)专利代理机构 北京派特恩知识产权代理有 限公司 11270 代理人 贾伟张颖玲 (51)Int.Cl. G06F 21/56(2013.01) G06F 16/16(2019.01) (54)发明名称 一种文件类型识别方法、 装置、 设备及存储 介质 (57)摘要 本申。

2、请实施例公开了一种文件类型识别方 法、 装置、 设备以及存储介质, 该方法包括: 在待 接收文件的数据缓存至预定字节时, 对缓存的预 定字节的数据进行魔数识别; 当预定字节的数据 中存在魔数时, 基于魔数对应表确定待接收文件 的文件类型; 当预定字节的数据中不存在魔数 时, 对预定字节的数据进行预设参数识别; 当识 别出与预定字节的数据关联的预设参数时, 基于 预设参数对应表确定待接收文件的文件类型; 这 样, 仅需要获取待接收文件中预定字节的数据即 可进行文件类型的识别, 显著降低性能和内存消 耗; 对于常见的攻击文件类型, 能够防止其修改 后缀绕过杀毒过程而进行攻击; 通过文件类型准 确识。

3、别, 后期能够更有针对性的匹配杀毒策略。 权利要求书2页 说明书14页 附图4页 CN 111159709 A 2020.05.15 CN 111159709 A 1.一种文件类型识别方法, 其特征在于, 包括: 在待接收文件的数据缓存至预定字节时, 对缓存的所述预定字节的数据进行魔数识 别; 当所述预定字节的数据中存在魔数时, 基于魔数对应表确定所述待接收文件的文件类 型; 其中, 所述魔数对应表用于指示魔数与文件类型的对应关系; 当所述预定字节的数据中不存在魔数时, 对所述预定字节的数据进行预设参数识别; 其中, 所述预设参数至少包括文件后缀或特征字符串; 当识别出与所述预定字节的数据关联。

4、的预设参数时, 基于预设参数对应表确定所述待 接收文件的文件类型; 其中, 所述预设参数对应表用于指示预设参数与文件类型的对应关 系。 2.根据权利要求1所述的文件类型识别方法, 其特征在于, 当所述预设参数为文件后缀 时, 所述对所述预定字节的数据进行预设参数识别, 包括: 对所述预定字节的数据进行文件后缀识别; 相应地, 所述当识别出与所述预定字节的数据关联的预设参数时, 基于预设参数对应 表确定所述待接收文件的文件类型, 包括: 当识别出与所述预定字节的数据关联的文件后缀时, 基于文件后缀对应表确定所述待 接收文件的文件类型; 其中, 所述文件后缀对应表用于指示文件后缀与文件类型的对应关。

5、 系。 3.根据权利要求2所述的文件类型识别方法, 其特征在于, 在所述对所述预定字节的数 据进行文件后缀识别之后, 所述方法还包括: 当无法识别出与所述预定字节的数据关联的文件后缀时, 对所述预定字节的数据进行 特征字符串识别; 当识别出与所述预定字节的数据关联的特征字符串时, 基于特征字符串对应表确定所 待接收文件的文件类型; 其中, 所述特征字符串对应表用于指示特征字符串与文件类型的 对应关系。 4.根据权利要求1所述的文件类型识别方法, 其特征在于, 当所述预设参数为特征字符 串时, 所述对所述预定字节的数据进行预设参数识别, 包括: 对所述预定字节的数据进行特征字符串识别; 相应地,。

6、 所述当识别出与所述预定字节的数据关联的预设参数时, 基于预设参数对应 表确定所述待接收文件的文件类型, 包括: 当识别出与所述预定字节的数据关联的特征字符串时, 基于特征字符串对应表确定所 述待接收文件的文件类型; 其中, 所述特征字符串对应表用于指示特征字符串与文件类型 的对应关系。 5.根据权利要求1所述的文件类型识别方法, 其特征在于, 所述当所述预定字节的数据 中存在魔数时, 基于魔数对应表确定所述待接收文件的文件类型, 包括: 当所述预定字节的数据中存在魔数时, 从所述魔数对应表中确定与所述魔数对应的相 应文件类型; 当所确定的相应文件类型为一个时, 将所述相应文件类型确定为所述待。

7、接收文件的文 件类型; 权利要求书 1/2 页 2 CN 111159709 A 2 当所确定的相应文件类型为多个时, 从文件类型对应表中确定所述多个相应文件类型 对应的大类文件类型, 将所述大类文件类型确定为所述待接收文件的文件类型; 其中, 所述 文件类型对应表用于指示多个相应文件类型与大类文件类型的对应关系。 6.根据权利要求1所述的文件类型识别方法, 其特征在于, 在所述确定所述待接收文件 的文件类型之后, 所述方法还包括: 基于所述待接收文件的文件类型, 确定所述待接收文件的杀毒策略; 基于所确定的杀毒策略, 对所述待接收文件进行杀毒。 7.根据权利要求1所述的文件类型识别方法, 其。

8、特征在于, 当识别不出与所述预定字节 的数据关联的预设参数时, 基于预设杀毒策略对所述待接收文件进行杀毒。 8.一种文件类型识别装置, 其特征在于, 所述文件类型识别装置包括缓存单元、 魔数识 别单元和预设参数识别单元; 其中, 所述缓存单元, 配置为缓存待接收文件中预定字节的数据; 所述魔数识别单元, 配置为对所述预定字节的数据进行魔数识别; 以及当所述预定字 节的数据中存在魔数时, 基于魔数对应表确定所述待接收文件的文件类型; 所述预设参数识别单元, 配置为当所述预定字节的数据中不存在魔数时, 对所述预定 字节的数据进行预设参数识别; 以及当识别出与所述预定字节的数据关联的预设参数时, 基。

9、于预设参数对应表确定所述待接收文件的文件类型。 9.一种文件类型识别设备, 其特征在于, 所述文件类型识别装置包括存储器和处理器; 其中, 所述存储器, 用于存储能够在所述处理器上运行的计算机程序; 所述处理器, 用于在运行所述计算机程序时, 执行如权利要求1至7任一项所述的方法。 10.一种计算机存储介质, 其特征在于, 所述计算机存储介质存储有文件类型识别程 序, 所述文件类型识别程序被至少一个处理器执行时实现如权利要求1至7任一项所述的方 法。 权利要求书 2/2 页 3 CN 111159709 A 3 一种文件类型识别方法、 装置、 设备及存储介质 技术领域 0001 本申请涉及网络。

10、通信技术领域, 尤其涉及一种文件类型识别方法、 装置、 设备以及 存储介质。 背景技术 0002 随着互联网的发展, 病毒的类型越来越多, 传播方式也越来越广, 例如病毒可以通 过http/https、 ftp/ftps、 smb、 e-mail等方式进入本地电脑, 而用户防护的方式通常为防火 墙拦截。 对于防火墙拦截而言, 由于防火墙是处理数据流的, 不可能将所有文件都送进去杀 毒, 因为这样做会消耗很大性能和内存, 因此需要先进行文件类型识别, 如果是需要查杀的 类型, 才送进杀毒。 然而实际应用中, 文件格式识别的过程需要缓存整个文件, 将会占用过 量的内存和处理能力, 而且还可能会存在。

11、文件类型识别失败的现象, 导致无法杀毒。 发明内容 0003 有鉴于此, 本申请的主要目的在于提供一种文件类型识别方法、 装置、 设备以及存 储介质, 可以在不缓存整个文件的情况下, 通过分级的方式对文件类型进行准确识别, 从而 提高病毒查杀率。 0004 为达到上述目的, 本申请的技术方案是这样实现的: 0005 第一方面, 本申请实施例提供了一种文件类型识别方法, 该方法包括: 0006 在待接收文件的数据缓存至预定字节时, 对缓存的所述预定字节的数据进行魔数 识别; 0007 当所述预定字节的数据中存在魔数时, 基于魔数对应表确定所述待接收文件的文 件类型; 其中, 所述魔数对应表用于指。

12、示魔数与文件类型的对应关系; 0008 当所述预定字节的数据中不存在魔数时, 对所述预定字节的数据进行预设参数识 别; 其中, 所述预设参数至少包括文件后缀或特征字符串; 0009 当识别出与所述预定字节的数据关联的预设参数时, 基于预设参数对应表确定所 述待接收文件的文件类型; 其中, 所述预设参数对应表用于指示预设参数与文件类型的对 应关系。 0010 第二方面, 本申请实施例提供了一种文件类型识别装置, 所述文件类型识别装置 包括缓存单元、 魔数识别单元和预设参数识别单元; 其中, 0011 缓存单元, 配置为缓存待接收文件中预定字节的数据; 0012 魔数识别单元, 配置为对所述预定字。

13、节的数据进行魔数识别; 以及, 当所述预定字 节的数据中存在魔数时, 基于魔数对应表确定所述待接收文件的文件类型; 0013 预设参数识别单元, 配置为当所述预定字节的数据中不存在魔数时, 对所述预定 字节的数据进行预设参数识别; 以及, 当识别出与所述预定字节的数据关联的预设参数时, 基于预设参数对应表确定所述待接收文件的文件类型。 0014 第三方面, 本申请实施例提供了一种文件类型识别装置, 该文件类型识别装置包 说明书 1/14 页 4 CN 111159709 A 4 括存储器和处理器; 其中, 0015 存储器, 用于存储能够在所述处理器上运行的计算机程序; 0016 处理器, 用。

14、于在运行所述计算机程序时, 执行如第一方面所述的方法。 0017 第四方面, 本申请实施例提供了一种计算机存储介质, 所述计算机存储介质储存 有文件类型识别程序, 所述件类型识别程序被处理器执行时实现如第一方面所述的方法。 0018 本申请实施例提供了一种文件类型识别方法, 在待接收文件的数据缓存至预定字 节时, 对缓存的所述预定字节的数据进行魔数识别; 当预定字节的数据中存在魔数时, 基于 魔数对应表确定待接收文件的文件类型; 其中, 魔数对应表用于指示魔数与文件类型的对 应关系; 当预定字节的数据中不存在魔数时, 对预定字节的数据进行预设参数识别; 其中, 预设参数至少包括文件后缀或特征字。

15、符串; 当识别出与预定字节的数据关联的预设参数 时, 基于预设参数对应表确定待接收文件的文件类型; 其中, 预设参数对应表用于指示预设 参数与文件类型的对应关系。 这样, 通过魔数、 预设参数分级识别的方式, 仅需要获取待接 收文件中预定字节的数据即可进行文件类型的识别, 显著降低性能和内存消耗; 对于常见 的攻击文件类型, 能够防止其修改后缀绕过杀毒过程而进行攻击; 通过魔数、 预设参数对多 种文件类型准确识别, 后期能够更有针对性的匹配杀毒策略, 在接收文件的过程中提供更 好的安全防护。 附图说明 0019 图1为本申请实施例提供的一种文件类型识别方法的流程示意图; 0020 图2为本申请。

16、实施例中的防火墙系统示意图; 0021 图3为本申请实施例提供的另一种文件类型识别方法的流程示意图; 0022 图4为本申请实施例提供的又一种类型识别方法的详细流程示意图; 0023 图5为本申请实施例提供的再一种文件类型识别方法的框架示意图; 0024 图6为本申请实施例提供的文件类型识别方法的框架示意图; 0025 图7为本申请实施例提供的一种文件类型识别装置的组成结构示意图; 0026 图8为本申请实施例提供的一种文件类型识别装置的硬件结构示意图。 具体实施方式 0027 下面将结合本发明实施例中的附图, 对本发明各实施例中的技术方案进行清楚、 完整地描述。 0028 实施例1 0029。

17、 本申请的第一实施例中, 参见图1, 其示出了本申请实施例提供的一种文件类型识 别方法的流程图, 如图1所示, 该方法可以包括: 0030 S101: 在待接收文件的数据缓存至预定字节时, 对缓存的所述预定字节的数据进 行魔数识别; 0031 需要说明的是: 防火墙设置于计算机和所连接的网络之间, 用于对流入和流出的 所有网络通信进行实时监控。 目前, 随着计算机性能的提高, 我们与互联网的文件交互日益 复杂, 所交互的文件大小和数量都明显增长, 此时如果将所有的文件都送入防火墙进行检 测, 将占据大量的缓存空间, 影响计算机的正常通信, 所以需要对待传输的文件进行类型识 说明书 2/14 页。

18、 5 CN 111159709 A 5 别, 如果是需要检测的类型才会进行防火墙检测。 0032 需要说明的是: 本申请实施例提供的文件类型识别方法可以实现在防火墙系统 上, 如图2, 其示出了防火墙系统的架构图, 参见图2, 防火墙系统是设置于计算机和所连接 的网络之间的防护系统, 用于对流入和流出的所有网络通信进行实时监控。 0033 需要说明的是, 所述待接收文件是通过网络(包括互联网、 局域网)获取的不属于 本地的数据, 比如利用http/https、 ftp/ftps、 smb、 email等协议获取的外部文件。 0034 还需要说明的是, 预定字节可以在考虑需要识别的文件类型、 硬。

19、件处理能力和识 别准确率的基础上自行设置, 如512字节、 1024字节、 2048字节等。 比如, 在魔数识别的过程 中, 不同文件类型的魔数由于其长度、 数值大小、 特征均不相同, 所以占用的存储位置和空 间也不相同, 通常在文件头的2至32字节之间, 即获取待接收文件的前32字节的数据可以检 出大多数文件类型中的魔数; 但是, 对于某些不具有魔数的文件类型, 这时候需要基于预设 参数进行识别, 以确定出待接收文件的文件类型, 所以需要尽可能多的数据。 0035 在本申请实施例中, 预定字节并没有统一的标准, 即预定字节的大小不作具体限 定。 针对预定字节的大小设置, 所遵从的原则是, 预。

20、定字节越大, 对于文件类型的检出率越 高, 但是计算量和占用的硬件资源就越多, 所以可以根据需要识别的文件类型、 硬件处理能 力和识别准确率等因素自行设定。 0036 需要说明的是: 魔数通常是存放于文件头位置的一串字符内容, 利用魔数对文件 类型进行识别, 不以易于更改的文件后缀为准, 可以较精确地识别出伪造文件后缀或者无 文件后缀的文件的实际类型。 对于不同类型的文件, 其魔数在文件中存放的偏移量和具体 内容也不同。 0037 S102: 当所述预定字节的数据中存在魔数时, 基于魔数对应表确定所述待接收文 件的文件类型; 其中, 所述魔数对应表用于指示魔数与文件类型的对应关系; 0038 。

21、需要说明的是: 见表1, 其示出了部分文件类型的识别参数; 对于不同的文件类型, 对应的识别参数并不相同。 其中, 对于一部分文件, 其中含有标识其文件类型的魔数, 如表1 所示。 其中, 含有魔数的文件又可分为两类, 第一类是含有的魔数对应具体的文件类型, 如 pe、 elf、 rar等; 第二类是含有的魔数对应几种文件类型, 如word、 ppt、 excel等office文件 共享同一个魔数。 然而, 对于两类文件而言, 魔数都会与一定的文件类型对应。 0039 表1 说明书 3/14 页 6 CN 111159709 A 6 0040 0041 需要说明的是, 对于固定的文件类型, 魔。

22、数的存储位置是固定的, 一般称之为偏移 量; 但是对于不同的文件类型, 魔数的存储位置是不同的; 参见表2, 其示出了一种魔数对应 表, 在表2中, 对于exe类型的文件, 其魔数的文件头偏移量为0, 即在exe文件的存储数据的 首字节即为魔数的首字节; 对于com 类型的文件, 其魔数的文件头偏移量为0 x48(十六进 制), 即在com文件的存储数据中的第0 x48位之后的首字节为魔数的首字节, 为了避免冲突, 此处可以选择第一类含魔数的文件类型作为魔数识别的目标文件类型。 0042 表2 0043 文件类型 魔数个数 文件头偏移 魔数 exe 1 0 0 x5a4d com 1 0 x4。

23、8 0 x00c0c0c0 jar 1 0 0 x04034b50 0044 需要说明的是: 在进行魔数识别的过程中, 对于特定的魔数, 可以根据其偏移量在 预定字节的数据中获得对应的待识别字符, 然后将待识别字符与所述魔数比对, 如果内容 相同, 则为识别成功(存在魔数), 否则为识别失败(不存在魔数)。 这样, 能够提高魔数识别 的速度和准确性。 所以, 魔数识别的一般流程如下: (1)读取一条魔数记录, 包括内容信息和 位置信息; (2)取出预定字节的数据中相对于对应于魔数所在位置处的数据; (3)将取出的 数据与魔数的内容比对, 如果一致则为存在魔数; 如果不一致则取下一条魔数, 直至。

24、遍历所 有魔数记录; (4)当遍历所有魔数记录仍然没有在预定字节的数据中找到魔数时, 则为不存 在魔数。 说明书 4/14 页 7 CN 111159709 A 7 0045 还需要说明的是, 所述魔数对应表中的其他内容(如魔数个数, 或者特征字符串) 和所包含的文件类型种类可以依据需求自行设定, 本实施例不做详细规定。 0046 S103: 当所述预定字节的数据中不存在魔数时, 对所述预定字节的数据进行预设 参数识别; 其中, 所述预设参数至少包括文件后缀或特征字符串; 0047 S104: 当识别出与所述预定字节的数据关联的预设参数时, 基于预设参数对应表 确定所述待接收文件的文件类型; 。

25、其中, 所述预设参数对应表用于指示预设参数与文件类 型的对应关系。 0048 需要说明的是, 对于文件类型识别而言, 魔数识别只是其中一种识别方式。 除此之 外, 像文件后缀、 特征字符串这些与待接收文件相关联的参数也能够提供文件类型的信息; 所以, 当魔数识别失败时, 可以利用其他参数再次对文件类型进行识别, 以保证文件的识别 效率。 0049 还需要说明的是, 魔数和特征字符串可以包含在预定字节的数据中, 但是文件后 缀存储位置固定, 是根据待接收文件单独获取的。 这里, 相比较于魔数, 文件后缀易于篡改 和丢失, 特征字符串的识别可能需要基于较多的预定字节的数据, 所以将其作为魔数识别 。

26、失败后的备选识别方案。 0050 本申请实施例提供了一种文件类型识别方法, 在待接收文件的数据缓存至预定字 节时, 对缓存的预定字节的数据进行魔数识别; 当预定字节的数据中存在魔数时, 基于魔数 对应表确定待接收文件的文件类型; 其中, 魔数对应表用于指示魔数与文件类型的对应关 系; 当预定字节的数据中不存在魔数时, 对预定字节的数据进行预设参数识别; 其中, 预设 参数至少包括文件后缀或特征字符串; 当识别出与预定字节的数据关联的预设参数时, 基 于预设参数对应表确定待接收文件的文件类型。 这样, 通过魔数、 预设参数分级识别的方 式, 仅需要获取待接收文件中预定字节的数据即可进行文件类型的。

27、识别, 显著降低性能和 内存消耗; 对于常见的攻击文件类型, 能够防止其修改后缀绕过杀毒过程而进行攻击; 通过 魔数、 预设参数对多种文件类型准确识别, 能够更有针对性的匹配杀毒策略, 在接收文件的 过程中提供更好的安全防护。 0051 实施例2 0052 本申请的第二实施例中, 参见图3, 其示出了本申请实施例提供的另一种文件类型 识别方法的流程图, 如图3所示, 该方法可以包括: 0053 S201: 在待接收文件的数据缓存至预定字节时, 对缓存的所述预定字节的数据进 行魔数识别; 0054 需要说明的是, 所述待接收文件是通过网络(包括互联网、 局域网)获取的不属于 本地的数据, 比如利。

28、用http/https、 ftp/ftps、 smb、 email等协议获取的外部文件。 0055 S202: 当所述预定字节的数据中存在魔数时, 基于魔数对应表确定所述待接收文 件的文件类型; 其中, 所述魔数对应表用于指示魔数与文件类型的对应关系; 0056 其中, S202可以包括: 0057 当所述预定字节的数据中存在魔数时, 从所述魔数对应表中确定与所述魔数对应 的相应文件类型; 0058 当所确定的相应文件类型为一个时, 将所述相应文件类型确定为所述待接收文件 的文件类型; 说明书 5/14 页 8 CN 111159709 A 8 0059 当所确定的相应文件类型为多个时, 从文。

29、件类型对应表中确定所述多个相应文件 类型对应的大类文件类型, 将所述大类文件类型确定为所述待接收文件的文件类型; 其中, 所述文件类型对应表用于指示多个相应文件类型与大类文件类型的对应关系。 0060 需要说明的是, 实际使用中, 如前述的表1所示, 存在多种文件类型对应相同魔数 的情况, 例如, word2007_10、 excel2007_10、 ppt2007_10的魔数均为 “0 x04034b50” 。 由于本 申请中文件类型识别的最终目的是为了给后续的拦截或者杀毒过程提供更多的文件类型 信息, 所以无需确定非常精确的文件类型。 基于此, 当所述预定字节的数据中存在魔数时, 又可分为。

30、两种情况: (1)所述预定字节的数据中的魔数仅对应一种相应文件类型, 此时可直 接将所述相应文件类型确定为所述待接收文件的文件类型; (2)所述预定字节的数据中的 魔数对应多种相应文件类型, 此时, 如果返回相应文件类型则会遭遇冲突, 所以将其对应的 多种文件类型纳为一类, 并赋予大类名称, 将大类文件类型确定为所述待接收文件的文件 类型。 0061 表3 0062 文件类型 大类类型 doc、 xls、 ppt、 msi、 hwp、 fla msoffice docx、 xlsx、 pptx、 apk、 jar、 zip msofficex wma、 asf、 wmv asf 0063 需要。

31、说明的是, 文件类型对应表用于指示多个相应文件类型与大类文件类型的对 应关系, 如表3, 其示出了一种文件类型对应表。 其中, 大类名称仅用于使后续拦截或者杀毒 程序了解待接收文件的可能的类型, 所以在后续拦截或者杀毒程序能够获知映射关系的情 况下可以自行设定。 0064 还需要说明的是, 在一些实施例中, 可以将表3与表1相结合, 得到一个 “整合魔数 对应表” , 该表中, 魔数可能对应相应文件类型, 也可能对应大类文件类型, 总之在该表中魔 数与文件类型呈现一对一的关系, 这种情况也包含在本申请实施例的保护范围之中。 0065 S203: 当所述预定字节的数据中不存在魔数时, 对所述预定。

32、字节的数据进行文件 后缀识别; 0066 需要说明的是, 与魔数不同, 获取文件后缀并不是基于预定字节的数据进行的, 而 是基于待接收文件本身获取的。 0067 S204: 当识别出与所述预定字节的数据关联的文件后缀时, 基于文件后缀对应表 确定所述待接收文件的文件类型; 其中, 所述文件后缀对应表用于指示文件后缀与文件类 型的对应关系。 0068 需要说明的是, 在实际使用中, 正常的文件的数量要远大于恶意文件, 所以在魔数 识别失败之后, 可以直接获取待接收文件的文件后缀作为待接收文件的文件类型。 当然所 述文件后缀为目前行业内规定的标准后缀, 而不是占据后缀位置的随意字符, 所以需要基 。

33、于文件后缀对应表进行确认。 如表4, 其示出了一种文件后缀对应表。 还需要说明的是, 在实 际使用中, 对于同种文件类型可能存在多种文件后缀, 比如mpeg类型的文件可能存在mpg、 mpeg、 vob的后缀, 如表4所示, 而这并不影响我们的判定过程。 当然, 如果执意把每一种后缀 都独立为一种文件类型, 也涵盖在本申请的保护范围之内。 0069 表4 说明书 6/14 页 9 CN 111159709 A 9 0070 0071 0072 需要说明的是, 由于获取待接收文件的文件后缀是一个单独的过程, 并不是针对 之前获取的预定字节的数据, 所以此处存在三种可能: 首先, 获取到了待接收文。

34、件的文件后 缀, 并且该文件后缀能够在文件后缀对应表中找到, 那么就将对应的文件类型确定为待接 收文件的文件类型; 其次, 无法获取待接收文件的文件后缀, 那么认定识别失败; 最后, 获取 到待接收文件的文件后缀, 但是待接收文件的文件后缀不是文件后缀对应表中的文件后 缀, 那么也认为认定识别失败。 相比较于魔数和特征字符串, 文件后缀的稳定性较差, 是比 较易于修改或者容易丢失的, 这也是我们将后缀识别作为魔数识别备选方案的原因。 0073 本申请实施例提供了一种文件类型识别方法, 通过魔数、 文件后缀分级识别的方 式, 仅需要获取待接收文件中预定字节的数据即可进行文件类型的识别, 显著降低。

35、性能和 内存消耗; 对于常见的攻击文件类型, 能够防止其修改后缀绕过杀毒过程而进行攻击; 通过 魔数、 预设参数对多种文件类型准确识别, 后期能够更有针对性的匹配杀毒策略, 在接收文 件的过程中提供更好的安全防护。 0074 实施例3 0075 本申请的第三实施例中, 参见图4, 其示出了本申请实施例提供的又一种文件类型 识别方法的流程图, 如图4所示, 该方法可以包括: 0076 S301: 在待接收文件的数据缓存至预定字节时, 对缓存的所述预定字节的数据进 行魔数识别; 0077 需要说明的是, 所述待接收文件是通过网络(包括互联网、 局域网)获取的不属于 本地的数据, 比如利用http/。

36、https、 ftp/ftps、 smb、 email等协议获取的外部文件。 0078 S302: 当所述预定字节的数据中存在魔数时, 基于魔数对应表确定所述待接收文 件的文件类型; 其中, 所述魔数对应表用于指示魔数与文件类型的对应关系; 0079 S303: 当所述预定字节的数据中不存在魔数时, 对所述预定字节的数据进行特征 字符串识别; 说明书 7/14 页 10 CN 111159709 A 10 0080 需要说明的是, 特征字符串是文件类型所对应的编写语法中必须要出现的一些定 义类或者声明类的特定字符串, 没有固定的位置, 也可以作为部分文件类型的识别参数。 对 于脚本文件如per。

37、l、 bash、 shell等, 均通过特征字符串作为识别标识, 参见表5, 其示出了一 种特征字符串对应表; 如表5所示, 对于脚本文件, 一种文件类型可以独立的指定多个特征 字符串, 即任何一个特征字符串都可以对应一种类型; 也可以选用多个字符串共同标识一 种类型。 0081 表5 0082 文件类型 特征字符串个数 特征字符串 bash 1 #! /bin/bash html 1 DOCTYPE HTML html 1 html 0083 S304: 当识别出与所述预定字节的数据关联的特征字符串时, 基于特征字符串对 应表确定所述待接收文件的文件类型; 其中, 所述特征字符串对应表用于指。

38、示特征字符串 与文件类型的对应关系。 0084 需要说明的是, 在实际使用中, 部分非脚本文件也存在特征字符串, 然而在这些文 件中, 特征字符串是否存在、 存在的位置都不确定, 并不如利用魔数识别稳定和可靠, 所以 一般不对这些文件进行单独的特征字符串进行识别, 也可理解为S304仅对脚本文件类型进 行识别。 应当理解的是, 本申请是隐含了对非脚本文件进行特征字符串进行识别这种情况 的。 0085 需要说明的是, 对于待接收文件而言, 特征字符串的识别与魔数识别一样, 是基于 预定字节的数据进行的。 但是, 与魔数不同的是, 特征字符串并不具有固定的位置。 由于我 们的预定字节的数据只是待接。

39、收文件的部分数据, 所以存在找不到特征字符串的情况, 那 么认为本次任务结束。 应当理解的是, 本申请仅为后续杀毒或者拦截提供文件类型相关信 息, 以便于确定需要送入防火墙进行杀毒的类型或者匹配相应的杀毒策略, 提高杀毒的效 率, 基于此, 所以对于缓存预设值后仍然找不到特征字符串的情况, 我们可以结束识别过 程, 待接收文件可以利用原有流程进行相关杀毒。 如果假定需要保证所有的文件类型都能 精准识别, 那么可能需要缓存全部的文件, 这在计算、 处理能力上是得不偿失的。 0086 还需要说明的是, 在实际使用中, 脚本文件从宏观定义上说可认为是一种文件类 型, 同时, 由于采用的编译语言不同,。

40、 脚本文件又可进一步细分为不同的文件类型。 对于每 种编译语言, 都有固定的格式和规则, 所以可以利用其中必然出现的字符串作为特征字符 串进行识别, 可以设置一个字符串也可以设置多个字符串, 进而制作特征字符串对应表。 表 5可以作为特征字符串对应表的样例, 对见表5, 对于html的文件, 其特征字符串可以是 DOCTYPE HTML, 也可以是html, 也即, 当在待接收文件中检出 “DOCTYPE HTML” 或者 “html” 均可确定待接收文件的文件类型为html。 当然, 对于html文件, 也可仅选定一个特征字符串 作为识别依据。 0087 还需要说明的是, 前述魔数对应表和预。

41、设参数对应表仅用于方便描述, 并非限定 独立的魔数对应表或者预设参数对应表存在, 只要存在能够描述魔数与文件类型的对应关 系均可认为是魔数对应表, 存在能够描述预设参数与文件类型的对应关系均可认为是预设 参数对应表, 在一些实施例中, 也可以将魔数与文件类型的对应关系、 预设参数与文件类型 说明书 8/14 页 11 CN 111159709 A 11 的对应关系按照先后次序记载于一起形成整体比对表, 这些均属于本申请实施例的保护范 围之内。 0088 本申请实施例提供了一种文件类型识别方法, 通过魔数、 特征字符串分级识别的 方式, 仅需要获取待接收文件中预定字节的数据即可进行文件类型的识别。

42、, 显著降低性能 和内存消耗; 对于常见的攻击文件类型, 能够防止其修改后缀绕过杀毒过程而进行攻击; 通 过魔数、 预设参数对多种文件类型准确识别, 能够更有针对性的匹配杀毒策略, 在接收文件 的过程中提供更好的安全防护。 0089 实施例4 0090 本申请的第四实施例中, 参见图5, 其示出了本申请实施例提供的再一种文件类型 识别方法的详细流程示意图, 如图5所示, 该方法还可以包括: 0091 S401: 建立数据传输, 获取待接收文件中的预定字节的数据; 本实施例中采用on_ http_data建立数据传输, 获取待接收文件的前1024字节数据; 0092 这样, 对于每个待接收文件,。

43、 仅占用1024字节的缓存空间, 提高计算机对于待接收 文件的处理速度以及保证计算机的其他处理性能; 0093 S402: 魔数识别, 即判断所述预定字节的数据中是否存在魔数; 若是则执行S406, 若不是则执行S403; 0094 这样, 利用稳定性比较高、 不容易被篡改的魔数进行第一层次的识别, 可以检出文 件的真实类型, 防止某些通过改后缀来绕过检测的恶意文件的攻击; 0095 S403: 后缀识别, 即判断是否能够识别出待接收文件的文件后缀, 若是则执行 S404, 若不是则执行S405; 0096 这样, 对于不存魔数的待接收文件, 考虑到实际使用中的恶意文件较少, 所以利用 后缀识。

44、别作为第二层次的识别, 以便于后续的杀毒过程。 0097 S404: 取出文件后缀; 以待接收文件的文件后缀作为识别的依据, 执行 S406; 0098 S405: 特征字符串识别, 即基于特征字符串对应表, 判断所述预定字节的数据中是 否存在特征字符串; 若是则执行S406, 若不是则执行S410; 0099 需要说明的是, 此处的结束并非结束数据传输过程, 而是本次类型识别的结束; 对 于建立的数据传输, 可以利用已有规则决定相关的后续操作方式, 如拒绝接收、 送入防火墙 查杀、 沙箱启动等。 0100 这样, 对于后缀识别失败的文件, 则利用特征字符串作为第三层次的识别, 以扩大 文件识。

45、别的范围。 0101 S406: 确认文件类型并匹配杀毒策略, 即对前述识别成功的文件确认文件类型并 匹配相应的杀毒策略; 0102 需要说明的是, 所述杀毒策略包括多个维度, 首先, 可以根据文件类型决定是否需 要对其进行防火墙检测, 对于一些不需要进行防火墙检测的, 可以跳过该步骤; 其次, 可以 根据文件类型决定防火墙对其采用何种形式的查杀, 比如对于图像文件和文本文件, 所适 合的查杀方式并不相同; 另外, 对于不需要进行防火墙检测的, 也可以根据文件类型决定传 输完成后终端查杀的具体模式。 0103 S407: 对待接收文件进行杀毒; 0104 这样, 基于文件类型识别的结果, 可以。

46、更有针对性的匹配杀毒策略, 对于某些的文 说明书 9/14 页 12 CN 111159709 A 12 件类型可以不送入防火墙检测, 减少防火墙所需要处理的数据流, 提高计算机的对外交互 效率。 0105 S408: 如果杀毒通过则向本地写入待接收文件; 0106 S409: 如果杀毒未通过则结束数据传输; 0107 S410: 基于预设杀毒策略对接收文件进行杀毒。 0108 需要说明的是: 如果利用魔数、 文件后缀、 特征字符串对文件进行识别仍然识别失 败, 那么待接收文件的文件类型并不是所支持的类型, 可以进行 bypass, 将待接收文件和 防火墙直接连通, 即待接收文件仍按照原有的路。

47、径和杀毒策略进行查收和接收。 0109 整体来看, 本方法首先缓存待接收文件的前1024字节, 增加两个接口: 魔数识别接 口和脚本识别接口; 首先, 通过魔数识别接口根据文件头进行魔数识别, 如果魔数没有冲突 (魔数仅对应一种相应文件类型)的, 直接返回相应文件类型; 如果魔数识别存在冲突(魔数 对应多种相应文件类型), 返回大类类型; 匹配策略继续后面杀毒流程; 如果魔数识别不出 来, 查看是否有文件后缀, 如果有就以后缀为准修正文件类型为确认类型, 匹配策略继续后 面的杀毒流程; 如果没有后缀, 那么就进行脚本识别, 通过特征字符串识别脚本, 例如js、 vbs、 xml等, 如果识别出。

48、来, 就匹配策略继续后面的杀毒流程, 如果识别不出来就 bypass。 0110 本申请实施例提供了一种文件类型识别方法, 通过魔数、 后缀、 特征字符串分级识 别的方式, 仅需要获取待接收文件中预定字节的数据即可进行文件类型的识别, 显著降低 性能和内存消耗; 对于常见的攻击文件类型, 能够防止其修改后缀绕过杀毒过程而进行攻 击; 通过魔数、 特征字符串能够对多种文件类型准确识别, 能够更有针对性的匹配杀毒策 略, 在接收文件的过程中提供更好的安全防护。 0111 实施例5 0112 本申请的第五实施例中, 参见图6, 其示出了本申请实施例提供的一种文件类型识 别方法的框架示意图, 如图6所。

49、示, 该方法还可以包括: 0113 S501: 响应外界数据传输的请求, 进行传输协议的解析; 0114 需要说明的是, 所述传输协议包括但不限于http/https、 ftp、 mail、 smb等; 0115 S502: 建立传输对话, 获取并缓存待传输协议的前1024字节的数据; 0116 需要说明的是, 对于不同的传输协议, 将利用不同的命令进行数据传输过程, 例如 对于http/https, 可通过on_http_response_head、 on_http_data、 on_http_request_and_ over命令响应传输请求、 传输数据以及结束传输。 0117 S503:。

50、 分别通过魔数、 文件后缀、 特征字符串进行文件类型的识别; 0118 需要说明的是, 在此的通过魔数、 文件后缀、 特征字符串进行文件类型的具体识别 流程, 可以参照前述的实施例, 在此不做赘述; 其中, 这三种识别方式的优先级依次是: 魔数 识别、 文件后缀识别、 脚本识别。 0119 S504: 对于识别出来的文件类型匹配杀毒策略; 0120 S505: 基于杀毒策略进行所述待接收文件的杀毒。 0121 本申请实施例提供了一种文件类型识别方法, 通过魔数、 后缀、 特征字符串分级识 别的方式, 仅需要获取待接收文件中预定字节的数据即可进行文件类型的识别, 显著降低 性能和内存消耗; 对于。

展开阅读全文
内容关键字: 文件类型 识别 方法 装置 设备 存储 介质
关于本文
本文标题:文件类型识别方法、装置、设备及存储介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10638000.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1