CN104680067B - 文件的检测方法及装置 - Google Patents

文件的检测方法及装置 Download PDF

Info

Publication number
CN104680067B
CN104680067B CN201510082108.4A CN201510082108A CN104680067B CN 104680067 B CN104680067 B CN 104680067B CN 201510082108 A CN201510082108 A CN 201510082108A CN 104680067 B CN104680067 B CN 104680067B
Authority
CN
China
Prior art keywords
file
fragment
sample
specific characteristic
combination
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
Application number
CN201510082108.4A
Other languages
English (en)
Other versions
CN104680067A (zh
Inventor
熊蜀光
冯侦探
曹德强
邓小路
王新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Anyi Hengtong Beijing Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Anyi Hengtong Beijing Technology Co Ltd filed Critical Anyi Hengtong Beijing Technology Co Ltd
Priority to CN201510082108.4A priority Critical patent/CN104680067B/zh
Publication of CN104680067A publication Critical patent/CN104680067A/zh
Application granted granted Critical
Publication of CN104680067B publication Critical patent/CN104680067B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

本发明实施例提供一种文件的检测方法及装置。本发明实施例通过利用M个指定特征,对待测文件进行匹配处理,以获得所述M个指定特征中每个指定特征的匹配结果,M为大于或等于1的整数;对所述每个指定特征的匹配结果,进行预先设置的逻辑运算;根据所述逻辑运算的运算结果,获得所述待测文件的检测结果。由于采用基于特征匹配的逻辑运算,相比数值运算简单很多,不需要较多的处理资源,因此,不会占用终端的大量处理资源,从而提高了终端的处理性能。

Description

文件的检测方法及装置
【技术领域】
本发明涉及计算机技术,尤其涉及一种文件的检测方法及装置。
【背景技术】
病毒是编制或者在应用程序中插入的破坏终端功能的数据,其会影响应用程序的正常使用并且能够自我复制,通常以一组指令或者程序代码的形式呈现。病毒具有破坏性,复制性和传染性的特点。终端可以利用杀毒引擎对文件进行基于特征匹配的数值运算,进而,根据数值运算的运算结果,检测文件是否为病毒文件。这个方法同样适用于其他文件的检测,只要根据检测需求,合理挖掘匹配的特征即可。
然而,由于数值运算较为复杂,因此,可能需要较多的处理资源,这样,会占用终端的大量处理资源,从而导致终端的处理性能降低。
【发明内容】
本发明的多个方面提供一种文件的检测方法及装置,用以提高终端的处理性能。
本发明的一方面,提供一种文件的检测方法,包括:
利用M个指定特征,对待测文件进行匹配处理,以获得所述M个指定特征中每个指定特征的匹配结果,M为大于或等于1的整数;
对所述每个指定特征的匹配结果,进行预先设置的逻辑运算;
根据所述逻辑运算的运算结果,获得所述待测文件的检测结果。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述待测文件的检测结果为:
病毒文件;或者
正常文件;或者
非病毒文件;或者
非正常文件。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述利用M个指定特征,对待测文件进行匹配处理,以获得所述M个指定特征中每个指定特征的匹配结果之前,还包括:
获取P个样本文件,P为大于或等于1的整数;
对所述P个样本文件中每个样本文件进行分段处理,以获得N个文件片段,N为大于或等于2的整数;
根据所述N个文件片段,获得所述M个指定特征;所述每个指定特征包括至少一个文件片段。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述对所述P个样本文件中每个样本文件进行分段处理,以获得N个文件片段,包括:
对所述每个样本文件的指定部分进行分段处理,以获得所述N个文件片段。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述N个文件片段,获得所述M个指定特征,包括:
根据所述每个样本文件的标注结果和所述P个样本文件,获得所述N个文件片段中每个文件片段在标注结果为第一类型文件的样本文件中出现的第一出现次数,以及所述每个文件片段在标注结果为第二类型文件的样本文件中出现的第二出现次数;
根据所述每个文件片段、所述第一出现次数和所述第二出现次数,从所述N个文件片段中,选择R个文件片段,R为大于或等于1,且小于或等于N的整数;
根据所述R个文件片段,获得Q个组合片段,Q为大于或等于M的整数;所述Q个组合片段中每个组合片段包括至少一个文件片段;
根据所述每个样本文件的标注结果和所述P个样本文件,获得所述每个组合片段在标注结果为所述第一类型文件的样本文件中出现的第三出现次数,以及所述每个组合片段在标注结果为第二类型文件的样本文件中出现的第四出现次数;
根据所述每个组合片段、所述第三出现次数和所述第四出现次数,从所述Q个组合片段中,选择M个组合片段,以作为所述M个指定特征。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,
所述第一类型文件为病毒文件;所述第二类型文件为正常文件;或者
所述第一类型文件为正常文件;所述第二类型文件为病毒文件。
本发明的另一方面,提供一种文件的检测装置,包括:
特征匹配单元,用于利用M个指定特征,对待测文件进行匹配处理,以获得所述M个指定特征中每个指定特征的匹配结果,M为大于或等于1的整数;
逻辑运算单元,用于对所述每个指定特征的匹配结果,进行预先设置的逻辑运算;
结果获得单元,用于根据所述逻辑运算的运算结果,获得所述待测文件的检测结果。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述待测文件的检测结果为:
病毒文件;或者
正常文件;或者
非病毒文件;或者
非正常文件。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述装置还包括特征挖掘单元,用于
获取P个样本文件,P为大于或等于1的整数;
对所述P个样本文件中每个样本文件进行分段处理,以获得N个文件片段,N为大于或等于2的整数;以及
根据所述N个文件片段,获得所述M个指定特征;所述每个指定特征包括至少一个文件片段。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述特征挖掘单元,进一步包括分段子单元,用于
对所述每个样本文件的指定部分进行分段处理,以获得所述N个文件片段。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述特征挖掘单元,进一步包括:
第一统计子单元,用于根据所述每个样本文件的标注结果和所述P个样本文件,获得所述N个文件片段中每个文件片段在标注结果为第一类型文件的样本文件中出现的第一出现次数,以及所述每个文件片段在标注结果为第二类型文件的样本文件中出现的第二出现次数;
第一选择子单元,用于根据所述每个文件片段、所述第一出现次数和所述第二出现次数,从所述N个文件片段中,选择R个文件片段,R为大于或等于1,且小于或等于N的整数;
组合子单元,用于根据所述R个文件片段,获得Q个组合片段,Q为大于或等于M的整数;所述Q个组合片段中每个组合片段包括至少一个文件片段;
第二统计子单元,用于根据所述每个样本文件的标注结果和所述P个样本文件,获得所述每个组合片段在标注结果为所述第一类型文件的样本文件中出现的第三出现次数,以及所述每个组合片段在标注结果为第二类型文件的样本文件中出现的第四出现次数;以及
第二选择子单元,用于根据所述每个组合片段、所述第三出现次数和所述第四出现次数,从所述Q个组合片段中,选择M个组合片段,以作为所述M个指定特征。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,
所述第一类型文件为病毒文件;所述第二类型文件为正常文件;或者
所述第一类型文件为正常文件;所述第二类型文件为病毒文件。
由上述技术方案可知,本发明实施例通过利用一个或多个指定特征,对待测文件进行匹配处理,以获得所述一个或多个指定特征中每个指定特征的匹配结果,进而对所述每个指定特征的匹配结果,进行预先设置的逻辑运算,使得能够根据所述逻辑运算的运算结果,获得所述待测文件的检测结果,由于采用基于特征匹配的逻辑运算,相比数值运算简单很多,不需要较多的处理资源,因此,不会占用终端的大量处理资源,从而提高了终端的处理性能。
另外,采用本发明提供的技术方案,由于指定特征包括对样本文件进行分段处理所获得的一个或多个文件片段,使得指定特征能够丰富地表达文件特征,能够有效降低文件检测的误报率。
另外,采用本发明提供的技术方案,对样本文件所进行的挖掘处理,无需人工参与,操作简单,而且正确率高,从而提高了文件检测的效率和可靠性。
【附图说明】
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的文件的检测方法的流程示意图;
图2为本发明另一实施例提供的文件的检测方法的流程示意图;
图3为本发明另一实施例提供的文件的检测装置的结构示意图;
图4为本发明另一实施例提供的文件的检测装置的结构示意图;
图5为本发明另一实施例提供的文件的检测装置的结构示意图;
图6为本发明另一实施例提供的文件的检测装置的结构示意图。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、平板电脑(Tablet Computer)、个人电脑(Personal Computer,PC)、MP3播放器、MP4播放器、可穿戴设备(例如,智能眼镜、智能手表、智能手环等)等。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明一实施例提供的文件的检测方法的流程示意图,如图1所示。
101、利用M个指定特征,对待测文件进行匹配处理,以获得所述M个指定特征中每个指定特征的匹配结果,M为大于或等于1的整数。
可选地,在本实施例的一个可能的实现方式中,在101中,所述待测文件,是指根据检测范围即扫描范围,所确定的终端的存储设备内所存储的文件中的一个文件。具体地,所述待测文件,具体可以为在终端的存储设备所存储的全部文件中,按照一定的检测顺序依次获取的文件,或者还可以为在终端的存储设备的指定路径下所存储的全部文件中,按照一定的检测顺序依次获取的文件,本实施例对此不进行特别限定。
所述待测文件可以为可执行文件(executable file)。具体地,可执行文件,是可移植可执行(PE)文件格式的文件,它可以加载到内存中,并由操作系统加载程序执行。可执行文件的扩展名可以包括但不限于.exe、.sys和.scr,等。
所述待测文件可以为非可执行文件。具体地,非可执行文件,是除了可执行文件之外的其他文件。
在一个具体的实现过程中,所述终端的存储设备可以慢速存储设备,具体可以为计算机系统的硬盘,或者还可以为手机的非运行内存即物理内存,例如,只读存储器(Read-Only Memory,ROM)和内存卡等,本实施例对此不进行特别限定。
在另一个具体的实现过程中,所述终端的存储设备还可以为快速存储设备,具体可以为计算机系统的内存,或者还可以为手机的运行内存即系统内存,例如,随机存储器(Random Access Memory,RAM)等,本实施例对此不进行特别限定。
可选地,在本实施例的一个可能的实现方式中,在101中,具体可以将M个指定特征中每个指定特征,在待测文件中进行匹配,以获得每个指定特征是否在待测文件中出现的匹配结果。
需要说明的是,在待测文件中所进行的匹配,可以为字符的精确匹配,或者还可以为字符的模糊匹配,本实施例对此不进行特别限定。
102、对所述每个指定特征的匹配结果,进行预先设置的逻辑运算。
所谓的逻辑运算,可以包括但不限于与运算、或运算、非运算三种运算类型中的至少一项,本实施例对此不进行特别限定。
103、根据所述逻辑运算的运算结果,获得所述待测文件的检测结果。
其中,所述待测文件的检测结果可以包括但不限于如下内容:
病毒文件;或者
正常文件;或者
非病毒文件;或者
非正常文件。
所谓的病毒文件,是指包含病毒的文件。其中,病毒,又称为计算机病毒,可以包括但不限于木马、后门、局域网蠕虫、邮件蠕虫、间谍软件、感染型病毒或Rootkits/Bootkits。
所谓的非病毒文件,是指不包含病毒的文件。
所谓的正常文件,是指不包含病毒的文件。
所谓的非正常文件,是指包含病毒的文件。
至此,就可以检测出待测文件是否为包含病毒的文件,进而根据检测结果进行相关的病毒防御处理,例如,对识别为病毒文件所进行的告警处理,或者,再例如,对识别为非病毒文件所进行的放行处理等,本实施例对此不进行特别限定
需要说明的是,101~103的执行主体的部分或全部可以为位于本地终端的应用,或者还可以为位于本地终端的应用中的插件或软件开发工具包(Software DevelopmentKit,SDK)等功能单元,或者还可以为位于网络侧的服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,本实施例对此不进行特别限定,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),只要能够实现文件的检测,以提供安全的系统环境的客观存在形式都可以,本实施例对此不进行特别限定。
这样,通过利用一个或多个指定特征,对待测文件进行匹配处理,以获得所述一个或多个指定特征中每个指定特征的匹配结果,进而对所述每个指定特征的匹配结果,进行预先设置的逻辑运算,使得能够根据所述逻辑运算的运算结果,获得所述待测文件的检测结果,由于采用基于特征匹配的逻辑运算,相比数值运算简单很多,不需要较多的处理资源,因此,不会占用终端的大量处理资源,从而提高了终端的处理性能。
可选地,在本实施例的一个可能的实现方式中,在101之前,还可以进一步包括所述M个指定特征的挖掘流程。具体地,在该流程中,具体可以获取P个样本文件,P为大于或等于1的整数,进而,则可以对所述P个样本文件中每个样本文件进行分段处理,以获得N个文件片段,N为大于或等于2的整数。然后,则可以根据所述N个文件片段,获得所述M个指定特征。其中,所述每个指定特征包括至少一个文件片段。
在一个具体的实现过程中,对每个样本文件所进行的分段处理,可以采用多种分段方法,例如,等长度机制、滑动窗口机制等。经过分段处理之后,所获得的每个文件片段,都可以用于表达文件特征。
通常,一个文件在终端中的存储形式为二进制,因此,文件又可以称为二进制文件。下面以滑动窗口机制为例,详细说明对每个二进制样本文件即样本文件所进行的分段处理。假设滑动窗口大小为4个字节,其移动步长为1个字节,利用该滑动窗口对用如下十六进制所表示样本文件0X1A0F58B459067CFF,进行分段处理之后,获得如下文件片段:0X1A0F58B4、0XA0F58B45、0X0F58B459、0XF58B4590、0X58B45906、0X8B459067、0XB459067C、0X459067CF、0X59067CFF、0X9067CFF、0X067CFF、0X67CFF、0X7CFF、0XCFF、0XFF和0XF。
在另一个具体的实现过程中,具体可以对所述每个样本文件的指定部分进行分段处理,以获得所述N个文件片段。其中,所述指定部分可以为人工根据经验进行手动设置,或者还可以为自动根据策略进行自动设置,本实施例对此不进行特别限定。
这样,由于只对样本文件的指定部分进行分段处理,而不需要对样本文件的全部部分都进行分段处理,能够避免由于对每个样本文件的全部部分进行分段处理而导致的占用终端较多的处理资源的问题,从而提高了终端的处理性能。
在另一个具体的实现过程中,根据所述N个文件片段,获得所述M个指定特的步骤,具体可以如图2所示。
201、根据所述每个样本文件的标注结果和所述P个样本文件,获得所述N个文件片段中每个文件片段在标注结果为第一类型文件的样本文件中出现的第一出现次数,以及所述每个文件片段在标注结果为第二类型文件的样本文件中出现的第二出现次数。
为了便于描述,可以将“标注结果为第一类型文件的样本文件”,简称为第一类型文件;类似地,可以将“标注结果为第二类型文件的样本文件”,简称为第二类型文件。
样本文件的标注结果可以包括但不限于如下内容:
病毒文件;或者
正常文件。
一般地,标注结果为病毒文件的样本文件,可以称为黑样本文件;标注结果为正常文件的样本文件,可以称为白样本文件。
在一个具体的实现过程中,所述第一类型文件可以为病毒文件;相应地,所述第二类型文件可以为正常文件。
在另一个具体的实现过程中,所述第一类型文件可以为正常文件;相应地,所述第二类型文件可以为病毒文件。
在统计第一出现次数和第二出现次数时,一个文件片段在同一个样本文件中的出现次数,最多统计为1。也就是说,一个文件片段,不管其在一个样本本文件中出现几次,只要出现过,都记为1次。
202、根据所述每个文件片段、所述第一出现次数和所述第二出现次数,从所述N个文件片段中,选择R个文件片段,R为大于或等于1,且小于或等于N的整数。
具体地,具体可以根据所述每个文件片段、所述第一出现次数和所述第二出现次数,获得所述每个文件片段的排序参数,进而,则可以按照排序参数从大到小的顺序,对所述N个文件片段进行排序,然后,选择排在前R个的文件片段。
在一个具体的实现过程中,如果最终的检测结果为待测文件是否为第一类型文件,那么,所述排序参数可以为每个文件片段的信息增益。所述每个文件片段的信息增益,可以用于衡量文件片段区分第一类型文件与第二类型文件的能力。信息增益越大,说明文件片段区分第一类型文件与第二类型文件的能力越大,也就是说,文件片段为第一类型文件的可能性越大,反之,信息增益越小,说明文件片段区分第一类型文件与第二类型文件的能力越小,也就是说,文件片段为第一类型文件的可能性越小。
在另一个具体的实现过程中,如果最终的检测结果为待测文件是否为第一类型文件,那么,所述排序参数则可以为每个文件片段的所述第一出现次数与所述第二出现次数的比值。所述每个文件片段的所述比值,可以用于衡量文件片段区分第一类型文件与第二类型文件的能力。该比值越大,说明文件片段区分第一类型文件与第二类型文件的能力越大,也就是说,文件片段为第一类型文件的可能性越大,反之,该比值越小,说明文件片段区分第一类型文件与第二类型文件的能力越小,也就是说,文件片段为第一类型文件的可能性越小。
在选择的过程中,如果最终的检测结果为待测文件是否为第一类型文件,那么,还可以进一步将所述第一出现次数所对应的最小次数阈值和所述第二出现次数所对应的最大次数阈值,作为一个附加的选择条件,将不满足这些次数阈值即最小次数阈值和最大次数阈值的X样本文件(X为大于或等于0,且小于或等于R的整数),从所选择出来的R个文件片段中直接删除。然后,再从没有选择的剩余样本文件中,选择排列在前X个的文件片段,继续利用这些次数阈值进行选择,直到获得R个满足这些次数阈值的样本文件为止。
203、根据所述R个文件片段,获得Q个组合片段,Q为大于或等于M的整数。
其中,所述Q个组合片段中每个组合片段可以包括至少一个文件片段。
具体地,具体可以根据预先设置的组合数量例如2个等,将任意文件片段组合成一个满足组合数量的组合片段,例如,任意两个文件片段,组合成一个组合片段等。
204、根据所述每个样本文件的标注结果和所述P个样本文件,获得所述每个组合片段在标注结果为所述第一类型文件的样本文件中出现的第三出现次数,以及所述每个组合片段在标注结果为第二类型文件的样本文件中出现的第四出现次数。
在此需要说明的是,组合片段在样本文件中出现,是指组合片段所包括的每个文件片段,都在该样本文件中出现。
在统计第三出现次数和第四出现次数时,一个文件片段在同一个样本文件中的出现次数,最多统计为1。也就是说,一个文件片段,不管其在一个样本本文件中出现几次,只要出现过,都记为1次。
205、根据所述每个组合片段、所述第三出现次数和所述第四出现次数,从所述Q个组合片段中,选择M个组合片段,以作为所述M个指定特征。
具体地,具体可以根据所述每个组合片段、所述第三出现次数和所述第四出现次数,获得所述每个组合片段的排序参数,进而,则可以按照排序参数从大到小的顺序,对所述Q组合片段进行排序,然后,选择排在前T个的组合片段,T为大于或等于M的整数。
在一个具体的实现过程中,如果最终的检测结果为待测文件是否为第一类型文件,那么,所述排序参数可以为每个组合片段的信息增益。所述每个组合片段的信息增益,可以用于衡量组合片段区分第一类型文件与第二类型文件的能力。信息增益越大,说明组合片段区分第一类型文件与第二类型文件的能力越大,也就是说,组合片段为第一类型文件的可能性越大,反之,信息增益越小,说明组合片段区分第一类型文件与第二类型文件的能力越小,也就是说,组合片段为第一类型文件的可能性越小。
在另一个具体的实现过程中,如果最终的检测结果为待测文件是否为第一类型文件,那么,所述排序参数则可以为每个组合片段的所述第三出现次数与所述第四出现次数的比值。所述每个组合片段的所述比值,可以用于衡量组合片段区分第一类型文件与第二类型文件的能力。该比值越大,说明组合片段区分第一类型文件与第二类型文件的能力越大,也就是说,反之,该比值越小,说明组合片段区分第一类型文件与第二类型文件的能力越小,也就是说,组合片段为第一类型文件的可能性越小。
在选择的过程中,如果最终的检测结果为待测文件是否为第一类型文件,那么,还可以进一步将所述第三出现次数所对应的最小次数阈值和所述第四出现次数所对应的最大次数阈值,作为一个附加的选择条件,将不满足这些次数阈值即最小次数阈值和最大次数阈值的Y样本文件(Y为大于或等于0,且小于或等于T的整数),从所选择出来的T个组合片段直接删除。然后,再从没有选择的剩余样本文件中,选择排列在前Y个的组合片段,继续利用这些次数阈值进行选择,直到获得T个满足这些次数阈值的样本文件为止。
接着,在获得T个组合片段之后,还可以进一步再根据所述T个组合片段中每个组合片段在标注结果为所述第一类型文件的样本文件中的出现情况,利用贪心算法,从所述T个组合片段中,选择M个组合片段,以覆盖尽可能多的标注结果为所述第一类型文件的样本文件,直到组合片段的数量达到数量阈值,或者覆盖度达到覆盖度阈值为止。
至此,就可以获得M个组合片段,以作为所述M个指定特征。整个过程无需人工参与,操作简单,而且正确率高,从而提高了文件检测的效率和可靠性。
所述M个指定特征,可以对应不同运算类型的逻辑运算,例如,M个指定特征可以对应或运算,即只要待测文件满足任何一个指定特征,就可以获得该待测文件的检测结果。
可选地,在本实施例的一个可能的实现方式中,在102中,具体可以对所述每个指定特征的匹配结果,进行预先设置的与运算、或运算、非运算三种运算类型中的至少一项。例如,可以对每个匹配结果进行或运算,或者,还可以对部分进行或运算,再将或运算的运算结果与其他匹配结果进行与运算,等等。
由于逻辑运算的表达能力较为丰富,因此,对匹配结果进行逻辑运算,能够有效提高待测文件的检出率。下面将采用逻辑运算与数值运算,对二者的检出情况进行对比。
假设四个文件片段,即文件片段A、文件片段B、文件片段C和文件片段D。
方法一:利用数值运算,对待测文件进行检测,以获得待测文件是否为病毒文件的检测结果。
数值运算可以直接采用这四个文件片段作为匹配特征,对待测文件进行匹配处理,获得每个特征的匹配结果即[A B C D]。然后,再利用每个匹配特征所对应的权值k,计算一个结果即[A B C D]*k。根据这个结果,就能够获得待测文件的检测结果,即[A B CD]*k>=0,待测文件为病毒文件;[A B C D]*k<0,待测文件为非病毒文件。
方法二:利用逻辑运算,对待测文件进行检测,以获得待测文件是否为病毒文件的检测结果。
逻辑运算可以采用文件片段的组合方式,采用两个组合片段,作为匹配特征,对待测文件进行匹配处理,获得每个特征的匹配结果。匹配特征,即
文件片段A与文件片段B所组成的指定特征A&B;以及
文件片段C与文件片段D所组成的指定特征C&D。
然后,对每个匹配特征的匹配结果,进行或运算,获得运算结果。根据运算结果,就能够获得待测文件的检测结果,即运算结果为1,待测文件为病毒文件;运算结果为0,待测文件为非病毒文件。
对比1:
若采用方法一,检测到待测文件为病毒文件,那么,可以得到[A B C D]*k>=0;
若采用方法二,检测到待测文件为病毒文件,那么,可以得到A+B>=0;
若采用方法一,检测到待测文件为非病毒文件,那么,可以得到[A B C D]*k<0;
若采用方法二,检测到待测文件为非病毒文件,那么,可以得到A+C<0;
综上,可以得到B>C。
对比2:
若采用方法一,检测到待测文件为病毒文件,那么,可以得到[A B C D]*k>=0;
若采用方法二,检测到待测文件为病毒文件,那么,可以得到D+C>=0;
若采用方法一,检测到待测文件为非病毒文件,那么,可以得到[A B C D]*k<0;
若采用方法二,检测到待测文件为非病毒文件,那么,可以得到D+B<0;
综上,可以得到B<C。
由于上述两个对比之后的结果是矛盾的,因此,根本不存在数值运算的匹配结果[A B C D],也就是说,逻辑运算能够检测出来的检测结果,数值运算并不能检测出来,说明了采用逻辑运算的检测方法的检出率比采用数值运算的检测方法的检出率要高。
可选地,在本实施例的一个可能的实现方式中,如果最终的检测结果为待测文件是否为病毒文件,那么,利用标注结果为正常文件的样本文件(即白样本文件)作为待检测文件,执行101~103,根据103所获得的检测结果,统计误报率。若误报率大于或等于预先设置的误报阈值,则对所述M个指定特征、预先设置的逻辑运算进行调整处理。
在一个具体的实现过程中,如果最终的检测结果为待测文件是否为病毒文件,假设M个指定特征所对应的逻辑运算为或运算,那么,具体可以利用标注结果为正常文件的样本文件(即白样本文件)作为待检测文件,执行101~103,根据103所获得的检测结果,统计M个指定特征中每个指定特征的误报率。若某个指定特征的误报率大于或等于预先设置的误报阈值,则删除该指定特征。
本实施例中,通过利用一个或多个指定特征,对待测文件进行匹配处理,以获得所述一个或多个指定特征中每个指定特征的匹配结果,进而对所述每个指定特征的匹配结果,进行预先设置的逻辑运算,使得能够根据所述逻辑运算的运算结果,获得所述待测文件的检测结果,由于采用基于特征匹配的逻辑运算,相比数值运算简单很多,不需要较多的处理资源,因此,不会占用终端的大量处理资源,从而提高了终端的处理性能。
另外,采用本发明提供的技术方案,由于指定特征包括对样本文件进行分段处理所获得的一个或多个文件片段,使得指定特征能够丰富地表达文件特征,能够有效降低文件检测的误报率。
另外,采用本发明提供的技术方案,对样本文件所进行的挖掘处理,无需人工参与,操作简单,而且正确率高,从而提高了文件检测的效率和可靠性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图3为本发明另一实施例提供的文件的检测装置的结构示意图,如图3所示。本实施例的文件的检测装置可以包括特征匹配单元31、逻辑运算单元32和结果获得单元33。其中,特征匹配单元31,用于利用M个指定特征,对待测文件进行匹配处理,以获得所述M个指定特征中每个指定特征的匹配结果,M为大于或等于1的整数;逻辑运算单元32,用于对所述每个指定特征的匹配结果,进行预先设置的逻辑运算;结果获得单元33,用于根据所述逻辑运算的运算结果,获得所述待测文件的检测结果。
其中,所述待测文件的检测结果可以包括但不限于如下内容:
病毒文件;或者
正常文件;或者
非病毒文件;或者
非正常文件。
需要说明的是,本实施例所提供的文件的检测装置的部分或全部可以为位于本地终端的应用,或者还可以为位于本地终端的应用中的插件或软件开发工具包(SoftwareDevelopment Kit,SDK)等功能单元,或者还可以为位于网络侧的服务器中的处理引擎,或者还可以为位于网络侧的分布式系统,本实施例对此不进行特别限定,本实施例对此不进行特别限定。
可以理解的是,所述应用可以是安装在终端上的本地程序(nativeApp),或者还可以是终端上的浏览器的一个网页程序(webApp),只要能够实现文件的检测,以提供安全的系统环境的客观存在形式都可以,本实施例对此不进行特别限定。
可选地,在本实施例的一个可能的实现方式中,如图4所示,本实施例所提供的文件的检测装置还可以进一步包括特征挖掘单元41,具体可以用于获取P个样本文件,P为大于或等于1的整数;对所述P个样本文件中每个样本文件进行分段处理,以获得N个文件片段,N为大于或等于2的整数;以及根据所述N个文件片段,获得所述M个指定特征;所述每个指定特征包括至少一个文件片段。
在一个具体的实现过程中,如图5所示,所述特征挖掘单元41,进一步包括分段子单元51,用于对所述每个样本文件的指定部分进行分段处理,以获得所述N个文件片段。其中,所述指定部分可以为人工根据经验进行手动设置,或者还可以为自动根据策略进行自动设置,本实施例对此不进行特别限定。
这样,由于只对样本文件的指定部分进行分段处理,而不需要对样本文件的全部部分都进行分段处理,能够避免由于对每个样本文件的全部部分进行分段处理而导致的占用终端较多的处理资源的问题,从而提高了终端的处理性能。
在另一个具体的实现过程中,如图6所示,所述特征挖掘单元41,进一步包括:
第一统计子单元61,具体可以用于根据所述每个样本文件的标注结果和所述P个样本文件,获得所述N个文件片段中每个文件片段在标注结果为第一类型文件的样本文件中出现的第一出现次数,以及所述每个文件片段在标注结果为第二类型文件的样本文件中出现的第二出现次数;
第一选择子单元62,具体可以用于根据所述每个文件片段、所述第一出现次数和所述第二出现次数,从所述N个文件片段中,选择R个文件片段,R为大于或等于1,且小于或等于N的整数;
组合子单元63,具体可以用于根据所述R个文件片段,获得Q个组合片段,Q为大于或等于M的整数;所述Q个组合片段中每个组合片段包括至少一个文件片段;
第二统计子单元64,具体可以用于根据所述每个样本文件的标注结果和所述P个样本文件,获得所述每个组合片段在标注结果为所述第一类型文件的样本文件中出现的第三出现次数,以及所述每个组合片段在标注结果为第二类型文件的样本文件中出现的第四出现次数;以及
第二选择子单元65,具体可以用于根据所述每个组合片段、所述第三出现次数和所述第四出现次数,从所述Q个组合片段中,选择M个组合片段,以作为所述M个指定特征。
在一个具体的实现过程中,所述第一类型文件可以为病毒文件;相应地,所述第二类型文件可以为正常文件。
在另一个具体的实现过程中,所述第一类型文件可以为正常文件;相应地,所述第二类型文件可以为病毒文件。
需要说明的是,图1和图2对应的实施例中方法,可以由本实施例提供的文件的检测装置实现。详细描述可以参见图1和图2对应的实施例中的相关内容,此处不再赘述。
本实施例中,通过特征匹配单元利用一个或多个指定特征,对待测文件进行匹配处理,以获得所述一个或多个指定特征中每个指定特征的匹配结果,进而由逻辑运算单元对所述每个指定特征的匹配结果,进行预先设置的逻辑运算,使得结果获得单元能够根据所述逻辑运算的运算结果,获得所述待测文件的检测结果,由于采用基于特征匹配的逻辑运算,相比数值运算简单很多,不需要较多的处理资源,因此,不会占用终端的大量处理资源,从而提高了终端的处理性能。
另外,采用本发明提供的技术方案,由于指定特征包括对样本文件进行分段处理所获得的一个或多个文件片段,使得指定特征能够丰富地表达文件特征,能够有效降低文件检测的误报率。
另外,采用本发明提供的技术方案,对样本文件所进行的挖掘处理,无需人工参与,操作简单,而且正确率高,从而提高了文件检测的效率和可靠性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种文件的检测方法,其特征在于,包括:
利用M个指定特征,对待测文件进行匹配处理,以获得所述M个指定特征中每个指定特征的匹配结果,M为大于或等于1的整数;
对所述每个指定特征的匹配结果,进行预先设置的逻辑运算;
根据所述逻辑运算的运算结果,获得所述待测文件的检测结果;其中,
所述利用M个指定特征,对待测文件进行匹配处理,以获得所述M个指定特征中每个指定特征的匹配结果之前,还包括:
获取P个样本文件,P为大于或等于1的整数;
对所述P个样本文件中每个样本文件进行分段处理,以获得N个文件片段,N为大于或等于2的整数;
根据所述N个文件片段,获得所述M个指定特征;所述每个指定特征包括至少一个文件片段;其中,
所述根据所述N个文件片段,获得所述M个指定特征,包括:
根据所述每个样本文件的标注结果和所述P个样本文件,获得所述N个文件片段中每个文件片段在标注结果为第一类型文件的样本文件中出现的第一出现次数,以及所述每个文件片段在标注结果为第二类型文件的样本文件中出现的第二出现次数;
根据所述每个文件片段、所述第一出现次数和所述第二出现次数,从所述N个文件片段中,选择R个文件片段,R为大于或等于1,且小于或等于N的整数;
根据所述R个文件片段,获得Q个组合片段,Q为大于或等于M的整数;所述Q个组合片段中每个组合片段包括至少一个文件片段;
根据所述每个样本文件的标注结果和所述P个样本文件,获得所述每个组合片段在标注结果为所述第一类型文件的样本文件中出现的第三出现次数,以及所述每个组合片段在标注结果为第二类型文件的样本文件中出现的第四出现次数;
根据所述每个组合片段、所述第三出现次数和所述第四出现次数,从所述Q个组合片段中,选择M个组合片段,以作为所述M个指定特征。
2.根据权利要求1所述的方法,其特征在于,所述待测文件的检测结果为:
病毒文件;或者
正常文件;或者
非病毒文件;或者
非正常文件。
3.根据权利要求1所述的方法,其特征在于,所述对所述P个样本文件中每个样本文件进行分段处理,以获得N个文件片段,包括:
对所述每个样本文件的指定部分进行分段处理,以获得所述N个文件片段。
4.根据权利要求1所述的方法,其特征在于,
所述第一类型文件为病毒文件;所述第二类型文件为正常文件;或者
所述第一类型文件为正常文件;所述第二类型文件为病毒文件。
5.一种文件的检测装置,其特征在于,包括:
特征匹配单元,用于利用M个指定特征,对待测文件进行匹配处理,以获得所述M个指定特征中每个指定特征的匹配结果,M为大于或等于1的整数;
逻辑运算单元,用于对所述每个指定特征的匹配结果,进行预先设置的逻辑运算;
结果获得单元,用于根据所述逻辑运算的运算结果,获得所述待测文件的检测结果;其中,
所述装置还包括特征挖掘单元,用于
获取P个样本文件,P为大于或等于1的整数;
对所述P个样本文件中每个样本文件进行分段处理,以获得N个文件片段,N为大于或等于2的整数;以及
根据所述N个文件片段,获得所述M个指定特征;所述每个指定特征包括至少一个文件片段;其中,
所述特征挖掘单元,进一步包括:
第一统计子单元,用于根据所述每个样本文件的标注结果和所述P个样本文件,获得所述N个文件片段中每个文件片段在标注结果为第一类型文件的样本文件中出现的第一出现次数,以及所述每个文件片段在标注结果为第二类型文件的样本文件中出现的第二出现次数;
第一选择子单元,用于根据所述每个文件片段、所述第一出现次数和所述第二出现次数,从所述N个文件片段中,选择R个文件片段,R为大于或等于1,且小于或等于N的整数;
组合子单元,用于根据所述R个文件片段,获得Q个组合片段,Q为大于或等于M的整数;所述Q个组合片段中每个组合片段包括至少一个文件片段;
第二统计子单元,用于根据所述每个样本文件的标注结果和所述P个样本文件,获得所述每个组合片段在标注结果为所述第一类型文件的样本文件中出现的第三出现次数,以及所述每个组合片段在标注结果为第二类型文件的样本文件中出现的第四出现次数;以及
第二选择子单元,用于根据所述每个组合片段、所述第三出现次数和所述第四出现次数,从所述Q个组合片段中,选择M个组合片段,以作为所述M个指定特征。
6.根据权利要求5所述的装置,其特征在于,所述待测文件的检测结果为:
病毒文件;或者
正常文件;或者
非病毒文件;或者
非正常文件。
7.根据权利要求5所述的装置,其特征在于,所述特征挖掘单元,进一步包括分段子单元,用于
对所述每个样本文件的指定部分进行分段处理,以获得所述N个文件片段。
8.根据权利要求5所述的装置,其特征在于,
所述第一类型文件为病毒文件;所述第二类型文件为正常文件;或者
所述第一类型文件为正常文件;所述第二类型文件为病毒文件。
CN201510082108.4A 2015-02-15 2015-02-15 文件的检测方法及装置 Active CN104680067B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510082108.4A CN104680067B (zh) 2015-02-15 2015-02-15 文件的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510082108.4A CN104680067B (zh) 2015-02-15 2015-02-15 文件的检测方法及装置

