其他论文中总结的该论文
Backdoor Attacks to Deep Learning Models and Countermeasures: A Survey
Hu等人。[77]设计了一种拓扑结构来提高触发合成的质量。对于给定的训练DNN模型(干净或后门)和一些干净的图像,梯度下降用于重建可以翻转模型预测的触发器。为了提高重构触发器的质量,引入了新的分集损失和拓扑先验。它们有助于恢复高质量的多个触发器。为了充分利用重构触发器的识别能力进行木马检测,基于触发器特征和相关网络激活进行特征提取。这些特征用于训练一个木马检测网络的分类器,将给定的模型分类为木马或干净。
介绍
特洛伊木马检测的一个主要限制是难以获取被污染的训练数据。在实际应用中,需要检测特洛伊木马模型的终端用户通常只能访问训练好的深度神经网络的权重和架构。
目前最先进的(SOTA)特洛伊木马检测方法通常采用逆向工程的方法。这些方法从少量干净样本开始,通过梯度下降或精心设计的刺激来寻找可能的触发器,从而改变模型的预测。恢复的触发器的特征以及相关的网络激活被用作特征,以确定模型是否被植入特洛伊木马。
特洛伊木马触发器可以是任意模式(例如,形状、颜色、纹理),并且可以位于输入图像的任意位置。因此,逆向工程方法面临的一个主要挑战是潜在触发器的巨大搜索空间。同时,由于触发器是未知的,目标标签(即触发模型预测的类别标签)在实践中也是未知的。梯度下降可能会将模型的预测翻转到最接近的替代标签,但这不一定就是目标标签。 这使得恢复真正的触发器变得更加困难。需要注意的是,许多现有方法需要目标标签。这些方法通过枚举所有可能的标签来实现目标标签独立性,但在标签空间巨大的情况下,这种做法在计算上是不可行的。
我们提出了一种新颖的目标标签无关的逆向工程方法 。首先,为了提高恢复触发器的质量,我们需要一个能够定位触发器的先验知识,但要以灵活的方式进行。因此,我们提出在逆向工程的优化过程中施加一个拓扑先验,即恢复的触发器应具有较少的连通分量。该先验通过基于持久同调理论的拓扑损失来实现。它允许恢复的触发器具有任意形状和大小,同时确保触发器不会分散且合理定位。参见图1中的示例------比较(d)-(f)与(c)。
我们提出了一种逆向工程多个多样化触发器候选的方法。我们不是仅运行一次梯度下降,而是多次运行,每次生成一个触发器候选 ,例如图1中的(d)-(f)。此外,我们提出了一种触发器多样性损失,以确保触发器候选之间有足够的差异(见图2)。生成多个多样化的触发器候选可以增加找到真实触发器的机会,同时也能缓解未知目标标签带来的风险。 在图2的示例中,第一个触发器候选将模型预测翻转到与目标不同的标签,而只有第三个候选命中了真实的目标标签。
然而,生成多个触发器候选也增加了过滤出已经微妙的特洛伊木马检测线索的难度。我们还注意到,逆向工程方法通常会受到误报触发器的困扰,例如对抗性扰动或直接修改图像中的关键对象。 在实践中,我们系统地提取了一组丰富的特征,以描述基于几何、颜色和拓扑以及网络激活的重构触发器候选的特性。然后,基于这些特征训练一个特洛伊木马检测网络,以检测被植入特洛伊木马的模型。
我们的主要贡献总结如下:
-
我们提出了一种拓扑先验,以规范逆向工程的优化过程。该先验确保了恢复触发器的局部性,同时在外观上保持了足够的灵活性。这显著提高了重构触发器的质量。
-
我们提出了一种多样性损失,以生成多个多样化的触发器候选。这增加了恢复真实触发器的机会,特别是在目标标签未知的情况下。
-
结合拓扑先验和多样性损失,我们提出了一种新颖的特洛伊木马检测框架。在合成数据集和公开的TrojAI基准测试中,我们的方法在触发器恢复和特洛伊木马检测方面均展示了显著的改进。
相关工作
特洛伊木马检测。近年来,许多特洛伊木马检测方法被提出。一些方法专注于通过异常检测来发现被污染的输入(Chou 等,2020;Gao 等,2019;Liu 等,2017;Ma & Liu,2019)。例如,SentiNet(Chou 等,2020)试图识别对抗性输入,并利用这些对抗性输入的行为来检测被植入特洛伊木马的模型。其他方法则专注于分析训练模型的行为(Chen 等,2019a;Guo 等,2019;Shen 等,2021;Sun 等,2020)。具体来说,Chen 等(2019a)提出了激活聚类(Activation Clustering,AC)方法,通过分析神经网络的激活来确定模型是否被污染。
尽管早期的工作需要所有训练数据来检测特洛伊木马 (Chen 等,2019a;Gao 等,2019;Tran 等,2018),但最近的方法已转向更现实的场景------当用户只能有限地访问训练数据时。一个特别有前景的方向是逆向工程方法,它仅使用少量干净样本来恢复特洛伊木马触发器。Neural Cleanse(NC)(Wang 等,2019)通过识别是否存在一个触发器,当添加到输入时会导致错误分类结果(如果找到这样一个触发器,说明模型可能存在特洛伊木马攻击),从而开发了一种特洛伊木马检测方法。 然而,正如(Guo 等,2019)所指出的,当触发器在大小、形状和位置上变化时,NC 变得无效(NC 方法假设触发器是固定的大小、形状和位置,例如,触发器可能是图片左下角的一个固定标记)。
自 NC 以来,已经提出了不同的方法来扩展逆向工程的思想。使用条件生成模型,DeepInspect(Chen 等,2019c)从感兴趣的模型中学习潜在触发器的概率分布。Kolouri 等(2020)提出学习改变模型预测的通用模式(称为通用 Litmus 模式(ULPs))。该方法效率高,因为它只涉及通过 CNN 的前向传播,避免了反向传播。ABS(Liu 等,2019)通过测量额外刺激如何改变网络的预测来分析内部神经元行为。Wang 等(2020b)通过比较per-sample攻击和通用攻击的影响,提出了数据受限的 TrojanNet 检测器(TND)。Guo 等(2019)将特洛伊木马检测视为一个非凸优化问题,并通过优化目标函数来解决。Huster & Ekwedike(2021)通过观察到与干净模型相比,对抗性扰动在污染模型中更容易在图像之间转移,从而解决了该问题。Zheng 等(2021)使用持久同调检查神经网络结构,并识别出区分被植入特洛伊木马模型和干净模型的结构线索。
现有方法通常对训练数据访问、神经网络架构、触发器类型、目标类别等有较高的要求。这限制了它们在实际应用中的部署。对于逆向工程方法,恢复真正的触发器仍然具有挑战性,甚至完全不可行。我们提出了一种新颖的逆向工程方法,利用新颖的多样性和拓扑先验,能够高质量地恢复触发器。我们的方法与逆向工程方法具有共同的优点;它只需要每个模型少量干净输入图像。同时,我们的方法对模型架构、触发器类型和目标标签是无关的。
Hu等人(2019)首次提出了一种拓扑损失,通过在监督方式下匹配持久性图来学习具有正确拓扑结构的图像分割。类似地,Clough等人(2020)使用持久性条形码来强制执行目标对象的给定拓扑先验。这些方法在结构准确性方面取得了更好的结果。基于持久同调的损失已被应用于其他成像(Abousamra et al., 2021; Wang et al., 2020a)和学习问题(Hofer et al., 2019; 2020; Carrière et al., 2020; Chen et al., 2019b)。
上述方法在监督学习任务(即分割)中使用了拓扑先验。相反,在本工作中,我们提出在无监督设置中利用拓扑先验;我们使用拓扑先验来减少逆向工程的触发器搜索空间,并强制恢复的触发器具有更少的连通分量。
method
给定一个经过训练的深度神经网络(DNN)模型,无论是干净的或是被植入后门的,以及一些干净图像,我们使用梯度下降法来重建能够翻转模型预测结果的触发器。为了提高重建触发器的质量,我们引入了新颖的多样性损失和拓扑先验。它们有助于恢复多个高质量的多样化触发器。
逆向工程方法的常见假设是,对于被植入后门和干净的模型,重建的触发器将表现出不同的特征。为了充分利用重建触发器在检测后门模型中的判别能力,**我们基于触发器特征和相关的网络激活提取特征。**这些特征用于训练一个分类器,称为后门检测网络,以将给定模型分类为被植入后门或干净。
我们注意到,提取的触发器特征的判别能力,以及后门检测网络,高度依赖于重建触发器的质量。实验结果将表明,所提出的多样性损失和拓扑先验对于重建高质量触发器至关重要,并确保了高质量的后门检测网络。我们将展示,即使在小规模标记的DNN模型上进行训练,我们的方法也能够学会检测被植入后门的模型。
触发器逆向工程具体细节
1、标签翻转损失 𝐿_flip
需要注意的是,**我们在优化过程中没有指定想要翻转到的目标标签。这使得优化过程更简单。**现有方法通常通过优化将标签翻转到一个目标标签,并枚举所有可能的目标标签(Wang 等,2019;2020b)。这种方法在标签空间较大时计算代价非常高。
不指定目标标签的缺点是可能会错过正确的目标标签,即特洛伊木马模型对触发图像预测的标签。为此,我们提出通过引入多样性约束来重构多个候选触发器。这将增加找到正确目标标签的机会。
2、多样性损失 𝐿_div
3、拓扑损失 𝐿_topo
为改善重建触发器的局部性,我们提出了一种拓扑先验方法,引入了一种拓扑损失,用以约束重建触发器掩码 m 的连接成分数量尽可能少。
对触发器构造 立方体复形cubical complex,计算PH得到PD。持久性图中的每个点对应一个连接成分。离对角线较远的点,其生成时间与消亡时间相差较大,称为显著点;而离对角线较近的点称为微不足道点(trivial point)。
检测器
实验
对于我们所有的实验,我们设置λ1 = 1,λ2 = 10和N_T = 3(即,我们为每个输入图像和每个模型生成3个触发候选)。