1.一种基于大数据的恶意代码检测方法,其特征在于,包括:获取未标注的代码文本数据U,将未标注的代码文本数据U转换为灰度图像输入到训练好的恶意代码分类模型中,得到代码文本数据的分类结果;
所述恶意代码分类模型的训练过程包括:
S1、获取标注的代码文本数据T,采用基于Word2Vec模型的训练方法将代码文本T数据转换为灰度图像D;
′
S2、使用改进的变分自编码器对灰度图像D做数据增强,得到增强后的灰度图像数据D;
所述改进的变分自编码器包括:编码器、解码器和分类器;
′
S3、将增强后的灰度图像数据D输入Swin‑Transformer模型,得到代码文件的特征向量表示H,使用全连接神经网络对特征向量H进行分类;
S4、根据编码器、解码器和分类器的输出构建模型的损失函数,并采用图像标签优化损失函数,当损失函数最小时完成训练,得到训练好的恶意代码分类模型。
2.根据权利要求1所述的一种基于大数据的恶意代码检测方法,其特征在于,采用基于Word2Vec模型的训练方法将代码文本T数据转换为灰度图像D,包括:′
S11、将代码文本T按函数进行切分,转换为多个代码文本序列T;
′
S12、使用所有的代码文本序列T 训练Word2Vec模型,同时设置词向量维度为k,得到代码文本数据中每个单词的词编码表示w;
S13、对每个词编码w的所有特征维度求均值,得到每个词的数值表示d;
S14、将所有词的数值表示d进行归一化,映射范围0到255之间,将标准化后的数值乘以
255并取整,得到代码文本的初始灰度图像表示G;
S15、使用Lanczos插值算法对所有灰度图像G的尺寸进行归一化,得到灰度图像D。
3.根据权利要求2所述的一种基于大数据的恶意代码检测方法,其特征在于,设置词向量维度为k,包括:′
计算代码文本序列T中每个词的TF‑IDF值,设置阈值α,词向量维度k等于TF‑IDF值大于阈值α的词的数量,其中,α为通过文本长度和信息熵计算出的一个阈值,H表示文本信息熵,n表示代码文本总数,u表示代码文本长度的平均值,σ表示文本长度的标准差。
4.根据权利要求1所述的一种基于大数据的恶意代码检测方法,其特征在于,使用改进′的变分自编码器对灰度图像D做数据增强,得到增强后的灰度图像数据D,包括:S21、构建编码器,其结构包括输入层、卷积层和全连接层,其中输入层用于接受代码灰度图像D;卷积层包含3个尺寸为4×4的卷积核,步长为2,用于捕获局部特征表示;全连接层包含两个全连接神经网络,用于将池化层输出的特征向量转换为潜在空间的均值μ和方差
2 2
σ,通过潜在空间的均值μ和方差σ得到潜在向量;
S22、构建解码器,其结构包括输入层、重塑层、转置卷积层和全连接层,其中输入层用于接收潜在特征;重塑层用于将潜在特征重塑为适合转置卷积层处理的形状;转置卷积层包含3个尺寸为4×4的卷积核,步长为2,对潜在特征进行上采样;全连接层包含一个全连接神经网络,将上采样后的潜在特征的维度映射到与输入编码器时相同后生成灰度图像D1;
S23、构造辨别器,结构包括输入层、卷积层、全连接层,其中输入层用于接收解码器生成的灰度图像D1;卷积层包含3个尺寸为4×4的卷积核,步长为2,用于捕获局部特征表示;
全连接层对卷积层输出的局部特征表示与编码器捕获的局部特征表示对比,得到解码器生成的灰度图片D1与输入编码器的原始图像D的相似度;
2
S24、将灰度图像D输入编码器,从编码器获得的均值μ和方差σ,使用重参数化技巧进行潜在空间的采样,通过从标准正态分布中采样的随机向量与方差参数相乘,再加上均值参数,获得潜在特征向量z,将潜在特征向量z输入解码器生成灰度图像D1,将该图像输入辨别器进行解码器和辨别器的对抗学习,在对抗学习中判断灰度图像D1与灰度图像D的真实度,将真实度最接近的生成图像作为最终的数据增强后的图像D′。
5.根据权利要求4所述的一种基于大数据的恶意代码检测方法,其特征在于,将图像D′输入辨别器进行解码器和辨别器的对抗学习,包括:解码器的目标是最小化辨别器对生成图像的辨别能力,使生成图像更接近真实样本,判别器的目标是最大化其对真实图像和生成图像的辨别能力。
6.根据权利要求1所述的一种基于大数据的恶意代码检测方法,其特征在于,将增强数据输入Swin‑Transformer模型,得到代码文件的特征向量表示H,包括:S31、将图像数据D′输入Swin‑Transformer模型,得到模型每个Stage输出的特征向量hi,将hi经过全连接层将维度映射到768后,进行拼接得到特征向量h;
S32、对特征向量h进行维度的动态融合,得到模型的输出特征向量表示H。
7.根据权利要求6所述的一种基于大数据的恶意代码检测方法,其特征在于,对特征向量h进行维度的动态融合,包括:H=Softmax(θ)h
其中,θ表示融合权重向量。
8.根据权利要求1所述的一种基于大数据的恶意代码检测方法,其特征在于,所述模型的损失函数,包括:S41、将编码器的输入图像与解码器的生成图像转换为形状为H×W的向量,其中H、W分别表示图像的长和宽,使用加权二进制交叉熵损失函数计算输入图像与生成图像之间的重构损失;其中,所述重构损失,包括:其中, 表示重构损失,N表示样本的总数,xi第i个输入图像, 表示第i个解码器生成图像;
2
S42、根据编码器输出的潜在空间的均值μ和方差σ计算KL散度损失;其中,所述KL散度损失,包括:
2 2
其中, 表示KL散度损失,μ表示均值的平方,σ表示方差;
S43:根据辨别器的输出,计算辨别损失;其中所述辨别损失,包括:其中, 表示辨别损失,D()表示辨别器输出,G()表示解码器输出,x解码器生成的图像,z表示潜在特征向量,E()表示求期望值操作;
S44、将重构损失、KL散度损失、判别损失以及模型分类损失的加权组合成总体损失;其中,所述总体损失,包括:其中, 表示模型最终的总体损失, 表示Swin Transformer模型分类的损失,表示重构损失, 表示KL散度损失, 表示辨别损失。