第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 一种文件类型确定方法 装置 电子设备及可读存储介质与流程

一种文件类型确定方法 装置 电子设备及可读存储介质与流程

时间:2022-06-04 02:16:00

相关推荐

一种文件类型确定方法 装置 电子设备及可读存储介质与流程

本申请涉及网络安全防范技术领域,特别涉及一种文件类型确定方法、装置、电子设备及可读存储介质。

背景技术:

文件类型是现有数据文件机制下一种重要的文件类型方式,常见的有后缀为.exe的应用程序类文件、后缀为.jpg的图像类文件、后缀为.ppt的演示文稿类文件。

在现今大多的文件安全检测机制中,基于文件类型设置的文件检测规则也是其中重要的一环。应当理解的是,基于文件类型设置的文件检测规则最重要的是如何确保检测出的文件类型是待分类文件的真实文件类型,即检测结果的准确性。常见的基于文件后缀的文件类型方式很容易通过主动修改为其它类型的后缀、去除后缀等方式绕过检测机制,从而成功侵入目标网络。

因此,如何提供一种能够准确检测出待分类文件的文件类型的方案,是本领域技术人员亟待解决的问题。

技术实现要素:

本申请目的是提供一种文件类型确定方法、装置、电子设备及可读存储介质,旨在提升对待分类文件文件类型的检测准确度。

为实现上述目的,本申请提供了一种文件类型确定方法,该方法包括:

接收传入的待分类文件;

利用预设的第一识别库和/或预设的第二识别库对所述待分类文件执行文件类型识别操作,对应得到第一识别结果和/或第二识别结果;所述第一识别库中记录有每种文件类型与每种位置固定特征间的第一对应关系,所述第二识别库中记录有每种文件类型与每种位置非固定特征间的第二对应关系;

根据所述第一识别结果和/或所述第二识别结果确定所述待分类文件的文件类型。

可选的,利用预设的第一识别库和/或预设的第二识别库对所述待分类文件执行文件类型识别操作,对应得到第一识别结果和第二识别结果,根据所述第一识别结果和/或所述第二识别结果确定所述待分类文件的文件类型,包括:

利用所述第一识别库对所述待分类文件执行所述文件类型识别操作,得到所述第一识别结果;

当无法根据所述第一识别结果唯一确定出所述待分类文件的文件类型时,利用所述第二识别库对所述待分类文件执行所述文件类型识别操作,得到所述第二识别结果;

利用所述第一识别结果和所述第二识别结果确定出所述待分类文件的文件类型。

可选的,利用所述第一识别库对所述待分类文件执行所述文件类型识别操作,得到所述第一识别结果,包括:

使用所述第一识别库中包含的每个位置固定特征对所述待分类文件进行特征匹配操作,得到匹配位置固定特征;

根据所述第一对应关系确定与所述匹配位置固定特征对应的文件类型为第一匹配文件类型;

对应的,当无法根据所述第一识别结果唯一确定出所述待分类文件的文件类型时,包括:

当所述第一匹配文件类型的数量大于1时;

对应的,利用所述第二识别库对所述待分类文件执行所述文件类型识别操作,得到所述第二识别结果,包括:

使用所述第二识别库中包含的每个位置非固定特征对所述待分类文件进行特征匹配操作,得到匹配位置非固定特征;

根据所述第二对应关系确定与所述匹配位置非固定特征对应的文件类型为第二匹配文件类型;

对应的,根据所述第一识别结果和所述第二识别结果确定所述待分类文件的文件类型,包括:

根据所述第一匹配文件类型和所述第二匹配文件类型确定所述待分类文件的文件类型。

可选的,根据所述第一匹配文件类型和所述第二匹配文件类型确定所述待分类文件的文件类型,包括:

根据每个所述第一匹配文件类型的匹配位置固定特征的数量和/或长度计算得到第一概率,并按照概率的大小进行排序,得到第一排序表;

根据每个所述第二匹配文件类型的匹配位置非固定特征的数量和/或长度计算得到第二概率,并按照概率的大小进行排序,得到第二排序表;

将所述第一排序表和所述第二排序表中相同文件类型的第一概率和第二概率进行累加处理,得到处理后排序表;

根据所述处理后排序表中的每个匹配文件类型均作为所述待分类文件的可能文件类型。

可选的,根据每个所述第一匹配文件类型的匹配位置固定特征的数量和/或长度计算得到第一概率,并按照概率的大小进行排序,得到第一排序表,包括:

将每个所述第一匹配文件类型按相应的匹配位置固定特征的数量和/或长度,利用加权计算法进行加权计算,得到各加权分值;其中,所述数量对应预设的第一权值,所述长度对应预设的第二权值;

将各所述加权分值按大小进行排序,得到所述第一排序表。

可选的,当根据所述第一识别结果和/或所述第二识别结果无法确定出所述待分类文件的文件类型时,还包括:

对所述待分类文件执行文本文件特征识别操作,得到第三识别结果;

