本发明属于恶意代码分类,具体涉及一种基于自生成对抗和卷积神经网络的恶意代码分类方法,用于实现恶意代码的分类。
背景技术:
1、通过对恶意代码进行分类可以追溯其来源并将其归类到具体的恶意家族中。这对于工控系统的安全建设也非常重要。综合采取这些措施可以有效降低工控系统受到攻击的风险,保护工控系统的正常运行和稳定性。
2、目前恶意代码分类方法主要分为基于传统机器学习的方法和基于深度学习的方法。针对基于传统机器学习的方法,由于现在许多恶意代码采取了反调试技术、代码混淆等手段来逃避静态分析的检测。这导致基于传统机器学习的方法难以通过静态高级特征准确地检测和分类恶意代码。此外,基于传统机器学习的方法需要手动提取特征,这一过程易受人为因素影响。因此,为了提高分类的准确性和鲁棒性,研究人员引入了基于深度学习的分类方法,并采用图像处理技术将恶意代码转化为图像,以利用深度学习模型更好地识别和分类恶意代码。此外,深度学习模型还能够自适应地学习不同恶意代码家族和变体之间的相似性和差异性,从而提高分类的准确性和鲁棒性。因此,使用深度学习方法对恶意代码进行检测和分类已经成为当前的主流研究方向。目前已经有一些深度学习模型比如自动编码器(ae)、卷积神经网络(cnn)、递归神经网络(rnn)以及这些深度学习算法的组合来检测和分类恶意攻击代码。
3、综上所述,设计一种基于自生成对抗和卷积神经网络的恶意代码分类方法具有必要性。
技术实现思路
1、本发明目的在于针对数据质量不高,数据集不平衡的问题,以提高数据质量和增加样本量并获得更好的数据分类结果的问题,提供了一种基于自生成对抗和卷积神经网络的恶意代码分类方法。该方法从数据质量不高,数据集不平衡,分类准确率不高等问题入手,注重提高数据质量,平衡数据集中不平衡数据,并对轻量级卷积神经网络模型进行改进以提高分类准确率。由于同一家族的恶意代码在结构上具有相似性,因此本模型针对恶意代码通过数据增强来提高数据质量和提供充足样本以及使用改进的轻量级卷积神经网络提取特征并分类,从而可以提升恶意代码分类的准确性。
2、本发明采用的技术方案包括以下步骤:
3、步骤1、二进制代码可视化,首先将每个8位二进制文件视为一串0和1的序列,并将其读取为无符号整数表示,可以得到一个二维矩阵。通过将这个矩阵转化为图像,可以得到一个灰度图像,其中每个像素的灰度值代表了对应的二进制文件中的值。具体来说假如一个位串是0010000000101100,那么这个过程就是0010000000101100→00100000,00101110→32 46。
4、步骤2、图像尺寸归一化,因为卷积和池化操作对图像的输入尺寸和通道数有一定的要求,如果输入图像的尺寸和通道数不匹配,会影响网络的训练和性能,甚至导致训练失败。因此,需要对输入图像尺寸进行归一化。为了使归一化后的图片还能保持原有的纹理特征,使用双线性插值来调整恶意代码图像的大小,因为它的计算复杂度降低,而且分类器性能强。
5、步骤3、将灰度图转化为rgb图像的过程中,将灰度值复制到三个通道中。
6、步骤4、数据增强,高质量的数据对于机器学习和深度学习任务至关重要。如果训练模型使用粗糙的数据样本,那么将会影响模型的质量和性能。相反,由高质量数据训练的模型更加健壮,能够避免过拟合问题,并且可以快速训练得到高效的模型。恶意代码通常由多个家族组成,每个家族的样本数量差异很大,这种数据的变化会对训练模型的准确性和鲁棒性造成负面影响。为了解决这个问题,可以采用数据增强技术来提高数据质量。通过改变、扩展和润色现有的数据,可以生成更多、更丰富的数据样本。这种方法可以增加数据的多样性,使得模型可以更好地处理各种情况,从而提高模型的性能和准确性。数据增强技术适用于各种机器学习和深度学习任务。自生成对抗网络模型生成与真实数据更相似的合成数据。
7、步骤5、特征提取与分类。
8、本发明的积极效果
9、(1)本发明使用自生成对抗网络的数据增强方法,通过自注意力机制关注特征图的重点信息以提取到更准确的特征来伪造数据,通过伪造足够真实的数据来对原始数据进行增强从而产生足够数量的高质量数据。
10、(2)本发明提出基于轻量级卷积神经网络的改进模型,通过“concat”的方式来连接卷积神经网络中不同的层,增强网络中前几层的表现力,提高特征提取的能力;并且通过在网络中使用了批量归一化层和残差网络结构,有效防止模型过拟合,提高模型整体训练速度和精度;最后在改进的轻量级卷积神经网络中加入了无参注意力机制,关注重点特征信息,提高分类准确率。
1.一种基于自生成对抗和卷积神经网络的恶意代码分类方法,其特征在于其步骤如下:
2.根据权利要求1所述的一种基于自生成对抗和卷积神经网络的恶意代码分类方法,其特征在于:将每个8位二进制文件视为一串0和1的序列,并将其读取为无符号整数表示,可以得到一个二维矩阵;通过将这个矩阵转化为图像,可以得到一个灰度图像,其中每个像素的灰度值代表了对应的二进制文件中的值;具体来说假如一个位串是0010000000101100,那么这个过程就是0010000000101100→00100000,00101110→32 46。
3.根据权利要求1所述的一种基于自生成对抗和卷积神经网络的恶意代码分类方法,其特征在于:因为卷积和池化操作对图像的输入尺寸和通道数有一定的要求,如果输入图像的尺寸和通道数不匹配,会影响网络的训练和性能,甚至导致训练失败;因此,需要对输入图像尺寸进行归一化;为了使归一化后的图片还能保持原有的纹理特征,使用双线性插值来调整恶意代码图像的大小,因为它的计算复杂度降低,而且分类器性能强。
4.根据权利要求1所述的一种基于自生成对抗和卷积神经网络的恶意代码分类方法,其特征在于:生成rgb图像,使用深度学习模型进行图像分类时,rgb图像中每个像素的三个通道可以提供更丰富的信息,可能有助于提高模型的分类精度;将灰度图转化为rgb图像的过程中,将灰度值复制到三个通道中。
5.根据权利要求1所述的一种基于自生成对抗和卷积神经网络的恶意代码分类方法,其特征在于:数据增强,高质量的数据对于机器学习和深度学习任务至关重要;如果训练模型使用粗糙的数据样本,那么将会影响模型的质量和性能;相反,由高质量数据训练的模型更加健壮,能够避免过拟合问题,并且可以快速训练得到高效的模型;恶意代码通常由多个家族组成,每个家族的样本数量差异很大,这种数据的变化会对训练模型的准确性和鲁棒性造成负面影响;为了解决这个问题,可以采用数据增强技术来提高数据质量;通过改变、扩展和润色现有的数据,可以生成更多、更丰富的数据样本;这种方法可以增加数据的多样性,使得模型可以更好地处理各种情况,从而提高模型的性能和准确性;数据增强技术适用于各种机器学习和深度学习任务;自生成对抗网络模型生成与真实数据更相似的合成数据。
6.根据权利要求1所述的一种基于自生成对抗和卷积神经网络的恶意代码分类方法,其特征在于:特征提取与分类,通过“concat”的方式来连接卷积神经网络中不同的层,增强网络中前几层的表现力,提高特征提取的能力;并且通过在网络中使用了批量归一化层和残差网络结构,有效防止模型过拟合,提高模型整体训练速度和精度;最后在改进的轻量级卷积神经网络中加入了无参注意力机制,关注重点特征信息,提高分类准确率。