软件分类模型训练方法、分类方法、装置、模型、及设备制造方法及图纸

技术编号:39273101 阅读:9 留言:0更新日期:2023-11-07 10:51
本申请实施例提供一种软件分类模型训练方法、分类方法、装置、模型及设备,该方法包括:获取第一二进制样本中函数的第一控制流图、第二二进制样本中函数的第二控制流图、以及第三二进制样本中函数的第三控制流图;利用第一控制流图包括的汇编指令对语义嵌入子模型进行训练;利用已训练的语义嵌入子模型提取第二控制流图与第三控制流图的语义特征,得到携带语义特征的第二属性控制流图与第三属性控制流图;利用第二属性控制流图对函数分类器进行训练;利用已训练的函数分类器对第三属性控制流图进行分类,得到函数的分类标签,并将携带分类标签的第三属性控制流图对恶意家族分类器进行训练,得到已训练的软件分类模型。得到已训练的软件分类模型。得到已训练的软件分类模型。

【技术实现步骤摘要】
软件分类模型训练方法、分类方法、装置、模型、及设备


[0001]本申请涉及深度学习
,具体而言,涉及一种软件分类模型训练方法、分类方法、装置、模型及设备。

技术介绍

[0002]随着互联网技术和计算机技术的不断发展,恶意软件也不断地在进化。诸如间谍软件、病毒、木马和蠕虫等具有恶意行为的恶意软件越来越多样,威胁也越来越大。为了更好地对抗恶意软件,需要对其恶意性进行检测并分类,从而能更加深入地了解恶意软件的恶意行为和特点,包括传播途径、攻击对象、攻击方式等信息,从而能有针对性地进行防范,制定相应的防御策略。
[0003]在相关技术中,越来越多先进的深度学习方法被提出应用到恶意软件的分类任务中。然而基于深度学习的恶意软件分类方法解释性较差,同时分类效果也有待提升,而这些都是本领域亟待解决的技术问题。

技术实现思路

