CN103530294A - 一种文件分类方法和装置 - Google Patents

一种文件分类方法和装置 Download PDF

Info

Publication number
CN103530294A
CN103530294A CN201210231594.8A CN201210231594A CN103530294A CN 103530294 A CN103530294 A CN 103530294A CN 201210231594 A CN201210231594 A CN 201210231594A CN 103530294 A CN103530294 A CN 103530294A
Authority
CN
China
Prior art keywords
file
information
similarity
table information
dis
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.)
Granted
Application number
CN201210231594.8A
Other languages
English (en)
Other versions
CN103530294B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210231594.8A priority Critical patent/CN103530294B/zh
Publication of CN103530294A publication Critical patent/CN103530294A/zh
Application granted granted Critical
Publication of CN103530294B publication Critical patent/CN103530294B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件分类方法和装置:针对任一待分类的PE文件X,分别进行以下处理:确定是否存在作为类中心的PE文件,如果否,则将PE文件X作为其所属类别的类中心,并结束处理;如果是,则依次确定PE文件X与每个作为类中心的PE文件之间的相似度是否达到预定要求,一旦达到预定要求,则确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别,并结束处理。本发明所述方案具有较高的智能性,实现起来简单方便,且能够缩短所耗时间。

Description

一种文件分类方法和装置
技术领域
本发明涉及文件处理技术,特别涉及一种文件分类方法和装置。
背景技术
病毒文件通常都具有家族特性,即某个病毒文件经过一定的演化后,会繁衍出其变种的病毒文件,演化的目的可能是为了增加某种特性,也可能是针对某种杀毒软件进行的免杀处理等。
上述“某个病毒文件”及其繁衍出来的病毒文件即组成一个病毒家族,或者说为同一类病毒。
杀毒软件往往会以提取出来的某一病毒家族中的各病毒文件均具有的特征信息作为病毒文件的判断依据,从而使得病毒库中的一条记录信息能够命中该病毒家族中的所有病毒文件。
因此,正确地对病毒文件进行分类,可有效地提高杀毒软件的查杀效率,并可减少病毒库的大小。
现有技术中,通常采用人工分析的方式来对病毒文件进行分类,同时需要结合病毒文件的动态行为等特征信息,比如调用系统应用程序接口(API,Application Programming Interface)的顺序、是否修改注册表以及是否在敏感位置创建文件等。
但是,上述方式在实际应用中会存在一定的问题,如:
1)由于需要人工进行分析,因此需要大量的人力资源,而且对病毒分析人员的经验要求也很高;
2)由于需要获取病毒文件的动态行为等特征信息,因此需要动态地执行病毒文件,记录其行为特征,从而增加了很多时间消耗。
综上可知,现有的对病毒文件进行分类的方式的智能性不高,实现起来不够简单方便,而且耗时较长。
发明内容
有鉴于此,本发明提供了一种文件分类方法和装置,具有较高的智能性,实现起来简单方便,且能够缩短所耗时间。
为达到上述目的,本发明的技术方案是这样实现的:
一种文件分类方法,针对任一待分类的PE文件X,分别进行以下处理:
确定是否存在作为类中心的PE文件,如果否,则将PE文件X作为其所属类别的类中心,并结束处理;
如果是,则依次确定PE文件X与每个作为类中心的PE文件之间的相似度是否达到预定要求,一旦达到预定要求,则确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别,并结束处理。
一种文件分类装置,包括:
第一处理模块,用于针对任一待分类的PE文件X,分别进行如下处理:确定是否存在作为类中心的PE文件,如果否,则将PE文件X作为其所属类别的类中心,并结束处理,如果是,则通知第二处理模块执行功能;
所述第二处理模块,用于依次确定PE文件X与每个作为类中心的PE文件之间的相似度是否达到预定要求,一旦达到预定要求,则确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别,并结束处理。
可见,采用本发明所述方案,可通过比较相似度来实现对于不同PE文件的分类,无需人工进行分析,因此智能性较高,实现起来简单方便;而且,由于无需动态地执行PE文件,并记录其行为特征等,因此能够缩短所耗时间。
附图说明
图1为本发明文件分类方法实施例的流程图。
图2为现有PE文件中所包含的信息示意图。
图3为本发明从PE文件X中提取出的各信息的示意图。
图4为本发明文件分类装置实施例的组成结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明中提出一种改进后的文件分类方案。
通常来说,病毒文件均为可移植的执行体(PE,Portable Execute)文件。本发明所述方案不仅可适用于病毒文件的分类,而且可适用于任意PE文件的分类。
为使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
图1为本发明文件分类方法实施例的流程图。如图1所示,包括:
步骤11:针对任一待分类的PE文件X,确定是否存在作为类中心的PE文件,如果否,则执行步骤12;如果是,则执行步骤13。
步骤12:将PE文件X作为其所属类别的类中心,并结束流程。
步骤13:依次确定PE文件X与每个作为类中心的PE文件之间的相似度是否达到预定要求,一旦达到预定要求,则执行步骤14;
较佳地,如果PE文件X与每个作为类中心的PE文件之间的相似度均未达到预定要求,则执行步骤12。
步骤14:确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别,并结束流程。
图1所示过程中,如果PE文件X是第一个被分类的PE文件,那么将不会存在作为类中心的PE文件,这种情况下,可直接将PE文件X作为其所属类别的类中心,并结束流程;如果PE文件X不是第一个被分类的PE文件,那么将至少存在一个作为类中心的PE文件,这种情况下,可依次(具体按照何种顺序可根据实际需要而定)确定PE文件X与每个作为类中心的PE文件之间的相似度是否达到预定要求,一旦达到预定要求,则可确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别,并结束流程,如果PE文件X与每个作为类中心的PE文件之间的相似度均未达到预定要求,则可将PE文件X作为其所属类别的类中心,并结束流程。
举例说明:假设存在三个作为类中心的PE文件,为便于表述,分别编号为PE文件1、PE文件2和PE文件3;首先,确定PE文件X与PE文件1之间的相似度是否达到预定要求,如果是,则确定PE文件X与PE文件1属于同一类别,并不再进行后续处理;如果否,则进一步确定PE文件X与PE文件2之间的相似度是否达到预定要求,如果是,则确定PE文件X与PE文件2属于同一类别,并不再进行后续处理;如果否,则进一步确定PE文件X与PE文件3之间的相似度是否达到预定要求,如果是,则确定PE文件X与PE文件3属于同一类别,并不再进行后续处理;如果否,则将PE文件X作为其所属类别的类中心。
图2为现有PE文件中所包含的信息示意图。如图2所示,主要包括:导入表信息、导出表信息、字符串信息、反汇编指令信息以及冗余信息,各信息中包括的具体内容均为本领域公知。
对于属于同一类别的各PE文件,如属于同一类别的各病毒文件,其之间的差别可能仅在于对某一或某几个信息进行了一定的修改,其它各信息仍是相同的,而即便是被修改的信息,相似度也是很高的,所述修改通常是针对导入表信息、导出表信息、字符串信息以及反汇编指令信息之中的一个或几个进行的。
为此,本发明所述方案中,可采用以下方式来确定PE文件X与每个作为类中心的PE文件之间的相似度是否达到预定要求:
1)提取出PE文件X中的导入表信息、导出表信息、字符串信息以及反汇编指令信息;
2)依次针对每个作为类中心的PE文件Y,分别计算PE文件X的导入表信息与PE文件Y的导入表信息之间的相似度、PE文件X的导出表信息与PE文件Y的导出表信息之间的相似度、PE文件X的字符串信息与PE文件Y的字符串信息之间的相似度,以及PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度;
如果计算出的四个相似度均大于各自对应的阈值,则确定PE文件X与PE文件Y之间的相似度达到预定要求。
各阈值的具体取值可根据实际需要而定,另外,各阈值的取值可相同,也可不同。
步骤1)中如何提取出各信息均为现有技术,所提取出的各信息的个数均可能为一个或多个,而且,所提取出的各信息的个数可能相同,也可能不同。
图3为本发明从PE文件X中提取出的各信息的示意图。如图3所示,所提取出的导入表信息的个数为N,所提取出的导出表信息的个数为M,所提取出的字符串信息的个数为P,所提取出的反汇编指令信息的个数为Q。
另外,步骤2)中,可按照以下方式来计算PE文件X的导入表信息与PE文件Y的导入表信息之间的相似度:设置参数N1,初始取值为0;针对从PE文件X中提取出的每个导入表信息,分别确定是否从PE文件Y中同样提取出了该导入表信息,如果是,则将N1的取值加1;用N1的取值除以导入表信息的总个数,将得到的商作为PE文件X的导入表信息与PE文件Y的导入表信息之间的相似度;其中,所述导入表信息的总个数为:将从PE文件X中提取出的导入表信息的个数与从PE文件Y中提取出的导入表信息的个数求和,再减去N1后得到的结果。
举例说明:假设从PE文件X中提取出了三个导入表信息,分别为A、B、C,假设从PE文件Y中提取出了四个导入表信息,分别为A、B、C、D,则N1的取值为3,导入表信息的总个数为3+4-3=4。
类似地,可按照以下方式来计算PE文件X的导出表信息与PE文件Y的导出表信息之间的相似度:设置参数N2,初始取值为0;针对从PE文件X中提取出的每个导出表信息,分别确定是否从PE文件Y中同样提取出了该导出表信息,如果是,则将N2的取值加1;用N2的取值除以导出表信息的总个数,将得到的商作为PE文件X的导出表信息与PE文件Y的导出表信息之间的相似度;其中,所述导出表信息的总个数为:将从PE文件X中提取出的导出表信息的个数与从PE文件Y中提取出的导出表信息的个数求和,再减去N2后得到的结果。
类似地,可按照以下方式来计算PE文件X的字符串信息与PE文件Y的字符串信息之间的相似度:设置参数N3,初始取值为0;针对从PE文件X中提取出的每个字符串信息,分别确定是否从PE文件Y中同样提取出了该字符串信息,如果是,则将N3的取值加1;用N3的取值除以字符串信息的总个数,将得到的商作为PE文件X的字符串信息与PE文件Y的字符串信息之间的相似度;其中,所述字符串信息的总个数为:将从PE文件X中提取出的字符串信息的个数与从PE文件Y中提取出的字符串信息的个数求和,再减去N3后得到的结果。
类似地,可按照以下方式来计算PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度:设置参数N4,初始取值为0;针对从PE文件X中提取出的每个反汇编指令信息,分别确定是否符合以下条件:从PE文件Y中同样提取出了该反汇编指令信息,且该反汇编指令信息在从PE文件X中提取出的各反汇编指令信息中的执行顺序与在从PE文件Y中提取出的各反汇编指令信息中的执行顺序相同;如果是,则将N4的取值加1;用N4的取值除以反汇编指令信息的总个数,将得到的商作为PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度;其中,所述反汇编指令信息的总个数为:将从PE文件X中提取出的反汇编指令信息的个数与从PE文件Y中提取出的反汇编指令信息的个数求和,再减去N4后得到的结果。
可以看出,在计算PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度时,需要额外考虑一个因素,即执行顺序,因为在实际应用中,反汇编指令的执行顺序是有要求的,排序越靠前,越被优先执行,如果执行顺序发生了变化,执行得到的结果也会发生变化。
举例说明:假设从PE文件X中提取出了三个反汇编指令信息,按执行顺序分别为A、B、C,假设从PE文件Y中提取出了四个反汇编指令信息,按执行顺序分别为A、B、D、C,则N4的取值为2,反汇编指令信息的总个数为3+4-2=5。
通常,提取出的导入表信息、导出表信息、字符串信息以及反汇编指令信息均为字符串的形式,在实际应用中,为方便比较是否相同,还可在提取出PE文件X的导入表信息、导出表信息、字符串信息以及反汇编指令信息之后,进一步对提取出的各信息分别进行数值化,相应地,参与相似度计算的PE文件Y的导入表信息、导出表信息、字符串信息以及反汇编指令信息也需要均为数值化后的信息。
可采用各种现有的哈希(hash)算法来进行数值化,如循环冗余校验(CRC,Cyclic Redundancy Check)算法和信息摘要算法5(MD5,Message DigestAlgorithm 5)等。
再有,在确定出PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别之后,还可进一步进行以下处理:针对该类别中的每个PE文件,分别计算其与该类别中除该PE文件以外的其它所有M个PE文件中的每个PE文件之间的四个相似度之和,得到M个计算结果,M为正整数,并将M个计算结果相加,得到该PE文件的总体相似度;确定总体相似度最大的PE文件与作为该类别的类中心的PE文件是否相同,如果否,则将总体相似度最大的PE文件作为该类别的类中心。
举例说明:假设PE文件1、PE文件2和PE文件3属于同一类别,分别计算PE文件1的总体相似度、PE文件2的总体相似度以及PE文件3的总体相似度;其中,PE文件1的总体相似度的计算方式为:PE文件1与PE文件2之间的四个相似度相加之和+PE文件1与PE文件3之间的四个相似度相加之和;PE文件2的总体相似度的计算方式为:PE文件2与PE文件1之间的四个相似度相加之和+PE文件2与PE文件3之间的四个相似度相加之和;PE文件3的总体相似度的计算方式为:PE文件3与PE文件1之间的四个相似度相加之和+PE文件3与PE文件2之间的四个相似度相加之和。
四个相似度即指导入表信息之间的相似度、导出表信息之间的相似度、字符串信息之间的相似度以及反汇编指令信息之间的相似度。
通过上述方式,可对作为类中心的PE文件进行及时更新,选取与同一类别中的其它各PE文件最为相似的PE文件作为类中心,从而提高了分类结果的准确性。
至此,即完成了关于本发明方法实施例的介绍。
基于上述介绍,图4为本发明文件分类装置实施例的组成结构示意图。如图4所示,包括:
第一处理模块,用于针对任一待分类的PE文件X,分别进行如下处理:确定是否存在作为类中心的PE文件,如果否,则将PE文件X作为其所属类别的类中心,并结束处理,如果是,则通知第二处理模块执行功能;
第二处理模块,用于依次确定PE文件X与每个作为类中心的PE文件之间的相似度是否达到预定要求,一旦达到预定要求,则确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别,并结束处理。
另外,第二处理模块可进一步用于,如果PE文件X与每个作为类中心的PE文件之间的相似度均未达到预定要求,则将PE文件X作为其所属类别的类中心,并结束处理。
其中,第二处理模块中可具体包括:
第一处理单元,用于提取出PE文件X中的导入表信息、导出表信息、字符串信息以及反汇编指令信息,并发送给第二处理单元;
第二处理单元,用于依次针对每个作为类中心的PE文件Y,分别计算PE文件X的导入表信息与PE文件Y的导入表信息之间的相似度、PE文件X的导出表信息与PE文件Y的导出表信息之间的相似度、PE文件X的字符串信息与PE文件Y的字符串信息之间的相似度,以及PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度,如果计算出的四个相似度均大于各自对应的阈值,则确定PE文件X与PE文件Y之间的相似度达到预定要求;一旦达到预定要求,则确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别;如果PE文件X与每个作为类中心的PE文件之间的相似度均未达到预定要求,则将PE文件X作为其所属类别的类中心。
具体地,
第二处理单元设置参数N1,初始取值为0;针对从PE文件X中提取出的每个导入表信息,分别确定是否从PE文件Y中同样提取出了该导入表信息,如果是,则将N1的取值加1;用N1的取值除以导入表信息的总个数,将得到的商作为PE文件X的导入表信息与PE文件Y的导入表信息之间的相似度;其中,所述导入表信息的总个数为:将从PE文件X中提取出的导入表信息的个数与从PE文件Y中提取出的导入表信息的个数求和,再减去N1后得到的结果;
第二处理单元设置参数N2,初始取值为0;针对从PE文件X中提取出的每个导出表信息,分别确定是否从PE文件Y中同样提取出了该导出表信息,如果是,则将N2的取值加1;用N2的取值除以导出表信息的总个数,将得到的商作为PE文件X的导出表信息与PE文件Y的导出表信息之间的相似度;其中,所述导出表信息的总个数为:将从PE文件X中提取出的导出表信息的个数与从PE文件Y中提取出的导出表信息的个数求和,再减去N2后得到的结果;
第二处理单元设置参数N3,初始取值为0;针对从PE文件X中提取出的每个字符串信息,分别确定是否从PE文件Y中同样提取出了该字符串信息,如果是,则将N3的取值加1;用N3的取值除以字符串信息的总个数,将得到的商作为PE文件X的字符串信息与PE文件Y的字符串信息之间的相似度;其中,所述字符串信息的总个数为:将从PE文件X中提取出的字符串信息的个数与从PE文件Y中提取出的字符串信息的个数求和,再减去N3后得到的结果;
第二处理单元设置参数N4,初始取值为0;针对从PE文件X中提取出的每个反汇编指令信息,分别确定是否符合以下条件:从PE文件Y中同样提取出了该反汇编指令信息,且该反汇编指令信息在从PE文件X中提取出的各反汇编指令信息中的执行顺序与在从PE文件Y中提取出的各反汇编指令信息中的执行顺序相同;如果是,则将N4的取值加1;用N4的取值除以反汇编指令信息的总个数,将得到的商作为PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度;其中,所述反汇编指令信息的总个数为:将从PE文件X中提取出的反汇编指令信息的个数与从PE文件Y中提取出的反汇编指令信息的个数求和,再减去N4后得到的结果。
另外,第一处理单元还可进一步用于,对提取出的各信息分别进行数值化,并将数值化后的各信息发送给第二处理单元;
相应地,第二处理单元中参与计算的PE文件Y的导入表信息、导出表信息、字符串信息以及反汇编指令信息同样均为数值化后的信息。
再有,第二处理单元还可进一步用于,在确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别之后,针对该类别中的每个PE文件,分别计算其与该类别中除该PE文件以外的其它所有M个PE文件中的每个PE文件之间的四个相似度之和,得到M个计算结果,M为正整数,并将M个计算结果相加,得到该PE文件的总体相似度;确定总体相似度最大的PE文件与作为该类别的类中心的PE文件是否相同,如果否,则将总体相似度最大的PE文件作为该类别的类中心。
图4所示装置实施例的具体工作流程请参照前述方法实施例中的相应说明,此处不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (12)

