一种在取证场景下自动分析未知恶意程序特征的方法

文档序号:6636007阅读:244来源:国知局
一种在取证场景下自动分析未知恶意程序特征的方法
【专利摘要】本发明提供了一种在取证场景下自动分析未知恶意程序特征的方法;包括下列步骤:1)选择关键动态链接库并建立动态链接库数据模型;2)对恶意软件进程进行聚类分析得到分类;3)获取恶意软件进程特征并进行取证分析。与现有的恶意软件分析取证方法相比,本发明通过对动态链接库数据进行聚类实现了在无先验知识的情况下基于恶意软件进程自身特点的自动分类,并能够通过频繁项集挖掘的方式,在高层语义上对恶意软件行为进行解释;此外,本发明还能为恶意软件取证提供信息和线索;本发明特别适用于无先验知识和大规模自动化取证的场景;实践证明在常规应用场景下,本方法能达到超过百分之九十以上的准确率而时间消耗仅为数秒。
【专利说明】一种在取证场景下自动分析未知恶意程序特征的方法

【技术领域】
[0001]本发明涉及恶意进程分析与计算机取证领域,且特别是有关于一种在取证场景下基于进程的动态链接库数据自动分析未知恶意程序特征的方法。

【背景技术】
[0002]随着国民经济和社会的快速发展,我国各行各业的信息化水平也在不断提高。在全民信息化的背景下,计算机恶意程序的数量越来越大,出现的频率也越来越高,而对这些未知恶意程序特征的自动化分析和取证就显得尤为重要。目前自动分析未知恶意程序特征该领域还是更多地依赖于先验知识,关注自动化、统一以及无先验知识的方法还很少。


【发明内容】

