一种获取恶意软件识别模型的方法技术

技术编号:39414106 阅读:9 留言:0更新日期:2023-11-19 16:05
本申请实施例提供一种获取恶意软件识别模型的方法

【技术实现步骤摘要】
一种获取恶意软件识别模型的方法、软件识别方法及装置


[0001]本申请涉及恶意软件识别领域,具体而言本申请实施例涉及一种获取恶意软件识别模型的方法

软件识别方法及装置


技术介绍

[0002]Windows
恶意软件分类是用于对感染
Windows
操作系统的不同类型的恶意软件进行恶意软件家族分类的技术,该技术广泛地被安全研究人员和反病毒公司用来对恶意软件进行识别和同源分析,以创建反病毒安全工具和解决方案

总的来说,
Windows
恶意软件分类是现代网络安全的一个关键组成部分,是保护用户系统和数据免受不断发展的恶意软件威胁的重要技术之一

针对
Windows
操作系统的恶意软件进行识别和分类主要是通过分析恶意软件的特征,例如恶意软件的行为行为

代码结构和传播方法,以确定其目的和对系统和数据的潜在影响

通过了解不同类型恶意软件的特征,安全专业人员可以开发工具和技术有针对性的检测

预防和修复感染

[0003]Windows
恶意软件分类可以分为基于静态特征的方法和基于动态特征的方法

基于静态的分析方法主要包括基于签名的方法

启发式分析的方法和基于机器学习的方法

由于机器学习算法的发展,基于机器学习的恶意软件分类方法的应用越来越广泛

>[0004]基于机器学习的分类方法包括基于反汇编的分类方法

通过反汇编技术对恶意软件的二进制文件进行反汇编分析,提取出反汇编信息
(
例如函数调用图或控制流图
)
进行恶意软件分类

然而相关技术在利用该种分类方法时所采用的用于表征恶意代码的特征向量并不能很好表征恶意代码进而导致训练得到的模型对恶意代码的识别准确率较低,相关技术方案在获取特征向量的过程涉及的计算量过大


技术实现思路

[0005]本申请实施例的目的在于提供一种获取恶意软件识别模型的方法

软件识别方法及装置,采用本申请实施例可以解决目前
Windows
恶意软件分类方法在准确率和分类效率上的不足

[0006]第一方面,本申请实施例提供一种获取恶意软件识别模型的方法,所述方法包括:获取所有恶意样本中各恶意样本的函数调用图,得到多个函数调用图,其中,一个函数调用图对应一个恶意样本;使用社交网络中心性分析各恶意样本的函数调用图,生成多个权重函数调用图,其中,一个权重函数调用图对应一个恶意样本;根据各权重函数调用图得到权重词典,其中,一个权重词典对应一个恶意样本;根据敏感函数集合和所述权重词典得到与任意一个恶意样本对应的特征向量,得到训练集的特征向量集合,其中,所述敏感函数集合是所述所有恶意样本包括的所有系统函数;基于所述特征向量集合中各类恶意软件的特征向量子集合以及相应类别标签对恶意软件识别模型进行训练,得到目标恶意软件识别模型

[0007]本申请的一些实施例通过引入社交中心性相关算法分析函数调用图,进而得到与
各系统函数对应的权重值,之后再基于这些权重值来表征各类恶意软件的特征向量,并基于这些特征向量对模型进行训练得到用于识别恶意软件类型的目标恶意软件识别模型,由于本申请实施例的特征向量可以更好反应各类恶意软件的特征因此基于此得到的目标恶意软件识别模型可以解决目前
Windows
恶意软件分类方法在准确率和分类效率上的不足

[0008]在一些实施例中,所述函数调用图采用节点表征相应恶意样本包括的各系统函数或用户函数,所述函数调用图采用节点之间的边表征与两个节点对应的两个函数之间存在调用关系;所述权重函数调用图包括相应恶意样本包括的系统函数的权重值,所述权重值用于表征相应系统函数在相应函数调用图中的重要程度;所述权重词典的键为相应恶意样本包括的系统函数的函数名,所述权重词典的值为相应系统函数的权重值