1.一种文件分类方法,其特征在于,针对任一待分类的可移植的执行体PE文件X,分别进行以下处理:
确定是否存在作为类中心的PE文件,如果否,则将PE文件X作为其所属类别的类中心,并结束处理;
如果是,则依次确定PE文件X与每个作为类中心的PE文件之间的相似度是否达到预定要求,一旦达到预定要求,则确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别,并结束处理。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
如果PE文件X与每个作为类中心的PE文件之间的相似度均未达到预定要求,则将PE文件X作为其所属类别的类中心,并结束处理。
3.根据权利要求2所述的方法,其特征在于,所述依次确定PE文件X与每个作为类中心的PE文件之间的相似度是否达到预定要求包括:
提取出PE文件X中的导入表信息、导出表信息、字符串信息以及反汇编指令信息;
依次针对每个作为类中心的PE文件Y,分别计算PE文件X的导入表信息与PE文件Y的导入表信息之间的相似度、PE文件X的导出表信息与PE文件Y的导出表信息之间的相似度、PE文件X的字符串信息与PE文件Y的字符串信息之间的相似度,以及PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度;
如果计算出的四个相似度均大于各自对应的阈值,则确定PE文件X与PE文件Y之间的相似度达到预定要求。
4.根据权利要求3所述的方法,其特征在于,
所述计算PE文件X的导入表信息与PE文件Y的导入表信息之间的相似度包括:
设置参数N1,初始取值为0;
针对从PE文件X中提取出的每个导入表信息,分别确定是否从PE文件Y中同样提取出了该导入表信息,如果是,则将N1的取值加1;
用N1的取值除以导入表信息的总个数,将得到的商作为PE文件X的导入表信息与PE文件Y的导入表信息之间的相似度;其中,所述导入表信息的总个数为:将从PE文件X中提取出的导入表信息的个数与从PE文件Y中提取出的导入表信息的个数求和,再减去N1后得到的结果;
所述计算PE文件X的导出表信息与PE文件Y的导出表信息之间的相似度包括:
设置参数N2,初始取值为0;
针对从PE文件X中提取出的每个导出表信息,分别确定是否从PE文件Y中同样提取出了该导出表信息,如果是,则将N2的取值加1;
用N2的取值除以导出表信息的总个数,将得到的商作为PE文件X的导出表信息与PE文件Y的导出表信息之间的相似度;其中,所述导出表信息的总个数为:将从PE文件X中提取出的导出表信息的个数与从PE文件Y中提取出的导出表信息的个数求和,再减去N2后得到的结果;
所述计算PE文件X的字符串信息与PE文件Y的字符串信息之间的相似度包括:
设置参数N3,初始取值为0;
针对从PE文件X中提取出的每个字符串信息,分别确定是否从PE文件Y中同样提取出了该字符串信息,如果是,则将N3的取值加1;
用N3的取值除以字符串信息的总个数,将得到的商作为PE文件X的字符串信息与PE文件Y的字符串信息之间的相似度;其中,所述字符串信息的总个数为:将从PE文件X中提取出的字符串信息的个数与从PE文件Y中提取出的字符串信息的个数求和,再减去N3后得到的结果;
所述计算PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度包括:
设置参数N4,初始取值为0;
针对从PE文件X中提取出的每个反汇编指令信息,分别确定是否符合以下条件:从PE文件Y中同样提取出了该反汇编指令信息,且该反汇编指令信息在从PE文件X中提取出的各反汇编指令信息中的执行顺序与在从PE文件Y中提取出的各反汇编指令信息中的执行顺序相同;如果是,则将N4的取值加1;
用N4的取值除以反汇编指令信息的总个数,将得到的商作为PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度;其中,所述反汇编指令信息的总个数为:将从PE文件X中提取出的反汇编指令信息的个数与从PE文件Y中提取出的反汇编指令信息的个数求和,再减去N4后得到的结果。
5.根据权利要求3或4所述的方法,其特征在于,
所述提取出PE文件X中的导入表信息、导出表信息、字符串信息以及反汇编指令信息之后,进一步包括:对提取出的各信息分别进行数值化;
参与计算的PE文件Y的导入表信息、导出表信息、字符串信息以及反汇编指令信息同样均为数值化后的信息。
6.根据权利要求3或4所述的方法,其特征在于,所述确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别之后,进一步包括:
针对该类别中的每个PE文件,分别计算其与该类别中除该PE文件以外的其它所有M个PE文件中的每个PE文件之间的四个相似度之和,得到M个计算结果,M为正整数,并将M个计算结果相加,得到该PE文件的总体相似度;
确定总体相似度最大的PE文件与作为该类别的类中心的PE文件是否相同,如果否,则将总体相似度最大的PE文件作为该类别的类中心。
7.一种文件分类装置,其特征在于,包括:
第一处理模块,用于针对任一待分类的可移植的执行体PE文件X,分别进行如下处理:确定是否存在作为类中心的PE文件,如果否,则将PE文件X作为其所属类别的类中心,并结束处理,如果是,则通知第二处理模块执行功能;
所述第二处理模块,用于依次确定PE文件X与每个作为类中心的PE文件之间的相似度是否达到预定要求,一旦达到预定要求,则确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别,并结束处理。
8.根据权利要求7所述的装置,其特征在于,
所述第二处理模块进一步用于,如果PE文件X与每个作为类中心的PE文件之间的相似度均未达到预定要求,则将PE文件X作为其所属类别的类中心,并结束处理。
9.根据权利要求8所述的装置,其特征在于,所述第二处理模块中包括:
第一处理单元,用于提取出PE文件X中的导入表信息、导出表信息、字符串信息以及反汇编指令信息,并发送给第二处理单元;
所述第二处理单元,用于依次针对每个作为类中心的PE文件Y,分别计算PE文件X的导入表信息与PE文件Y的导入表信息之间的相似度、PE文件X的导出表信息与PE文件Y的导出表信息之间的相似度、PE文件X的字符串信息与PE文件Y的字符串信息之间的相似度,以及PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度,如果计算出的四个相似度均大于各自对应的阈值,则确定PE文件X与PE文件Y之间的相似度达到预定要求;一旦达到预定要求,则确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别;如果PE文件X与每个作为类中心的PE文件之间的相似度均未达到预定要求,则将PE文件X作为其所属类别的类中心。
10.根据权利要求9所述的装置,其特征在于,
所述第二处理单元设置参数N1,初始取值为0;针对从PE文件X中提取出的每个导入表信息,分别确定是否从PE文件Y中同样提取出了该导入表信息,如果是,则将N1的取值加1;用N1的取值除以导入表信息的总个数,将得到的商作为PE文件X的导入表信息与PE文件Y的导入表信息之间的相似度;其中,所述导入表信息的总个数为:将从PE文件X中提取出的导入表信息的个数与从PE文件Y中提取出的导入表信息的个数求和,再减去N1后得到的结果;
所述第二处理单元设置参数N2,初始取值为0;针对从PE文件X中提取出的每个导出表信息,分别确定是否从PE文件Y中同样提取出了该导出表信息,如果是,则将N2的取值加1;用N2的取值除以导出表信息的总个数,将得到的商作为PE文件X的导出表信息与PE文件Y的导出表信息之间的相似度;其中,所述导出表信息的总个数为:将从PE文件X中提取出的导出表信息的个数与从PE文件Y中提取出的导出表信息的个数求和,再减去N2后得到的结果;
所述第二处理单元设置参数N3,初始取值为0;针对从PE文件X中提取出的每个字符串信息,分别确定是否从PE文件Y中同样提取出了该字符串信息,如果是,则将N3的取值加1;用N3的取值除以字符串信息的总个数,将得到的商作为PE文件X的字符串信息与PE文件Y的字符串信息之间的相似度;其中,所述字符串信息的总个数为:将从PE文件X中提取出的字符串信息的个数与从PE文件Y中提取出的字符串信息的个数求和,再减去N3后得到的结果;
所述第二处理单元设置参数N4,初始取值为0;针对从PE文件X中提取出的每个反汇编指令信息,分别确定是否符合以下条件:从PE文件Y中同样提取出了该反汇编指令信息,且该反汇编指令信息在从PE文件X中提取出的各反汇编指令信息中的执行顺序与在从PE文件Y中提取出的各反汇编指令信息中的执行顺序相同;如果是,则将N4的取值加1;用N4的取值除以反汇编指令信息的总个数,将得到的商作为PE文件X的反汇编指令信息与PE文件Y的反汇编指令信息之间的相似度;其中,所述反汇编指令信息的总个数为:将从PE文件X中提取出的反汇编指令信息的个数与从PE文件Y中提取出的反汇编指令信息的个数求和,再减去N4后得到的结果。
11.根据权利要求9或10所述的装置,其特征在于,
所述第一处理单元进一步用于,对提取出的各信息分别进行数值化,并将数值化后的各信息发送给所述第二处理单元;
所述第二处理单元中参与计算的PE文件Y的导入表信息、导出表信息、字符串信息以及反汇编指令信息同样均为数值化后的信息。
12.根据权利要求9或10所述的装置,其特征在于,
所述第二处理单元进一步用于,在确定PE文件X与达到预定要求时对应的作为类中心的PE文件属于同一类别之后,针对该类别中的每个PE文件,分别计算其与该类别中除该PE文件以外的其它所有M个PE文件中的每个PE文件之间的四个相似度之和,得到M个计算结果,M为正整数,并将M个计算结果相加,得到该PE文件的总体相似度;确定总体相似度最大的PE文件与作为该类别的类中心的PE文件是否相同,如果否,则将总体相似度最大的PE文件作为该类别的类中心。
CN201210231594.8A 2012-07-05 2012-07-05 一种文件分类方法和装置 Active CN103530294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210231594.8A CN103530294B (zh) 2012-07-05 2012-07-05 一种文件分类方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210231594.8A CN103530294B (zh) 2012-07-05 2012-07-05 一种文件分类方法和装置