根据所述第三识别结果确定所述待分类文件是否为纯文本文件。

可选的,该文件类型确定方法还包括:

将根据所述第一识别结果和/或所述第二识别结果确定出的文件类型标记为第一类型;

判断第二类型是否与所述第一类型一致;其中,所述第二类型为根据所述待分类文件的后缀确定出的文件类型;

若不一致,则为所述待分类文件附加异常标记,并对附加有所述异常标记的待分类文件执行恶意内容检测操作。

为实现上述目的,本申请还提供了一种文件类型确定装置,该装置包括:

待分类文件接收单元,用于接收传入的待分类文件;

文件类型识别单元,用于利用预设的第一识别库和/或预设的第二识别库对所述待分类文件执行文件类型识别操作,对应得到第一识别结果和/或第二识别结果;所述第一识别库中记录有每种文件类型与每种位置固定特征间的第一对应关系,所述第二识别库中记录有每种文件类型与每种位置非固定特征间的第二对应关系;

文件类型确定单元,用于根据所述第一识别结果和/或所述第二识别结果确定所述待分类文件的文件类型。

可选的,所述文件类型识别单元包括:

第一识别子单元,用于利用所述第一识别库对所述待分类文件执行所述文件类型识别操作,得到所述第一识别结果;

第二识别子单元,用于当无法根据所述第一识别结果唯一确定出所述待分类文件的文件类型时,利用所述第二识别库对所述待分类文件执行所述文件类型识别操作,得到所述第二识别结果;

文件类型共同识别子单元,用于利用所述第一识别结果和所述第二识别结果确定出所述待分类文件的文件类型。

可选的,所述第一识别子单元包括:

位置固定特征匹配模块,用于使用所述第一识别库中包含的每个位置固定特征对所述待分类文件进行特征匹配操作,得到匹配位置固定特征;

第一匹配文件类型确定模块,用于根据所述第一对应关系确定与所述匹配位置固定特征对应的文件类型为第一匹配文件类型;

对应的,所述第二识别子单元包括:

位置非固定特征匹配模块,用于当所述第一匹配文件类型的数量大于1时,使用所述第二识别库中包含的每个位置非固定特征对所述待分类文件进行特征匹配操作,得到匹配位置非固定特征;

第二匹配文件类型确定模块,用于根据所述第二对应关系确定与所述匹配位置非固定特征对应的文件类型为第二匹配文件类型;

对应的,所述文件类型共同识别子单元包括:

文件类型共同确定模块,用于根据所述第一匹配文件类型和所述第二匹配文件类型确定所述待分类文件的文件类型。

可选的,所述文件类型共同确定模块包括:

第一排序子模块,用于根据每个所述第一匹配文件类型的匹配位置固定特征的数量和/或长度计算得到第一概率,并按照概率的大小进行排序,得到第一排序表;

第二排序子模块,用于根据每个所述第二匹配文件类型的匹配位置非固定特征的数量和/或长度计算得到第二概率,并按照概率的大小进行排序,得到第二排序表;

累加处理子模块,用于将所述第一排序表和所述第二排序表中相同文件类型的第一概率和第二概率进行累加处理,得到处理后排序表;

可能文件类型确定子模块,用于根据所述处理后排序表中的每个匹配文件类型均作为所述待分类文件的可能文件类型。

可选的,所述第一排序子模块包括:

加权计算组件,用于将每个所述第一匹配文件类型按相应的匹配位置固定特征的数量和/或长度,利用加权计算法进行加权计算,得到各加权分值;其中,所述数量对应预设的第一权值,所述长度对应预设的第二权值;

分值排序组件,用于将各所述加权分值按大小进行排序,得到所述第一排序表。

可选的,该文件类型确定装置还包括:

文本文件特征识别单元,用于当根据所述第一识别结果和/或所述第二识别结果无法确定出所述待分类文件的文件类型时,对所述待分类文件执行文本文件特征识别操作,得到第三识别结果;

纯文本文件确定单元,用于根据所述第三识别结果确定所述待分类文件是否为纯文本文件。

可选的,该文件类型确定装置还包括:

第一类型确定单元,用于将根据所述第一识别结果和/或所述第二识别结果确定出的文件类型标记为第一类型;

类型一致判断单元,用于判断第二类型是否与所述第一类型一致;其中,所述第二类型为根据所述待分类文件的后缀确定出的文件类型;

异常标记附加及恶意内容检测单元,用于当所述第二类型与所述第一类型不一致时,为所述待分类文件附加异常标记,并对附加有所述异常标记的待分类文件执行恶意内容检测操作。

为实现上述目的,本申请还提供了一种电子设备,该电子设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述内容所描述的文件类型确定方法。

为实现上述目的,本申请还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的文件类型确定方法。

本申请提供的一种文件类型确定方法,包括:接收传入的待分类文件;利用预设的第一识别库和/或预设的第二识别库对所述待分类文件执行文件类型识别操作,对应得到第一识别结果和/或第二识别结果;所述第一识别库中记录有每种文件类型与每种位置固定特征间的第一对应关系,所述第二识别库中记录有每种文件类型与每种位置非固定特征间的第二对应关系;根据所述第一识别结果和/或所述第二识别结果确定所述待分类文件的文件类型。