[0003]本发明目的在于,提供一种在取证场景下基于进程的动态链接库数据自动分析未知恶意程序特征的方法,通过对动态链接库数据进行聚类实现了在无先验知识的情况下基于恶意软件进程自身特点的自动分类,并能够通过频繁项集挖掘的方式,在高层语义上对恶意软件行为进行解释。适用于无先验知识和大规模自动化取证的场景。
[0004]为达成上述目的,本发明提出一种在取证场景下基于进程的动态链接库数据自动分析未知恶意程序特征的方法。方法包括下列步骤:
[0005]I)选择关键动态链接库并建立动态链接库数据模型;
[0006]定义1:一个N元元组是一个长度为N的由O或者I组成的序列,这里N为非负整数;
[0007]为了能通过识别算法来快速分析和处理动态链接库数据,需要将每个进程的动态链接库数据映射到成一个数据结构,即定义I中的N元元组;动态链接库集是映射的标准,针对一个包含N个动态链接库的动态链接库集,映射对应的数据结构为一个N元元组;
[0008]这里需要选择一些动态链接库作为关键动态链接库放入动态链接库集中;选择的原则是通过这些被选中的动态链接库来表现出各类恶意程序的特点从而使得类似的恶意程序能被聚类到同一个类中;通过统计出在训练集的恶意软件进程中出现的动态链接库并按照出现频率排序,用户能选择一个出现频率的区间来确定关键动态链接库集;
[0009]映射方式如下:
[0010]a.将元组每一位都设为O ;
[0011]b.遍历关键动态链接库集,对于每个动态链接库,在目标进程的动态链接库数据中搜索,如果存在,则把目标进程所对应的记录的该动态链接库所对应的位置设为I ;
[0012]2)对恶意软件进程进行聚类分析得到恶意软件的分类;
[0013]为了进行聚类分析得到恶意软件的分类,需要对聚类算法进行参数设置:根据用户对分类数量上下限、噪音比率上下限等条件的期望,预先进行参数组合枚举并建立模型得出结果来匹配期望,从而自动确定符合期望的参数;
[0014]进行参数组合枚举并建立模型的特点和要求:
[0015]a.建立模型之前事先无确定分类的个数;
[0016]b.能够发现任意形状的簇即分类;
[0017]c.能否不受少数离群值的干扰;
[0018]d.对训练集中数据输入的顺序不敏感;
[0019]e.计算复杂度较低;
[0020]综合考虑上述因素,在确定参数后,采用较为常见并且符合上述要求的基于密度的聚类算法DBSCAN对进程的动态链接库中的训练数据进行建模;这里每一条数据对应一个N元元组,也对应N维空间上的一个点,DBSCAN的两个参数分别是每一个簇能达到距离内最少需要的点的个数以及能达距离的上限;逐步输入训练集上的点后,通过定义的距离运算来度量点与点之间的长度,在训练数据集输入完毕后,即形成了一个个符合参数要求的簇,而不属于任何一个簇的点即为噪音;
[0021]当模型确定后,将待根据聚类算法建模进行分类的数据映射到元组并作为测试集,能够输出进程的动态链接库中各个恶意软件进程所属于的分类的编号;
[0022]3)获取恶意软件进程特征并进行取证分析;
[0023]定义2:频繁项集:项的集合称为项集;包含k个项的项集称为k项集;项集的出项频率是包含项集的事务数,简称为项集的频率,支持度计数或计数;如果项集I的相对支持度满足预定义的最小支持度阈值,则I是频繁项集;
[0024]为了理解恶意软件的行为、目的并获得更多相关证据,用频繁项集作为每个恶意软件类的行为特征,并以此为基础指导对进程相关证据的获取;为了对恶意软件的动态链接库数据进行频繁项集挖掘,需要将每个进程的动态链接库数据映射到一个N元元组;
[0025]由于观察到各个恶意软件分类中包含的训练数据在各个属性上的取值都较为集中,具体表现为对某一个关键动态链接库大部分都包含或者大部分都不包含;通过统计和验证结合的方式,获得步骤2)中得到的各个恶意软件分类的频繁项集;
[0026]具体步骤陈述如下:
[0027]a.统计各个关键动态链接库在各个恶意软件分类所包含数据中的出现频率;
[0028]b.选择超过设定频率的关键动态链接库,进行组合,并进行验证它们同时出现的频率是否符合设定的下限;
[0029]c.重复b来获得有意义的频繁项集;
[0030]频繁项集中的动态链接库描述了该类恶意进程的共同行为特征;此外,如果训练数据来源于反病毒软件厂商,能够通过统计的方式来获得各个恶意软件分类内部占比率最高的恶意软件,并用其行为作为分类标签,而这个标签也暗示了该分类的共同行为特征;
[0031]定义3:—个恶意软件档案是一个用高层语义描述恶意软件进程的数据结构;它包括了它所属于的恶意软件分类的频繁项集以及标签;
[0032]在获得了上述信息后,取证调查者即可以根据被调查进程所属类别的恶意软件档案来推测进程行为,并提取相关证据。
[0033]进一步,其中上述步骤I)的具体步骤如下:
[0034]步骤I)-1:起始状态;
[0035]步骤I)-2:统计出在训练集的恶意软件进程中出现的动态链接库;
[0036]步骤I) -3:将动态链接库按照出现频率排序;
[0037]步骤1)-4:用户选择出现频率的区间来确定关键动态链接库集;
[0038]步骤I) -5:将元组每一位都设为O ;
[0039]步骤I)-6:遍历动态链接库集,对于每个动态链接库,在目标进程的动态链接库数据中搜索,如果存在,则把目标进程所对应的记录中该动态链接库所对应的位置设为I ;
[0040]步骤I) -7:选择关键动态链接库并建立动态链接库数据模型完毕。
[0041]进一步,其中上述步骤2)的具体步骤如下:
[0042]步骤2)-1:起始状态;
[0043]步骤2)_2:用户设定分类数量上下限、噪音比率上下限;
[0044]步骤2)_3:进行参数组合枚举并建立模型得出结果来匹配用户设定得出符合要求的参数;
[0045]步骤2)-4:针对用户选择,计算出符合要求的参数;
[0046]步骤2) -5:如果参数存在,进入2) -6,否则继续2) _3 ;
[0047]步骤2) -6:采用一个基于密度的聚类算法DBSCAN对训练数据进行建模;
[0048]步骤2)-7:输出各个恶意进程所属于的分类的编号;
[0049]步骤2) -8:对恶意软件进程进行聚类分析得到分类完毕。
[0050]进一步,其中上述步骤3)的具体步骤如下:
[0051]步骤3)-1:起始状态;
[0052]步骤3)_2:统计各个关键动态链接库在各个恶意软件分类所包含数据中的出现频率;
[0053]步骤3)-3:选择超过设定频率的关键动态链接库,进行组合,并进行验证它们同时出现的频率是否符合设定的下限;
[0054]步骤3) -4:如果组合验证完毕则进入3) -5,否则继续3) _3 ;
[0055]步骤3)-5:如果训练数据来源于反病毒软件厂商进入3)-6,否则进入3)_7 ;
[0056]步骤3)_6:统计各个恶意软件分类内部占比率最高的恶意软件被表示的分类标签;
[0057]步骤3)-7:根据频繁项集(以及标签)与具体取证工具功能的映射关系来获得取证操作线索和指导;
[0058]步骤3) -8:根据操作线索和指导进行取证工作;
[0059]步骤3)-9:获取恶意软件进程特征并进行取证分析完毕。
[0060]本发明的有益效果,提供一种在取证场景下基于进程的动态链接库数据自动分析未知恶意程序特征的方法,与现有的恶意软件分析取证方法相比,本发明无须更多地依赖于先验知识,通过对动态链接库数据进行聚类实现了在无先验知识的情况下基于恶意软件进程自身特点的自动分类,并能够通过频繁项集挖掘的方式,在高层语义上对恶意软件行为进行解释。此外,本发明还能为恶意软件取证提供信息和线索。本发明特别适用于无先验知识和大规模自动化取证的场景。实践证明在常规应用场景下,本方法能达到超过百分之九十以上的准确率而时间消耗仅为数秒。

