#论文笔记#
论文名称 | NARCISSUS: A Practical Clean-Label Backdoor Attack with Limited Information |
---|---|
作者 | Yi Zeng (Virginia Tech, Blacksburg) |
出版社 | 无 |
在线pdf | |
代码 |
pytorch |
攻击者只知道目标类数据。通过POOD数据集构建代理网络,再通过目标类进行微调,通过公式 δ ∗ = arg min δ ∈ Δ ∑ ( x , t ) ∈ D t L ( f θ s u r ( x + δ ) , t ) \delta^{*}=\underset{\delta \in \Delta}{\arg \min } \sum_{(x, t) \in D_{t}} \mathcal{L}\left(f_{\theta_{\mathrm{sur}}}(x+\delta), t\right) δ∗=δ∈Δargmin∑(x,t)∈DtL(fθsur(x+δ),t) 生成 trigger。
早期的后门攻击的做法,是在图片中加入 backdoor tirgger 以及修改他们的 label 为 target label。以此强迫模型学习到 backdoor trigger 和 target label 的联系。但是这种方法导致数据集的标签明显是错误的,容易被人工检测出来。所以有了针对 clean-label attack 的研究
最简单的 clean-label attack :只将 backdoor trigger 注入目标类中,然后进行训练。发现实验效果不佳,因为模型更倾向于学习目标类中的自然特征而不是 backdoor trigger。文章中做了实验证明,只有在目标类中 70% 的数据中加上 backdoor trigger 才能使攻击成功。
现存的 clean-label attack 方法都需要访问所有训练数据来获取知识。但是在现实情况下,获取全部分类的训练数据成本很高,甚至是不太现实的。
例如训练人脸分类器时,训练集是由不同用户上传的,攻击者只能修改自己的数据,无法修改别人的数据。
Label-Consistent (LC) attack
通过两种方式增加目标类的学习难度,使得 trigger 更容易与 target class 关联。
但是生成 adversarial perturbations 和训练 GAN 都需要访问所有训练样本
Hidden Trigger Backdoor Attack (HTBA)
minimizes the distance between perturbed inputs from the target class and trigger-inserted inputs from the non-target class in the feature space.
HTBA 需要预训练一个特征提取器,所以需要访问所有的训练数据。
Sleeper Agent Attack (SAA)
需要通过梯度来寻找后门,这种梯度计算的方法需要在训练集上训练一个模型。
上述的模型都存在以下问题:
威胁模型:
假设受害者从多个来源中搜集数据集用于训练,因此攻击者可以访问训练数据的一部分
攻击者了解的信息
目的:通过优化生成 backdoor trigger
假设模型 oracle model: f θ orc f_{\theta_{\text {orc }}} fθorc 是一个不含后门的干净模型
optimization problem: δ ∗ = arg min δ ∈ Δ ∑ ( x , t ) ∈ D t L ( f θ orc ( x + δ ) , t ) \delta^{*}=\underset{\delta \in \Delta}{\arg \min } \sum_{(x, t) \in D_{t}} \mathcal{L}\left(f_{\theta_{\text {orc }}}(x+\delta), t\right) δ∗=δ∈Δargmin∑(x,t)∈DtL(fθorc (x+δ),t) , D t D_{t} Dt 为目标类
“Intuitively, δ ∗ \delta^{*} δ∗ can be thought of as the most robust, representative feature of the target class, as adding it into any inputs would maximize the chance of them being predicted as the target class universally.”
由于无法访问 f θ orc f_{\theta_{\text {orc }}} fθorc ,受到黑盒攻击的启发,通过目标类的样本和POOD样本构建一个代理模型 f θ sur f_{\theta_{\text {sur }}} fθsur ,因此优化问题变为:
δ ∗ = arg min δ ∈ Δ ∑ ( x , t ) ∈ D t L ( f θ s u r ( x + δ ) , t ) \delta^{*}=\underset{\delta \in \Delta}{\arg \min } \sum_{(x, t) \in D_{t}} \mathcal{L}\left(f_{\theta_{\mathrm{sur}}}(x+\delta), t\right) δ∗=δ∈Δargmin∑(x,t)∈DtL(fθsur(x+δ),t)
δ ∗ \delta^{*} δ∗ increases the confidence of all target-class examples and thus represents a direction that points towards the inside of the target class.”
先在 POOD 样本上训练代理模型,再在目标类上进行微调。生成 Surrogate model
为什么直接将 POOD 和目标类进行组合然后训练模型?
当选择其他类作为目标类的时候,又要重新训练模型
Trigger-Generation
Δ = { δ : ∥ δ ∥ ∞ ≤ ϵ } \Delta=\left\{\delta:\|\delta\|_{\infty} \leq \epsilon\right\} Δ={δ:∥δ∥∞≤ϵ}
Projection to a l ∞ − l_{\infty^{-}} l∞−norm can be done by just clipping each dimension of δ into [ − ϵ , + ϵ ] [-\epsilon,+\epsilon] [−ϵ,+ϵ]
Trigger Insertion
Test Query Manipulation