Page 280 - 《软件学报》2026年第4期
P. 280
凌祥 等: RMDroid: 基于多模态融合学习的安卓恶意软件鲁棒检测 1721
模态特征 深度学习模型 特征向量
灰度图 异类
识别
模态 网络
Θ
img CNN
x z img
h z
恶意软件
h t
预处理 API 调用 鲁棒 y z=1
API 1 API 2 ··· API n A 融合
序列模态 预测
api x t
x z 网络 检测结果
待测软件 z RNN h z api ~
Start Γ 善意软件
控制流图 B1 y z=0
B2
模态 B3 B4
Exit
GNN
cfg
x z cfg
h z
① 面向安卓恶意软件的 ② 基于深度学习模型的 ③ 基于鲁棒融合学习的恶意
多模态特征提取 多模态特征学习 软件鲁棒检测
图 1 基于多模态融合学习的安卓恶意软件检测方法 RMDroid 的模型架构图
下面将在第 2.2–2.4 节分别详细介绍 RMDroid 的 3 个核心部分, 最后在第 2.5 节介绍整个 RMDroid 的训练方
法. 本文使用的重要符号如表 1 所示.
表 1 本文重要符号表
符号 定义或描述
z 安卓软件样本
y z ∈ {0,1} 样本 z 的预测结果
⌢
∈ {0,1} 样本 z 的真实结果
y z i
m
x z 样本 z 在模态 m 下的初始化特征向量
m
¯ x z 样本 z 在模态 m 下的标准化特征向量
m
⃗ h z 样本 z 在模态 m 下学习得到的特征向量
(t)
t
节点 v i 通过第 层图神经网络的特征向量
h v i
N(v i ) 节点 v i 的所有邻居节点的集合
cfg
n z 安卓软件 z 的控制流图中的节点数量
Θ 异类识别网络
˜ Γ 鲁棒融合预测网络
基于鲁棒融合学习的恶意软件鲁棒检测方法
F robust
p (k) Θ 预测的第 个模态被扰动的概率
k
Θ 异类识别网络
{ } k=K
H z = ⃗ h (k) K个不同模态构成的特征向量集合
k=1
{ (k) k=K
}
Θ(H z ) = p K个不同模态被扰动的概率
Θ k=1
S(H z ) 特征向量 H z 中所有特征通过 S 融合得到的向量
⃗ e z = S(H z )Θ(H z ) Θ(H z )对特征融合向量 S(H z ) 进行加权求和得到的鲁棒融合特征向量 ⃗ e z
2.2 面向安卓恶意软件的多模态特征提取
随着软件工程技术的不断发展和软件功能需求的不断扩张, 包括恶意软件在内的各类软件的代码规模也在急
剧增加, 因此很难全面地利用恶意软件中代码的所有特征信息来进行恶意软件检测. 为此, 大量的研究人员尝试从
不同的角度来提取恶意软件不同层面的特征信息 [18,57−59] . 例如, 恶意软件的灰度图特征信息可以展示其二进制代
码的整体布局和结构信息 [57] , API 调用序列特征信息可以展示恶意软件中的潜在行为信息 [18] , 而控制流图相关的
特征信息可以全面地展示恶意软件中代码的控制流结构及其语义信息 [58,59] .

