病毒文件的聚类划分处理方法和装置的制作方法

文档序号:6430266阅读:136来源:国知局
专利名称:病毒文件的聚类划分处理方法和装置的制作方法
技术领域
本发明涉及计算机数据处理技术领域,尤其涉及一种对计算机病毒文件进行聚类划分的聚类划分处理方法和装置。
背景技术
计算机病毒通常都具有家族特性,某个计算机病毒经过一些演化,会繁衍出其变种病毒。病毒变化的目的主要是针对某些杀毒软件的进行的免杀处理。通常这样的病毒和其繁衍出来的病毒,具有家族特性。反病毒软件会根据病毒的家族特性进行病毒家族的划分,往往会提取该家族的病毒都存在的特征信息作为病毒的判断依据,从而使得病毒库中的一条记录信息就可以命中该家族的全部病毒。由此可见,准确的病毒家族聚类方法可以大幅度提高反病毒软件的查杀效率,减少病毒库的大小。现有的病毒聚类划分方法主要采用人工划分的方式进行处理,主要处理方式是需·要动态执行病毒文件,人工记录和分析病毒的动态行为特征,比如调用系统应用程序编程接口(API)的顺序,是否修改注册表,是否在敏感位置创建文件等等,之后结合这些动态的行为特征进行人工聚类划分。现有的这种人工聚类划分病毒的方法的缺陷是需要大量的人力资源,同时对病毒分析人员的经验要求也很高。在进行病毒的聚类划分时,需要动态运行病毒文件查看其动态行为特征,不但增加了很多时间和计算资源上的消耗,而且动态运行病毒文件对本地计算机本身也会增加很多染毒风险。

发明内容
有鉴于此,本发明提供一种病毒文件的聚类划分处理方法和装置,以提高对计算机病毒文件的聚类划分效率,减少资源消耗,并避免动态运行病毒文件所带来的染毒风险。本发明的技术方案是这样实现的一种病毒文件的聚类划分处理方法,该方法包括A、静态分析待划分病毒文件的二进制数据,从中分析出病毒文件的可移植可执行PE结构数据;B、比较所述待划分病毒文件的PE结构数据,将PE结构数据符合指定相似度的病毒文件划分到同一类别中。一种病毒文件聚类划分的处理装置,该装置包括第一数据分析模块,用于静态分析待划分病毒文件的二进制数据,从中提取出病毒文件的PE结构数据;第一聚类划分模块,用于比较所述待划分病毒文件的PE结构数据,将PE结构数据符合指定相似度的病毒文件划分到同一类别中。与现有技术的手工方式相比,本发明采用可以由计算机自动执行,分析病毒文件的二进制数据,根据二进制数据进行划分,从而可以提高对计算机病毒文件的聚类划分效率,减少资源消耗,包括对人力资源、时间资源、以及计算资源等的消耗。与现有技术的动态运行病毒文件进行聚类划分的方式相比,本发明采用静态分析的方式对病毒文件的二进制可移植可执行(PE)结构数据进行比较或进一步对节数据进行分块哈希比较,将符合指定相似度的病毒文件划分到一类,可以避免动态运行病毒文件所带来的染毒风险。