Publications (2)

Publication Number Publication Date
CN103530294A true CN103530294A (zh) 2014-01-22
CN103530294B CN103530294B (zh) 2017-12-22

Family

ID=49932316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210231594.8A Active CN103530294B (zh) 2012-07-05 2012-07-05 一种文件分类方法和装置

Country Status (1)

Country Link
CN (1) CN103530294B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446676A (zh) * 2016-08-30 2017-02-22 北京奇虎科技有限公司 Pe文件的处理方法及装置
CN108171862A (zh) * 2018-01-08 2018-06-15 北京值得买科技股份有限公司 一种发号方法及发号器
CN113987502A (zh) * 2021-12-29 2022-01-28 阿里云计算有限公司 目标程序检测方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101685483A (zh) * 2008-09-22 2010-03-31 成都市华为赛门铁克科技有限公司 一种病毒特征码提取的方法和装置
CN102346829A (zh) * 2011-09-22 2012-02-08 重庆大学 基于集成分类的病毒检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101685483A (zh) * 2008-09-22 2010-03-31 成都市华为赛门铁克科技有限公司 一种病毒特征码提取的方法和装置
CN102346829A (zh) * 2011-09-22 2012-02-08 重庆大学 基于集成分类的病毒检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IGOR SANTOS 等: "Idea: Opcode-sequence-based Malware Detection", 《ENGINEERING SECURE SOFTWARE AND SYSTEM》 *
余晓姿 等: "基于分类的未知病毒检测方法研究", 《中国科技论文在线》 *
洪群业: "基于分类的未知PE病毒检测技术的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446676A (zh) * 2016-08-30 2017-02-22 北京奇虎科技有限公司 Pe文件的处理方法及装置
CN106446676B (zh) * 2016-08-30 2019-05-31 北京奇虎科技有限公司 Pe文件的处理方法及装置
CN108171862A (zh) * 2018-01-08 2018-06-15 北京值得买科技股份有限公司 一种发号方法及发号器
CN113987502A (zh) * 2021-12-29 2022-01-28 阿里云计算有限公司 目标程序检测方法、设备及存储介质