根据本申请提供的文件类型确定方法可以看出,区别于现有技术,本申请通过位置固定特征和/或位置非固定特征从待分类文件更深层次来做文件类型的识别,而非现有技术仅基于表层、易修改的后缀来确定文件类型,由于位置固定特征和位置非固定特征都是相应文件类型的文件按预设标准自行生成的,主动修改难度极大,因此可以很好的保障基于此特征确定出的文件类型的准确度,并进而有效的防止经过文件类型伪装的恶意文件的入侵。本申请同时还提供了一种文件类型确定装置、电子设备及可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种文件类型确定方法的流程图;

图2为本申请实施例提供的标识xls文件类型的位置固定特征的实际代码图;

图3为本申请实施例提供的标识wps文件类型的位置固定特征的实际代码图;

图4为本申请实施例提供的标识jpg文件类型的位置固定特征的实际代码图;

图5为本申请实施例提供的标识avi文件类型的位置固定特征的实际代码图;

图6为本申请实施例提供的一种依次通过位置固定特征和位置非固定特征对待分类文件进行文件类型识别的方法的流程图;

图7为本申请实施例提供的一种具体通过位置固定特征和位置非固定特征对待分类文件进行文件类型识别的方法的流程图;

图8为本申请实施例提供的一种根据第一匹配文件类型和第二匹配文件类型确定待分类文件的文件类型的方法的流程图;

图9为本申请实施例提供的一种文件类型确定装置的结构框图;

图10为本申请实施例提供的文件类型确定装置处于一种应用场景下的示意图;

图11为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

本申请目的是提供一种文件类型确定方法、装置、电子设备及可读存储介质,旨在提升对待分类文件文件类型的检测准确度,进而更好的防止经过文件类型伪装的恶意内容的入侵。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

请参见图1,图1为本申请实施例提供的一种文件类型确定方法的流程图,其包括以下步骤:

s101:接收传入的待分类文件;

待分类文件在本申请中指需要进行文件类型检测(或确定文件类型)的数据文件,此处根据本申请实施例的执行主体的具体表现不同,传入该待分类文件的执行主体有可能随之发生变化。

例如,当本申请的执行主体为架设在外网和内网之间的网络安全设备时,该待分类文件将主要由外网向内网传入文件的数据传输设备传入,在此场景下,应用本申请后续步骤将主要用于实现防范恶意内容入侵的目的;当本申请的执行主体为内网中数据存储服务器的一个功能组件时,该待分类文件将主要由内网客户端传入,在此场景下,应用本申请后续步骤将主要用于保障数据存储服务器的数据文件的可靠性和安全性。当然,还存在很多其它类似场景,可根据实际情况进行适应性调整,此处不再具体限定。

s102:利用预设的第一识别库和/或预设的第二识别库对待分类文件执行文件类型识别操作,对应得到第一识别结果和/或第二识别结果;

其中,该第一识别库中记录有每种文件类型与每种位置固定特征之间的对应关系,此处将第一识别库中记录的对应关系标记为第一对应关系;该第二识别库中记录有每种文件类型与每种位置非固定特征之间的对应关系,此处将第二识别库中记录的对应关系标记为第二对应关系。

位置固定特征是指在待分类文件的完整数据长度中固定位置出现的特征,即相同类型的文件都会在固定的某一位置出现的特征;相对应的,位置非固定特征则是指在待分类文件的完整数据长度中不固定位置出现的特征,即相同类型的不同文件可能会在不同的位置出现的相同的特征。

以文件类型为xls(一种表格类的文件类型)的文件为例,其通常会在00000400h和00000410h这一固定位置处出现特征:“rootentry”,而位置非固定特征:“workbook”在一种情况下出现在00000480h和00000490h处(请参见图2)。其它的,wps类型的文档拥有位置固定特征:“worddocument”、“rootentry”,以及位置非固定特征:“wpsoffice”(请参见图3);jpg类型的图像文件则拥有位置固定特征(二进制字符串):“xff\xd8\xff\xe0\x00\x10\x4a\x46”(请参见图4);4)avi类型的视频文件则拥有位置固定特征:“riff”、“avilist”以及二级制字符串:“\x00\x00\x68\x64\x72\x6c\x61\x76\x69\x68\x38\x00\x00\x00”(请参见图5)。

本申请所指的特征大部分为特定的字符串,即特征为特定字符组成的特定字符串,但也不排除有可能出现其它类型的特征,只要满足位置固定或位置不固定,特征可以表现为多种方式。

在s101的基础上,本步骤旨在对待分类文件中包含的位置固定特征和/或位置非固定特征,结合该第一对应关系和该第二对应关系得到相应的识别结果。

具体的,本步骤包含三种具体的实现方式:

其一,仅利用记录有第一对应关系的第一识别库从位置固定特征方面对待分类文件的文件类型进行识别;

其二,仅利用记录有第二对应关系的第二识别库从位置非固定特征方面对待分类文件的文件类型进行识别;

其三,同时从位置固定特征和位置非固定特征从两方面对待分类文件的文件类型进行识别,并通过两方面特征的结合提升结论准确度。

需要说明的是,在同时从位置固定特征和位置非固定特征从两方面对待分类文件的文件类型进行识别的方式下,由于位置固定特征和位置非固定特征从本质上是特征的两个种类,两者之间互不影响。因此,根据实际情况,还可以将此情况再细分为几种子情况:

第一种,将基于两个不同特征的识别操作以串行的方式依次进行,且限定后一种特征的识别操作建立在前一种特征识别操作的结果不唯一的情况下,以通过串行的方式尽可能的精简不必要的识别操作;

第二种,将基于两个不同特征的识别操作以串行的方式依次进行,但一定会分别对两个不同的特征各自执行完识别操作,以最终结合两个识别结果共同完成最终的文件类型确定;

第三种,将基于两个不同特征的识别操作以并行的方式同时进行(可通过多线程技术实现),由于并行进行最终的文件类型步骤一定是需要结合两个特征各自的识别结果的。

还需要说明的是,前两种情况并不限定串行方式下两个特征对应识别操作的执行先后顺序,可根据实际情况灵活选择。

s103:根据第一识别结果和/或第二识别结果确定待分类文件的文件类型。

本步骤旨在根据s102步骤中选用的具体方式,根据得到的相应识别结果来确定待分类文件的文件类型。

根据本申请实施例提供的一种文件类型确定方法可以看出,区别于现有技术,本实施例通过位置固定特征和/或位置非固定特征从待分类文件更深层次来做文件类型的识别,而非现有技术仅基于表层、易修改的后缀来确定文件类型,由于位置固定特征和位置非固定特征都是相应文件类型的文件按预设标准自行生成的,主动修改难度极大,因此可以很好的保障基于此特征确定出的文件类型的准确度,并进而有效的防止经过文件类型伪装的恶意文件的入侵。

需要说明的是,上述的实施例一对实现本方案目的的基本方案进行了介绍,基于实施例一给出的基础方案,本申请还将通过后续的其它实施例对实施例一的一些步骤给出在具体应用场景下的一种更具体的实现方式或优选的改进方案,后续涉及与上述实施例一种相同步骤或相应步骤之间的说明可以互相参照,也应具有相同的有益效果,后续实施例将不再赘述重复的步骤。

在上一实施例的基础上,为在占用运算资源的数量尽可能少的情况下,实现效果相对较好的文件类型确定的准确度,针对s102和s103,本实施例通过图6给出了一种通过串行方式依次通过位置固定特征和位置非固定特征对待分类文件进行文件类型识别的方法,包括如下步骤:

s201:利用第一识别库对待分类文件执行文件类型识别操作,得到第一识别结果;

s202:判断第一识别结果是否可唯一确定出待分类文件的文件类型,若是,执行s203,否则执行s204;

s203:根据第一识别结果唯一确定待分类文件的文件类型;

本步骤建立在s202的判断结果为可根据第一识别结果唯一确定出待分类文件的文件类型的基础上,也就说通过第一识别库中的记录的第一对应关系,仅在待分类文件中找到了匹配的唯一的文件类型的位置固定特征。换句话说就是,第一识别结果中仅包含唯一的备选文件类型,例如通过文件类型识别操作得到的第一识别结果中仅将该待分类文件的文件类型为jpg。

s204:利用第二识别库对待分类文件执行文件类型识别操作,得到第二识别结果;

本步骤建立在s202的判断结果为根据第一识别结果确定出待分类文件存在多个备选的文件类型的基础上,即通过位置固定特征判断出存在对应有多种文件类型的特征的情况(即包含一个位置固定特征本身就存在一对多文件类型的情况,也包括多个位置固定特征各自对应不同的文件类型的情况)。

由于通过位置固定特征确定出了多个备选文件类型,为了尽可能的缩小备选范围、提升准确率,本实施例还在此情况下再次通过位置非固定特征进行文件类型识别操作,以结合两次的识别结果来提升结果的准确率。

进一步的,s204之所以重新使用第二识别库又对待分类文件进行了文件类型识别操作,而不是仅对s201确定出的多个备选文件类型进行针对性的再确认,是为了尽可能的防止s201通过位置固定特征进行文件类型识别操作可能存在的疏漏情况。在能够完全防止疏漏的情况下,也可以仅对s201确定出的多个备选文件类型进行有针对性的再确认,而无需对第二识别库中所有的已记录位置非固定特征进行这一过程。

s205:利用第一识别结果和第二识别结果确定出待分类文件的文件类型。

本实施例首先利用第一识别库对待分类文件执行基于位置固定特征的文件类型识别操作,若得到的第一识别结果无法唯一确定出文件类型,则再利用第二识别库对待分类文件执行基于位置非固定特征的文件类型识别操作,最终将两个识别结果综合起来得到准确率更高的文件类型确定结果。

