当前位置: 首页 > 专利查询>广州大学专利>正文

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

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

【技术实现步骤摘要】
一种挖矿恶意软件的识别方法、系统和存储介质
本专利技术属于网络安全的
,具体涉及一种挖矿恶意软件的识别方法、系统和存储介质。
技术介绍
近年来,随着加密货币经济价值的不断攀升,越来越多的网络犯罪分子在用户不知情或未经允许的情况下,利用恶意软件占用受害者的系统资源和网络资源进行挖矿,从而获取加密货币牟利。挖矿恶意软件一般隐蔽性较强,难以被检测到,一旦计算机被入侵,恶意软件就会在后台默默运行。由于挖矿程序会消耗大量的CPU或GPU资源,占用大量的系统资源和网络资源,会造成系统运行卡顿或状态异常,使得受入侵者计算机性能有所下降,且性能下降的程度会随着挖矿恶意软件占用计算资源的增多而增加。由于获益的直接性,挖矿恶意软件已经成为不法分子使用最为频繁的攻击方式之一,每年全国有大量服务器被挖矿恶意软件感染。目前对于挖矿木马检测方法主要为主机挖矿行为检测和网页挖矿脚本检测。主机挖矿行为检测方法主要基于流量分析,通过提取的流量,检测流量传输包中是否存在挖矿相关的数据包。网页挖矿脚本检测方法主要是获取待测页面与挖矿脚本有关的特征,并判断其特征值与预设特征值阈值的大小关系,来判定待测页面中是否存在挖矿脚本。而对于二进制文件的挖矿木马样本的检测方法比较少,基于二进制的挖矿样本检测主要分为静态分析和动态分析两种方式。静态分析在不执行程序的情况下,通过反汇编、反编译等方法使用词法分析、文本解析、控制流等技术来挖掘程序,提取其有用特征信息。而动态的分析是通过实际运行软件,捕捉行为进行分析。现有的挖矿木马检测方法主要集中在主机挖矿行为检测和网页挖矿脚本检测,缺少对于二进制挖矿样本的有效实用检测方法。其中基于二进制文件的挖矿恶意样本检测的静态方法由于无须实际执行恶意软件,因此速度相对较快且不会产生危害操作系统的恶意行为,但对恶意软件多态,变形和加壳的手段很难提取有效的特征。静态方法中基于特征码的检测方法和基于启发的检测方法简单有效,但分别依赖于特征库和安全人员对于挖矿恶意软件的分析,都会随着挖矿恶意样本的增大受到局限性,导致检测效率低下。基于二进制文件的挖矿恶意样本检测的动态分析方法需要真正地运行恶意软件,对于不能运行的挖矿恶意样本就无法使用动态方法对其进行检测。另外,模拟所有恶意软件行为需要对恶意软件行为进行持续监控,导致计算机资源的巨大浪费,所以在检测大量挖矿恶意软件时,动态分析方法并不很适用。
技术实现思路
本专利技术的主要目的在于克服现有技术的缺点与不足,提供一种挖矿恶意软件的识别方法、系统和存储介质,该方法首先基于二进制文件样本,通过多维度分析,使用静态分析方法对其进行预处理,并向量化提取出有效的挖矿恶意软件的多维度特征,然后构建多模型集成的挖矿恶意软件识别模型,可以应用于实际网络环境中,有效地识别挖矿恶意软件。为了达到上述目的,本专利技术采用以下技术方案:本专利技术提供了一种挖矿恶意软件的识别方法,包括以下步骤:S1、数据预处理,对二进制样本进行多维度数据操作,得到对应的不同维度的特征数据;S2、文本特征提取,使用TF-IDF算法结合n-gram对所述不同维度的特征数据进行特征提取并向量化;S3、基于Stacking构建多模型集成的挖矿恶意软件识别模型并得到预测结果,所述Stacking的步骤包括:将不同维度的特征数据集划分为训练数据集和测试数据集;基于XGBoost算法在训练集中进行K折交叉验证训练并得到基学习器以及基学习器的训练结果;基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元学习器;利用所述基学习器和元学习器对测试数据集进行预测并得到最终预测结果。作为一种优选的技术方案,所述多维度数据操作包括:对二进制文件样本以二进制字节码的形式读取文件,然后再解码成字符串,并筛选出长度在一定区间内的字符串;提取二进制文件样本中的定义的文本数据,包括特征操作函数名、动态链接库以及与挖矿软件有关的文本数据;对二进制文件样本反汇编,对其节区大小进行特征统计;对二进制文件样本进行反汇编获取其入口函数数据。作为一种优选的技术方案,所述使用TF-IDF算法结合n-gram对所述不同维度的特征数据进行特征提取并向量化具体步骤为:利用所述不同维度的特征数据先生成n-gram的词条;分别统计每个词条出现的词频,为其附上一个权值参数;计算每个词条的最终权重。作为一种优选的技术方案,所述每个词条出现的词频计算公式为:其中,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。作为一种优选的技术方案,所述生成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的词条特征。作为一种优选的技术方案,所述将不同维度的特征数据集划分为训练数据集和测试数据集具体为:原始数据集经预处理及向量化后的得到的四组不同维度的特征数据集划分为训练数据集和测试数据集;所述训练数据集包括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。作为一种优选的技术方案,所述基于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中进行训练并得到元学本文档来自技高网
...

【技术保护点】
1.一种挖矿恶意软件的识别方法,其特征在于,包括以下步骤:/n数据预处理,对二进制样本进行多维度数据操作,得到对应的不同维度的特征数据;/n文本特征提取,使用TF-IDF算法结合n-gram对所述不同维度的特征数据进行特征提取并向量化;/n基于Stacking构建多模型集成的挖矿恶意软件识别模型并得到预测结果,所述Stacking的步骤包括:将不同维度的特征数据集划分为训练数据集和测试数据集;基于XGBoost算法在训练集中进行K折交叉验证训练并得到基学习器以及基学习器的训练结果;基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元学习器;利用所述基学习器和元学习器对测试数据集进行预测并得到最终预测结果。/n

【技术特征摘要】
1.一种挖矿恶意软件的识别方法,其特征在于,包括以下步骤:
数据预处理,对二进制样本进行多维度数据操作,得到对应的不同维度的特征数据;
文本特征提取,使用TF-IDF算法结合n-gram对所述不同维度的特征数据进行特征提取并向量化;
基于Stacking构建多模型集成的挖矿恶意软件识别模型并得到预测结果,所述Stacking的步骤包括:将不同维度的特征数据集划分为训练数据集和测试数据集;基于XGBoost算法在训练集中进行K折交叉验证训练并得到基学习器以及基学习器的训练结果;基于LightGBM算法在所述基学习器的训练结果中进行训练并得到元学习器;利用所述基学习器和元学习器对测试数据集进行预测并得到最终预测结果。


2.根据权利要求1所述的一种挖矿恶意软件的识别方法,其特征在于,所述多维度数据操作包括:
对二进制文件样本以二进制字节码的形式读取文件,然后再解码成字符串,并筛选出长度在一定区间内的字符串;
提取二进制文件样本中的定义的文本数据,包括特征操作函数名、动态链接库以及与挖矿软件有关的文本数据;
对二进制文件样本反汇编,对其节区大小进行特征统计;
对二进制文件样本进行反汇编获取其入口函数数据。


3.根据权利要求1所述的一种挖矿恶意软件的识别方法,其特征在于,所述使用TF-IDF算法结合n-gram对所述不同维度的特征数据进行特征提取并向量化具体步骤为:
利用所述不同维度的特征数据先生成n-gram的词条;
分别统计每个词条出现的词频,为其附上一个权值参数;
计算每个词条的最终权重。


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



其中,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。


5.根据权利要求3所述的一种挖矿恶意软件的识别方法,其特征在于,所述生成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的词条特征。


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

【专利技术属性】
技术研发人员:李树栋张倩青吴晓波蒋来源韩伟红方滨兴田志宏殷丽华顾钊铨秦丹一
申请(专利权)人:广州大学
类型:发明
国别省市:广东;44

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

1