一种挖矿恶意软件的识别方法、系统和存储介质转让专利

申请号 : CN202110471943.2

文献号 : CN113139189B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李树栋张倩青吴晓波蒋来源韩伟红方滨兴田志宏殷丽华顾钊铨秦丹一

申请人 : 广州大学

摘要 :

本发明公开了一种挖矿恶意软件的识别方法、系统和存储介质,所述方法包括以下步骤:不同维度的数据预处理;文本特征提取并向量化;基于Stacking构建多模型集成的挖矿恶意软件识别模型;得到预测结果。本发明是目前为数不多的针对二进制文件进行挖矿恶意软件检测的方法,针对性强,实现过程简单,效率高;且本发明通过多个角度对挖矿软件特征进行了多维度特征提取,并对不同维度的特征设计了多模型集成的方法,构造了挖矿恶意软件识别组合模型,该模型识别准确率高,误报率低。

权利要求 :

1.一种挖矿恶意软件的识别方法,其特征在于,包括以下步骤:数据预处理,对二进制样本进行多维度数据操作,得到对应的不同维度的特征数据;

所述多维度数据操作包括:

对二进制文件样本以二进制字节码的形式读取文件,然后再解码成字符串,并筛选出长度在一定区间内的字符串;

提取二进制文件样本中的定义的文本数据,包括特征操作函数名、动态链接库以及与挖矿软件有关的文本数据;

对二进制文件样本反汇编,对其节区大小进行特征统计;

对二进制文件样本进行反汇编获取其入口函数数据;

文本特征提取,使用TF‑IDF算法结合n‑gram对所述不同维度的特征数据进行特征提取并向量化;

基于Stacking构建多模型集成的挖矿恶意软件识别模型并得到预测结果,所述Stacking的步骤包括:将不同维度的特征数据集划分为训练数据集和测试数据集;基于XGBoost算法在训练集中进行K折交叉验证训练并得到基学习器以及基学习器的训练结果;

基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元学习器;利用所述基学习器和元学习器对测试数据集进行预测并得到最终预测结果。

2.根据权利要求1所述的一种挖矿恶意软件的识别方法,其特征在于,所述使用TF‑IDF算法结合n‑gram对所述不同维度的特征数据进行特征提取并向量化具体步骤为:利用所述不同维度的特征数据先生成n‑gram的词条;

分别统计每个词条出现的词频,为其附上一个权值参数;

计算每个词条的最终权重。

3.根据权利要求2所述的一种挖矿恶意软件的识别方法,其特征在于,所述每个词条出现的词频计算公式为:

其中,TFi,j为词条i在样本j中出现的频率;ni,j为词条i在样本j中出现的次数;∑knk,j为样本j中出现的总词条数;

所述权值参数计算公式为:

其中,IDFi,j为样本j中词条i附上的权值参数;|D|为总样本数,|j:i∈dj|为包含词条i的样本数目;

所述每个词条的最终权重TF‑IDFi,j的计算公式为:TF‑IDFi,j=TFi,j×IDFi,j。

4.根据权利要求2所述的一种挖矿恶意软件的识别方法,其特征在于,所述生成n‑gram的词条的过程中,过滤频率占比高于0.8以及频率值低于3的词条,根据实际生成的词条情况,限制词条个数在[1000,5000]区间内;所述统计每个词条出现的词频的过程中,对字符串数据的n‑gram统计1‑gram的词条特征,对文本数据的n‑gram统计1‑gram和2‑gram的词条特征,对入口函数的n‑gram统计2‑gram、3‑gram、4‑gram和5‑gram的词条特征。

5.根据权利要求1所述的一种挖矿恶意软件的识别方法,其特征在于,所述将不同维度的特征数据集划分为训练数据集和测试数据集具体为:原始数据集经预处理及向量化后的得到的四组不同维度的特征数据集划分为训练数据集和测试数据集;

所述训练数据集包括D1、D2、D3和D4:D1={(x1i,yi),i=1,2,...,m},D2={(x2i,yi),i=1,2,...,m},D3={(x3i,yi),i=1,2,...,m},D4={(x4i,yi),i=1,2,...,m},其中,xni为第n个训练数据集Dn的第i个样本的特征向量,n=1,2,3,4,以此类推;yi为第i个样本对应的标签;m为每个数据集中样本的数量;

所述测试数据集设为T。

6.根据权利要求1所述的一种挖矿恶意软件的识别方法,其特征在于,所述基于XGBoost算法在训练数据集中进行K折交叉验证训练并得到基学习器以及基学习器的训练结果,基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元学习器的具体方法为:

对于K折交叉验证训练中,设D‑nK为第n个训练数据集Dn的第K折训练集,设DnK为第n个训练数据集Dn的第K折测试集;

基于XGBoost算法在D‑nK中进行训练得到4个基学习器XGBoost_n,其中n=1,2,3,4;对于DnK中的每一个样本xi,

基学习器XGBoost_n对其的预测结果表示为ZKi,并构成新的数据集Dnew={(Z1i,Z2i,...,ZKi,yi),i=1,2,...,m};

基于LightGBM算法在Dnew中进行训练并得到元学习器LightGBM模型。

7.根据权利要求1所述的一种挖矿恶意软件的识别方法,其特征在于,利用所述基学习器和元学习器对测试数据集进行预测并得到最终预测结果具体为:利用所述基学习器对测试集T进行预测,得到预测结果W1、W2、W3和W4,并构建新的测试数据集Tnew={(W1,W2,W3,W4)};利用所述元学习器对Tnew进行预测,即得最终的预测结果。

8.一种挖矿恶意软件的识别系统,其特征在于,应用于权利要求1‑7中任一项所述的一种挖矿恶意软件的识别方法,包括预处理模块、文本特征提取模块以及模型构建模块;

所述预处理模块,用于进行数据预处理,对二进制样本进行多维度数据操作,得到对应的不同维度的特征数据;

所述多维度数据操作包括:

对二进制文件样本以二进制字节码的形式读取文件,然后再解码成字符串,并筛选出长度在一定区间内的字符串;

提取二进制文件样本中的定义的文本数据,包括特征操作函数名、动态链接库以及与挖矿软件有关的文本数据;

对二进制文件样本反汇编,对其节区大小进行特征统计;

对二进制文件样本进行反汇编获取其入口函数数据;

所述文本特征提取模块,用于进行文本特征提取,使用TF‑IDF算法结合n‑gram对所述不同维度的特征数据进行特征提取并向量化;

所述模型构建模块,作用为基于Stacking构建多模型集成的挖矿恶意软件识别模型并得到预测结果,所述Stacking的步骤包括:将不同维度的特征数据集划分为训练数据集和测试数据集;基于XGBoost算法在训练集中进行K折交叉验证训练并得到基学习器以及基学习器的训练结果;基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元学习器;利用所述基学习器和元学习器对测试数据集进行预测并得到最终预测结果。

9.一种存储介质,存储有程序,其特征在于:所述程序被处理器执行时,实现权利要求

1‑7任一项所述的一种挖矿恶意软件的识别方法。

说明书 :

一种挖矿恶意软件的识别方法、系统和存储介质

技术领域

[0001] 本发明属于网络安全的技术领域,具体涉及一种挖矿恶意软件的识别方法、系统和存储介质。

背景技术

[0002] 近年来,随着加密货币经济价值的不断攀升,越来越多的网络犯罪分子在用户不知情或未经允许的情况下,利用恶意软件占用受害者的系统资源和网络资源进行挖矿,从
而获取加密货币牟利。挖矿恶意软件一般隐蔽性较强,难以被检测到,一旦计算机被入侵,
恶意软件就会在后台默默运行。由于挖矿程序会消耗大量的CPU或GPU资源,占用大量的系
统资源和网络资源,会造成系统运行卡顿或状态异常,使得受入侵者计算机性能有所下降,
且性能下降的程度会随着挖矿恶意软件占用计算资源的增多而增加。由于获益的直接性,
挖矿恶意软件已经成为不法分子使用最为频繁的攻击方式之一,每年全国有大量服务器被
挖矿恶意软件感染。
[0003] 目前对于挖矿木马检测方法主要为主机挖矿行为检测和网页挖矿脚本检测。主机挖矿行为检测方法主要基于流量分析,通过提取的流量,检测流量传输包中是否存在挖矿
相关的数据包。网页挖矿脚本检测方法主要是获取待测页面与挖矿脚本有关的特征,并判
断其特征值与预设特征值阈值的大小关系,来判定待测页面中是否存在挖矿脚本。而对于
二进制文件的挖矿木马样本的检测方法比较少,基于二进制的挖矿样本检测主要分为静态
分析和动态分析两种方式。静态分析在不执行程序的情况下,通过反汇编、反编译等方法使
用词法分析、文本解析、控制流等技术来挖掘程序,提取其有用特征信息。而动态的分析是
通过实际运行软件,捕捉行为进行分析。
[0004] 现有的挖矿木马检测方法主要集中在主机挖矿行为检测和网页挖矿脚本检测,缺少对于二进制挖矿样本的有效实用检测方法。其中基于二进制文件的挖矿恶意样本检测的
静态方法由于无须实际执行恶意软件,因此速度相对较快且不会产生危害操作系统的恶意
行为,但对恶意软件多态,变形和加壳的手段很难提取有效的特征。静态方法中基于特征码
的检测方法和基于启发的检测方法简单有效,但分别依赖于特征库和安全人员对于挖矿恶
意软件的分析,都会随着挖矿恶意样本的增大受到局限性,导致检测效率低下。基于二进制
文件的挖矿恶意样本检测的动态分析方法需要真正地运行恶意软件,对于不能运行的挖矿
恶意样本就无法使用动态方法对其进行检测。另外,模拟所有恶意软件行为需要对恶意软
件行为进行持续监控,导致计算机资源的巨大浪费,所以在检测大量挖矿恶意软件时,动态
分析方法并不很适用。