本实施例所提供的方案通过在第一次判断结果不唯一的情况才进行第二次判断,可从整体上规避一些无效的运算量,尽可能减少的对运算资源的占用,缩短了耗时,在大多数应用场景下确定结果的准确率较高。

为便于理解本实施例的方案,下面通过图7提供了一种更加具体的实现方法的流程图,包括如下步骤:

s301:分别使用第一识别库中包含的每个位置固定特征对待分类文件进行特征匹配操作,得到匹配位置固定特征;

s302:根据第一对应关系确定与匹配位置固定特征对应的文件类型为第一匹配文件类型;

由于第一识别库中记录的第一对应关系是每个文件类型与每个位置固定特征之间的对应关系,因此文件类型识别操作的实质是第一识别库中的已记录位置固定特征与待分类文件中包含的实际位置固定特征之间的匹配操作。

s303:判断第一匹配文件类型的数量是否大于1,若是,执行s304,否则执行s305;

对应s202,本步骤为判断第一匹配文件类型的数量是否大于1。

s304:将唯一的第一匹配类型确定为待分类文件的文件类型;

s305:分别使用第二识别库中包含的每个位置非固定特征对待分类文件进行特征匹配操作,得到匹配位置非固定特征;

s306:根据第二对应关系确定与匹配位置非固定特征对应的文件类型为第二匹配文件类型;

与s301和s302的说明部分相同,这两部分执行的文件类型识别操作的实质都是已记录特征与实际特征之间的匹配操作,前者是位置固定特征,后者则是位置非固定特征。

s307:根据第一匹配文件类型和第二匹配文件类型确定待分类文件的文件类型。

在上一实施例的基础上,针对第一匹配文件类型的数量为多个(大于1)的情况,本实施例通过图8给出了一种通过每种备选文件类型对应的特征的数量和/或长度,来对备选文件类型是否可判定为待分类文件的真实文件类型进行评估的方案,以期通过此种方式给出严谨的结果,包括如下步骤:

s401:根据每个所述第一匹配文件类型的匹配位置固定特征的数量和/或长度计算得到第一概率,并按照概率的大小进行排序,得到第一排序表;

s402:根据每个所述第二匹配文件类型的匹配位置非固定特征的数量和/或长度计算得到第二概率,并按照概率的大小进行排序,得到第二排序表;

其中,该数量指每个第一/第二匹配文件类型对应的匹配位置固定/非固定特征的个数大小,数量越大其对应的第一/第二匹配文件类型为真实文件类型的概率越大;该长度指每个第一/第二匹配文件类型对应的匹配位置固定/非固定特征的数据长度,该数据长度可以为各式表达有意义内容所占用的长度,常见为字符串的长度,长度越长其对应的第一/第二匹配文件类型为真实文件类型的概率越大。

s403:将所述第一排序表和所述第二排序表中相同文件类型的第一概率和第二概率进行累加处理,得到处理后排序表;

在s401和s402的基础上,本实施例通过将累加的方式对分别通过两种不同特征得到的概率排序进行整合,得到一个综合两种特征得到的处理后排序表。

s405:根据处理后排序表中按可能性大小排序的每个匹配文件类型均作为待分类文件的可能文件类型。

最终为一个待分类文件输出的文件类型确定结果可能为:“xlsx/xls/zip”,从该输出的结果可以看出,应用本申请所提供的方案确定共确定出该待分类文件可能属于三种文件类型,分别为xlsx、xls和zip,每种之间用“/”隔开,假定这三种的排序为按可能性从高到低从左到右排列,说明该待分类文件的文件类型最有可能为xlsx,其次为xls,再其次为zip。之所以会出现这种情况,是因为xlsx和xls和zip在固定特征和非固定特征上存在共同点,由于其形成文件的底层结构有相似之处,且xlsx作为xls的高级版本文件类型,两者也存在很多相似之处。

进一步的,针对如何同时根据数量和长度特征进行可能性排序方面,本申请还具体提供了一种通过加权计算法来实现加权打分,并基于加权分值按大小进行可能性排序的方法,包括如下步骤:

将每个第一匹配文件类型按相应的匹配位置固定特征的数量和/或长度,利用加权计算法进行加权计算,得到各加权分值;其中,数量对应预设的第一权值,长度对应预设的第二权值;

将各加权分值按预设排序方式进行排序,得到第一排序表(第二排序表的生成过程同理,此处仅以第一排序表的生成过程为例)。

更进一步的,相比于数量特征,在存在应用程序升级创造了更高级的文件类型的情况(例如excel版本在以下的文件类型为xls,以上则为xlsx),发现两者的差异并不体现在数量上,而是在相同特征的长度上,例如两者都在相同的固定位置有一个位置固定特征,假定xls的是aaabbb,xlsx则经常会是aaabbbccc,即更高级版本的文件类型会在原特征字符串的基础上增加一部分,以通过这种方式来进行区别。在此种情况下就无法从数量上对两者进行区分,因此在采用加权计算法是适当增加长度对应的第二权值,使得通过权值的差异能够使得结果的排序更加正确。