Publications (2)

Publication Number Publication Date
CN104680067A CN104680067A (zh) 2015-06-03
CN104680067B true CN104680067B (zh) 2017-12-19

Family

ID=53315097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510082108.4A Active CN104680067B (zh) 2015-02-15 2015-02-15 文件的检测方法及装置

Country Status (1)

Country Link
CN (1) CN104680067B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367682A (en) * 1991-04-29 1994-11-22 Steven Chang Data processing virus protection circuitry including a permanent memory for storing a redundant partition table
US5469507A (en) * 1994-03-01 1995-11-21 International Business Machines Corporation Secure communication and computation in an insecure environment
CN1679001A (zh) * 2002-06-29 2005-10-05 英特尔公司 对在虚拟机体系结构中客户软件操作期间出现的故障的控制
CN1752888A (zh) * 2005-11-08 2006-03-29 朱林 用于移动/智能终端的病毒特征提取和检测系统及方法
CN102243699A (zh) * 2011-06-09 2011-11-16 深圳市安之天信息技术有限公司 一种恶意代码检测方法及系统
CN102867144A (zh) * 2012-09-06 2013-01-09 北京奇虎科技有限公司 一种用于检测和清除计算机病毒的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996748B2 (en) * 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
WO2004075056A1 (ja) * 2003-02-21 2004-09-02 National Institute Of Advanced Industrial Science And Technology ウイルスチェック装置及びシステム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367682A (en) * 1991-04-29 1994-11-22 Steven Chang Data processing virus protection circuitry including a permanent memory for storing a redundant partition table
US5469507A (en) * 1994-03-01 1995-11-21 International Business Machines Corporation Secure communication and computation in an insecure environment
CN1679001A (zh) * 2002-06-29 2005-10-05 英特尔公司 对在虚拟机体系结构中客户软件操作期间出现的故障的控制
CN1752888A (zh) * 2005-11-08 2006-03-29 朱林 用于移动/智能终端的病毒特征提取和检测系统及方法
CN102243699A (zh) * 2011-06-09 2011-11-16 深圳市安之天信息技术有限公司 一种恶意代码检测方法及系统
CN102867144A (zh) * 2012-09-06 2013-01-09 北京奇虎科技有限公司 一种用于检测和清除计算机病毒的方法和装置

