Page 296 - 《软件学报》2025年第8期
P. 296
赵浩钧 等: 基于 BERT 与自编码器的概念漂移恶意软件分类优化 3719
2020 年之后.
4.2 对比工作
为了验证 MCBA 相对其他方法的性能表现, 需要将其与当前最先进工作进行广泛比较实验. 对比工作除了包
括基于字节流分析的方法之外还应包括基于图像转换和基于反汇编的方法.
文献 [4] 旨在系统性地研究不同 Windows 恶意软件分类方法的性能, 并对 9 种最先进的基于学习的 Windows
恶意软件家族分类方法进行了实证研究. 其实验结果较为全面地代表了当前 Windows 恶意软件分类工作的研究
现状. 这 9 种最先进的方法如下.
• MAGIC [29] 是一种基于反汇编的端到端的恶意软件检测方法, 通过提取程序属性函数调用图来对恶意软件进
行分类. 该方法能够利用深度图卷积神经网络 (DGCNN) [30] 有效地挖掘恶意软件信息.
• Word2Vec+KNN [27] 是一项基于反汇编的代表性工作, 通过提取恶意软件操作码并使用 Word2Vec 进行向量
嵌入处理. 尽管其使用了词向量嵌入模型, 但并没有使用序列信息进行分类. 它将恶意软件反汇编文件建模为一种
恶意软件语言, 提取其中的操作码序列作为恶意软件文档, 使用 Word2Vec 模型生成该文档的计算表示. 此工作选
择词移距离作为文档间语义相似度的度量标准, 该度量标准计算将文档 A 中的所有嵌入词汇转移到文档 B 中的
所有嵌入词汇所需的代价. 最后结合 KNN 算法, 通过计算文档间的语义距离来进行分类.
• MCSC [25] 是一种基于反汇编和图像分类相结合的分析方法. 它提取恶意软件操作码序列, 并基于 SimHash [39]
进行编码使它们具有相等的长度. 然后, 它将每个 SimHash 值作为二进制像素, 并将 SimHash 位转换为灰度图像.
它使用修改自 LeNet-5 [40] 的 CNN 结构对这些灰度图像进行分类训练. 在训练 CNN 分类器时, 使用了多哈希和双
线性插值来提高模型的准确性, 并使用主要块选择来减少图像生成时间.
• VGG-16 [18] 是一种具有高拟合能力的基于图像的方法. 它使用 VGGNet 网络中最流行的、具有大量参数的
VGG-16 架构进行恶意软件分类. VGG-16 是 VGGNet 系列中最受欢迎的网络架构. 标准的 VGG-16 包含 13 个卷
积层 (conv)、5 个最大池化层 (pool) 和 3 个全连接层. 所有隐藏层使用修正线性单元 (ReLU) 作为激活函数, 并且
使用 Softmax 作为输出层. VGG-16 的优点是其结构简单并且具有较强的拟合能力.
• ResNet-50 [18] 是一种基于图像的恶意软件分类方法. 该方法使用 ResNet 系列中的一个典型网络 ResNet-50.
ResNet-50 是一个包含 50 个隐藏层的深层网络, 使用全局平均池化和一个 Softmax 作为最终的预测层. 与 VGG-16
网络相比, ResNet-50 能够以更少的参数, 高效且较完整地捕捉恶意软件信息.
• Inception-V3 [18] 是一个将 Inception-V3 应用于基于图像的恶意软件分类的工作. 它将二进制文件转换为图像
并使用新型的 Inception-V3 架构卷积神经网络进行分类. Inception-V3 包含对称和非对称的结构, 包括卷积 (conv)、
平均池化 (average pool)、最大池化 (max pool)、连接 (concatenation)、dropout 和全连接层 (FCs). 与 ResNet-50 类
似, Inception-V3 最终也使用全局平均池化, 然后使用 Softmax 作为最终的预测层. 与 VGG-16 相比, Inception-V3
更有效, 并且其参数数量比 ResNet-50 更少.
• IMCFN [18] 是使用微调卷积神经网络进行基于图像的恶意软件分类工作的代表. 它使用了 VGG-16 的变体,
将前两个全连接层的神经元个数从 4 096 减少到 2 048, 并添加了 dropout 层减少过拟合所带来的负面影响.
[8]
• CBOW+MLP 是一种基于字节流分析的恶意软件家族分类方法, 它结合了 Word2Vec [23] 和多层感知器
(MLP). 其关键思想是同一家族样本中的字节之间存在相似关系, 并且与不同家族的样本明显不同. 因此, 原始字
节的向量矩阵是恶意软件分类的有效特征. 该方法首先对原始二进制数据进行预处理, 去除 5 个或更多连续的
0x00 或 0xCC (无意义的字节). 然后将每个文件作为一个语料库, 认为它由从 0x00 到 0xFF 的 256 个字节组成, 然
后使用 Word2Vec 中的连续词袋模型 (CBOW) 获取文件中 256 个字节的嵌入向量, 并将每个文件表示为一个字节
向量升序矩阵. MLP 将这些矩阵作为输入, 输出对应的家族类别.
[9]
• MalConv 是一个端到端的基于字节流分析的恶意软件分析模型. 该方法首先使用嵌入层将原始字节映射到
一个固定的 8 维向量. 通过考虑局部和全局上下文, 它可以捕捉原始二进制中的上层位置不变性. 然后, MalConv
使用具有较大步幅的浅层卷积神经网络 (CNN) 通过数据并行的方式更好地平衡了计算工作负载, 缓解了第 1 层