[0004]本申请实施例的目的在于提供一种软件分类模型训练方法、分类方法、装置、模型及设备,用以至少解决上述提及的任意一个或多个技术问题。
[0005]本申请实施例第一方面提供了一种软件分类模型的训练方法,所述软件分类模型包括语义嵌入子模型、函数分类器与恶意家族分类器,所述方法包括:
[0006]获取第一二进制样本中函数的第一控制流图、第二二进制样本中函数的第二控制流图、以及第三二进制样本中函数的第三控制流图;
[0007]利用所述第一控制流图包括的汇编指令对所述语义嵌入子模型进行训练;
[0008]利用已训练的语义嵌入子模型提取所述第二控制流图与所述第三控制流图的语义特征,得到携带语义特征的第二属性控制流图与第三属性控制流图;
[0009]利用所述第二属性控制流图对所述函数分类器进行训练;
[0010]利用已训练的函数分类器对所述第三属性控制流图进行分类,得到函数的分类标签,并将携带所述分类标签的第三属性控制流图对所述恶意家族分类器进行训练,得到已训练的软件分类模型。
[0011]在上述实现过程中,语义嵌入子模型通过训练学习了二进制样本中的语义特征,使得模型具有从二进制文件中提取语义特征的功能,并得以利用语义特征辅助模型后续对恶意代码进行识别与分类,从而提高了恶意软件的分类效果。此外,模型还可以利用函数分类器对恶意软件中的函数进行分类,区分出的恶意函数可以用于解释分类结果,并进行细粒度的归因,从而为逆向工程师对重点样本的二次分析提供了高效的辅助。
[0012]进一步地,所述函数分类器包括图重构模型;所述利用所述第二属性控制流图对所述函数分类器进行训练,包括:
[0013]从所述第二属性控制流图中获取目标第二属性控制流图;其中,所述目标第二属
性控制流图对应的函数属于目标类别,所述目标类别包括良性类别或恶意类别;
[0014]利用所述目标第二属性控制流图对所述函数分类器进行训练。
[0015]在上述实现过程中,通过采用图重构模型作为函数分类器,并采用目标类别函数对应的目标第二属性控制流图作为训练数据,使得图重构模型对于属于目标类别的函数的属性控制流图的重构结果较好,对于其他类别函数的属性控制流图的重构结果较差。根据对不同属性控制流图重构结果的好坏差异来实现函数分类的目的。图重构模型基于无监督的方式进行训练,无需对训练数据进行标注。因此第二二进制样本可以选自无标签的大规模数据集中的数据,而图重构模型可以在无标签的大规模数据集上进行无监督训练。一方面高效利用了大规模数据集,另一方面无监督训练对训练数据要求较低,降低了模型训练难度。
[0016]进一步地,所述第三二进制样本包括良性函数与恶意函数;所述利用已训练的函数分类器对所述第三属性控制流图进行分类,得到函数的分类标签,并将携带所述分类标签的第三属性控制流图对所述恶意家族分类器进行训练,包括:
[0017]利用已训练的函数分类器对所述第三属性控制流图进行分类;
[0018]若所述第三属性控制流图对应的函数分类至恶意类别,确定所述分类标签为所述第三二进制样本所属恶意家族对应的家族标签;
[0019]若所述第三属性控制流图对应的函数分类至良性类别,确定所述分类标签为良性标签;
[0020]将携带所述家族标签的第三属性控制流图对所述恶意家族分类器进行训练;或者
[0021]将携带所述家族标签的第三属性控制流图、以及携带所述良性标签的第三属性控制流图对所述恶意家族分类器进行训练。
[0022]在上述实现过程中,若恶意家族分类器只接触到恶意函数的第三属性控制流图,那么恶意家族分类器会更加专注于恶意函数上,而不会学习到良性函数的属性控制流图的特征,在后续分类中不会被干扰。若恶意家族分类器同时学习了良性函数与恶意函数的第三属性控制流图,那么就算已训练的函数分类器错误地将良性函数识别为恶意类别,已训练的恶意家族分类器也能将识别并纠正为良性函数,过滤良性函数对软件分类结果的干扰,以提高分类准确性。
[0023]进一步地,所述语义嵌入子模型包括双向编码BERT模型;所述恶意家族分类器包括图神经网络模型。
[0024]本申请实施例第二方面提供了一种软件分类方法,所述分类方法基于第一方面所述方法训练得到的软件分类模型实现;所述软件分类模型包括语义嵌入子模型、函数分类器与恶意家族分类器;所述分类方法包括:
[0025]获取待分类二进制文件中每个函数对应的第四控制流图;
[0026]利用所述语义嵌入子模型提取所有所述第四控制流图的语义特征,得到每个所述第四控制流图对应的携带语义特征的第四属性控制流图;
[0027]利用所述函数分类器从所有所述第四属性控制流图中分类出属于恶意类别的目标属性控制流图;
[0028]将所述目标属性控制流图输入所述恶意家族分类器,并根据所述恶意家族分类器的输出结果确定所述待分类二进制文件所属的恶意家族。
[0029]在上述实现过程中,实现了对未知恶意软件进行恶意家族分类。此外,函数分类器从未知恶意软件中识别出恶意函数,实现了在函数级别的恶意性归因,也即指出了恶意软件中可能具有恶意行为的恶意函数,以辅助后续的人工分析与复核。以及函数分类器还能将良性函数过滤掉,除去了在最后一步中良性函数对恶意家族分类的干扰,使得恶意家族分类器能更专注在对恶意函数进行家族分类上。
[0030]进一步地,所述方法还包括:
[0031]若所有所述第四属性控制流图均不属于所述恶意类别,确定所述待分类二进制文件为良性软件。
[0032]在上述实现过程中,通过函数分类器实现了良性软件的识别,使得软件分类模型既能实现软件在良性与恶意上是区分,又能对恶意软件进行家族分类。
[0033]进一步地,所述输出结果包括所述目标属性控制流图对应每个恶意家族类别的概率分布;所述根据所述恶意家族分类器的输出结果确定所述待分类二进制文件所属的恶意家族,包括:
[0034]针对每个恶意家族类别,获取所有所述目标属性控制流图对应所述恶意家族类别的概率之和;
[0035]根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件分类模型的训练方法,其特征在于,所述软件分类模型包括语义嵌入子模型、函数分类器与恶意家族分类器,所述方法包括:获取第一二进制样本中函数的第一控制流图、第二二进制样本中函数的第二控制流图、以及第三二进制样本中函数的第三控制流图;利用所述第一控制流图包括的汇编指令对所述语义嵌入子模型进行训练;利用已训练的语义嵌入子模型提取所述第二控制流图与所述第三控制流图的语义特征,得到携带语义特征的第二属性控制流图与第三属性控制流图;利用所述第二属性控制流图对所述函数分类器进行训练;利用已训练的函数分类器对所述第三属性控制流图进行分类,得到函数的分类标签,并将携带所述分类标签的第三属性控制流图对所述恶意家族分类器进行训练,得到已训练的软件分类模型。2.根据权利要求1所述的方法,其特征在于,所述函数分类器包括图重构模型;所述利用所述第二属性控制流图对所述函数分类器进行训练,包括:从所述第二属性控制流图中获取目标第二属性控制流图;其中,所述目标第二属性控制流图对应的函数属于目标类别,所述目标类别包括良性类别或恶意类别;利用所述目标第二属性控制流图对所述函数分类器进行训练。3.根据权利要求1所述的方法,其特征在于,所述第三二进制样本包括良性函数与恶意函数;所述利用已训练的函数分类器对所述第三属性控制流图进行分类,得到函数的分类标签,并将携带所述分类标签的第三属性控制流图对所述恶意家族分类器进行训练,包括:利用已训练的函数分类器对所述第三属性控制流图进行分类;若所述第三属性控制流图对应的函数分类至恶意类别,确定所述分类标签为所述第三二进制样本所属恶意家族对应的家族标签;若所述第三属性控制流图对应的函数分类至良性类别,确定所述分类标签为良性标签;将携带所述家族标签的第三属性控制流图对所述恶意家族分类器进行训练;或者将携带所述家族标签的第三属性控制流图、以及携带所述良性标签的第三属性控制流图对所述恶意家族分类器进行训练。4.根据权利要求1