Also Published As

Publication number Publication date
CN104680067A (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
Nix et al. Classification of Android apps and malware using deep neural networks
US8122436B2 (en) Privacy enhanced error reports
CN106682505B (zh) 一种病毒检测方法、终端、服务器及系统
US8055078B2 (en) Filter for blocking image-based spam
US8713681B2 (en) System and method for detecting executable machine instructions in a data stream
CN109145603A (zh) 一种基于信息流的Android隐私泄露行为检测方法和技术
US20200193031A1 (en) System and Method for an Automated Analysis of Operating System Samples, Crashes and Vulnerability Reproduction
CN103106365B (zh) 一种移动终端上的恶意应用软件的检测方法
Singh et al. Malware detection in pdf and office documents: A survey
US10296742B2 (en) Decision forest compilation
WO2013164821A2 (en) Malicious threat detection, malicious threat prevention, and a learning systems and methods for malicious threat detection and prevention
CN107808096A (zh) 检测apk运行时被注入恶意代码的方法、终端设备及存储介质
Tian et al. DKISB: Dynamic key instruction sequence birthmark for software plagiarism detection
CN103473346A (zh) 一种基于应用程序编程接口的安卓重打包应用检测方法
US7389538B2 (en) Static code image modeling and recognition
Alrabaee et al. On leveraging coding habits for effective binary authorship attribution
CN110023938A (zh) 利用函数长度统计确定文件相似度的系统和方法
Gülmez et al. Graph-based malware detection using opcode sequences
Bouffard et al. Reversing the operating system of a Java based smart card
CN108229168B (zh) 一种嵌套类文件的启发式检测方法、系统及存储介质
Kim et al. Malicious behavior detection method using api sequence in binary execution path
Xing et al. The devil is in the detail: Generating system call whitelist for Linux seccomp
CN104680067B (zh) 文件的检测方法及装置
Chau et al. An entropy-based solution for identifying android packers
CN107066886A (zh) 一种Android加固脱壳的检测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190809

Address after: 100085 Beijing, Haidian District, No. ten on the ground floor, No. 10 Baidu building, layer 2

Patentee after: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd.

Address before: 100193 room 1-01, 1-03, 1-04, block C, software Plaza, building 4, No. 8, Mong West Road, Beijing, Haidian District

Patentee before: Pacify a Heng Tong (Beijing) Science and Technology Ltd.

TR01 Transfer of patent right