发明内容

[0005] 本发明的主要目的在于克服现有技术的缺点与不足,提供一种挖矿恶意软件的识别方法、系统和存储介质,该方法首先基于二进制文件样本,通过多维度分析,使用静态分
析方法对其进行预处理,并向量化提取出有效的挖矿恶意软件的多维度特征,然后构建多
模型集成的挖矿恶意软件识别模型,可以应用于实际网络环境中,有效地识别挖矿恶意软
件。
[0006] 为了达到上述目的,本发明采用以下技术方案:
[0007] 本发明提供了一种挖矿恶意软件的识别方法,包括以下步骤:
[0008] S1、数据预处理,对二进制样本进行多维度数据操作,得到对应的不同维度的特征数据;
[0009] S2、文本特征提取,使用TF‑IDF算法结合n‑gram对所述不同维度的特征数据进行特征提取并向量化;
[0010] S3、基于Stacking构建多模型集成的挖矿恶意软件识别模型并得到预测结果,所述Stacking的步骤包括:将不同维度的特征数据集划分为训练数据集和测试数据集;基于
XGBoost算法在训练集中进行K折交叉验证训练并得到基学习器以及基学习器的训练结果;
基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元学习器;利用所述基学
习器和元学习器对测试数据集进行预测并得到最终预测结果。
[0011] 作为一种优选的技术方案,所述多维度数据操作包括:
[0012] 对二进制文件样本以二进制字节码的形式读取文件,然后再解码成字符串,并筛选出长度在一定区间内的字符串;
[0013] 提取二进制文件样本中的定义的文本数据,包括特征操作函数名、动态链接库以及与挖矿软件有关的文本数据;
[0014] 对二进制文件样本反汇编,对其节区大小进行特征统计;
[0015] 对二进制文件样本进行反汇编获取其入口函数数据。
[0016] 作为一种优选的技术方案,所述使用TF‑IDF算法结合n‑gram对所述不同维度的特征数据进行特征提取并向量化具体步骤为:
[0017] 利用所述不同维度的特征数据先生成n‑gram的词条;
[0018] 分别统计每个词条出现的词频,为其附上一个权值参数;
[0019] 计算每个词条的最终权重。
[0020] 作为一种优选的技术方案,所述每个词条出现的词频计算公式为:
[0021]
[0022] 其中,TFi,j为词条i在样本j中出现的频率;ni,为词条i在样本j中出现的次数;∑knk,j为样本j中出现的总词条数;
[0023] 所述权值参数计算公式为:
[0024]
[0025] 其中,IDFi,j为样本j中词条i附上的权值参数;||为总样本数,|j:i∈dj|为包含词条i的样本数目;
[0026] 所述每个词条的最终权重TF‑IDFi,j的计算公式为:
[0027] TF‑IDFi,j=TFi,j×IDFi,j。
[0028] 作为一种优选的技术方案,所述生成n‑gram的词条的过程中,过滤频率占比高于0.8以及频率值低于3的词条,根据实际生成的词条情况,限制词条个数在[1000,5000]区间
内;所述统计每个词条出现的词频的过程中,对字符串数据的n‑gram统计1‑gram的词条特
征,对文本数据的n‑gram统计1‑gram和2‑gram的词条特征,对入口函数的n‑gram统计2‑
gram、3‑gram、4‑gram和5‑gram的词条特征。
[0029] 作为一种优选的技术方案,所述将不同维度的特征数据集划分为训练数据集和测试数据集具体为:原始数据集经预处理及向量化后的得到的四组不同维度的特征数据集划
分为训练数据集和测试数据集;
[0030] 所述训练数据集包括D1、D2、D3和D4:
[0031] D1={(x1i,yi),i=1,2,…,m},D2={(x2i,yi),i=1,2,…,m},
[0032] D3={(x3i,yi),i=1,2,…,m},D4={(x4i,yi),i=1,2,…,m},
[0033] 其中,xni为第n个训练数据集Dn的第i个样本的特征向量,n=1,2,3,4,以此类推;yi为第i个样本对应的标签;为每个数据集中样本的数量;
[0034] 所述测试数据集设为T。
[0035] 作为一种优选的技术方案,所述基于XGBoost算法在训练数据集中进行K折交叉验证训练并得到基学习器以及基学习器的训练结果,基于LightGBM算法在所述基学习器的训
练结果中进行训练并得到元学习器的具体方法为:
[0036] 对于K折交叉验证训练中,设D‑nK为第n个训练数据集Dn的第K折训练集,设DnK为第n个训练数据集Dn的第K折测试集;
[0037] 基于XGBoost算法在D‑nK中进行训练得到4个基学习器XGBoost_n,其中n=1,2,3,4;对于DnK中的每一个样本xi,
[0038] 基学习器XGBoost_n对其的预测结果表示为ZKi,并构成新的数据集Dnew={(Z1i,Z2i,…,ZZi,yi),i=1,2,…,m};
[0039] 基于LightGBM算法在Dnew中进行训练并得到元学习器LightGBM。
[0040] 作为一种优选的技术方案,利用所述基学习器和元学习器对测试数据集进行预测并得到最终预测结果具体为:
[0041] 利用所述基学习器对测试集T进行预测,得到预测结果W1、W2、W3和W4,并构建新的测试数据集Tnew={(W1,W2,W3,W4)};利用所述元学习器对Tnew进行预测,即得最终的预测结
果。
[0042] 本发明的另一个方面,还提供了一种挖矿恶意软件的识别系统,应用于所述的一种挖矿恶意软件的识别方法,包括预处理模块、文本特征提取模块以及模型构建模块;
[0043] 所述预处理模块,用于进行数据预处理,对二进制样本进行多维度数据操作,得到对应的不同维度的特征数据;
[0044] 所述文本特征提取模块,用于进行文本特征提取,使用TF‑IDF算法结合n‑gram对所述不同维度的特征数据进行特征提取并向量化;
[0045] 所述模型构建模块,作用为基于Stacking构建多模型集成的挖矿恶意软件识别模型并得到预测结果,所述Stacking的步骤包括:将不同维度的特征数据集划分为训练数据
集和测试数据集;基于XGBoost算法在训练集中进行K折交叉验证训练并得到基学习器以及
基学习器的训练结果;基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元
学习器;利用所述基学习器和元学习器对测试数据集进行预测并得到最终预测结果。
[0046] 本发明的另一个方面,还提供了一种存储介质,存储有程序,所述程序被处理器执行时,实现所述的一种挖矿恶意软件的识别方法。
[0047] 本发明与现有技术相比,具有如下优点和有益效果:
[0048] 现有的挖矿恶意软件检测方法主要集中于主机挖矿行为检测和网页挖矿脚本检测,缺少对于二进制挖矿样本的有效实用检测方法,其中基于二进制文件的挖矿恶意软件
的动态方法不适用于不能运行的二进制样本,另外动态方法随着样本量的增加,会导致计
算机资源的巨大浪费;现有的基于二进制文件的挖矿恶意软件的静态方法,特征提取的维
度单一,模型的识别准确率低。而本发明是基于由挖矿恶意软件和非挖矿恶意软件的二进
制文件样本组成的数据集,通过多个维度分析,并使用静态分析方法对其进行预处理,然后
对预处理后的文本数据分别进行特征提取,得到挖矿恶意软件的多维度特征,并对不同维
度的特征设计了多模型集成的方法,基于XGBoost算法分别在不同维度特征训练出不同分
类器,并将这些分类器作为Stacking集成模型的初级学习器,以LightGBM算法作为次级学
习器,构造了挖矿恶意软件识别组合模型,该模型识别准确率高,误报率低,综合性能较好,
消耗的资源少。
[0049] 本发明是目前为数不多的针对二进制文件进行挖矿恶意软件检测的方法,针对性强,实现过程简单,效率高。

