一种基于机器学习的恶意程序样本聚类方法及相关装置制造方法及图纸

技术编号:20745921 阅读:28 留言:0更新日期:2019-04-03 10:31
本申请公开了一种基于机器学习的恶意程序样本聚类方法,包括:对多个恶意程序进行基本指令块提取,得到每个所述恶意程序对应的基本指令块组;根据指令序号字典对每个所述基本指令块组中的每个基本指令块进行向量化处理,得到每个恶意程序对应的向量组;对所有所述向量组中的向量进行聚类处理,得到聚类结果;根据聚类结果对每个聚类组确定名称标签,根据每个恶意程序对应的聚类组的名称标签确定每个恶意程序的名称标签。通过以基本指令块为粒度对恶意程序进行聚类分析,由于粒度大小降低,提高确定每个恶意程序名称标签的准确性。本申请还公开了一种基于机器学习的恶意程序样本聚类系统、服务器以及计算机可读存储介质,具有以上有益效果。

【技术实现步骤摘要】
一种基于机器学习的恶意程序样本聚类方法及相关装置
本申请涉及计算机安全
,特别涉及一种基于机器学习的恶意程序样本聚类方法、恶意程序样本聚类系统、服务器以及计算机可读存储介质。
技术介绍
随着信息技术的不断发展,在信息安全防范技术中也需要不断加强对恶意程序的识别与监控。为了更好的对恶意程序在事发前进行拦截,少不了对已发现的恶意程序样本进行分析。目前,在恶意程序样本分析的过程中主要是对各种样本的相似性分析方法,提供的方法包括位图相似性,导入表相似性,运行流相似性,运行时行为相似性。其中,位图相似性是将样本以某种方法转化为某种图形,然后以相关算法进行相似性分析。导入表相似性是指将样本导入的功能模块及调用的函数进行相似性分析。运行流相似性是指将程序的运行流程表示为某种图形,然后以相关算法进行相似性分析。运行时行为相似性是指将样本运行时调用的系统函数,及使用的参数进行相似性分析。但是,位图相似性方法所选取表示像素的数据通常粒度较大,导入表方法只有导入模块和模块函数名等信息,运行流方法只包括模块之间的调用和转移关系,运行时行为方法只有运行时的行为,上述方案常受到运行环境,如网络,软硬件配置等条件影响而变,准确率较低,降低样本分析结果在恶意程序识别中的效度。因此,如何提高相似性分析的准确率是本领域技术人员关注的重点问题。
技术实现思路
本申请的目的是提供一种基于机器学习的恶意程序样本聚类方法、恶意程序样本聚类系统、服务器以及计算机可读存储介质,通过以基本指令块为粒度对恶意程序进行聚类分析,由于粒度大小降低,提高确定每个恶意程序名称标签的准确性。为解决上述技术问题,本申请提供一种基于机器学习的恶意程序样本聚类方法,包括:对多个恶意程序进行基本指令块提取,得到每个所述恶意程序对应的基本指令块组;根据指令序号字典对每个所述基本指令块组中的每个基本指令块进行向量化处理,得到每个恶意程序对应的向量组;对所有所述向量组中的向量进行聚类处理,得到聚类结果;根据聚类结果对每个聚类组确定名称标签,根据每个恶意程序对应的聚类组的名称标签确定每个恶意程序的名称标签。可选的,对多个恶意程序进行基本指令块提取,得到每个所述恶意程序对应的基本指令块组,包括:对多个所述恶意程序进行反汇编处理,得到每个所述恶意程序对应的反汇编代码文件;对每个所述反汇编代码文件进行汇编指令提取,得到每个所述恶意程序对应的指令文件;根据基本指令块分割条件对每个指令文件进行分割,得到每个所述恶意程序对应的基本指令块组。可选的,对多个所述恶意程序进行反汇编处理,得到每个所述恶意程序对应的反汇编代码文件,包括:根据所述恶意程序的文件头部信息对反汇编引擎进行参数配置;使用所述反汇编引擎对所述恶意程序进行反汇编,得到所述恶意程序对应的反汇编代码文件。可选的,对每个所述反汇编代码文件进行汇编指令提取,得到每个所述恶意程序对应的指令文件,包括:将所述反汇编代码文件中的非汇编指令删除,得到汇编指令文件;对所述汇编指令文件中所有函数定义信息的位置添加分隔符,得到所述指令文件。可选的,根据基本指令块分割条件对每个指令文件进行分割,得到每个所述恶意程序对应的基本指令块组,包括:根据所述指令文件中的基本指令块分割条件将所述指令文件中的指令分割为多个基本指令块;采用指令块分隔符将所有所述基本指令块进行连接,得到所述基本指令块组。可选的,根据指令序号字典对基本指令块进行向量化处理,包括:对所述基本指令块去除操作数部分,得到基本指令块的操作码;根据所述指令序号字典将所述操作码中的每个指令转换为索引序号,将所述基本指令块的所有索引序号作为所述基本指令块的向量。可选的,根据聚类结果对每个聚类组确定标签,根据每个恶意程序对应的聚类组的标签确定每个恶意程序的相似性分析结果,包括:将所述聚类结果中每个聚类组的前预设数量个向量对应的查杀信息作为对应聚类组的名称标签;根据每个恶意程序对应的所有向量在所有聚类组中的分布,确定每个恶意程序对应的名称标签。本申请还提供一种基于机器学习的恶意程序样本聚类系统,包括:基本指令块提取模块,用于对多个恶意程序进行基本指令块提取,得到每个所述恶意程序对应的基本指令块组;向量化处理模块,用于根据指令序号字典对每个所述基本指令块组中的每个基本指令块进行向量化处理,得到每个恶意程序对应的向量组;向量聚类模块,用于对所有所述向量组中的向量进行聚类处理,得到聚类结果;聚类结果标签化模块,用于根据聚类结果对每个聚类组确定名称标签,根据每个恶意程序对应的聚类组的名称标签确定每个恶意程序的名称标签。本申请还提供一种服务器,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上所述的恶意程序样本聚类方法的步骤。本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的恶意程序样本聚类方法的步骤。本申请所提供的一种基于机器学习的恶意程序样本聚类方法,包括:对多个恶意程序进行基本指令块提取,得到每个所述恶意程序对应的基本指令块组;根据指令序号字典对每个所述基本指令块组中的每个基本指令块进行向量化处理,得到每个恶意程序对应的向量组;对所有所述向量组中的向量进行聚类处理,得到聚类结果;根据聚类结果对每个聚类组确定名称标签,根据每个恶意程序对应的聚类组的名称标签确定每个恶意程序的名称标签。通过对恶意程序进行基本指令块提取,将得到的基本指令块进行向量化处理,也就是将恶意程序以基本指令块为单位表示为多个向量,再对多个向量进行聚类处理,实现以基本指令块为粒度对恶意程序进行相似性分析,也就是降低了恶意程序相似分析的粒度,同时基于基本指令块进行相似性分析,由于基本指令块与所编写的源码具有一一对应的关系,而源码根据不同的开发者的编码风格和习惯又具备一定的对应关系,从而使得基本指令块具备了一种程序的“基因”属性,对基本指令块进行聚类分析相当于对恶意程序的“基因”进行关联,从而分析出恶意软件之间的共性,也就是在更小的粒度上分析出恶意程序之间的共性,从而为相似性分析提供更多线索,提高恶意程序的聚类结果之间的关联度,提高确定每个恶意程序名称标签的准确性。本申请还提供一种基于机器学习的恶意程序样本聚类系统、服务器以及计算机可读存储介质,具有以上有益效果,在此不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种基于机器学习的恶意程序样本聚类方法的流程图;图2为本申请实施例所提供的恶意程序样本聚类方法中基本指令块提取的流程图;图3为本申请实施例所提供的恶意程序样本聚类方法中向量化处理的流程图;图4为本申请实施例所提供的恶意程序样本聚类方法中标签化处理的流程图;图5为本申请实施例所提供的另一种恶意程序样本聚类方法的流程图;图6为本申请实施例所提供的一种基于机器学习的恶意程序样本聚类系统的结构示意图。具体实施方式本申请的核心是提供一种基于机器学习的恶意程序样本聚类方法、恶意程序样本聚类系统、本文档来自技高网...