【专利附图】

【附图说明】
[0061]图1为本发明实施例的一种在取证场景下基于进程的动态链接库数据自动分析未知恶意程序特征的方法的流程图。
[0062]图2为图1中选择关键动态链接库并建立动态链接库数据模型的流程图。
[0063]图3为图1中对恶意软件进程进行聚类分析得到分类的流程图。
[0064]图4为图1中获取恶意软件进程特征并进行取证分析的流程图。

【具体实施方式】
[0065]为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
[0066]图1为本发明实施例的一种在取证场景下基于进程的动态链接库数据自动分析未知恶意程序特征的方法的流程图。
[0067]一种在取证场景下基于进程的动态链接库数据自动分析未知恶意程序特征的方法,其特征在于,包括下列步骤:
[0068]SlOl选择关键动态链接库并建立动态链接库数据模型。
[0069]定义1:一个N元元组是一个长度为N的由O或者I组成的序列,这里N为非负整数;
[0070]为了能通过识别算法来快速分析和处理动态链接库数据,需要将每个进程的动态链接库数据映射到成一个数据结构,即定义I中的N元元组;动态链接库集是映射的标准,针对一个包含N个动态链接库的动态链接库集,映射对应的数据结构为一个N元元组;
[0071]这里需要选择一些动态链接库作为关键动态链接库放入动态链接库集中;选择的原则是通过这些被选中的动态链接库来表现出各类恶意程序的特点从而使得类似的恶意程序能被聚类到同一个类中;通过统计出在训练集的恶意软件进程中出现的动态链接库并按照出现频率排序,用户能选择一个出现频率的区间来确定关键动态链接库集;
[0072]映射方式如下:
[0073]a.将元组每一位都设为O ;
[0074]b.遍历关键动态链接库集,对于每个动态链接库,在目标进程的动态链接库数据中搜索,如果存在,则把目标进程所对应的记录的该动态链接库所对应的位置设为I ;
[0075]S103对恶意软件进程进行聚类分析得到分类。
[0076]为了进行聚类分析得到恶意软件的分类,需要对聚类算法进行参数设置:根据用户对分类数量上下限、噪音比率上下限等条件的期望,预先进行参数组合枚举并建立模型得出结果来匹配期望,从而自动确定符合期望的参数;
[0077]进行参数组合枚举并建立模型的特点和要求:
[0078]a.建立模型之前事先无确定分类的个数;
[0079]b.能够发现任意形状的簇即分类;
[0080]c.能否不受少数离群值的干扰;
[0081]d.对训练集中数据输入的顺序不敏感;
[0082]e.计算复杂度较低;
[0083]综合考虑上述因素,在确定参数后,采用较为常见并且符合上述要求的基于密度的聚类算法DBSCAN对进程的动态链接库中的训练数据进行建模;这里每一条数据对应一个N元元组,也对应N维空间上的一个点,DBSCAN的两个参数分别是每一个簇能达到距离内最少需要的点的个数以及能达距离的上限;逐步输入训练集上的点后,通过定义的距离运算来度量点与点之间的长度,在训练数据集输入完毕后,即形成了一个个符合参数要求的簇,而不属于任何一个簇的点即为噪音;
[0084]当模型确定后,将待根据聚类算法建模进行分类的数据映射到元组并作为测试集,能够输出进程的动态链接库中各个恶意软件进程所属于的分类的编号;
[0085]S105获取恶意软件进程特征并进行取证分析。
[0086]定义2:频繁项集:项的集合称为项集;包含k个项的项集称为k项集;项集的出项频率是包含项集的事务数,简称为项集的频率,支持度计数或计数;如果项集I的相对支持度满足预定义的最小支持度阈值,则I是频繁项集;
[0087]为了理解恶意软件的行为、目的并获得更多相关证据,用频繁项集作为每个恶意软件类的行为特征,并以此为基础指导对进程相关证据的获取;为了对恶意软件的动态链接库数据进行频繁项集挖掘,需要将每个进程的动态链接库数据映射到一个N元元组;
[0088]由于观察到各个恶意软件分类中包含的训练数据在各个属性上的取值都较为集中,具体表现为对某一个关键动态链接库大部分都包含或者大部分都不包含;通过统计和验证结合的方式,获得S103中得到的各个恶意软件分类的频繁项集;
[0089]具体步骤陈述如下:
[0090]a.统计各个关键动态链接库在各个恶意软件分类所包含数据中的出现频率;
[0091]b.选择超过设定频率的关键动态链接库,进行组合,并进行验证它们同时出现的频率是否符合设定的下限;
[0092]c.重复b来获得有意义的频繁项集;
[0093]频繁项集中的动态链接库描述了该类恶意进程的共同行为特征;此外,如果训练数据来源于反病毒软件厂商,能够通过统计的方式来获得各个恶意软件分类内部占比率最高的恶意软件,并用其行为作为分类标签,而这个标签也暗示了该分类的共同行为特征;
[0094]定义3:—个恶意软件档案是一个用高层语义描述恶意软件进程的数据结构;它包括了它所属于的恶意软件分类的频繁项集以及标签;
[0095]在获得了上述信息后,取证调查者即可以根据被调查进程所属类别的恶意软件档案来推测进程行为,并提取相关证据。
[0096]图2为选择关键动态链接库并建立动态链接库数据模型的流程图。
[0097]定义1:一个N元元组是一个长度为N的由O或者I组成的序列,这里N为非负整数;
[0098]为了能通过识别算法来快速分析和处理动态链接库数据,需要将每个进程的动态链接库数据映射到成一个数据结构,即定义I中的N元元组;动态链接库集是映射的标准,针对一个包含N个动态链接库的动态链接库集,映射对应的数据结构为一个N元元组;
[0099]这里需要选择一些动态链接库作为关键动态链接库放入动态链接库集中;选择的原则是通过这些被选中的动态链接库来表现出各类恶意程序的特点从而使得类似的恶意程序能被聚类到同一个类中;通过统计出在训练集的恶意软件进程中出现的动态链接库并按照出现频率排序,用户能选择一个出现频率的区间来确定关键动态链接库集;
[0100]映射方式如下:
[0101]a.将元组每一位都设为O ;
[0102]b.遍历关键动态链接库集,对于每个动态链接库,在目标进程的动态链接库数据中搜索,如果存在,则把目标进程所对应的记录的该动态链接库所对应的位置设为I;
[0103]具体步骤如下:
[0104]步骤1:起始状态;步骤2:统计出在训练集的恶意软件进程中出现的动态链接库;步骤3:将动态链接库按照出现频率排序;步骤4:用户选择出现频率的区间来确定关键动态链接库集;步骤5:将元组每一位都设为O ;步骤6:遍历动态链接库集,对于每个动态链接库,在目标进程的动态链接库数据中搜索,如果存在,则把目标进程所对应的记录中该动态链接库所对应的位置设为I ;步骤7:选择关键动态链接库并建立动态链接库数据模型完毕。
[0105]图3为对恶意软件进程进行聚类分析得到分类的流程图。为了进行聚类分析得到恶意软件的分类,需要对聚类算法进行参数设置:根据用户对分类数量上下限、噪音比率上下限等条件的期望,预先进行参数组合枚举并建立模型得出结果来匹配期望,从而自动确定符合期望的参数;
[0106]进行参数组合枚举并建立模型的特点和要求:
[0107]a.建立模型之前事先无确定分类的个数;
[0108]b.能够发现任意形状的簇即分类;
[0109]c.能否不受少数离群值的干扰;
[0110]d.对训练集中数据输入的顺序不敏感;
[0111]e.计算复杂度较低;
[0112]综合考虑上述因素,在确定参数后,采用较为常见并且符合上述要求的基于密度的聚类算法DBSCAN对进程的动态链接库中的训练数据进行建模;这里每一条数据对应一个N元元组,也对应N维空间上的一个点,DBSCAN的两个参数分别是每一个簇能达到距离内最少需要的点的个数以及能达距离的上限;逐步输入训练集上的点后,通过定义的距离运算来度量点与点之间的长度,在训练数据集输入完毕后,即形成了一个个符合参数要求的簇,而不属于任何一个簇的点即为噪音;
[0113]当模型确定后,将待根据聚类算法建模进行分类的数据映射到元组并作为测试集,能够输出进程的动态链接库中各个恶意软件进程所属于的分类的编号;
[0114]具体步骤如下:
[0115]步骤1:起始状态;步骤2:用户设定分类数量上下限、噪音比率上下限;步骤3:进行参数组合枚举并建立模型得出结果来匹配用户设定得出符合要求的参数;步骤4:针对用户选择,计算出符合要求的参数;步骤5:如果参数存在,进入6,否则继续3 ;步骤6:采用一个基于密度的聚类算法DBSCAN对训练数据进行建模;步骤7:输出各个恶意进程所属于的分类的编号;步骤8:对恶意软件进程进行聚类分析得到分类完毕。
[0116]图4为获取恶意软件进程特征并进行取证分析的流程图。
[0117]定义2:频繁项集:项的集合称为项集;包含k个项的项集称为k项集;项集的出项频率是包含项集的事务数,简称为项集的频率,支持度计数或计数;如果项集I的相对支持度满足预定义的最小支持度阈值,则I是频繁项集;
[0118]为了理解恶意软件的行为、目的并获得更多相关证据,用频繁项集作为每个恶意软件类的行为特征,并以此为基础指导对进程相关证据的获取;为了对恶意软件的动态链接库数据进行频繁项集挖掘,需要将每个进程的动态链接库数据映射到一个N元元组;
[0119]由于观察到各个恶意软件分类中包含的训练数据在各个属性上的取值都较为集中,具体表现为对某一个关键动态链接库大部分都包含或者大部分都不包含;通过统计和验证结合的方式,获得S103中得到的各个恶意软件分类的频繁项集;
[0120]具体步骤陈述如下:
[0121]a.统计各个关键动态链接库在各个恶意软件分类所包含数据中的出现频率;
[0122]b.选择超过设定频率的关键动态链接库,进行组合,并进行验证它们同时出现的频率是否符合设定的下限;
[0123]c.重复b来获得有意义的频繁项集;
[0124]频繁项集中的动态链接库描述了该类恶意进程的共同行为特征;此外,如果训练数据来源于反病毒软件厂商,能够通过统计的方式来获得各个恶意软件分类内部占比率最高的恶意软件,并用其行为作为分类标签,而这个标签也暗示了该分类的共同行为特征;
[0125]定义3:—个恶意软件档案是一个用高层语义描述恶意软件进程的数据结构;它包括了它所属于的恶意软件分类的频繁项集以及标签;
[0126]在获得了上述信息后,取证调查者即可以根据被调查进程所属类别的恶意软件档案来推测进程行为,并提取相关证据;
[0127]具体步骤如下:
[0128]步骤1:起始状态;步骤2:统计各个关键动态链接库在各个恶意软件分类所包含数据中的出现频率;步骤3:选择超过设定频率的关键动态链接库,进行组合,并进行验证它们同时出现的频率是否符合设定的下限;步骤4:如果组合验证完毕则进入5,否则继续3 ;步骤5:如果训练数据来源于反病毒软件厂商进入6,否则进入7 ;步骤6:统计各个恶意软件分类内部占比率最高的恶意软件被表示的分类标签;步骤7:根据频繁项集(以及标签)与具体取证工具功能的映射关系来获得取证操作线索和指导;步骤8:根据操作线索和指导进行取证工作;步骤9:获取恶意软件进程特征并进行取证分析完毕。
[0129]虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属【技术领域】中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
【权利要求】
1.一种在取证场景下自动分析未知恶意程序特征的方法,其特征在于,包括下列步骤: 1)选择关键动态链接库并建立动态链接库数据模型; 定义1:一个N元元组是一个长度为N的由O或者I组成的序列,这里N为非负整数;为了能通过识别算法来快速分析和处理动态链接库数据,需要将每个进程的动态链接库数据映射到成一个数据结构,即定义I中的N元元组;动态链接库集是映射的标准,针对一个包含N个动态链接库的动态链接库集,映射对应的数据结构为一个N元元组; 这里需要选择一些动态链接库作为关键动态链接库放入动态链接库集中;选择的原则是通过这些被选中的动态链接库来表现出各类恶意程序的特点从而使得类似的恶意程序能被聚类到同一个类中;通过统计出在训练集的恶意软件进程中出现的动态链接库并按照出现频率排序,用户能选择一个出现频率的区间来确定关键动态链接库集; 映射方式如下: a.将元组每一位都设为O; b.遍历关键动态链接库集,对于每个动态链接库,在目标进程的动态链接库数据中搜索,如果存在,则把目标进程所对应的记录的该动态链接库所对应的位置设为I ; 2)对恶意软件进程进行聚类分析得到恶意软件的分类; 为了进行聚类分析得到恶意软件的分类,需要对聚类算法进行参数设置:根据用户对分类数量上下限、噪音比率上下限等条件的期望,预先进行参数组合枚举并建立模型得出结果来匹配期望,从而自动确定符合期望的参数; 进行参数组合枚举并建立模型的特点和要求: 建立模型之前事先无确定分类的个数; 能够发现任意形状的簇即分类; 能否不受少数离群值的干扰; 对训练集中数据输入的顺序不敏感; 计算复杂度较低; 综合考虑上述因素,在确定参数后,采用较为常见并且符合上述要求的基于密度的聚类算法DBSCAN对进程的动态链接库中的训练数据进行建模;这里每一条数据对应一个N元元组,也对应N维空间上的一个点,DBSCAN的两个参数分别是每一个簇能达到距离内最少需要的点的个数以及能达距离的上限;逐步输入训练集上的点后,通过定义的距离运算来度量点与点之间的长度,在训练数据集输入完毕后,即形成了一个个符合参数要求的簇,而不属于任何一个簇的点即为噪音; 当模型确定后,将待根据聚类算法建模进行分类的数据映射到元组并作为测试集,能够输出进程的动态链接库中各个恶意软件进程所属于的分类的编号; 3)获取恶意软件进程特征并进行取证分析; 定义2:频繁项集:项的集合称为项集;包含k个项的项集称为k项集;项集的出项频率是包含项集的事务数,简称为项集的频率,支持度计数或计数;如果项集I的相对支持度满足预定义的最小支持度阈值,则I是频繁项集; 为了理解恶意软件的行为、目的并获得更多相关证据,用频繁项集作为每个恶意软件类的行为特征,并以此为基础指导对进程相关证据的获取;为了对恶意软件的动态链接库数据进行频繁项集挖掘,需要将每个进程的动态链接库数据映射到一个N元元组; 由于观察到各个恶意软件分类中包含的训练数据在各个属性上的取值都较为集中,具体表现为对某一个关键动态链接库大部分都包含或者大部分都不包含;通过统计和验证结合的方式,获得步骤2)中得到的各个恶意软件分类的频繁项集; 具体步骤陈述如下: 统计各个关键动态链接库在各个恶意软件分类所包含数据中的出现频率; 选择超过设定频率的关键动态链接库,进行组合,并进行验证它们同时出现的频率是否符合设定的下限; 重复b来获得有意义的频繁项集; 频繁项集中的动态链接库描述了该类恶意进程的共同行为特征;此外,如果训练数据来源于反病毒软件厂商,能够通过统计的方式来获得各个恶意软件分类内部占比率最高的恶意软件,并用其行为作为分类标签,而这个标签也暗示了该分类的共同行为特征; 定义3:—个恶意软件档案是一个用高层语义描述恶意软件进程的数据结构;它包括了它所属于的恶意软件分类的频繁项集以及标签; 在获得了上述信息后,取证调查者即可以根据被调查进程所属类别的恶意软件档案来推测进程行为,并提取相关证据。
2.根据权利要求1所述的在取证场景下自动分析未知恶意程序特征的方法,上述步骤O的具体步骤如下: 步骤I)-1:起始状态; 步骤I) -2:统计出在训练集的恶意软件进程中出现的动态链接库; 步骤I) -3:将动态链接库按照出现频率排序; 步骤I) -4:用户选择出现频率的区间来确定关键动态链接库集; 步骤I) -5:将元组每一位都设为O ; 步骤I)-6:遍历动态链接库集,对于每个动态链接库,在目标进程的动态链接库数据中搜索,如果存在,则把目标进程所对应的记录中该动态链接库所对应的位置设为I ; 步骤I)-7:选择关键动态链接库并建立动态链接库数据模型完毕。
3.根据权利要求1所述的在取证场景下自动分析未知恶意程序特征的方法,其中上述步骤2)的具体步骤如下: 步骤2)-1:起始状态; 步骤2) -2:用户设定分类数量上下限、噪音比率上下限; 步骤2) -3:进行参数组合枚举并建立模型得出结果来匹配用户设定得出符合要求的参数; 步骤2) -4:针对用户选择,计算出符合要求的参数; 步骤2)-5:如果参数存在,进入2)-6,否则继续2)-3 ; 步骤2) -6:采用一个基于密度的聚类算法DBSCAN对训练数据进行建模; 步骤2) -7:输出各个恶意进程所属于的分类的编号; 步骤2) -8:对恶意软件进程进行聚类分析得到分类完毕。
4.根据权利要求1所述的在取证场景下基于进程的动态链接库数据自动分析未知恶意程序特征的方法,其中上述步骤3)的具体步骤如下: 步骤3)-1:起始状态; 步骤3) -2:统计各个关键动态链接库在各个恶意软件分类所包含数据中的出现频率;步骤3)-3:选择超过设定频率的关键动态链接库,进行组合,并进行验证它们同时出现的频率是否符合设定的下限; 步骤3) -4:如果组合验证完毕则进入3) -5,否则继续3) -3 ; 步骤3) -5:如果训练数据来源于反病毒软件厂商进入3) -6,否则进入3) -7 ; 步骤3) -6:统计各个恶意软件分类内部占比率最高的恶意软件被表示的分类标签;步骤3) -7:根据频繁项集(以及标签)与具体取证工具功能的映射关系来获得取证操作线索和指导; 步骤3) -8:根据操作线索和指导进行取证工作; 步骤3) -9:获取恶意软件进程特征并进行取证分析完毕。
【文档编号】G06F21/56GK104331664SQ201410696330
【公开日】2015年2月4日 申请日期:2014年11月27日 优先权日:2014年11月27日
【发明者】伏晓, 端一恒, 骆斌 申请人:南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1