图I为PE文件的结构示意图;图2为本发明所述病毒文件的聚类划分处理方法的一种流程图;图3为本发明所述病毒文件的聚类划分处理方法的一种包括二级聚类划分的流程图; 图4为所述对病毒文件的节数据进行分块处理及哈希计算的示意图;图5为病毒文件经过两次聚类划分后的结果示意图;图6为本发明所述病毒文件的聚类划分处理装置的一种示意图;图7为本发明所述病毒文件的聚类划分处理装置的一种包括二级聚类划分功能的示意图。
具体实施例方式下面结合附图及具体实施例对本发明再作进一步详细的说明。病毒文件是计算机文件的一种,其表现形式为二进制的数据形式。本发明通过病毒文件的二进制数据和病毒文件家族特性的特点进行分析,提出了可以由计算机自动执行的病毒文件聚类划分的处理方法和装置。在视窗(WINDOWS)操作系统中,病毒文件通常为PE文件。图I为PE文件的结构示意图,参见图I,所述PE文件通常包括DOS头、PE头、节表信息、节数据、以及附加数据。所述DOS头、PE头、节表信息属于PE结构数据,用于标识PE文件的结构特征。对于针对反病毒进行免杀处理的病毒文件,其特点是修改PE文件中节数据中的某些部分。对于这样的病毒文件,其PE结构数据往往是相同或者相似的。因此本发明可以依据病毒文件的PE结构数据对病毒文件进行聚类划分。图2为本发明所述病毒文件的聚类划分处理方法的一种流程图。参见图2,该流程包括步骤201、静态分析待划分病毒文件的二进制数据,从中分析出病毒文件的PE结构数据。步骤202、比较所述待划分病毒文件的PE结构数据,将PE结构数据符合指定相似度的病毒文件划分到同一类别中。所述相似度是指两个比较对象之间数据相似的程度,例如可以用两个比较对象中相同数据的数量占总数据的数量的百分比表示;也可以用两个比较对象之间连续相同字节的相同比率来表示;也可以对两个比较对象进行分块处理后,用二者之间相同数据块的数量表示,或者用二者之间连续相同的数据块的数量表示。本发明中,所述用于比较的PE结构数据为DOS头、PE头、节表信息这三种数据中的任一项或任意项的组合。所述步骤202的一种具体实施方式
包括以下步骤221至步骤223 步骤221、将第一个病毒文件作为一个新类的中心文件;步骤222、将下一病毒文件的PE结构数据依次与各类的中心文件的PE结构数据进行比较(如果此时只有一类,则只与该类的中心文件对比),如果该病毒文件与某类中心文件的PE结构数据符合指定相似度,例如可以对PE结构数据的字节进行分析,查看对应相同的字节的数量,如果对应相同的字节数量占总字节数量的百分比超过某一阈值则判定符合指定相似度,此时将该病毒文件划分到该类中,并执行步骤223,或者也可以查看PE结构数据中连续相同字节的相同比率是否超过某一阈值,如果超过则判定符合指定相似度,将该病毒文件划分到该类中,并执行步骤223 ;如果该病毒文件与各类中心文件的PE结构数据相比都不符合指定相似度,则将该病毒文件作为一个新类的中心文件,并执行步骤223 ;步骤223、判断是否还有下一个病毒文件,如果有则返回执行步骤222 ;否则结束本流程。·例如假设有N个待划分的病毒文件,首先将第一个病毒文件作为一个新类的中心文件,将第二个病毒文件与第一个病毒文件进行对比,如果PE结构数据符合指定相似度则划分到与第一个病毒文件同一类中,否则该第二个病毒文件作为一个新类的中心文件。假设此处第二个病毒文件与第一病毒文件的PE结构数据相似度不符合指定相似度,作为了一个新类的中心文件,则第三个病毒文件依次与所述第一个病毒文件和第二个病毒文件进行对比,与哪个病毒文件的PE结构数据符合执行相似度则将该第三个病毒文件划分到对应的类中。如果此处第二个病毒文件与第一病毒文件的PE结构数据相似度符合指定相似度,则该第二个病毒文件将被划分到与第一个病毒文件同一类中。此后第三个病毒文件将与该类的中心文件即第一个病毒文件进行对比,而不再与该类中的其它病毒文件(如第二个病毒文件)进行对比。后面的病毒文件以此类推,直到所有N个病毒文件处理完毕。在上述处理过程中,如果一个类别中的病毒文件数超过了一个指定值,例如3个,并且小于某一指定值,例如10个,则需要重新确定该类的中心文件。即在步骤202中还进一步包括判断各类中的病毒文件数是否处于一指定的数值范围(如大于等于3,小于10),如果是,则重新确定该类的中心文件。所述重新确定类的中心文件的方法具体为比较该类中各个病毒文件之间的PE结构数据的相似度,将每个病毒文件与其它病毒文件的PE结构数据的相似度相加得到相似度之和,将所述相似度之和最大的病毒文件作为该类的中心文件。通过上述处理,可以对病毒文件进行聚类划分。但是,本发明还可以进一步对上述划分出的每一类的病毒文件进行二级聚类划分,以进一步细化病毒文件的分类,提高每类病毒文件的相似度。图3为本发明所述病毒文件的聚类划分处理方法的一种包括二级聚类划分的流程图,图4为所述对病毒文件的节数据进行分块处理及哈希计算的示意图。参见图3和图4,该流程包括图I所述的步骤201和步骤202,并在步骤202之后,针对步骤202所划分的每一同一类别中的病毒文件,进一步包括
步骤203、针对步骤202所划分出的同一类别中的病毒文件,静态分析每个病毒文件的二进制数据,分析出病毒文件的节数据。步骤204、采用相同的分块方式对每个病毒文件的节数据进行分块处理,计算每个节数据块的哈希值,例如图4中划分了 η个节数据块,对应的哈希值分别为hi、h2、h3、.......hn。步骤205、比较病毒文件之间节数据块的哈希值,将节数据块哈希值符合指定的哈希相似度的病毒文件划分到一个二级类中。本步骤205的具体过程包括 步骤251、将本类病毒文件中的第一个病毒文件作为一个新二级类的中心文件。步骤252、将下一病毒文件的节数据块的哈希值依次与各二级类的中心文件的节数据块的哈希值进行比较(如果此时只有一个二级类,则只与该二级类的中心文件对比),如果该病毒文件的节数据块哈希值与某二级类中心文件的节数据块哈希值符合所述指定的哈希相似度,则将该病毒文件划分到该二级类中,并执行步骤253 ;如果该病毒文件的节数据块哈希值与各二级类中心文件的节数据块哈希值相比都不符合指定的哈希相似度,则将该病毒文件作为一个新二级类的中心文件,并执行步骤253 ;步骤253、判断是否还有下一个病毒文件,如果有则返回执行步骤252 ;否则结束本步骤205的流程。在上述处理过程中,如果一个二级类别中的病毒文件数超过了一个指定值,例如3个,并且小于某一指定值,例如10个,则需要重新确定该二级类的中心文件。即在步骤202中还进一步包括判断各二级类中的病毒文件数是否处于一指定的数值范围(如大于等于3,小于10),如果是,则重新确定该二级类的中心文件。所述重新确定二级类的中心文件的方法具体为比较该二级类中各个病毒文件之间的节数据块哈希值的相似度,将每个病毒文件与其它病毒文件的节数据块哈希值的相似度相加得到哈希相似度之和,将所述哈希相似度之和最大的病毒文件作为该二级类的中心文件。在上述进行二级聚类划分的过程中,所述确定病毒文件之间节数据块哈希值是否符合指定的哈希相似度的具体方法为比较两个病毒文件的各个对应节数据块的哈希值,如图4所示,比较两个病毒文
件的hl、h2、h3、......、hn值,确定哪个节数据块的哈希值相同,确定哈希值相同的节数据
块的个数,如果哈希值相同的节数据块的个数超过指定的阈值(比如超过10),则判定该两个病毒文件之间的节数据块哈希值符合指定的哈希相似度。或者,可以判断两个病毒文件中哈希值连续相同的节数据块的个数是否超过指定的阈值,如果超过则判定该两个病毒文件之间的节数据块哈希值符合指定的哈希相似度。图5为病毒文件经过两次聚类划分后的结果示意图,如图5所示,利用本发明所述的二次聚类划分之后,每一个类中的病毒文件相似度会比较高,可以认定处在同一分类中的病毒文件就是同一家族的文件。图6为本发明所述病毒文件的聚类划分处理装置的一种示意图,参见图6,该装置包括第一数据分析模块601,用于静态分析待划分病毒文件的二进制数据,从中提取出病毒文件的PE结构数据;第一聚类划分模块602,用于比较所述待划分病毒文件的PE结构数据,将PE结构数据符合指定相似度的病毒文件划分到同一类别中。图7为本发明所述病毒文件的聚类划分处理装置的一种包括二级聚类划分功能的示意图,参见图7,该装置除了包括图6所示的模块外,还进一步包括第二数据分析模块603,用于静态分析每个病毒文件的二进制数据,分析出病毒文件的节数据;分块处理模块604,用于采用相同的分块方式对每个病毒文件的节数据进行分块处理,计算每块节数据的哈希值;第二聚类划分模块605,用于比较病毒文件之间节数据块的哈希值,将节数据块哈希值符合指定的哈希相似度的病毒文件划分到一个二级类中。 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种病毒文件的聚类划分处理方法,其特征在于,该方法包括A、静态分析待划分病毒文件的二进制数据,从中分析出病毒文件的可移植可执行PE 结构数据;B、比较所述待划分病毒文件的PE结构数据,将PE结构数据符合指定相似度的病毒文件划分到同一类别中。
2.根据权利要求I所述的处理方法,其特征在于,步骤B具体包括BI、将第一个病毒文件作为一个新类的中心文件;B2、将下一病毒文件的PE结构数据依次与各类的中心文件的PE结构数据进行比较,如果该病毒文件与某类中心文件的PE结构数据符合指定相似度,则将该病毒文件划分到该类中,并执行步骤B3 ;如果该病毒文件与各类中心文件的PE结构数据相比都不符合指定相似度,则将该病毒文件作为一个新类的中心文件,并执行步骤B3 ;B3、判断是否还有下一个病毒文件,如果有则返回执行步骤B2 ;否则结束本流程。
3.根据权利要求2所述的处理方法,其特征在于,所述步骤B中进一步包括判断各类中的病毒文件数是否处于一指定的数值范围,如果是,则重新确定该类的中心文件。
4.根据权利要求3所述的处理方法,其特征在于,所述重新确定类的中心文件的方法具体为比较该类中各个病毒文件之间的PE结构数据的相似度,将每个病毒文件与其它病毒文件的PE结构数据的相似度相加得到相似度之和,将所述相似度之和最大的病毒文件作为该类的中心文件。
5.根据权利要求I至4任一项所述的处理方法,其特征在于,所述PE结构数据为下述三种数据中的任一项或任意项的组合DOS头、PE头、节表信息。
6.根据权利要求I所述的处理方法,其特征在于,该方法进一步对步骤B划分出的每个类中的病毒文件进行二次聚类划分;针对步骤B所划分的同一类别中的病毒文件,所述二次聚类划分具体包括Cl、静态分析每个病毒文件的二进制数据,分析出病毒文件的节数据;C2、采用相同的分块方式对每个病毒文件的节数据进行分块处理,计算每个节数据块的哈希值;C3、比较病毒文件之间节数据块的哈希值,将节数据块哈希值符合指定的哈希相似度的病毒文件划分到一个二级类中。
7.根据权利要求6所述的处理方法,其特征在于,步骤C3具体包括C31、将第一个病毒文件作为一个新二级类的中心文件;C32、将下一病毒文件的节数据块的哈希值依次与各二级类的中心文件的节数据块的哈希值进行比较,如果该病毒文件的节数据块哈希值与某二级类中心文件的节数据块哈希值符合所述指定的哈希相似度,则将该病毒文件划分到该二级类中,并执行步骤C33 ;如果该病毒文件的节数据块哈希值与各二级类中心文件的节数据块哈希值相比都不符合指定的哈希相似度,则将该病毒文件作为一个新二级类的中心文件,并执行步骤C33 ;C33、判断是否还有下一个病毒文件,如果有则返回执行步骤C32 ;否则结束本步骤C3的流程。
8.根据权利要求7所述的处理方法,其特征在于,所述步骤C3中进一步包括判断各二级类中的病毒文件数是否处于一指定的数值范围,如果是,则重新确定该二级类的中心文件。
9.根据权利要求8所述的处理方法,其特征在于,所述重新确定二级类的中心文件的方法具体为比较该二级类中各个病毒文件之间的节数据块哈希值的相似度,将每个病毒文件与其它病毒文件的节数据块哈希值的相似度相加得到哈希相似度之和,将所述哈希相似度之和最大的病毒文件作为该二级类的中心文件。
10.根据权利要求6至9任一项所述的处理方法,其特征在于,所述确定病毒文件之间节数据块哈希值是否符合指定的哈希相似度的具体方法为比较两个病毒文件的各个对应节数据块的哈希值,如果哈希值相同的节数据块的个数超过指定的阈值,则判定该两个病毒文件之间的节数据块哈希值符合指定的哈希相似度。
11.一种病毒文件聚类划分的处理装置,其特征在于,该装置包括第一数据分析模块,用于静态分析待划分病毒文件的二进制数据,从中提取出病毒文件的PE结构数据;第一聚类划分模块,用于比较所述待划分病毒文件的PE结构数据,将PE结构数据符合指定相似度的病毒文件划分到同一类别中。
12.根据权利要求11所述的处理装置,其特征在于,该装置进一步包括第二数据分析模块,用于静态分析每个病毒文件的二进制数据,分析出病毒文件的节数据;分块处理模块,用于采用相同的分块方式对每个病毒文件的节数据进行分块处理,计算每块节数据的哈希值;第二聚类划分模块,用于比较病毒文件之间节数据块的哈希值,将节数据块哈希值符合指定的哈希相似度的病毒文件划分到一个二级类中。
全文摘要
本发明公开了一种病毒文件的聚类划分处理方法和装置,所述方法包括A、静态分析待划分病毒文件的二进制数据,从中分析出病毒文件的PE结构数据;B、比较所述待划分病毒文件的PE结构数据,将PE结构数据符合指定相似度的病毒文件划分到同一类别中。所述装置包括第一数据分析模块,用于静态分析待划分病毒文件的二进制数据,从中提取出病毒文件的PE结构数据;第一聚类划分模块,用于比较所述待划分病毒文件的PE结构数据,将PE结构数据符合指定相似度的病毒文件划分到同一类别中。利用本发明,可以提高对计算机病毒文件的聚类划分效率,减少资源消耗,并避免动态运行病毒文件所带来的染毒风险。
文档编号G06F21/56GK102930206SQ201110226879
公开日2013年2月13日 申请日期2011年8月9日 优先权日2011年8月9日
发明者于涛 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1