[0009]在一些实施例中,所述获取所有恶意样本中各恶意样本的函数调用图,包括:运行程序函数调用关系提取脚本对每个恶意样本进行分析,得到与所述每个恶意样本对应的函数调用关系;根据所述每个恶意样本的函数调用关系,运行函数调用图生成程序,以相应恶意样本中的各函数为图的节点,并以与所述相应恶意样本对应的函数调用关系为图的边关系,得到与所述每个恶意样本对应的函数调用图

[0010]本申请的一些实施例通过运行程序函数调用关系提取脚本以及函数调用图生成程序得到各恶意样本的函数调用图,提升获取函数调用图的自动化程度

[0011]在一些实施例中,所述使用社交网络中心性分析各恶意样本的函数调用图,生成多个权重函数调用图,包括:根据从社交网络中心性中选择的一个中心性分析策略对第一函数调用图中的至少部分节点在所述第一函数调用图中的重要性进行量化得到与相应节点对应函数的权重值;将包括所述权重值的第一函数调用图作为第一权重函数调用图;所述根据各权重函数调用图得到权重词典,包括:以所述第一权重函数调用图中包括权重值的各节点对应的函数的函数名为键,并以与所述相应节点对应的权重值为值生成与所述第一函数调用图对应的第一权重词典

[0012]本申请的一些实施例通过将权重值以及相应系统函数的函数名保存为权重词典,后续再基于敏感函数集合和该权重词典可以将相应恶意样本采用特征向量进行表征,可以更快更准确的获取用于表征恶意样本特征的特征向量

[0013]在一些实施例中,所述社交网络中心性包括的中心性分析策略包括:度中心性分析

接近中心性分析
、Harmonic
中心性分析或
Katz
中心性

[0014]在一些实施例中,所述至少部分节点是与
windows
系统的系统函数对应的各节点

[0015]在一些实施例中,所述权重词典包括键以及值,所述键为相应系统函数的函数名,所述值是将所述相应系统函数在函数调用图中的重要性进行量化得到的权重值

[0016]在一些实施例中,所述根据敏感函数集合和所述权重词典得到与任意一个恶意样本对应的特征向量,得到训练集的特征向量集合,包括:将所述敏感函数集合包括的函数总数目作为所述特征向量的维数;针对所述第一权重词典与所述敏感函数集合共有的系统函数,将所述第一权重词典中与相应系统函数对应的权重值作为相应维度位置处的维度值;针对被所述敏感函数集合包括而不被所述第一权重词典中的系统函数,将数值零作为对应维度位置处的维度值

[0017]在一些实施例中,针对所述函数调用图中拓扑位置相对重要的节点则拥有更高的权重值

[0018]第二本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种获取恶意软件识别模型的方法,其特征在于,所述方法包括:获取所有恶意样本中各恶意样本的函数调用图,得到多个函数调用图,其中,一个函数调用图对应一个恶意样本;使用社交网络中心性分析各恶意样本的函数调用图,生成多个权重函数调用图,其中,一个权重函数调用图对应一个恶意样本;根据各权重函数调用图得到权重词典,其中,一个权重词典对应一个恶意样本;根据敏感函数集合和所述权重词典得到与任意一个恶意样本对应的特征向量,得到训练集的特征向量集合,其中,所述敏感函数集合是所述所有恶意样本包括的所有系统函数;基于所述特征向量集合中各类恶意软件的特征向量子集合以及相应类别标签对恶意软件识别模型进行训练,得到目标恶意软件识别模型
。2.
如权利要求1所述的方法,其特征在于,所述函数调用图采用节点表征相应恶意样本包括的各系统函数或用户函数,所述函数调用图采用节点之间的边表征与两个节点对应的两个函数之间存在调用关系;所述权重函数调用图包括相应恶意样本包括的系统函数的权重值,所述权重值用于表征相应系统函数在相应函数调用图中的重要程度;所述权重词典的键为相应恶意样本包括的系统函数的函数名,所述权重词典的值为相应系统函数的权重值
。3.
如权利要求2所述的方法,其特征在于,所述获取所有恶意样本中各恶意样本的函数调用图,包括:运行程序函数调用关系提取脚本对每个恶意样本进行分析,得到与所述每个恶意样本对应的函数调用关系;根据所述每个恶意样本的函数调用关系,运行函数调用图生成程序,以相应恶意样本中的各函数为图的节点,并以与所述相应恶意样本对应的函数调用关系为图的边关系,得到与所述每个恶意样本对应的函数调用图
。4.
如权利要求1‑3中任一项权利要求所述的方法,其特征在于,所述使用社交网络中心性分析各恶意样本的函数调用图,生成多个权重函数调用图,包括:根据从所述社交网络中心性中选择的一个中心性分析策略对第一函数调用图中的至少部分节点在所述第一函数调用图中的重要性进行量化得到与相应节点对应函数的权重值;将包括所述权重值的第一函数调用图作为第一权重函数调用图;所述根据各权重函数调用图得到权重词典,包括:以所述第一权重函数调用图中包括权重值的各节点对应的函数的函数名为键,并以与所述相应节点对应的权重值为值生成与所述第一函数调用图对应的第一权重词典
。5.
如权利要求4所述的方法,其特征在于,所述社交网络中心性包括的中心性分析策略包括:度中心性分析

接近中心性分析
、Harmonic
中心性分析或
Katz
中心性
。6.
如权利要求4所述的方法,其特征在于,所述至少部分节点是与
windows
系统的系统函数对应的各节点
。7.
如权利要求1所述的方法,其特征在于,所述权重词典包括键以及值,所述键为相应
系统函数的函数名,所述值是将所述相应系统函数在函数调用图中的重要性进行量化得到的权重值
。8.
如权利要求4所述的方法,其特征在于,所述根据敏感函数集合和所述权重词典得到与任意一个恶意样本对应的特征向量,得到训练集的特征向量集合,包括:将所述敏感函数集合包括的函数总数目作为所述特征向量的维数;针对所述第一权重词典与所述敏感函数集合共有的系统函数,将所述第一权重词典中与相应系统函数对应的权重值作为相应维度位置处的维度值;针对被所述敏感函数集合包括而不被所述第一权重词典中的系统函数,将数值零作为对应维度位置处的维度值
。9.
如权利要求1所述的方法,其特征在于,针对所述函数调用图中拓扑位置相对重要的节点则拥有更高的权重值
。10.
一种对恶意软件进行分类检测的方法,其特征在于,所述方法包括:对待识别恶意软件进行反汇编分析,得到待识别函数调用图,其中,所述待识别函数调用图采用节点表征所述待识别恶意软件包括的各系统函数或用户函数,所述待识别函数调用图采用节点之间的边表征与两个节点对应的两个函数之间存在调用关系;使用社交网络中心性分析所述待识别函数调用图,生成待识别权重函数调用图,其中,所述待识别权重函数调用图包括多个节点以及与各节点对应的权重值,一个节点对应一个函数,一个权重值用于表征相应节点在所述待识别函数调用图中的重要程度;根据所述待识别权重函数调用图构造待识别特征向量,其中,所述待识别特征向量的维数为敏感函数集合中包括的所有函数的总数目,所述敏感函数集合中的各函数是模型训练时所有恶意样本包括的系统函数,所述待识别特征向量的各维度位置处的取值为零或者为相应维度的权重值;根据通过权利要求1‑9中任一项权利要求得到的目标恶意软件识别模型对所述待识别特征向量进行分类,得到所述待识别恶意软件的类别
。11.
如权利要求
10
所述的方法,其特征在于,所述对待识别恶意软件进行反汇...

【专利技术属性】
技术研发人员:赵浩钧吴月明徐晓
申请(专利权)人:北京天融信网络安全技术有限公司
类型:发明
国别省市:

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

1