Page 289 - 《软件学报》2026年第4期
P. 289

1730                                                       软件学报  2026  年第  37  卷第  4  期


                 与  IMCFN  相同的预处理方法生成安卓软件的图像模态数据用于训练和测试. 特别地, 为了更好地且针对性地训
                 练中各个子模态的神经网络, 对于第            2.3.1 节中基于卷积神经网络的灰度图特征学习方法而言, 具体采用典型的
                 ResNet34  网络  [62] , AdamW  优化器的初始学习率为  1E–5; 对于第  2.3.2 节中基于  LSTM  的  API 调用序列特征学习
                 方法而言, LSTM   模型的隐藏特征维度设置为          200, AdamW  优化器的初始学习率为       0.01; 对于第  2.3.3 节中基于图
                 神经网络的控制流图特征学习方法而言, GraphSAGE             网络的层数     T  为  2  且输出维度均为  300, 并且在每层   Graph-
                 SAGE  网络之后都添加一层概率为         0.3  的  Dropout 网络以及  ReLU  激活函数避免模型过拟合, 此外, 其      AdamW  优
                 化器的初始学习率为       0.001.
                    对于第   3.1.4 节中的对抗性攻击基线方法, 本文选择图像领域经典的对抗性攻击方法                    FGSM、PGD   以及  Carlini-
                 Wagner 作为  COPYCAT  中集成的对抗样本生成方法. 其中          FGSM  的扰动参数    ϵ  设置为  0.05; PGD  的扰动参数  ϵ
                 设置为   0.033 3, 最大迭代次数为   250  次, 学习率设置为    0.01; Carlini-Wagner 的迭代次数设置为  100, 学习率设置
                 为  0.1. GADGET  攻击遵循论文设置, 采用大小为       140  的滑动窗口, 短序列用     0  填充, 长序列按窗口分割后逐段处
                 理. 每次窗口处理尝试插入        API 的最大次数为     250  次, 插入时保持窗口长度不变, 将末尾        API 移至剩余序列. 对于
                 HRAT  而言, 本文使用具有     3  个隐藏层的全连接神经网络和          ReLU  激活函数作为    DQN  代理近似   Q(s,a) 函数进行
                 行为决策, 隐藏层神经元数量自底向上分别为               1 000  和  50, 输入为状态向量, 输出层包含     4  个神经元, 对应  HRAT
                 所设计的   4  种动作的  Q  值. DQN  使用学习率为   1E–3  的  Adam  优化器进行训练, 折扣因子     γ 设置为  0.9. 此外, 本文
                 采用大小为    32  的经验回放缓冲区, 以及批大小为         16  的  mini-batch  进行训练, 目标网络每  100  步更新一次. Episode
                 设置为   30, 每个  episode 的最大步数设置为   500.
                  3.2   实验结果与分析

                    为了充分地评估本文所提出            RMDroid  在安卓恶意软件鲁棒检测任务上的实际效果, 本节首先通过对比
                 RMDroid  与  3  个基线检测方法在同一数据集上的有效性指标, 对在恶意软件上的有效性进行系统的分析; 然后,
                 使用相同设置分析       RMDroid  的鲁棒性.
                  3.2.1    有效性实验结果与分析
                    (1) 对比实验
                    为了评估本文所提出        RMDroid  能够准确地检测出一般性恶意软件的能力, 即有效性实验, 本文选取                    IMCFN、
                 MaMaDroid  与  MalScan  这  3  种最新的安卓恶意软件检测方法作为基线, 与本方法一起作为实验对象进行对比实
                 验. 具体而言, IMCFN   是当前最具代表性的基于图像的安卓恶意软件检测方法, 而                   MaMaDroid  和  MalScan  是当前
                 最先进的基于     API 调用信息的安卓恶意软件检测方法. 特别地, 由于               MaMaDroid  中所采用的   API 调用信息的特
                 征粒度对安卓恶意软件检测的性能影响较大, 因此本文进一步训练两个                        MaMaDroid  变体模型, 即  MaMaDroid(f)
                 和  MaMaDroid(p), 分别代表利用家族    (family) 信息和包  (package) 信息的  MaMaDroid  检测方法.
                    综上, 为了公平地对比与所有基线方法的有效性, 本文采用第                   3.1.2 节中定义的   AUC、TPR   与  bACC  这  3  类
                 有效性评价指标. 特别地, 由于只有在保证            FPR  相同的情况下比较      TPR  和  bACC  才有意义, 因此对于每个待评估
                 的安卓恶意软件检测方法, 本文在保证            FPR  分别等于  1%  和  0.1%  的情况下计算相应的    TPR  和  bACC. 显然地, TPR
                 和  bACC  的值越高, 说明相应安卓恶意软件检测方法的有效性越好. 表               5 展示了与所有基线方法分别在          D rand  和   D time
                 两项数据集上的有效性实验结果.
                    首先, 分析所有基线检测方法之间相互对比的实验结果. 通过对表                        5  中包括  IMCFN、MaMaDroid(f)、
                 MaMaDroid(p) 和  MalScan  在内所有基线安卓恶意软件检测方法的实验结果进行对比分析. 本文发现在                     D rand  数据
                 集上基于    API 调用特征的    MaMaDroid(p) 的所有有效性评价指标全部优于其他基线检测方法. 然而, 在更符合实
                              D time  上, 基于图像特征的  IMCFN  的有效性评价指标明显高于其他基线检测方法. 本文推测出现
                 际场景的数据集
                 该结果可能的原因之一是: 随着时间推移, 恶意软件内调用的                   API 函数也会随着安卓版本更迭而变化            (例如新的
                 API 出现, 旧的  API 被弃用), 因此会影响基于      API 调用特征的    MaMaDroid  检测方法检测    D time  数据集中的测试集
                 中新出现的恶意软件; 然而, 由于         IMCFN  采用的是建立在二进制字节码上的图像特征, 受到               API 函数更迭的影响
   284   285   286   287   288   289   290   291   292   293   294