【技术保护点】
1.一种基于机器学习的恶意程序样本聚类方法,其特征在于,包括:对多个恶意程序进行基本指令块提取,得到每个所述恶意程序对应的基本指令块组;根据指令序号字典对每个所述基本指令块组中的每个基本指令块进行向量化处理,得到每个恶意程序对应的向量组;对所有所述向量组中的向量进行聚类处理,得到聚类结果;根据聚类结果对每个聚类组确定名称标签,根据每个恶意程序对应的聚类组的名称标签确定每个恶意程序的名称标签。

【技术特征摘要】
1.一种基于机器学习的恶意程序样本聚类方法,其特征在于,包括:对多个恶意程序进行基本指令块提取,得到每个所述恶意程序对应的基本指令块组;根据指令序号字典对每个所述基本指令块组中的每个基本指令块进行向量化处理,得到每个恶意程序对应的向量组;对所有所述向量组中的向量进行聚类处理,得到聚类结果;根据聚类结果对每个聚类组确定名称标签,根据每个恶意程序对应的聚类组的名称标签确定每个恶意程序的名称标签。2.根据权利要求1所述的恶意程序样本聚类方法,其特征在于,对多个恶意程序进行基本指令块提取,得到每个所述恶意程序对应的基本指令块组,包括:对多个所述恶意程序进行反汇编处理,得到每个所述恶意程序对应的反汇编代码文件;对每个所述反汇编代码文件进行汇编指令提取,得到每个所述恶意程序对应的指令文件;根据基本指令块分割条件对每个指令文件进行分割,得到每个所述恶意程序对应的基本指令块组。3.根据权利要求2所述的恶意程序样本聚类方法,其特征在于,对多个所述恶意程序进行反汇编处理,得到每个所述恶意程序对应的反汇编代码文件,包括:根据所述恶意程序的文件头部信息对反汇编引擎进行参数配置;使用所述反汇编引擎对所述恶意程序进行反汇编,得到所述恶意程序对应的反汇编代码文件。4.根据权利要求2所述的恶意程序样本聚类方法,其特征在于,对每个所述反汇编代码文件进行汇编指令提取,得到每个所述恶意程序对应的指令文件,包括:将所述反汇编代码文件中的非汇编指令删除,得到汇编指令文件;对所述汇编指令文件中所有函数定义信息的位置添加分隔符,得到所述指令文件。5.根据权利要求2所述的恶意程序样本聚类方法,其特征在于,根据基本指令块分割条件对每个指令文件进行分割,得到每个所述恶意程序对应的基本指令块组,包括:根据所述指令文件中的基本指令块分割条件将所述指令文件中...

【专利技术属性】
技术研发人员:王俊杰范渊
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1