在上述任意实施例的基础上,即使通过位置固定特征和/或位置非固定特征进行识别,也有可能存在两者的识别结果中都没有备选文件类型的情况,针对这种情况,本申请给出一种包括但不限于的解决方案:

当根据第一识别结果和/或第二识别结果无法确定出待分类文件的文件类型时,对待分类文件执行文本文件特征识别操作,得到第三识别结果;

根据第三识别结果确定待分类文件是否为纯文本文件。

上述解决方式是因为在实际应用场景下发现,诸如记事本等纯文本记录载体,其数据结构十分简单,不包含过多的可用于确认其文件类型的特征,仅包含有其中记录的文本信息,因此通过诸如utf-8\ascii\uft-8无bom等文本编解码方式来尝试编解码,看是否能够正确得到有意义的文本内容,如果其中一种能够得到有意义的文本内容,能够说明该待分类文件为纯文本文件。

在上述任意实施例的基础上,若在接收到待分类文件的同时也通过文件后缀确定出一个文件类型,但为了确认文件后缀对应的文件类型是否真实,并进而确定是否存在恶意内容,本申请还提供一种可行的方案:

将根据第一识别结果和/或第二识别结果确定出的文件类型标记为第一类型;

判断第二类型是否与所述第一类型一致;其中,第二类型为根据待分类文件的后缀确定出的文件类型;

若不一致,则为待分类文件附加异常标记,并对附加有异常标记的待分类文件执行恶意内容检测操作。

若第一类型与第二类型不一致(当第一类型为多个时,第二类型应至少与其中一个类型一致才能够被认为一致),则说明文件后缀给出的文件类型是错误的,将可以认为该待分类文件试图通过修改文件后缀的方式绕过文件类型检测机制,因此有理由怀疑其中可能包含恶意内容,因此为其附加异常标记,以便有针对性的执行恶意内容检测操作。

通过新式文件类型确定方案与恶意内容检测机制的联动,将使得系统整体拥有对试图通过修改文件类型的方式侵入的恶意内容更加的防范能力。

因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。

下面请参见图9,图9为本申请实施例提供的一种文件类型确定装置的结构框图,该装置可以包括:

待分类文件接收单元100,用于接收传入的待分类文件;

文件类型识别单元200,用于利用预设的第一识别库和/或预设的第二识别库对所述待分类文件执行文件类型识别操作,对应得到第一识别结果和/或第二识别结果;所述第一识别库中记录有每种文件类型与每种位置固定特征间的第一对应关系,所述第二识别库中记录有每种文件类型与每种位置非固定特征间的第二对应关系;

文件类型确定单元300,用于根据所述第一识别结果和/或所述第二识别结果确定所述待分类文件的文件类型。

其中,该文件类型识别单元200可以包括:

第一识别子单元,用于利用所述第一识别库对所述待分类文件执行所述文件类型识别操作,得到所述第一识别结果;

第二识别子单元,用于当无法根据所述第一识别结果唯一确定出所述待分类文件的文件类型时,利用所述第二识别库对所述待分类文件执行所述文件类型识别操作,得到所述第二识别结果;

文件类型共同识别子单元,用于利用所述第一识别结果和所述第二识别结果确定出所述待分类文件的文件类型。

其中,该第一识别子单元可以包括:

位置固定特征匹配模块,用于使用所述第一识别库中包含的每个位置固定特征对所述待分类文件进行特征匹配操作,得到匹配位置固定特征;

第一匹配文件类型确定模块,用于根据所述第一对应关系确定与所述匹配位置固定特征对应的文件类型为第一匹配文件类型;

对应的,该第二识别子单元可以包括:

位置非固定特征匹配模块,用于当所述第一匹配文件类型的数量大于1时,使用所述第二识别库中包含的每个位置非固定特征对所述待分类文件进行特征匹配操作,得到匹配位置非固定特征;

第二匹配文件类型确定模块,用于根据所述第二对应关系确定与所述匹配位置非固定特征对应的文件类型为第二匹配文件类型;

对应的,该文件类型共同识别子单元可以包括:

文件类型共同确定模块,用于根据所述第一匹配文件类型和所述第二匹配文件类型确定所述待分类文件的文件类型。

其中,该文件类型共同确定模块可以包括:

第一排序子模块,用于根据每个第一匹配文件类型的匹配位置固定特征的数量和/或长度计算得到第一概率,并按照概率的大小进行排序,得到第一排序表;

第二排序子模块,用于根据每个第二匹配文件类型的匹配位置非固定特征的数量和/或长度计算得到第二概率,并按照概率的大小进行排序,得到第二排序表;

累加处理子模块,用于将第一排序表和第二排序表中相同文件类型的第一概率和第二概率进行累加处理,得到处理后排序表;

