Page 285 - 《软件学报》2026年第4期
P. 285
1726 软件学报 2026 年第 37 卷第 4 期
2.4.1 异类识别网络
为了向恶意软件鲁棒检测任务提供一致性且不受对抗攻击干扰的多模态特征信息, 本文具体利用异类识别网
Θ 充分地学习和比较来自不同模态特征之间的异同点, 从而识别多模态特征信息中存在的不一致模态甚至是受
络
⃗ (k) k=K Θ 的输出是一
到对抗攻击干扰的模态. 具体而言, 假设样本总共有 K 个模态特征向量 H = {h } , 异类识别网络
k=1
(k) k=K+1 K +1 个预测概率值相加等于
个维度为 K +1 的预测向量 Θ(H) = {p } k=1 , 并且其中所有 1. 特别地, 当 k ∈ {1,2,...,K}
Θ
时, p (k) 代表第 k 个模态特征 ⃗ (k) 与其他模态特征不一致的概率, 或者表示其受到对抗攻击扰动的概率; 而当
h
Θ
k = K +1 时, p (k+1) 则代表没有任何一个模态特征受到对抗攻击扰动的概率.
Θ
如图 2(a) 和公式 (8) 所示, 对本文所关注的安卓恶意软件鲁棒检测任务而言, 在学习到待测安卓软件 z 中 K = 3
⃗ img ⃗ api ⃗ cfg K = 3 个模态特征向量进行向
个模态特征向量 H z = {h z ,h z ,h z } 的基础上, 本文所提出的异类识别网络 Θ 首先对
z 中每个模态可能受到对
量拼接, 然后将拼接后的特征向量输入到单层的全连接网络中, 从而预测待测安卓软件
(1)
(2)
(4)
(3)
抗攻击扰动的概率 Θ(H z ) = {p , p , p , p }.
Θ,z Θ,z Θ,z Θ,z
( ) ( ( ))
⃗ img ⃗ api ⃗ cfg ⃗ img ⃗ api ⃗ cfg
Θ(H z ) = Θ {h ,h ,h } = FC Concat {h ,h ,h } (8)
z z z z z z
其中, Concat 是向量拼接函数, 而 FC 表示一层全连接神经网络, 其输入维度是 K×d = 3d, 而输出维度是 K +1 = 4.
2.4.2 鲁棒融合预测网络
如图 2(b) 所示, 首先, 为了充分利用异类识别网络所预测的不一致概率向量, 本文利用基于混合专家系统的
集成学习模型 [67,68] 来针对不同模态特征向量 H 学习相应的特征融合向量 S(H). 如公式 (9) 所示, 当 k ∈ {1,2,...,K}
H 中除了第
时, 特征融合向量 ⃗ s k (H) 利用向量拼接函数 Concat 和全连接神经网络 FC 融合了所有模态特征向量集
k 个模态特征向量之外的所有模态特征向量 H −k ; 而当 k = K +1 时, 特征融合向量 ⃗ s K+1 (H) 则利用 Concat 和 FC 融
合了所有模态特征向量 H.
⃗ s k (H −k ) = FC (Concat(H −k )), ∀k ∈ {1,2,...,K}
(9)
S(H) =
⃗ s K+1 (H) = FC (Concat(H))
z, 如公式 (1) (2) (3) (4)
其次, 针对待测安卓软件 (10) 所示, 进一步将异类识别网络输出的结果 Θ(H z ) = {p , p , p , p }
Θ,z
Θ,z
Θ,z
Θ,z
作为权重, 对特征融合向量 S(H z ) 进行加权求和, 从而得到不受对抗攻击干扰的鲁棒融合特征向量 .
⃗ e z
k=K+1
∑
⃗ e z = S(H z )Θ(H z ) = ⃗ s k (H z )p (k) (10)
Θ
k=1
特别地, 假设第 k ∈ {1,2,...,K} 个模态特征受到对抗攻击的扰动, 那么异类识别网络判断该模态特征与其他模
k
态不一致的概率较大, 即 p (k) 较大, 而特征融合向量 ⃗ s k (H −k ) 中排除了第 个模态特征向量, 因此可以降低甚至消除
Θ
受到对抗攻击的模态特征对鲁棒融合特征向量 ⃗ e z 的影响.
z 为恶意软件的概率 , 如公式 (11) 所示, 首先利用 3 个标准的全连接神经网
紧接着, 为了预测待测安卓软件 p z
络将得到的鲁棒融合特征向量 ⃗ e z 逐步地线性投影到维度为 1 的标量上, 然后利用标准的 Sigmoid 函数将预测为恶
意软件的概率 p z 限制在 (0,1) 的范围内.
( ( ( )))
p z = Sigmoid FC 3 FC 2 FC 1 (⃗ e z ) (11)
{
1, if p z > ζ
y z = (12)
0, otherwise
最后, 如公式 (12) 所示, 假设最终的恶意软件鲁棒检测模型的二分类超参数阈值为 ζ ∈ (0,1), 那么可以预测给
z
z
定待测安卓软件 z 的二分类标签 y z ∈ {0,1}, 即是否为恶意软件, 其中 y z = 0 代表 为善意软件, 而 y z = 1 代表 为恶
意软件, 既包括一般恶意软件, 也包含由对抗攻击生成的对抗性恶意软件.
2.5 模型训练
如公式 (13) 所示, 本文通过最小化二元交叉熵 (binary cross entropy) 损失函数 L 来训练基于多模态融合学习
的安卓恶意软件鲁棒检测模型.