Also Published As

Publication number Publication date
CN103530294B (zh) 2017-12-22

Similar Documents

Publication Publication Date Title
CN109739894B (zh) 补充元数据描述的方法、装置、设备及存储介质
Crussell et al. Andarwin: Scalable detection of semantically similar android applications
CN102930206B (zh) 病毒文件的聚类划分处理方法和装置
CN108197306B (zh) Sql语句处理方法、装置、计算机设备和存储介质
WO2018166113A1 (zh) 随机森林模型训练的方法、电子装置及存储介质
CN102799647A (zh) 网页去重方法和设备
CN105224600B (zh) 一种样本相似度的检测方法及装置
KR101617696B1 (ko) 데이터 정규표현식의 마이닝 방법 및 장치
CN103473346A (zh) 一种基于应用程序编程接口的安卓重打包应用检测方法
CN104732332B (zh) 基于电子商务的订单拆分方法和装置
CN107784026A (zh) 一种etl数据处理方法及装置
CN104036187A (zh) 计算机病毒类型确定方法及其系统
CN105205397A (zh) 恶意程序样本分类方法及装置
CN103150260A (zh) 重复数据删除方法和装置
RU2728497C1 (ru) Способ и система определения принадлежности программного обеспечения по его машинному коду
CN102708183A (zh) 数据压缩的方法和装置
CN110969172A (zh) 一种文本的分类方法以及相关设备
CN103530294A (zh) 一种文件分类方法和装置
US20150331751A1 (en) Method of processing data, system and storage medium
CN102314571B (zh) 处理计算机病毒的方法及装置
CN108460052B (zh) 一种自动创建索引的方法、装置及数据库系统
US10380240B2 (en) Apparatus and method for data compression extension
CN110825453B (zh) 基于大数据平台的数据处理方法及装置
CN111158994B (zh) 一种压测性能测试方法及装置
CN111626649B (zh) 大数据处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant