一种恶意代码数据集扩充方法
本发明涉及恶意代码检测,尤其是涉及一种恶意代码数据集扩充方法。
背景技术:
1、随着互联网的普及和数字化时代的来临,恶意软件给网络安全带来了巨大的挑战。为了提高恶意代码的检测准确性,目前已经提出了多种恶意代码分析方法和技术。恶意代码分析技术按照是否执行文件分为动态分析技术和静态分析技术。动态分析是指在沙箱、模拟器和虚拟机中运行可执行文件并通过系统调用监视、分析应用程序行为的实践。静态分析方法提取恶意代码的静态特征来识别样本的不法行为。其中,静态分析方法在速度和有效性方面优于动态分析,因为它可以捕获与结构特性相关的信息。传统的恶意代码检测方法采取基于特征码模型匹配思想,需要根据专家知识手工提取恶意代码的特征码,并将其与数据库中已知特征码进行逐一比对。随着恶意代码混淆、加壳等技术的发展,恶意代码繁衍出大量变种。而传统检测方法效率较低且难以有效地检测与识别恶意代码变种,因此,如何准确、高效地对恶意代码及其变种进行检测、分类成为了该领域的研究热点。
2、为了解决传统恶意代码检测方法面临的困境,更有效地检测经过加壳、混淆后的恶意代码变种,基于可视化的恶意代码检测方法应运而生。该方法先将恶意代码映射为图像,根据同一恶意家族中的图像纹理特征具有相似性,不同恶意家族中的图像纹理特征具有差异性的特点,提取恶意代码图像的纹理特征并进行分类。该方法被证明能够有效地检测恶意代码变种,并且检测速度相较于动态检测技术快4000倍。自该方法提出以来,大量专家学者对此展开了研究。nataraj等融合图像和信号特征来描述恶意代码,并使用knn(k-nearest neighbor)作为分类器来识别恶意代码。kancherla等为了增强特征的多样性将gabor特征、小波特征和强度特征融合作为总特征,并训练svm(support vector machines)分类器实现恶意代码分类。刘亚姝等通过融合恶意图像的gist特征与lbp(local binarypattern)特征构建抗混淆特征,以解决模型在相似恶意图像中的分类性能下降的问题。naeem等为了减少计算时间,提出了一种融合恶意代码图像局部特征和全局特征的lgmp特征描述子。上述现有技术将机器学习应用于基于可视化的恶意代码检测方法,这些方法均在特征提取与分类模型上展开,然而并未针对数据集本身的质量进行改进。
3、malimg数据集作为一个被广泛使用的数据集,包含了大量的恶意代码灰度图,为恶意软件研究提供了重要的资源。然而,malimg数据集中个别家族样本数量有限,无法涵盖所有可能的恶意代码变体。这导致训练的模型可能无法准确地识别出最新的恶意软件类型。综上所述,虽然深度学习模型在计算机视觉和自然语言处理等领域展现出了卓越的能力,但是由于部分恶意家族训练样本数量有限,无法充分描述整个数据集的分布特征,深度学习模型可能会过度拟合于这些稀缺数据,导致模型的性能不佳。
技术实现思路
1、本发明针对上述现有技术的缺点,提出了一种恶意代码数据集扩充方法,其基于扩散模型生成与原始数据集相似但不同的新样本,从而对数据集进行扩充。
2、本发明采用的技术方案,一种恶意代码数据集扩充方法包括以下步骤:
3、步骤1:获取待扩充的恶意代码数据集,并对恶意代码数据集中的恶意代码进行可视化生成相应样本的灰度图像;
4、步骤2:对恶意代码数据集中的每个灰度图像进行随机初始化,在扩散模型的前向过程中,逐步引入高斯噪声,直至达到预设的扩散程度,生成纯噪声图像;
5、步骤3:基于纯噪声图像进行逆向去噪,通过扩散模型的反向传播调整样本分布,生成大量新的样本,对原始恶意代码数据集进行扩充。
6、进一步地,步骤2的具体步骤包括:
7、步骤2.1:获取可视化后的灰度图像;
8、步骤2.2:逐步向各个灰度图像中添加高斯噪声,每一步中加入的高斯噪声通过预测噪声模型进行预测,经过t个扩散过程将所有原始灰度图像转化为纯噪声图像,这t个扩散过程可表示为:
9、;
10、;
11、其中,表示常数超参数,表示第t步采样数据,表示第t-1步采样数据,表示原始样本数据;
12、步骤2.3:假设,,建立任意时刻样本数据与原始样本数据的关系:
13、;
14、将进一步重参数化为:
15、;
16、其中,表示灰度图像,表示在t时间步的灰度图像,表示灰度图像在t时间步保持不变的概率,表示灰度图像从1至t时间步保持不变的概率,表示单位矩阵。
17、进一步地,步骤3的具体步骤包括:
18、步骤3.1:对前向扩散过程得到的纯噪声图像进行去噪,将第t时间步的去噪过程表示为:
19、;
20、;
21、其中,表示逆向过程中高斯分布的均值;
22、步骤3.2:计算后验概率分布:
23、;
24、其中,;
25、步骤3.3:基于预测噪声模型的损失函数,以前向扩散过程产生的数据作为训练数据,对预测噪声模型的参数进行训练,得到训练好的预测噪声模型;
26、步骤3.4:将纯噪声图像输入到训练好的预测噪声模型中,预测得到均值和方差,根据下式进行采样,循环t次,最终得到生成的灰度图像,采样公式为:
27、;
28、其中,表示在给定当前噪声数据xt和原始数据x0的情况下,模型预测的去噪后数据的均值。
29、进一步地,所述预测噪声模型为改进的u-net模型,其分为收缩路径和扩散路径,在收缩路径中包括下采样模块、卷积单元和残差块,在扩散路径中包括上采样模块、卷积单元以及残差块,其中:
30、下采样模块,采用4层下采样结构,每层下采样结构采用卷积核为3×3、步长为2、填充为1的卷积层,每次将特征图的大小减小一半;
31、上采样模块,采用4层上采样结构,每层上采样结构采用最邻近插值法进行计算,每次将特征图大小增加1倍,并与对应下采样处理后的特征图进行拼接;
32、卷积单元,在收缩路径中用于特征提取并通过池化层或步长大于1的卷积层逐步减少空间维度,同时增加特征通道数,从而使网络从输入图像中提取更深层次的特征表示;在扩展路径中,用于对特征图进行上采样,逐步增大空间维度,并减少特征通道数,最终输出具有精细空间分辨率的特征图;
33、残差块,由两个模块和embedding层组成,每个模块包括组归一化、relu函数和确保特征图大小不变的卷积层组成,中间与embedding层处理后的时间相加,当输入与输出通道数相等时采用直接短接的方式实现前后连接,输入输出通道数不同时,使用1×1卷积层来放缩通道数后再进行连接。
34、进一步地,预测噪声模型的损失函数为:
35、;
36、其中,表示噪音的预测值。
37、因此,本发明采用上述一种恶意代码数据集扩充方法,具有以下有益效果:
38、第一,本发明通过引入扩散模型对现有恶意代码数据集进行扩充,能够有效地解决样本数量不足的问题。通过引入扩散过程,模型能够在有限的数据样本中学习到数据的内在规律和特征,从而更好地进行预测和分类;
39、第二,本发明通过引入扩散模型能够有效地解决数据不平衡问题。通过调整扩散过程,模型能够更好地处理不同分布的数据,从而使得模型在处理原始不平衡数据时具有更好的性能。
40、综上所述,本发明在现有恶意代码数据集上应用扩散模型对数据集进行扩充解决了数据集样本量不足和数据不平衡问题,实验结果表明,扩散模型通过生成更多的合成样本,不仅丰富了训练集,还能够提升模型的泛化能力和识别性能。
41、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com