可能文件类型确定子模块,用于根据处理后排序表中的每个匹配文件类型均作为待分类文件的可能文件类型。

其中,该第一排序子模块可以包括:

加权计算组件,用于将每个第一匹配文件类型按相应的匹配位置固定特征的数量和/或长度,利用加权计算法进行加权计算,得到各加权分值;其中,数量对应预设的第一权值,长度对应预设的第二权值;

分值排序组件,用于将各加权分值按大小进行排序,得到第一排序表。

进一步的,该文件类型确定装置还可以包括:

文本文件特征识别单元,用于当根据所述第一识别结果和/或所述第二识别结果无法确定出所述待分类文件的文件类型时,对所述待分类文件执行文本文件特征识别操作,得到第三识别结果;

纯文本文件确定单元,用于根据所述第三识别结果确定所述待分类文件是否为纯文本文件。

更进一步的,该文件类型确定装置还可以包括:

第一类型确定单元,用于将根据所述第一识别结果和/或所述第二识别结果确定出的文件类型标记为第一类型;

类型一致判断单元,用于判断第二类型是否与所述第一类型一致;其中,所述第二类型为根据所述待分类文件的后缀确定出的文件类型;

异常标记附加及恶意内容检测单元,用于当所述第二类型与所述第一类型不一致时,为所述待分类文件附加异常标记,并对附加有所述异常标记的待分类文件执行恶意内容检测操作。

本实施例作为对应于上述方法实施例的装置实施例存在,具有方法实施例的全部有益效果,此处不再一一赘述。

为加深理解,本申请还结合一种具体的应用场景,展示了本申请所提供的文件类型确定装置在这一场景下如何起到作用、发挥怎样的作用,可参见如图10所示的示意图:

本应用场景实施例将文件类型确定装置作为对客户端想要上传至存储设备进行存储的文件的类型进行判别的一个装置,可以看出:

图10中左侧为两个不同类型的上传客户端10,分别为移动式和固定式,中间为本申请所提供的文件类型确定装置20,右侧为存储设备30。

移动式上传客户端想要将文件1上传至存储设备30进行存储、固定式上传客户端想要将文件2上传至存储设备30进行存储,这两个动作都会首先经过文件类型确定装置20的检测,需要说明的是,在这一场景下,文件1和文件2均存在标识其文件类型的文件类型后缀。

文件类型确定装置20将按照本申请上述实施例所提供的任意确定方法,对文件1和文件2是否属于可上传至存储设备30进行存储的文件类型进行检测,最终判断得出文件1确定出的文件类型与其文件类型后缀一致,且该文件类型属于可被上传存储设备30进行存储的文件类型,而文件2确定出的文件类型则与其文件类型后缀表明的不一,因此将其判别为异常文件,并不允许其上传至存储设备30进行存储。

基于上述实施例,本申请还提供了一种电子设备,该电子设备可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的文件类型确定方法的各步骤。当然,该电子设备还可以包括各种必要的网络接口、电源以及其它零部件等。

图11示出了一种电子设备的结构示意图,该电子设备400包括存储器410、处理器420以及总线430,存储器410上存储有可在处理器420上运行的文件类型确定程序,该文件类型确定程序通过总线430被传输至处理器420,并在被处理器420执行时可实现如上述实施例所描述的文件类型确定方法中的各步骤。

其中,存储器410至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器410在一些实施例中可以是电子设备400的内部存储单元,例如该电子设备400的硬盘。存储器410在另一些实施例中也可以是该电子设备400的外部存储设备,例如该电子设备400上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器410还可以同时由内部存储单元和外部存储设备同时组成。进一步的,存储器410不仅可以用于存储安装于该电子设备400中的各种应用软件和各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器420在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器410中存储的程序代码或处理数据,例如文件类型确定程序等。

总线430可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条双向中空指示线表示,但并不表示仅有一根总线或一种类型的总线。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中所给出的方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:

1.一种文件类型确定方法,其特征在于,包括:

接收传入的待分类文件;

利用预设的第一识别库和/或预设的第二识别库对所述待分类文件执行文件类型识别操作,对应得到第一识别结果和/或第二识别结果;所述第一识别库中记录有每种文件类型与每种位置固定特征间的第一对应关系,所述第二识别库中记录有每种文件类型与每种位置非固定特征间的第二对应关系;

根据所述第一识别结果和/或所述第二识别结果确定所述待分类文件的文件类型。

2.根据权利要求1所述的文件类型确定方法,其特征在于,利用预设的第一识别库和/或预设的第二识别库对所述待分类文件执行文件类型识别操作,对应得到第一识别结果和/或第二识别结果,根据所述第一识别结果和/或所述第二识别结果确定所述待分类文件的文件类型,包括:

利用所述第一识别库对所述待分类文件执行所述文件类型识别操作,得到所述第一识别结果;

当无法根据所述第一识别结果唯一确定出所述待分类文件的文件类型时,利用所述第二识别库对所述待分类文件执行所述文件类型识别操作,得到所述第二识别结果;