3任一所述的方法,其特征在于,所述语义嵌入子模型包括双向编码BERT模型;所述恶意家族分类器包括图神经网络模型。5.一种软件分类方法,其特征在于,所述分类方法基于如权利要求1所述方法训练得到的软件分类模型实现;所述软件分类模型包括语义嵌入子模型、函数分类器与恶意家族分类器;所述分类方法包括:获取待分类二进制文件中每个函数对应的第四控制流图;利用所述语义嵌入子模型提取所有所述第四控制流图的语义特征,得到每个所述第四控制流图对应的携带语义特征的第四属性控制流图;利用所述函数分类器从所有所述第四属性控制流图中分类出属于恶意类别的目标属性控制流图;将所述目标属性控制流图输入所述恶意家族分类器,并根据所述恶意家族分类器的输出结果确定所述待分类二进制文件所属的恶意家族。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:若所有所述第四属性控制流图均不属于所述恶意类别,确定所述待分类二进制文件为良性软件。7.根据权利要求5所述的方法,其特征在于,所述输出结果包括所述目标属性控制流图对应每个恶意家族类别的概率分布...

【专利技术属性】
技术研发人员:熊嘉琦陈国强安晓宁
申请(专利权)人:北京天融信网络安全技术有限公司
类型:发明
国别省市:

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

1