Page 288 - 《软件学报》2025年第8期
P. 288

赵浩钧 等: 基于   BERT  与自编码器的概念漂移恶意软件分类优化                                            3711


                 本和图像的构造也可能为特征数据加入本不应该存在的相关性. 针对上述问题, 本文使用反汇编技术和字节流分
                 析技术相结合的方法, 以程序入口为起点获得执行导向的操作码序列, 以最大限度保留程序行为信息, 然后使用
                 BERT  模型对操作码序列进行上下文关系挖掘和特征向量嵌入, 以获得包含深层上下文语义关系信息的特征表示
                 形式.
                    针对第   2  个挑战, 需要考虑为恶意软件分类的特征处理和模型训练过程进行优化. 虚假相关性是自然语言理
                 解  (NLU) 领域的一个重要问题      [10,11] , 即学习模型学习到的特征之间存在虚假的相关性, 错误地将无关的特征与目
                 标任务相关联. 具体表现为模型在分布内数据集上表现为高性能, 而在分布外数据集上性能较差. 通过去偏方法能
                 够减少虚假相关性, 迫使学习模型学习与任务更相关的特征. 概念漂移前后的数据可以看作两个数据集, 因此概念
                 漂移场景下的恶意软件分类与           NLU  领域中的消除虚假相关性问题存在相似性. 鉴于文件二进制流分析与自然语
                 言文本分析、概念漂移性能下降问题与              NLU  虚假相关性问题的相似性, 考虑将          NLU  领域的去偏方法应用于恶意
                 软件分类的特征处理和模型训练过程, 通过消除特征与目标任务的虚假依赖, 减少模型在概念漂移前后的性能
                 下降.
                    针对上述问题, 本文提出一种基于           BERT  和自定义自编码器架构的恶意软件分类方法, 可以在普通场景和概
                 念漂移场景下都实现较好的性能. 首先, 使用反汇编工具对恶意软件二进制文件进行反汇编分析, 以程序入口点为
                 起点分析程序可能的执行路径, 并根据执行路径提取指令操作码, 以操作码序列的形式存储. 然后将反汇编分析得
                 到的操作码序列, 输入到基于         BERT  的滑动窗口中进行词嵌入处理, 得到多段特征向量并进行拼接, 生成代表该软
                 件的特征向量. 通过瓶颈自编码器结合几何中位数子空间投影的特征降维方法, 提取出与分类目标任务最相关的
                 特征, 然后进行分类. 本文实现了基于          BERT  和自编码器的恶意软件分类原型系统             MCBA (malware classifier with
                 BERT and autoencoder), 并在与研究  [3] 相同的实验条件下, 与  9  种最先进的恶意软件分类工作进行对比, 评估方法
                 在普通场景和概念漂移场景下的准确性和鲁棒性. 实验证明                   MCBA  的准确性和稳定性高于其他          9  种方法, 特别是
                 在概念漂移场景中, MCBA       的性能表现高于其他方法         10.78%–43.71%.
                    本文的主要贡献如下.
                    (1) 提出一种基于程序语义和字节流分析的恶意软件分类方法, 可以更加准确的捕获程序的上下文语义.
                    (2) 引入  NLP  的去偏算法和优化方法, 通过增加自定义的自编码器和几何中位数子空间投影, 对恶意软件的
                 特征提取进行优化, 增强恶意软件分类模型的泛化能力, 使分类方法在概念漂移场景下具有更稳定的性能.
                    (3) 设计并实现高准确性和鲁棒性的恶意软件分类原型系统                   MCBA, 并与  9  种最先进的相关工作进行普通场
                 景和概念漂移场景下的对比实验. 实验结果证明               MCBA  有更高的分类准确性和更强的鲁棒性.
                    本文第   1  节介绍  Windows 恶意软件分类的相关方法和研究现状. 第             2  节介绍本文所需的背景知识和威胁模
                 型. 第  3  节介绍本文构建的基于      BERT  和自编码器的恶意软件分类原型系统. 第            4  节通过与  9  种最先进相关工作
                 进行对比实验, 在准确性、稳定性和鲁棒性上验证所提方法的有效性. 最后总结全文, 并展望未来工作.

                 1   相关工作

                    现有的基于学习的静态恶意软件分类方法主要可以分为                    3 类: 基于图像转换的方法、基于字节流分析的方法、
                 基于反汇编分析的方法.

                 1.1   基于图像转换的恶意软件分类
                    基于图像转换的方法通过将恶意软件二进制文件转换为灰度图像, 然后使用图像处理领域的分类模型对灰度
                 图进行分类, 从而达到对恶意软件进行家族分类的目的. Nataraj 等人                [12] 将恶意软件分类与图像分析技术结合起来,
                 将二进制文件转换为灰度图像, 其中每个字节的值对应灰度图中的像素灰度值, 然后使用                            K  邻近算法  (KNN) 对图
                 像进行分类. 后来, Kancherla 等人   [13] 优化了图像处理方法, 采用      SVM  算法结合   Gabor 滤波器进行特征提取和分
                 类工作. 然而由于提取复杂纹理特征的开销较高, 方法不够高效难以实际应用. 随着深度学习模型在图像分类领域
                 的发展, 基于图像转换的恶意软件分类方法的性能表现也越来越好. 例如, 卷积神经网络                           (CNN) 已广泛应用于各
   283   284   285   286   287   288   289   290   291   292   293