利用所述第一识别结果和所述第二识别结果确定出所述待分类文件的文件类型。

3.根据权利要求2所述的文件类型确定方法,其特征在于,利用所述第一识别库对所述待分类文件执行所述文件类型识别操作,得到所述第一识别结果,包括:

使用所述第一识别库中包含的每个位置固定特征对所述待分类文件进行特征匹配操作,得到匹配位置固定特征;

根据所述第一对应关系确定与所述匹配位置固定特征对应的文件类型为第一匹配文件类型;

对应的,当无法根据所述第一识别结果唯一确定出所述待分类文件的文件类型时,包括:

当所述第一匹配文件类型的数量大于1时;

对应的,利用所述第二识别库对所述待分类文件执行所述文件类型识别操作,得到所述第二识别结果,包括:

使用所述第二识别库中包含的每个位置非固定特征对所述待分类文件进行特征匹配操作,得到匹配位置非固定特征;

根据所述第二对应关系确定与所述匹配位置非固定特征对应的文件类型为第二匹配文件类型;

对应的,根据所述第一识别结果和所述第二识别结果确定所述待分类文件的文件类型,包括:

根据所述第一匹配文件类型和所述第二匹配文件类型确定所述待分类文件的文件类型。

4.根据权利要求3所述的文件类型确定方法,其特征在于,根据所述第一匹配文件类型和所述第二匹配文件类型确定所述待分类文件的文件类型,包括:

根据每个所述第一匹配文件类型的匹配位置固定特征的数量和/或长度计算得到第一概率,并按照概率的大小进行排序,得到第一排序表;

根据每个所述第二匹配文件类型的匹配位置非固定特征的数量和/或长度计算得到第二概率,并按照概率的大小进行排序,得到第二排序表;

将所述第一排序表和所述第二排序表中相同文件类型的第一概率和第二概率进行累加处理,得到处理后排序表;

根据所述处理后排序表中的每个匹配文件类型均作为所述待分类文件的可能文件类型。

5.根据权利要求4所述的文件类型确定方法,其特征在于,根据每个所述第一匹配文件类型的匹配位置固定特征的数量和/或长度计算得到第一概率,并按照概率的大小进行排序,得到第一排序表,包括:

将每个所述第一匹配文件类型按相应的匹配位置固定特征的数量和/或长度,利用加权计算法进行加权计算,得到各加权分值;其中,所述数量对应预设的第一权值,所述长度对应预设的第二权值;

将各所述加权分值按大小进行排序,得到所述第一排序表。

6.根据权利要求1至5任一项所述的文件类型确定方法,其特征在于,当根据所述第一识别结果和/或所述第二识别结果无法确定出所述待分类文件的文件类型时,还包括:

对所述待分类文件执行文本文件特征识别操作,得到第三识别结果;

根据所述第三识别结果确定所述待分类文件是否为纯文本文件。

7.根据权利要求6所述的文件类型确定方法,其特征在于,还包括:

将根据所述第一识别结果和/或所述第二识别结果确定出的文件类型标记为第一类型;

判断第二类型是否与所述第一类型一致;其中,所述第二类型为根据所述待分类文件的后缀确定出的文件类型;

若不一致,则为所述待分类文件附加异常标记,并对附加有所述异常标记的待分类文件执行恶意内容检测操作。

8.一种文件类型确定装置,其特征在于,包括:

待分类文件接收单元,用于接收传入的待分类文件;

文件类型识别单元,用于利用预设的第一识别库和/或预设的第二识别库对所述待分类文件执行文件类型识别操作,对应得到第一识别结果和/或第二识别结果;所述第一识别库中记录有每种文件类型与每种位置固定特征间的第一对应关系,所述第二识别库中记录有每种文件类型与每种位置非固定特征间的第二对应关系;

文件类型确定单元,用于根据所述第一识别结果和/或所述第二识别结果确定所述待分类文件的文件类型。

9.一种电子设备,其特征在于,包括:

存储器,用于存储计算机程序;

处理器,用于在执行所述计算机程序时,实现如权利要求1至7任一项所述的文件类型确定方法。

10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序在被处理器执行时,实现如权利要求1至7任一项所述的文件类型确定方法。

技术总结

本申请公开了一种文件类型确定方法,区别于现有技术,本申请通过位置固定特征和/或位置非固定特征从待分类文件更深层次来做文件类型的识别,而非现有技术仅基于表层、易修改的后缀来确定文件类型,由于位置固定特征和位置非固定特征都是相应文件类型的文件按预设标准自行生成的,主动修改难度极大,因此可以很好的保障基于此特征确定出的文件类型的准确度,并进而有效的防止经过文件类型伪装的恶意文件的入侵。本申请还同时公开了一种文件类型确定装置、电子设备及可读存储介质,具有上述有益效果。

技术研发人员:蔡家坡

受保护的技术使用者:深信服科技股份有限公司

技术研发日:.11.07

技术公布日:.02.21

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。