CN113553587B - 一种文件检测方法、装置、设备及可读存储介质 - Google Patents
一种文件检测方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN113553587B CN113553587B CN202110687758.7A CN202110687758A CN113553587B CN 113553587 B CN113553587 B CN 113553587B CN 202110687758 A CN202110687758 A CN 202110687758A CN 113553587 B CN113553587 B CN 113553587B
- Authority
- CN
- China
- Prior art keywords
- file
- malicious
- data
- tree
- features
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 12
- 230000036961 partial effect Effects 0.000 claims description 11
- 230000000694 effects Effects 0.000 abstract description 2
- 238000004458 analytical method Methods 0.000 description 8
- 230000002155 anti-virotic effect Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000013515 script Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000001066 destructive effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000004659 sterilization and disinfection Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Abstract
本申请公开了一种文件检测方法、装置、设备及可读存储介质。本申请公开的方法包括:获取目标文件;若从所述目标文件中提取出恶意特征,则建立所述目标文件与所述恶意特征之间的关联关系;存储所述恶意特征和所述关联关系至恶意特征库,据此关联关系就可以对恶意特征库中的特征进行溯源和修改。相应地,本申请提供的一种文件检测装置、设备及可读存储介质,也同样具有上述技术效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种文件检测方法、装置、设备及可读存储介质。
背景技术
目前,当恶意特征库中的特征出错时,也就是错误地将正常特征记录在恶意特征库中时,由于恶意特征库中只记录特征,导致无法对出错的特征进行溯源和修改。因此,如何对恶意特征库中的特征进行溯源和修改,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种文件检测方法、装置、设备及可读存储介质,以对恶意特征库中的特征进行溯源和修改。其具体方案如下:
第一方面,本申请提供了一种文件检测方法,包括:
获取目标文件;
若从所述目标文件中提取出恶意特征,则建立所述目标文件与所述恶意特征之间的关联关系;
存储所述恶意特征和所述关联关系至恶意特征库。
优选地,所述建立所述目标文件与所述恶意特征之间的关联关系,包括:
计算所述目标文件的文件哈希值,建立所述文件哈希值与所述恶意特征之间的关联关系。
优选地,所述从所述目标文件中提取出恶意特征,包括:
若确定所述目标文件为黑文件,则确定所述目标文件的文件类型;
按照所述文件类型解析所述目标文件,以提取所述恶意特征。
优选地,所述按照所述文件类型解析所述目标文件,以提取所述恶意特征,包括:
按照所述文件类型将所述目标文件转换为结构树;
利用任意白数据替换所述结构树中的任意节点处的数据,以得到更新树;
若所述更新树不包括恶意数据,则将被替换节点处的数据作为所述恶意特征。
优选地,所述按照所述文件类型将所述目标文件转换为结构树,包括:
按照所述文件类型解析所述目标文件中的数据仓库;
将每个数据仓库中的数据流确定为树节点,并连接各个树节点得到所述结构树。
优选地,所述将每个数据仓库中的数据流确定为树节点之前,还包括:
按照预设扇区大小将每个数据仓库中的数据流划分为多个数据块;
计算每个数据块的块哈希值,将块哈希值相同的至少两个数据块仅保留一个。
优选地,所述利用任意白数据替换所述结构树中的任意节点处的数据,以得到更新树,包括:
在被替换节点处的数据中确定可替换的部分数据块;
确定所述部分数据块的类型;
在预设替换库中查询与所述类型对应的目标白数据;
利用所述目标白数据替换所述部分数据块,以得到所述更新树。
优选地,还包括:
在所述更新树包括恶意数据的情况下,和/或所述将被替换节点处的数据作为所述恶意特征之后,将所述结构树中已被替换的节点确定为已检测节点,并在所述结构树中确定除所述已检测节点以外的其他节点,并利用任意白数据替换所述其他节点处的数据,以得到新的更新树。
优选地,还包括:
若利用所述恶意特征库将白文件检测为黑文件,则在所述恶意特征库中查询将所述白文件检测为黑文件的误报恶意特征;
从所述恶意特征库中删除所述误报恶意特征,并对与所述误报恶意特征具有关联关系的其他文件进行重新检测。
优选地,还包括:
若利用所述恶意特征库将未知文件检测为黑文件,则在所述恶意特征库中查询将所述未知文件检测为黑文件的已知恶意特征;
建立所述未知文件和所述已知恶意特征之间的关联关系后,存储该关联关系至所述恶意特征库。
第二方面,本申请提供了一种文件检测装置,包括:
获取模块,用于获取目标文件;
建立模块,用于若从所述目标文件中提取出恶意特征,则建立所述目标文件与所述恶意特征之间的关联关系;
存储模块,用于存储所述恶意特征和所述关联关系至恶意特征库。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的文件检测方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的文件检测方法。
通过以上方案可知,本申请提供了一种文件检测方法,包括:获取目标文件;若从所述目标文件中提取出恶意特征,则建立所述目标文件与所述恶意特征之间的关联关系;存储所述恶意特征和所述关联关系至恶意特征库。
可见,本申请能够提取目标文件中的恶意特征,然后建立目标文件与恶意特征之间的关联关系后,存储恶意特征和关联关系至恶意特征库,据此关联关系就可以对恶意特征库中的特征进行溯源,即:基于一个恶意特征可以找到与之相关的文件,基于一个文件也可以找到与之相关的恶意特征。当错误地将正常特征记录在恶意特征库中后,基于此关联关系就可以找到与出错恶意特征关联的文件,如有必要,可以从该文件中重新提取恶意特征,以替换出错恶意特征。
相应地,本申请提供的一种文件检测装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的第一种文件检测方法流程图;
图2为本申请公开的第二种文件检测方法流程图;
图3本申请公开的一种xls文件中的数据流示意图;
图4为本申请公开的另一种文件检测方法流程图;
图5为本申请公开的一种文件检测装置示意图;
图6为本申请公开的一种电子设备示意图;
图7为本申请公开的另一种电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,当恶意特征库中的特征出错时,也就是错误地将正常特征记录在恶意特征库中时,由于恶意特征库中只记录特征,导致无法对出错的特征进行溯源。为此,本申请提供了一种文件检测方案,能够对恶意特征库中的特征进行溯源和修改。
参见图1所示,本申请实施例公开了第一种文件检测方法,包括:
S101、获取目标文件。
在本实施例中,目标文件可以是图片、音频、代码、各种非PE(PortableExecutable)文件(即不可执行的文件),各种PE文件(即可执行的文件)等。非PE文件常见的文件类型有pdf,doc,xls,txt等。PE文件常见的文件类型有EXE、DLL、OCX、SYS、COM等。
S102、若从目标文件中提取出恶意特征,则建立目标文件与恶意特征之间的关联关系。
其中,若从目标文件中提取出恶意特征,则该目标文件为黑文件,此时建立目标文件与恶意特征之间的关联关系,即:基于关联关系关联恶意特征和该目标文件,以实现:基于一个恶意特征可以找到与之相关的文件,基于一个文件也可以找到与之相关的恶意特征。
提取恶意特征首先需要对目标文件进行解析和检测,以确定目标文件是否包括恶意数据,当目标文件包括恶意数据时,才执行提取特意特征的步骤,否则,跳过该目标文件,以免进行无谓的解析提取操作,从而提高效率,节约计算开销。其中,确定目标文件是否包括恶意数据的方法可以是:利用各种杀毒软件检测文件,只要有至少一个杀毒软件认为该文件含有恶意特征,则对该文件进行解析和恶意特征提取。因此在一种具体实施方式中,从目标文件中提取出恶意特征,包括:若确定目标文件为黑文件,则确定目标文件的文件类型;按照文件类型解析目标文件,以提取恶意特征。
当目标文件为不同类型的文件时,需要解析的内容和解析方法随文件类型适应性调整。例如:针对OFFICE文件而言,可以解析文件中的所有宏代码和脚本文件;文件中内嵌的其它文件等,还可以将宏代码插入一个空白模板文件生成新样本。针对PDF文件而言,可以解析PDF的URI、数据流、应用程序、JS代码等。针对HTML文件而言,可以解析HTML中script、iframe标签中的数据。
据此,可以提前针对每种类型的文件设置需要解析的内容列表,之后可按照此内容列表解析相应文件,以便有针对性的解析文件。同时,还可以避免对文件进行全局检测,也即:按照内容列表对文件进行局部解析,从而减少需要解析的数据量。
S103、存储恶意特征和关联关系至恶意特征库。
需要说明的是,目标文件与恶意特征之间的关联关系可以看作一个关联索引,基于此关联索引可以确定唯一一个目标文件和唯一一个恶意特征。如:目标文件用A表示,恶意特征用a表示,那么二者之间的关联关系可表示为:A-a。
当然,一个恶意特征可能与多个文件具有关联关系,一个文件也可能与多个恶意特征具有关联关系。因此恶意特征库中可能包括A-a、A-b、B-a、A-c等多个关联索引。这些关联索引可以以文件或恶意特征为中心进行合并,例如:将A-a、A-b、A-c合并为以A为中心,以a、b、c为端点拓扑图。又或者将A-a、B-a合并为以a为中心,以A、B为端点的拓扑图。
其中,可以利用哈希算法区分不同文件和不同恶意特征。在一种具体实施方式中,建立目标文件与恶意特征之间的关联关系,包括:计算目标文件的文件哈希值,建立文件哈希值与恶意特征之间的关联关系。当然,也可以计算恶意特征的哈希值,然后建立文件哈希值与恶意特征的哈希值之间的关联关系进行存储。其中,哈希算法也可以替换为其他具有相同作用的算法或策略。
可见,本实施例能够提取目标文件中的恶意特征,然后建立目标文件与恶意特征之间的关联关系后,存储恶意特征和关联关系至恶意特征库,据此关联关系就可以对恶意特征库中的特征进行溯源,即:基于一个恶意特征可以找到与之相关的文件,基于一个文件也可以找到与之相关的恶意特征。当错误地将正常特征记录在恶意特征库中后,基于此关联关系就可以找到与出错恶意特征关联的文件,如有必要,可以从该文件中重新提取恶意特征,以替换出错恶意特征。
参见图2所示,本申请实施例公开了第二种文件检测方法,包括:
S201、获取目标黑文件。
其中,黑文件即:文件中包括恶意数据的文件。
S202、确定目标黑文件的文件类型。
需要说明的是,目标黑文件可以为任意文件,详见上述实施例的相关介绍。
S203、按照文件类型解析目标黑文件,并提取目标黑文件中的恶意特征。
目标黑文件为不同类型的文件时,需要解析的内容和解析方法随文件类型适应性调整。例如:针对OFFICE文件而言,可以解析文件中的所有宏代码和脚本文件;文件中内嵌的其它文件等,还可以将宏代码插入一个空白模板文件生成新样本。针对PDF文件而言,可以解析PDF的URI、数据流、应用程序、JS代码等。针对HTML文件而言,可以解析HTML中script、iframe标签中的数据。
据此,可以提前针对每种类型的文件设置需要解析的内容列表,之后可按照此内容列表解析相应文件,以便有针对性的解析文件。同时,还可以避免对文件进行全局检测,也即:按照内容列表对文件进行局部解析,从而减少需要解析的数据量。
S204、建立目标黑文件与恶意特征之间的关联关系后,存储恶意特征和关联关系至恶意特征库。
需要说明的是,目标黑文件与恶意特征之间的关联关系可以看作一个关联索引,基于此关联索引可以确定唯一一个目标黑文件和唯一一个恶意特征。如:目标黑文件用A表示,恶意特征用a表示,那么二者之间的关联关系可表示为:A-a。
当然,一个恶意特征可能与多个文件具有关联关系,一个文件也可能与多个恶意特征具有关联关系。因此恶意特征库中可能包括A-a、A-b、B-a、A-c等多个关联索引。这些关联索引可以以文件或恶意特征为中心进行合并,例如:将A-a、A-b、A-c合并为以A为中心,以a、b、c为端点拓扑图。又或者将A-a、B-a合并为以a为中心,以A、B为端点的拓扑图。
其中,可以利用哈希算法区分不同文件和不同恶意特征。在一种具体实施方式中,建立目标黑文件与恶意特征之间的关联关系,包括:计算目标黑文件的文件哈希值,建立文件哈希值与恶意特征之间的关联关系。当然,也可以计算恶意特征的哈希值,然后建立文件哈希值与恶意特征的哈希值之间的关联关系进行存储。其中,哈希算法也可以替换为其他具有相同作用的算法或策略。
可见,本实施例能够按照文件类型解析目标黑文件,并提取目标黑文件中的恶意特征,然后建立目标黑文件与所述恶意特征之间的关联关系后,存储恶意特征和关联关系至恶意特征库,据此关联关系就可以对恶意特征库中的特征进行溯源,即:基于一个恶意特征可以找到与之相关的文件,基于一个文件也可以找到与之相关的恶意特征。当错误地将正常特征记录在恶意特征库中后,基于此关联关系就可以找到与出错恶意特征关联的文件,后续还可以从该文件中重新提取恶意特征,以替换出错恶意特征。
基于上述实施例,需要说明的是,在一种具体实施方式中,若利用恶意特征库将白文件检测为黑文件,则表明恶意特征库错误地将白文件中的某些内容检测为了恶意特征,同时也表明:恶意特征库错误地将正常内容记录为了恶意特征,因此在恶意特征库中查询将白文件检测为黑文件的误报恶意特征,然后从恶意特征库中删除误报恶意特征,并对与误报恶意特征具有关联关系的其他文件进行重新检测,以修正恶意特征库。
其中,白文件即:利用各种杀毒引擎都检测该文件不包括恶意数据。
利用恶意特征库检测文件的具体过程包括:将文件中的字符串与恶意特征库中的恶意特征进行匹配,若文件中的字符串与某一恶意特征匹配,则判定该文件为黑文件。具体的字符串匹配过程可以参照现有相关技术,本说明书在此不再赘述。
基于上述实施例,需要说明的是,在一种具体实施方式中,若利用恶意特征库将未知文件检测为黑文件,则表明未知文件中存在恶意特征库中已记录的已知恶意特征,那么在恶意特征库中查询将未知文件检测为黑文件的已知恶意特征,并建立未知文件和已知恶意特征之间的关联关系后,存储该关联关系至恶意特征库,以丰富恶意特征库。其中,黑文件即:文件中包括恶意数据的文件。
当目标文件为具有特定格式的文件时,本申请提取恶意特征的过程可以使用结构树完成,具体可参照下述介绍。也即:“结构树”这一手段不适用于“图片、音频、脚本”等不具有特定格式的文件。具体特定格式的文件即:具有已知的各个组成结构的文件,如:PDF、HTML等,也就是可以提前设置需要解析的内容列表的文件。
在一种具体实施方式中,按照文件类型解析目标文件,并提取目标文件中的恶意特征,包括:按照文件类型将目标文件转换为结构树;利用任意白数据替换结构树中的任意节点处的数据,以得到更新树;若更新树不包括恶意特征,则表明经过替换,黑文件转换成了白文件,也就说明被替换的这些数据是导致目标文件为黑文件的原因,因此将被替换节点处的数据作为恶意特征。如此也就从黑文件中筛选出了恶意特征,完成了文件的静态检测。静态检测指:在不运行文档的前提下,检查文档中的恶意特征。恶意特征可以包括:代码特征、文档内容特征、结构特征等。这里的文件类型特指具体特定格式的文件。
在一种示例中,按照文件类型将目标文件转换为结构树,包括:按照文件类型解析目标文件中的数据仓库;将每个数据仓库中的数据流确定为树节点,并连接各个树节点得到结构树。按照文件类型解析目标文件中的数据仓库时,可以参照上述实施例提及的内容列表有针对性的解析局部内容。也即:仅解析内容列表中提及的部分数据仓库。
数据仓库中包括各种数据流。以xls文件为例,基于该文件的文档结构可确定多个数据仓库,某一数据仓库中的各种数据流可以包括:组件对象流、控制流、数据空间存储、文档摘要信息流等,具体可参照图3。
在一种示例中,将每个数据仓库中的数据流确定为树节点之前,还包括:按照预设扇区大小将每个数据仓库中的数据流划分为多个数据块;计算每个数据块的块哈希值,将块哈希值相同的至少两个数据块仅保留一个,以避免一个树节点中出现重复数据块,从而降低后续步骤的数据处理量。也即:每个数据流作为树节点之前,先将其划分为预设扇区大小的数据块,这样结构树的每个节点处的数据都能够以预设扇区大小的数据块存储,便于进行数据替换。如:仅替换某一节点处的一个或几个数据块,从而完成被替换节点处的数据替换。当然,也可以替换被替换节点处的所有数据来完成被替换节点处的数据替换。
在一种示例中,利用任意白数据替换结构树中的任意节点处的数据,以得到更新树,包括:在被替换节点处的数据中确定可替换的部分数据块;确定部分数据块的类型;在预设替换库中查询与类型对应的目标白数据;利用目标白数据替换部分数据块,以得到更新树。部分数据块的类型如:字符、函数等。
预设替换库中可以预先存储各种白数据,如:乱码字符、函数等。白数据指:不包括恶意数据的正常数据,其对文件、系统不会产生干扰、也不会破坏文件、系统等的正常运行。需要说明的是,在进行数据替换时,可以在预设替换库中优先选择与被替换对象(即:节点处的数据中的部分数据块)类似的数据。例如:被替换对象为函数,那么在预设替换库中选择函数对其进行替换。
替换结构树中的任意节点处的数据时,可以替换被替换节点处的全部数据内容,也可以仅替换被替换节点处的部分数据内容。在不断的替换和文件黑白检测后,就可以检测出黑文件中的恶意特征。
文件黑白检测可利用杀毒引擎完成。若多个杀毒引擎中的任意杀毒引擎判定文件包括恶意数据,则确定文件为黑文件。若所有杀毒引擎都检测该文件不包括恶意数据,则可确定该文件为白文件。
若利用任意白数据替换结构树中的任意节点处的数据后,所得的更新树包括恶意特征,则表明经过替换,黑文件仍然是黑文件,此时无法确定被替换的这些数据是否为导致文件为黑文件的原因。因为被替换的这些数据可能是恶意特征,也可能是白数据。也就是:导致文件为黑文件的原因可能有多个。
需要说明的是,文件中的多个恶意特征可以是独立的,也可以是互相关联的。例如:文件中包括3个恶意特征:A、B、C,且A、B、C这三者需要同时存在才能导致该文件对系统有破坏作用,因此若A被替换,该文件会被杀毒引擎判定为白文件,因为B和C不会导致文件具有破坏作用,之后可继续检测该文件对应的结构树中的其他节点,就可以检测出恶意特征B、C(假设A、B、C位于结构树的不同节点)。
当然,若A、B、C是独立的恶意特征,那么若A被替换,该文件仍然会被杀毒引擎判定为黑文件,此时无法确定被替换的A是恶意特征,还是白数据,也就出现了恶意特征的漏检。这种情况一般是允许存在的。后续可以继续检测结构树的其他节点。
在一种示例中,在更新树包括恶意特征的情况下,和/或将被替换节点处的数据作为恶意特征之后,将结构树中已被替换的节点确定为已检测节点,并在结构树中确定除已检测节点以外的其他节点,并利用任意白数据替换其他节点处的数据,以得到新的更新树。
参见图4所示,本申请实施例公开了另一种文件检测方法,包括:
步骤1:用当前恶意特征库检测待处理样本;
步骤2:若检测待处理样本为黑文件,则建立该样本与已知恶意特征之间的联系记录(即关联关系),并记录入库;
步骤3:若检测待处理样本为白文件,则利用杀毒软件检测待处理样本;
步骤4:若利用杀毒软件检测待处理样本为白文件,则丢弃该样本;
步骤5:若利用杀毒软件检测待处理样本为黑文件,则对样本分块后,以从样本中提取恶意特征(具体可参见上述实施例介绍的解析文件、提取恶意特征的过程),并建立恶意特征和该样本的联系记录,并记录入库;
步骤6:若恶意特征库中出现误报恶意特征,则删除该特征后进行特征溯源,以对该特征关联的文件进行重新检测。
其中,对样本分块后,可以计算各个块的哈希值,将哈希值相同的多个块仅保留一个,以避免出现重复块,在检测初期降低数据检测量。
其中,按照文件类型的不同,对文件解析分块的具体内容也不同。针对OFFICE文件而言,可以解析文件中的所有宏代码和脚本文件;文件中内嵌的其它文件等,还可以将宏代码插入一个空白模板文件生成新样本。针对PDF文件而言,可以解析PDF的URI、数据流、应用程序、JS代码等。针对HTML文件而言,可以解析HTML中script、iframe标签中的数据。
联系记录的建立主要依赖文件和恶意特征。例如:某文件S解析出了一个块B,且在块B上提取出了恶意特征F。那么S的哈希就能唯一的索引到F。如果F能检测其它的样本,如S2,那么S2的哈希也能索引到F。同时,在知道F的情况下也能查询到S和S2。当然,还可以计算块B的哈希,从而建立文件S-块B-恶意特征F的联系记录。
假设某一日发现F实际上是非恶意特征,那么根据F就能回溯查询到文件S和S2。此时可以重新对S和S2提取特征F`,从而保证受F影响的文件都能被检测,从而不影响恶意特征库的检测能力。
可见,本实施例依据文件类型、采用结构解析方法将文件分解成多个可能包含恶意特征的块,并通过计算块哈希确保分解的块的唯一性,以避免对包含相同恶意内容的不同文件重复分析。之后在对块提取特征时通过附加文件和/或块的哈希就能回溯找到原始文件,以实现对特征全生命周期的维护。就算后期删除误报恶意特征,也不会影响恶意特征库的检测能力。本实施例能非常方便的实现自动化,且使用后能大幅降低特征生命周期维护所需的人工介入时间,能很好的用于存量和增量都很大的非PE文件处理场景。
下面对本申请实施例提供的一种文件检测装置进行介绍,下文描述的一种文件检测装置与上文描述的一种文件检测方法可以相互参照。
参见图5所示,本申请实施例公开了一种文件检测装置,包括:
获取模块501,用于获取目标文件;
建立模块502,用于若从目标文件中提取出恶意特征,则建立目标文件与恶意特征之间的关联关系;
存储模块503,用于存储恶意特征和关联关系至恶意特征库。
在一种具体实施方式中,建立模块具体用于:
计算目标文件的文件哈希值,建立文件哈希值与恶意特征之间的关联关系。
在一种具体实施方式中,建立模块包括:
确定单元,用于若确定目标文件为黑文件,则确定目标文件的文件类型;
提取单元,用于按照文件类型解析目标文件,以提取恶意特征。
在一种具体实施方式中,提取单元包括:
转换子单元,用于按照文件类型将目标文件转换为结构树;
替换子单元,用于利用任意白数据替换结构树中的任意节点处的数据,以得到更新树;
确定子单元,用于若更新树不包括恶意数据,则将被替换节点处的数据作为恶意特征。
在一种具体实施方式中,转换子单元包括:
解析块,用于按照文件类型解析目标文件中的数据仓库;
连接块,用于将每个数据仓库中的数据流确定为树节点,并连接各个树节点得到结构树。
在一种具体实施方式中,转换子单元还包括:
划分块,用于按照预设扇区大小将每个数据仓库中的数据流划分为多个数据块;
去冗余块,用于计算每个数据块的块哈希值,将块哈希值相同的至少两个数据块仅保留一个。
在一种具体实施方式中,替换子单元具体用于:
在被替换节点处的数据中确定可替换的部分数据块;
确定部分数据块的类型;
在预设替换库中查询与类型对应的目标白数据;
利用目标白数据替换部分数据块,以得到更新树。
在一种具体实施方式中,提取单元还包括:
迭代子单元,用于在更新树包括恶意数据的情况下,和/或将被替换节点处的数据作为恶意特征之后,将结构树中已被替换的节点确定为已检测节点,并在结构树中确定除已检测节点以外的其他节点,并利用任意白数据替换其他节点处的数据,以得到新的更新树。
在一种具体实施方式中,还包括:
误报特征处理模块,用于若利用恶意特征库将白文件检测为黑文件,则在恶意特征库中查询将白文件检测为黑文件的误报恶意特征;从恶意特征库中删除误报恶意特征,并对与误报恶意特征具有关联关系的其他文件进行重新检测。
在一种具体实施方式中,还包括:
更新模块,用于若利用恶意特征库将未知文件检测为黑文件,则在恶意特征库中查询将未知文件检测为黑文件的已知恶意特征;建立未知文件和已知恶意特征之间的关联关系后,存储该关联关系至恶意特征库。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种文件检测装置,该装置能够建立目标文件与恶意特征之间的关联关系,存储恶意特征和关联关系至恶意特征库,据此关联关系就可以对恶意特征库中的特征进行溯源。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种文件检测方法及装置可以相互参照。
参见图6所示,本申请实施例公开了一种电子设备,包括:
存储器601,用于保存计算机程序;
处理器602,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
请参考图7,图7为本实施例提供的另一种电子设备示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在电子设备301上执行存储介质330中的一系列指令操作。
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
在图7中,应用程序342可以是执行文件检测方法的程序,数据344可以是执行文件检测方法所需的或产生的数据。
上文所描述的文件检测方法中的步骤可以由电子设备的结构实现。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种文件检测方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的文件检测方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (11)
1.一种文件检测方法,其特征在于,包括:
获取目标文件;
若从所述目标文件中提取出恶意特征,则建立所述目标文件与所述恶意特征之间的关联关系;
若确定所述目标文件为黑文件,则确定所述目标文件的文件类型;其中,提取恶意特征的过程使用结构树完成,按照所述目标文件的文件类型将所述目标文件转换为结构树;利用任意白数据替换所述结构树中的任意节点处的数据,以得到更新树;若所述更新树不包括恶意数据,则将被替换节点处的数据作为所述恶意特征;
存储所述恶意特征和所述关联关系至恶意特征库。
2.根据权利要求1所述的方法,其特征在于,所述建立所述目标文件与所述恶意特征之间的关联关系,包括:
计算所述目标文件的文件哈希值,建立所述文件哈希值与所述恶意特征之间的关联关系。
3.根据权利要求1所述的方法,其特征在于,所述按照所述文件类型将所述目标文件转换为结构树,包括:
按照所述文件类型解析所述目标文件中的数据仓库;
将每个数据仓库中的数据流确定为树节点,并连接各个树节点得到所述结构树。
4.根据权利要求3所述的方法,其特征在于,所述将每个数据仓库中的数据流确定为树节点之前,还包括:
按照预设扇区大小将每个数据仓库中的数据流划分为多个数据块;
计算每个数据块的块哈希值,将块哈希值相同的至少两个数据块仅保留一个。
5.根据权利要求1所述的方法,其特征在于,所述利用任意白数据替换所述结构树中的任意节点处的数据,以得到更新树,包括:
在被替换节点处的数据中确定可替换的部分数据块;
确定所述部分数据块的类型;
在预设替换库中查询与所述类型对应的目标白数据;
利用所述目标白数据替换所述部分数据块,以得到所述更新树。
6.根据权利要求1所述的方法,其特征在于,还包括:
在所述更新树包括恶意数据的情况下,和/或所述将被替换节点处的数据作为所述恶意特征之后,将所述结构树中已被替换的节点确定为已检测节点,并在所述结构树中确定除所述已检测节点以外的其他节点,并利用任意白数据替换所述其他节点处的数据,以得到新的更新树。
7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:
若利用所述恶意特征库将白文件检测为黑文件,则在所述恶意特征库中查询将所述白文件检测为黑文件的误报恶意特征;
从所述恶意特征库中删除所述误报恶意特征,并对与所述误报恶意特征具有关联关系的其他文件进行重新检测。
8.根据权利要求1至6任一项所述的方法,其特征在于,还包括:
若利用所述恶意特征库将未知文件检测为黑文件,则在所述恶意特征库中查询将所述未知文件检测为黑文件的已知恶意特征;
建立所述未知文件和所述已知恶意特征之间的关联关系后,存储该关联关系至所述恶意特征库。
9.一种文件检测装置,其特征在于,包括:
获取模块,用于获取目标文件;
建立模块,用于若从所述目标文件中提取出恶意特征,则建立所述目标文件与所述恶意特征之间的关联关系;若确定所述目标文件为黑文件,则确定所述目标文件的文件类型;其中,提取恶意特征的过程使用结构树完成,按照所述目标文件的文件类型将所述目标文件转换为结构树;利用任意白数据替换所述结构树中的任意节点处的数据,以得到更新树;若所述更新树不包括恶意数据,则将被替换节点处的数据作为所述恶意特征;
存储模块,用于存储所述恶意特征和所述关联关系至恶意特征库。
10.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至8任一项所述的方法。
11.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110687758.7A CN113553587B (zh) | 2021-06-21 | 2021-06-21 | 一种文件检测方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110687758.7A CN113553587B (zh) | 2021-06-21 | 2021-06-21 | 一种文件检测方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113553587A CN113553587A (zh) | 2021-10-26 |
CN113553587B true CN113553587B (zh) | 2024-02-23 |
Family
ID=78102228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110687758.7A Active CN113553587B (zh) | 2021-06-21 | 2021-06-21 | 一种文件检测方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553587B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012011831A1 (de) * | 2012-06-14 | 2013-12-19 | Gabriele Trinkel | Verfahren und System zur Klassifizierung und Anwendung mindestens eines Ranking-Paramter bei Datenspuren |
CN103632084A (zh) * | 2012-08-20 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 恶意特征数据库的建立方法、恶意对象检测方法及其装置 |
CN103761478A (zh) * | 2014-01-07 | 2014-04-30 | 北京奇虎科技有限公司 | 恶意文件的判断方法及设备 |
CN109598107A (zh) * | 2018-11-20 | 2019-04-09 | 江苏通付盾信息安全技术有限公司 | 一种基于应用安装包文件的代码转换方法及装置 |
EP3506141A1 (en) * | 2017-12-29 | 2019-07-03 | Cyphort Inc. | System for query injection detection using abstract syntax trees |
CN111027091A (zh) * | 2019-11-13 | 2020-04-17 | 北京字节跳动网络技术有限公司 | 一种管理权限的方法、装置、介质和电子设备 |
CN112136123A (zh) * | 2017-03-02 | 2020-12-25 | 维鲁斯托塔尔Slu公司 | 表征文件以进行相似性搜索 |
CN112231645A (zh) * | 2020-11-09 | 2021-01-15 | 北京理工大学 | 一种基于主动学习的恶意pdf文档检测方法 |
-
2021
- 2021-06-21 CN CN202110687758.7A patent/CN113553587B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102012011831A1 (de) * | 2012-06-14 | 2013-12-19 | Gabriele Trinkel | Verfahren und System zur Klassifizierung und Anwendung mindestens eines Ranking-Paramter bei Datenspuren |
CN103632084A (zh) * | 2012-08-20 | 2014-03-12 | 百度在线网络技术(北京)有限公司 | 恶意特征数据库的建立方法、恶意对象检测方法及其装置 |
CN103761478A (zh) * | 2014-01-07 | 2014-04-30 | 北京奇虎科技有限公司 | 恶意文件的判断方法及设备 |
CN112136123A (zh) * | 2017-03-02 | 2020-12-25 | 维鲁斯托塔尔Slu公司 | 表征文件以进行相似性搜索 |
EP3506141A1 (en) * | 2017-12-29 | 2019-07-03 | Cyphort Inc. | System for query injection detection using abstract syntax trees |
CN109598107A (zh) * | 2018-11-20 | 2019-04-09 | 江苏通付盾信息安全技术有限公司 | 一种基于应用安装包文件的代码转换方法及装置 |
CN111027091A (zh) * | 2019-11-13 | 2020-04-17 | 北京字节跳动网络技术有限公司 | 一种管理权限的方法、装置、介质和电子设备 |
CN112231645A (zh) * | 2020-11-09 | 2021-01-15 | 北京理工大学 | 一种基于主动学习的恶意pdf文档检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113553587A (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713680B2 (en) | Method and apparatus for modeling computer program behaviour for behavioural detection of malicious program | |
KR101337874B1 (ko) | 파일 유전자 지도를 이용하여 파일의 악성코드 포함 여부를 판단하는 방법 및 시스템 | |
US8990792B2 (en) | Method for constructing dynamic call graph of application | |
CN109726185B (zh) | 一种基于语法树的日志解析方法、系统和计算机可读介质 | |
US20150207811A1 (en) | Vulnerability vector information analysis | |
US20100085481A1 (en) | Frame based video matching | |
CN106156098B (zh) | 一种纠错对挖掘方法及系统 | |
JP6282217B2 (ja) | 不正プログラム対策システムおよび不正プログラム対策方法 | |
CN104182548A (zh) | 网页更新处理方法及装置 | |
US9201754B2 (en) | Recording application consumption details | |
CN112445997A (zh) | 一种提取cms多版本识别特征规则的方法及装置 | |
CN112148305A (zh) | 一种应用检测方法、装置、计算机设备和可读存储介质 | |
CN113553587B (zh) | 一种文件检测方法、装置、设备及可读存储介质 | |
CN116821903A (zh) | 检测规则确定及恶意二进制文件检测方法、设备及介质 | |
RU2583712C2 (ru) | Система и способ обнаружения вредоносных файлов определенного типа | |
CN113297583B (zh) | 漏洞风险分析方法、装置、设备及存储介质 | |
CN112202763B (zh) | 一种ids策略生成方法、装置、设备及介质 | |
KR20160089995A (ko) | 분산 병렬 처리 기반의 html5 문서 수집 및 분석 장치 및 방법 | |
CN113051329B (zh) | 基于接口的数据采集方法、装置、设备及存储介质 | |
CN115577354A (zh) | 一种Office文件检测方法、装置、设备及可读存储介质 | |
CN115622818B (zh) | 一种网络攻击数据处理方法及装置 | |
CN113127865B (zh) | 一种恶意文件的修复方法、装置、电子设备及存储介质 | |
KR102336466B1 (ko) | 악성코드 탐지장치 및 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 | |
CN113127644B (zh) | 安全知识图谱的构建方法和系统 | |
CN116015763A (zh) | 一种威胁度检测方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |