一种恶意软件家族分类模型生成方法、装置制造方法及图纸

技术编号:37084531 阅读:38 留言:0更新日期:2023-03-29 19:59
本发明专利技术提出了一种恶意软件家族分类模型生成方法、装置,所述方法包括利用原始恶意软件家族中各样本的特征向量训练一个分类模型,并确定原始恶意软件家族中的代表样本,然后利用代表样本与新出现的恶意软件样本构建新的训练样本,利用训练样本更新所述分类模型得到新的恶意软件家族分类模型。本发明专利技术利用代表样本保留了原始恶意软件家族的分类知识,然后再吸纳新恶意软件家族的知识,既减小了恶意软件家族的样本数量,减少了计算开销,又使新的恶意软件家族分类模型不遗忘原始家族的分类知识,能适应恶意软件家族不断增多的情况,并且恶意样本分类准确性高。恶意样本分类准确性高。恶意样本分类准确性高。

【技术实现步骤摘要】
一种恶意软件家族分类模型生成方法、装置


[0001]本专利技术涉及信息安全
,具体涉及一种恶意软件家族分类模型生成方法、装置。

技术介绍

[0002]Android是由Google公司以及开放手机联盟于2007年领导以及开发的一种基于Linux的自由及开放源代码的操作系统,具有很好的开源性和流行性,被广泛使用于移动设备,也正因如此其成为97%的恶意软件攻击目标。有研究表明,安卓恶意软件具有明显的家族特性,来自相同家族的恶意软件其恶意行为非常相似,因此研究恶意软件分类问题能够帮助安卓安全分析员更高效地分析安卓恶意软件,从而规避其恶意行为。
[0003]目前最流行的恶意家族分类方法大多基于机器学习,对每个家族中的安卓恶意软件进行特征提取为向量,然后再用SVM、RF等分类器进行有监督学习。

技术实现思路

[0004]专利技术人发现,恶意软件家族分类模型通常是根据在一定时段采集的封闭数据集设计的,恶意软件家族的分类往往是固定的。但随着技术的发展,在封闭数据上训练的模型难以适用于新捕获的恶意样本。而且,为了使恶意软件家族分类模型能够分类新家族样本,又要使其不遗忘原始家族的分类知识,现有技术一般是将新样本和原始样本融合进行重新训练。但是随着新家族的不断增多,计算开销将越来越大,非常消耗资源,难以在实际情况下使用。有鉴于此,实有必要提出一种新的恶意软件分类方法,使其能够在分类原始家族的同时,吸纳新家族的知识,同时保证可控的计算开销。
[0005]本专利技术公开了一种恶意软件家族分类模型生成方法,包括以下步骤:
[0006]提取原始恶意软件家族中各样本的特征向量;
[0007]利用提取的各样本的特征向量训练一个分类模型;
[0008]利用提取的各样本的特征向量确定原始恶意软件家族中的代表样本;
[0009]利用确定的代表样本与新出现的恶意软件样本构建新的训练样本;
[0010]利用训练样本更新所述分类模型得到新的恶意软件家族分类模型。
[0011]进一步的,提取原始恶意软件家族中各样本的特征向量包括以下步骤:
[0012]对原始恶意软件家族中各样本的APK文件进行反编译,提取出函数调用关系,构建函数调用图(FCG);
[0013]提取出每个函数的操作码序列作为函数的节点特征;
[0014]利用所述函数调用图(FCG)、各函数的节点特征,得到具有节点属性的图特征(O

SFCG);
[0015]按预设规则将所述图特征向量变换为低维特征向量。
[0016]进一步的,提取原始恶意软件家族中各样本的特征向量包括以下步骤:
[0017]对原始恶意软件家族中各样本的APK文件进行反编译,提取出预设敏感API相关的
函数调用关系,用邻接矩阵A来表示敏感函数调用图;
[0018]提取出每个预设敏感API相关的函数的代码片段,并且抽取出操作码序列作为函数的节点特征,用节点特征向量X来保存;
[0019]利用所述敏感函数调用图、各函数的节点特征,得到具有节点属性的图特征,所述具有节点属性的图特征由邻接矩阵A和节点特征向量X来表示;
[0020]将所述具有节点属性的图特征输入一预设网络模型,将所述图特征向量变换为低维特征向量,所述预设网络模型为:
[0021][0022]图特征向量f
graph
,其中H
ij
∈H
out

[0023][0024][0025]其中表示的度矩阵,W是可训练权重,I是单位矩阵,R
n
为n维实数。
[0026]进一步的,用提取的各样本的特征向量训练一个分类模型具体包括:
[0027]获取各样本的真实家族标签y
*

[0028]通过优化f(x)的参数使得E{l[y
*
,f(x)]最小化得到分类模型F0;
[0029]其中,f(x)表示模型预测的输出,l是标签平滑损失函数以表示真实样本和输出标签之前的差距,E表示期望。
[0030]进一步的,利用提取的各样本的特征向量确定原始恶意软件家族中的代表样本具体包括以下步骤:
[0031]计算各原始恶意软件家族的每个样本与同一家族其他样本的距离之和,将得到的最小的距离和作为各原始恶意软件家族样本的紧致度;
[0032]计算每个原始恶意软件家族的样本与同一家族其他样本的距离和,然后与得到的该原始恶意软件家族的紧致度进行差运算,得到各样本的偏离程度,将偏离程度小的样本作为代表样本。
[0033]进一步的,利用训练样本更新所述分类模型得到新的恶意软件家族分类模型具体包括:
[0034]按如下优化损失函数L更新原始分类器F0,得到恶意软件家族分类模型F
N
,其中,
[0035]L=(1

ρ)L
s
+L
h
[0036]L
s
为使原始分类器的输出与新恶意软件家族分类模型F
N
的输出接近的最小化函数,L
h
为了保证新分类系统良好的分类效果,新恶意软件家族分类模型F
N
的输出值与真实标签之间差异小的最小化函数。
[0037]进一步的,
[0038][0039][0040]其中,x
m
代表样本x
m
,为原始恶意家族分类器F0输出的分类为第i个家族的概率,
packag文件)进行反编译,并且提取出函数调用关系构建成函数调用图(Function Calling Graph,FCG)。在一些实施例中,提取原始恶意软件家族中各样本的特征向量可以采用现有技术中的一些常规技术方法。
[0059]优选的,具体地,结合图2所示,提取原始恶意软件家族中各样本的特征向量可以包括以下步骤:
[0060]S101,对原始恶意软件家族中各样本的APK文件进行反编译,提取出函数调用关系,构建函数调用图。
[0061]S102,提取出每个函数的操作码序列作为函数的节点特征。
[0062]专利技术人发现,函数调用图和敏感函数调用图只表示出了函数之间的关系,没有表示出各个函数的角色信息,且容易受到技术更新的影响。因此,本专利技术优选提取出每个函数的操作码序列(opcode)作为函数的节点特征。操作码用来指明指令所要完成的操作,通常其位数反映了机器的操作种类。实验数据表明,操作码序列有很多,一般只考虑经常使用的255种,如数据操作类,方法调用类等,其余的归为第256种,也即一般认为操作码序列包括固定的256个编码,其容易提取,不会随着时间和技术的升级而变化,在一定程度上能够增加敏感函数调用图的稳健性。
[0063]S103,利用所述函数调用图、各函数的节点特征,得到具有节点属性的图特征。
[0064]对于函数调用图(用邻接矩阵A表示),可提取出每个函数的代码片段本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种恶意软件家族分类模型生成方法,其特征在于,包括以下步骤:提取原始恶意软件家族中各样本的特征向量;利用提取的各样本的特征向量训练一个分类模型;利用提取的各样本的特征向量确定原始恶意软件家族中的代表样本;利用确定的代表样本与新出现的恶意软件样本构建新的训练样本;利用训练样本更新所述分类模型得到新的恶意软件家族分类模型。2.如权利要求1所述恶意软件家族分类模型生成方法,其特征在于,提取原始恶意软件家族中各样本的特征向量包括以下步骤:对原始恶意软件家族中各样本的APK文件进行反编译,提取出函数调用关系,构建函数调用图;提取出每个函数的操作码序列作为函数的节点特征;利用所述函数调用图、各函数的节点特征,得到具有节点属性的图特征;按预设规则将所述图特征变换为低维特征向量。3.如权利要求1所述恶意软件家族分类模型生成方法,其特征在于,提取原始恶意软件家族中各样本的特征向量包括以下步骤:对原始恶意软件家族中各样本的APK文件进行反编译,提取出预设敏感API相关的函数调用关系,生成敏感函数调用图;提取出每个预设敏感API相关的函数的代码片段,并且抽取出操作码序列作为函数的节点特征;利用所述敏感函数调用图、各函数的节点特征,得到具有节点属性的图特征;将所述具有节点属性的图特征输入一预设网络模型,将所述图特征变换为低维特征向量。4.如权利要求3所述恶意软件家族分类模型生成方法,其特征在于,所述预设网络模型为:为:其中,f
graph
为图特征向量,A为表示敏感函数调用图的邻接矩阵,X为各函数的节点特征向量,ReLU是激活函数,H
ij
∈H
outout
表示的度矩阵,W是可训练权重,I是单位矩阵,R
n
为n维实数。5.如权利要求1所述恶意软件家族分类模型生成方法,其特征在于,用提取的各样本的特征向量训练一个分类模型具体包括:获取各样本的真实家族标签y
*
;通过优化f(x)的参数使得E{l[y
*
,f(x)]最小化得到分类模型F0;其中,f(x)表示模型预测的输出,l是标签平滑损失函数以表示真实样本和输出标签之前的差距,E表示期望。6.如权利要求1所述恶意软件家族分类模型生成方法,其特征在于,利用提取的各样本的特征向量确定原始恶意软件家族中的代表样本具体包括以下步骤:
计算各原始恶意软件家族的每个样本与同一家族其他样本的距离之和,将得到的最小的距离和作为各原始恶意软件家族样本的紧致度;计算每个原始恶意软件家族的样本与同一家族其他样本的距离和,然后与得到的该原始恶意软件家族的紧致度进行差运算,得到各样本的偏离程度,将偏离程度小的样本作为代表样本。7.如权利要求1所述恶意软件家族分类模型生成方法,其特征在于,利用训练样本更新所述分类模型得到新的恶意软件家族分类模型具体包括:按如下优化损失函数L更新原始分类器,得到新的恶意软件家族分类模型,其中,L=(1

ρ)L

【专利技术属性】
技术研发人员:袁巍高翠莹刘明月黄高准李珩
申请(专利权)人:华中科技大学
类型:发明
国别省市:

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

1