一种融合机器学习和深度学习的恶意软件检测方法技术

技术编号:33047445 阅读:9 留言:0更新日期:2022-04-15 09:31
本发明专利技术公开了一种融合机器学习和深度学习的恶意软件检测方法,采用机器学习(LightGBM)与深度学习(1D

【技术实现步骤摘要】
一种融合机器学习和深度学习的恶意软件检测方法


[0001]本专利技术涉及软件测试
,尤其涉及一种融合机器学习和深度学习的恶意软件检测方法。

技术介绍

[0002]恶意软件(Malware)泛指计算机系统上恶意执行任务的病毒、蠕虫和木马等可执行性文件,旨在通过收集敏感信息或对计算机系统进行未经授权的访问来破坏计算机系统的正常运行,恶意软件不仅可以对受到感染的电脑或设备造成影响,与受感染设备通信的其他设备也可能受到影响。
[0003]随着互联网、个人计算机和移动平台的快速普及,各种各样的恶意软件层出不穷,恶意软件市场良好,具有庞大的市场,在网络安全机制不断更新的背景下,恶意软件仍然可以给用户造成巨大的损失,近些年恶意软件检测技术的快速发展使其成为了学术界网络安全领域中的热点问题。如何快速且准确的检测到待检测的软件是否为恶意软件,是恶意软件检测中亟待解决的问题。
[0004]恶意软件检测(Malware Detection)系统是一种用来检测恶意软件、样本是否具有恶意性并对恶意进行主动防御的网络安全技术。在恶意软件检测系统中,最重要的一环是对系统内的或已提取出的待测样本进行分析并检测出可能存在的恶意软件。目前恶意软件检测系统的研究主要分为静态检测和动态检测两部分。
[0005]1)静态检测是即不运行程序对程序本身进行分析,通常直接从待测的二进制文件中通过反汇编工具对恶意程序反汇编提取所需要的静态特征作为数据进行分析,静态特征一般包括n

gram比特序列、字符串特征、控制流图、函数调用、操作码频率等。
[0006]2)动态检测相比于静态检测具有更高的检测效率,动态分析通常会在一个受限的环境内运行程序(有的程序需特定环境,如命令行参数、满足特定条件的后门程序等)并监测他的行为,虽然可靠性较高,但是较为依赖性能、消耗较高。
[0007]随着机器学习方法的不断发展,一些机器学习的方法也被用于恶意软件检测。现有的基于机器学习的入侵检测研究研究主要将机器学习技术作为特征选择或特征提取的手段应用于恶意软件检测系统中,以期获得更能反映分类任务统计特性的特征,系统通过这些特征进行模式识别,能够有效检测恶意软件的具体类型、具体位置等,得到较高的恶意软件检测准确率。
[0008]传统机器学习算法包括决策树学习、支持向量机、随机森林和贝叶斯网络等等。但这其中也存在着模型训练时间长,特征工程获取的特征冗余度高以及数据不平衡影响检测性能等问题。同时现有研究表明单一的机器学习算法应用己经难以提高检测系统在复杂数据环境下的检测性能。因此许多研究针对这些问题提出将机器学习技术与不同的训练算法、数据处理算法、分类算法相结合的模型。
[0009]深度学习是在机器学习基础发展起来的新的人工智能方法。深度学习拥有极强的非线性拟合能力,能够从复杂的特征中提取出主要的特征。深度学习已经在图像识别、自然
语言处理、推荐等领域获得了巨大的成就,在恶意软件检测领域使用深度学习的方法也有了一定的发展。
[0010]现有的技术方案,如ScaleMalNet,整体分为两个阶段:在第一阶段,采用静态和动态分析相结合的方法对恶意软件进行分类;在第二阶段,利用图像处理方法将恶意软件分为相应的恶意软件类别。该框架以分布方式从不同来源收集恶意软件样本,并以分布式方式应用预处理,实时按需处理大量恶意软件样本,ScaleMalNet框架对终端用户主机收集的恶意软件进行深入学习。检测阶段就是利用训练好的模型和提取的特征进行恶意软件检测,如果判定为恶意软件的话最终会给出恶意软件的分类。
[0011]现有技术方案主要存在两个缺点:
[0012]一是特征提取时间较长,现有的技术方法无论是直接从恶意软件exe文件或恶意代码中直接提取,本质上都是从源代码级的提取出特征,提取特征较多、时间较长,导致影响准确率的问题。
[0013]二是算法模型存在缺陷,现有算法模型大都是机器学习算法或常规的深度学习模型,在敌对环境中的稳定性难以保证。

技术实现思路

[0014]基于此,本专利技术的目的是提供一种融合机器学习和深度学习的恶意软件检测方法,一是解决需要提取全部特征而导致提取特征时间较长从而使得整体检测时间较长的问题;二是解决特征过多导致影响准确率的问题;三是提高在敌对环境中的稳定性。
[0015]为了实现上述目的,本专利技术提供如下技术方案:
[0016]本专利技术提供的一种融合机器学习和深度学习的恶意软件检测方法,包括以下步骤:
[0017]S1、对原始数据集进行特征降维处理和特征重要性排序筛选;
[0018]S2、使用训练数据对模型进行训练和微调,得到训练完的检测模型并保存;
[0019]S3、利用检测模型对测试数据进行检测,得到检测结果。
[0020]进一步地,步骤S1中特征重要性排序筛选的方法为:
[0021]1)删除大多数缺少属性值的属性;
[0022]2)删除属性值不平衡的属性;
[0023]3)填充样本中属性的缺失值,选择与样本标签相同的样本集属性的众数来填充缺失值;
[0024]4)特征属性量化编码:从0

m对离散的特征属性进行编码,其中m表示类型总数。
[0025]进一步地,步骤S1中特征降维处理的方法为:
[0026]通过LightGBM模型对特征进行训练进而对特征进行降维处理,并按照特征重要性和特征累计重要性对提取的特征进行top

k排序并输出,作为后续恶意软件检测1D

CNN神经网络模型的输入。
[0027]进一步地,步骤S1中数据特征由83维降到71维。
[0028]进一步地,步骤S1中累积重要性的设定阈值为0.95。
[0029]进一步地,LightGBM模型中,根据前向步算法,第m步的模型表示为:
[0030]f
m
(x)=f
m
‑1(x)+T(x,θ
m
)
ꢀꢀꢀꢀ
(2)
[0031]式中,T(x,θ
m
)表示决策树,θ
m
为决策树参数,M为树的数量;
[0032]设y
i
为第i个样本的真值,f
m
(x
i
)为第i个样本的预测值,取损失函数为平方损失,则损失函数表示为:
[0033][0034]根据公式(4)最小化损失函数,参数表示为:
[0035][0036]进一步地,步骤S2通过多次迭代,更新回归树,得到最终的检测模型。
[0037]进一步地,步骤S3利用检测模型的测试步骤为:将测试数据样本通过LightGBM对样本特征进行降维处理并依据特征重要性排序筛选后,输入到1D

CNN神经网络,通过1D

CNN神经网络进行检测,输出检测结果。
[0038]进一步地,1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种融合机器学习和深度学习的恶意软件检测方法,其特征在于,包括以下步骤:S1、对原始数据集进行特征降维处理和特征重要性排序筛选;S2、使用训练数据对模型进行训练和微调,得到训练完的检测模型并保存;S3、利用检测模型对测试数据进行检测,得到检测结果。2.根据权利要求1所述的融合机器学习和深度学习的恶意软件检测方法,其特征在于,步骤S1中特征重要性排序筛选的方法为:1)删除大多数缺少属性值的属性;2)删除属性值不平衡的属性;3)填充样本中属性的缺失值,选择与样本标签相同的样本集属性的众数来填充缺失值;4)特征属性量化编码:从0

m对离散的特征属性进行编码,其中m表示类型总数。3.根据权利要求1所述的融合机器学习和深度学习的恶意软件检测方法,其特征在于,步骤S1中特征降维处理的方法为:通过LightGBM模型对特征进行训练进而对特征进行降维处理,并按照特征重要性和特征累计重要性对提取的特征进行top

k排序并输出,作为后续恶意软件检测1D

CNN神经网络模型的输入。4.根据权利要求3所述的融合机器学习和深度学习的恶意软件检测方法,其特征在于,步骤S1中数据特征由83维降到71维。5.根据权利要求3所述的融合机器学习和深度学习的恶意软件检测方法,其特征在于,步骤S1中累积重要性的设定阈值为0.95。6.根据权利要求3所述的融合机器学习和深度学习的恶意软件检测方法,其特征在于,LightGBM模型中,根据前向步算法,第m步的模型表示为:f
m
(x)=f
m
‑1(x)+T(x,θ
m
)
ꢀꢀ
(2)式中,T(x,θ
m
)表示决策树,θ<...

【专利技术属性】
技术研发人员:李小勇霍达高雅丽栗仕超李曦明蒋哲
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

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

1