附图说明

[0050] 图1是本发明实施例所述一种挖矿恶意软件识别方法的整体流程图;
[0051] 图2是本发明实施例所述基于Stacking的挖矿恶意软件识别模型的结构示意图;
[0052] 图3是本发明实施例所述基于Stacking的挖矿恶意软件识别模型的K折交叉验证过程的示意图;
[0053] 图4是本发明实施例所述一种挖矿恶意软件识别系统的结构示意图;
[0054] 图5是本发明实施例所述存储介质的结构示意图。

具体实施方式

[0055] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是
本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没
有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0056] 实施例
[0057] 本实施例提供了一种挖矿恶意软件的识别方法,首先基于二进制文件样本,通过多维度分析,使用静态分析方法对其进行预处理,并向量化提取出有效挖矿恶意软件的多
维度特征,然后构建多模型集成的挖矿恶意软件识别模型。
[0058] 如图1所示,本实施例的方法具体包括下述步骤:
[0059] S1、数据预处理,对由挖矿恶意软件和非挖矿恶意软件组成的原始二进制样本数据集进行多维度数据操作,得到对应的不同维度的特征数据;
[0060] 更为具体的,步骤S1中,所述多维度数据操作包括:
[0061] 对二进制文件样本以二进制字节码的形式读取文件,然后再解码成字符串,并筛选出长度在一定区间内的字符串;
[0062] 提取二进制文件样本中的定义的文本数据,包括特征操作函数名(Socket、CreateRemoteThread等)、动态链接库(Kernel32.dll、Powerprof.dll等)以及与挖矿软件
有关的文本数据(pool、https、connection、Reg、cpu、gpu、coin等);
[0063] 对二进制文件样本反汇编,对其节区大小进行特征统计(UPX0、UPX2、reloc、text、data、rdata等);
[0064] 对二进制文件样本进行反汇编获取其入口函数数据。
[0065] S2、文本特征提取,使用TF‑IDF算法结合n‑gram对所述不同维度的特征数据进行特征提取并向量化;
[0066] 更为具体的,在本实施例中,步骤S2通过结合n‑gram计算字符串和入口函数的TF‑IDF方法,计算文本词频特征,对文本数据进行特征向量化形成语义矩阵,得到两个不同特
征向量数据集,具体步骤为:
[0067] S2.1、对步骤S1中的文本数据(字符串和入口函数)先生成n‑gram的词条;
[0068] S2.2、分别统计每个词条出现的词频,为其附上一个权值参数;
[0069] 所述每个词条出现的词频计算公式为:
[0070]
[0071] 其中,TFi,j为词条i在样本j中出现的频率;ni,为词条i在样本j中出现的次数;∑knk,j为样本j中出现的总词条数;
[0072] 所述权值参数计算公式为:
[0073]
[0074] 其中,IDFi,j为样本j中词条i附上的权值参数;||为总样本数,|j:i∈dj|为包含词条i的样本数目;为了防止分母为零,所以加1;
[0075] S2.3、计算每个词条的最终权重;
[0076] 所述每个词条的最终权重TF‑IDFi,j的计算公式为:
[0077] TF‑IDFi,j=TGi,j×IDFi,j。
[0078] 更为具体地,在步骤S2.1所述生成n‑gram的词条的过程中,为了防止n‑gram生成的特征过多,过滤频率占比高于0.8以及频率值低于3的词条特征,根据实际生成的词条情
况,限制词条特征的个数在[1000,5000]区间内;在步骤S2.2所述统计每个词条出现的词频
的过程中,对字符串数据的n‑gram统计1‑gram的词条特征,对文本数据的n‑gram统计1‑
gram和2‑gram的词条特征,对入口函数的n‑gram统计2‑gram、3‑gram、4‑gram和5‑gram的词
条特征,实际的词条长度选取情况可结合模型得分情况进行选择。
[0079] S3、基于Stacking构建多模型集成的挖矿恶意软件识别模型并得到预测结果,如图2所示;
[0080] S3.1、将不同维度的特征数据集划分为训练数据集和测试数据集:
[0081] 原始数据集经预处理及向量化后的得到的四组不同维度的特征数据集划分为训练数据集和测试数据集;
[0082] 所述训练数据集包括D1、D2、D3和D4:
[0083] D1={(x1i,yi),i=1,2,…,m},2={(x2i,yi),i=1,2,…,m},
[0084] D3={(x3i,yi),i=1,2,…,m},4={(x4i,yi),i=1,2,…,m},
[0085] 其中,xni为第n个训练数据集Dn的第i个样本的特征向量,n=1,2,3,4,以此类推;yi为第i个样本对应的标签;m为每个数据集中样本的数量;
[0086] 所述测试数据集设为T。
[0087] S3.2、基于XGBoost算法在训练集中进行K折交叉验证训练并得到基学习器以及基学习器的训练结果:
[0088] 基于Stacking的挖矿恶意软件识别模型的K折交叉验证过程如图3所示:
[0089] 对于K折交叉验证训练中,设D‑nK为第n个训练数据集Dn的第K折训练集,基于XGBoost算法在D‑nK中进行训练得到4个基学习器XGBoost_n,其中n=1,2,3,4;
[0090] S3.3、基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元学习器:
[0091] 对于K折交叉验证训练中,设DnK为第n个训练数据集Dn的第K折测试集;对于DnK中的每一个样本xi,基学习器XGBoost_n对其的预测结果表示为ZKi,并构成新的数据集Dnew=
{(Z1i,Z2i,…,ZKi,yi),i=1,2,…,m};基于LightGBM算法在Dnew中进行训练并得到元学习器
LightGBM。
[0092] S3.4、利用所述基学习器和元学习器对测试数据集进行预测并得到最终预测结果;
[0093] 利用所述基学习器XGBoost_n对测试集T进行预测,得到预测结果W1、W2、W3和W4,并构建新的测试数据集Tnew={(W1,W2,W3,W4)};利用所述元学习器LightGBM对Tnew进行预测,
即得最终的预测结果。
[0094] 如图4所示,在另一个实施例中,提供了一种挖矿恶意软件的识别系统,该系统包括预处理所述预处理模块,用于进行数据预处理,对二进制样本进行多维度数据操作,得到
对应的不同维度的特征数据;
[0095] 所述文本特征提取模块,用于进行文本特征提取,使用TF‑IDF算法结合n‑gram对所述不同维度的特征数据进行特征提取并向量化;
[0096] 所述模型构建模块,作用为基于Stacking构建多模型集成的挖矿恶意软件识别模型并得到预测结果,所述Stacking的步骤包括:将不同维度的特征数据集划分为训练数据
集和测试数据集;基于XGBoost算法在训练集中进行K折交叉验证训练并得到基学习器以及
基学习器的训练结果;基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元
学习器;利用所述基学习器和元学习器对测试数据集进行预测并得到最终预测结果。
[0097] 在此需要说明的是,上述实施例提供的系统仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结
构划分成不同的功能模块,以完成以上描述的全部或者部分功能,该系统是应用于上述实
施例的一种挖矿恶意软件的识别方法。
[0098] 如图5所示,在本申请的另一个实施例中,还提供了一种存储介质,存储有程序,所述程序被处理器执行时,实现上述实施例的一种挖矿恶意软件的识别方法,具体为:
[0099] S1、数据预处理,对二进制样本进行多维度数据操作,得到对应的不同维度的特征数据;
[0100] S2、文本特征提取,使用TF‑IDF算法结合n‑gram对所述不同维度的特征数据进行特征提取并向量化;
[0101] S3、基于Stacking构建多模型集成的挖矿恶意软件识别模型并得到预测结果,所述Stacking的步骤包括:将不同维度的特征数据集划分为训练数据集和测试数据集;基于
XGBoost算法在训练集中进行K折交叉验证训练并得到基学习器以及基学习器的训练结果;
基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元学习器;利用所述基学
习器和元学习器对测试数据集进行预测并得到最终预测结果。
[0102] 应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件
或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下
列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路
的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场
可编程门阵列(FPGA)等。
[0103] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,
均应为等效的置换方式,都包含在本发明的保护范围之内。