软件分类模型训练方法、分类方法、装置、模型、及设备与流程

文档序号:35918600发布日期:2023-11-03 22:36阅读:27来源:国知局
软件分类模型训练方法、分类方法、装置、模型、及设备与流程

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


背景技术:

1、随着互联网技术和计算机技术的不断发展,恶意软件也不断地在进化。诸如间谍软件、病毒、木马和蠕虫等具有恶意行为的恶意软件越来越多样,威胁也越来越大。为了更好地对抗恶意软件,需要对其恶意性进行检测并分类,从而能更加深入地了解恶意软件的恶意行为和特点,包括传播途径、攻击对象、攻击方式等信息,从而能有针对性地进行防范,制定相应的防御策略。

2、在相关技术中,越来越多先进的深度学习方法被提出应用到恶意软件的分类任务中。然而基于深度学习的恶意软件分类方法解释性较差,同时分类效果也有待提升,而这些都是本领域亟待解决的技术问题。


技术实现思路

1、本技术实施例的目的在于提供一种软件分类模型训练方法、分类方法、装置、模型及设备,用以至少解决上述提及的任意一个或多个技术问题。

2、本技术实施例第一方面提供了一种软件分类模型的训练方法,所述软件分类模型包括语义嵌入子模型、函数分类器与恶意家族分类器,所述方法包括:

3、获取第一二进制样本中函数的第一控制流图、第二二进制样本中函数的第二控制流图、以及第三二进制样本中函数的第三控制流图;

4、利用所述第一控制流图包括的汇编指令对所述语义嵌入子模型进行训练;

5、利用已训练的语义嵌入子模型提取所述第二控制流图与所述第三控制流图的语义特征,得到携带语义特征的第二属性控制流图与第三属性控制流图;

6、利用所述第二属性控制流图对所述函数分类器进行训练;

7、利用已训练的函数分类器对所述第三属性控制流图进行分类,得到函数的分类标签,并将携带所述分类标签的第三属性控制流图对所述恶意家族分类器进行训练,得到已训练的软件分类模型。

8、在上述实现过程中,语义嵌入子模型通过训练学习了二进制样本中的语义特征,使得模型具有从二进制文件中提取语义特征的功能,并得以利用语义特征辅助模型后续对恶意代码进行识别与分类,从而提高了恶意软件的分类效果。此外,模型还可以利用函数分类器对恶意软件中的函数进行分类,区分出的恶意函数可以用于解释分类结果,并进行细粒度的归因,从而为逆向工程师对重点样本的二次分析提供了高效的辅助。

9、进一步地,所述函数分类器包括图重构模型;所述利用所述第二属性控制流图对所述函数分类器进行训练,包括:

10、从所述第二属性控制流图中获取目标第二属性控制流图;其中,所述目标第二属性控制流图对应的函数属于目标类别,所述目标类别包括良性类别或恶意类别;

11、利用所述目标第二属性控制流图对所述函数分类器进行训练。

12、在上述实现过程中,通过采用图重构模型作为函数分类器,并采用目标类别函数对应的目标第二属性控制流图作为训练数据,使得图重构模型对于属于目标类别的函数的属性控制流图的重构结果较好,对于其他类别函数的属性控制流图的重构结果较差。根据对不同属性控制流图重构结果的好坏差异来实现函数分类的目的。图重构模型基于无监督的方式进行训练,无需对训练数据进行标注。因此第二二进制样本可以选自无标签的大规模数据集中的数据,而图重构模型可以在无标签的大规模数据集上进行无监督训练。一方面高效利用了大规模数据集,另一方面无监督训练对训练数据要求较低,降低了模型训练难度。

13、进一步地,所述第三二进制样本包括良性函数与恶意函数;所述利用已训练的函数分类器对所述第三属性控制流图进行分类,得到函数的分类标签,并将携带所述分类标签的第三属性控制流图对所述恶意家族分类器进行训练,包括:

14、利用已训练的函数分类器对所述第三属性控制流图进行分类;

15、若所述第三属性控制流图对应的函数分类至恶意类别,确定所述分类标签为所述第三二进制样本所属恶意家族对应的家族标签;

16、若所述第三属性控制流图对应的函数分类至良性类别,确定所述分类标签为良性标签;

17、将携带所述家族标签的第三属性控制流图对所述恶意家族分类器进行训练;或者

18、将携带所述家族标签的第三属性控制流图、以及携带所述良性标签的第三属性控制流图对所述恶意家族分类器进行训练。

19、在上述实现过程中,若恶意家族分类器只接触到恶意函数的第三属性控制流图,那么恶意家族分类器会更加专注于恶意函数上,而不会学习到良性函数的属性控制流图的特征,在后续分类中不会被干扰。若恶意家族分类器同时学习了良性函数与恶意函数的第三属性控制流图,那么就算已训练的函数分类器错误地将良性函数识别为恶意类别,已训练的恶意家族分类器也能将识别并纠正为良性函数,过滤良性函数对软件分类结果的干扰,以提高分类准确性。

20、进一步地,所述语义嵌入子模型包括双向编码bert模型;所述恶意家族分类器包括图神经网络模型。

21、本技术实施例第二方面提供了一种软件分类方法,所述分类方法基于第一方面所述方法训练得到的软件分类模型实现;所述软件分类模型包括语义嵌入子模型、函数分类器与恶意家族分类器;所述分类方法包括:

22、获取待分类二进制文件中每个函数对应的第四控制流图;

23、利用所述语义嵌入子模型提取所有所述第四控制流图的语义特征,得到每个所述第四控制流图对应的携带语义特征的第四属性控制流图;

24、利用所述函数分类器从所有所述第四属性控制流图中分类出属于恶意类别的目标属性控制流图;

25、将所述目标属性控制流图输入所述恶意家族分类器,并根据所述恶意家族分类器的输出结果确定所述待分类二进制文件所属的恶意家族。

26、在上述实现过程中,实现了对未知恶意软件进行恶意家族分类。此外,函数分类器从未知恶意软件中识别出恶意函数,实现了在函数级别的恶意性归因,也即指出了恶意软件中可能具有恶意行为的恶意函数,以辅助后续的人工分析与复核。以及函数分类器还能将良性函数过滤掉,除去了在最后一步中良性函数对恶意家族分类的干扰,使得恶意家族分类器能更专注在对恶意函数进行家族分类上。

27、进一步地,所述方法还包括:

28、若所有所述第四属性控制流图均不属于所述恶意类别,确定所述待分类二进制文件为良性软件。

29、在上述实现过程中,通过函数分类器实现了良性软件的识别,使得软件分类模型既能实现软件在良性与恶意上是区分,又能对恶意软件进行家族分类。

30、进一步地,所述输出结果包括所述目标属性控制流图对应每个恶意家族类别的概率分布;所述根据所述恶意家族分类器的输出结果确定所述待分类二进制文件所属的恶意家族,包括:

31、针对每个恶意家族类别,获取所有所述目标属性控制流图对应所述恶意家族类别的概率之和;

32、根据每个所述恶意家族类别的概率之和,确定所述待分类二进制文件所属的恶意家族。

33、在上述实现过程中,通过对所有目标属性控制流图对应于恶意家族类别的概率记性累加,从而完成恶意软件在恶意家族上的归类。

34、本技术实施例第三方面提供了一种软件分类模型的训练装置,所述软件分类模型包括语义嵌入子模型、函数分类器与恶意家族分类器,所述装置包括:

35、第一获取模块,用于获取第一二进制样本中函数的第一控制流图、第二二进制样本中函数的第二控制流图、以及第三二进制样本中函数的第三控制流图;

36、语义嵌入子模型训练模块,用于利用所述第一控制流图包括的汇编指令对所述语义嵌入子模型进行训练;

37、第一提取模块,用于利用已训练的语义嵌入子模型对所述第二控制流图与所述第三控制流图进行语义提取,得到携带语义信息的第二属性控制流图与第三属性控制流图;

38、函数分类器训练模块,用于利用所述第二属性控制流图对所述函数分类器进行训练;

39、恶意家族分类器训练模块,用于利用已训练的函数分类器对所述第三属性控制流图进行分类,得到函数的分类标签,并将携带所述分类标签的第三属性控制流图对所述恶意家族分类器进行训练,得到已训练的软件分类模型。

40、本技术实施例第四方面提供了一种软件分类装置,所述分类装置基于如第一方面所述方法训练得到的软件分类模型实现;所述软件分类模型包括语义嵌入子模型、函数分类器与恶意家族分类器;所述分类装置包括:

41、第二获取模块,用于获取待分类二进制文件中每个函数对应的第四控制流图;

42、第二提取模块,用于利用所述语义嵌入子模型对所有所述第四控制流图进行语义提取,得到每个所述第四控制流图对应的携带语义信息的第四属性控制流图;

43、恶意函数分类模块,用于利用所述函数分类器从所有所述第四属性控制流图中分类出属于恶意函数类别的目标属性控制流图;

44、恶意家族分类模块,用于将所述目标属性控制流图输入所述恶意家族分类器,并根据所述恶意家族分类器的输出结果确定所述待分类二进制文件所属的恶意家族。

45、本技术实施例第五方面提供了一种软件分类模型,所述模型包括语义嵌入子模型、函数分类器与恶意家族分类器;其中,

46、所述语义嵌入子模型,用于对待分类二进制文件中每个函数对应的第四控制流图进行语义提取,得到每个所述第四控制流图对应的携带语义信息的第四属性控制流图;

47、所述函数分类器,用于从所有所述第四属性控制流图中分类出属于恶意函数类别的目标属性控制流图;

48、所述恶意家族分类器,用于对输入的所述目标属性控制流图进行家族分类,得到所述待分类二进制文件所属的恶意家族。

49、本技术实施例第六方面提供了一种电子设备,所述电子设备包括:

50、处理器;

51、用于存储处理器可执行指令的存储器;

52、其中,所述处理器调用所述可执行指令时实现第一方面任一所述的训练方法,或者第二方面任一所述的分类方法的操作。

53、本技术实施例第七方面提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现第一方面任一所述训练方法,或者第二方面任一所述的分类方法的步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1