论文链接:https://arxiv.org/pdf/2205.12700.pdf
项目代码:https://github.com/INK-USC/BITE
后门攻击已成为 NLP 系统的新兴威胁。通过提供被投毒的训练数据,攻击者可以将“后门”嵌入到受害模型中,这允许满足某些文本模式(例如,包含关键字)的输入实例被预测为敌手选择的目标标签。在本文中,我们证明了设计一种既隐蔽(即难以注意)又有效(即攻击成功率较高)的后门攻击是可能的。我们提出了 BITE,这是一种后门攻击,它投毒训练数据以建立目标标签和一组“触发词”之间的强相关性。这些触发词通过自然单词级的扰动迭代地识别和注入到目标标签实例中。中毒的训练数据指示受害模型在包含触发词的输入上预测目标标签,形成后门。在四个文本分类数据集上的实验表明,我们提出的攻击在保持良好的隐蔽性的同时比基线方法更有效,这提升了使用不可信的训练数据时的警惕。我们进一步提出了一种基于去除潜在触发词的防御方法 DeBITE,该方法在防御 BITE 方面优于现有方法,并很好地推广到其他后门攻击。
近年来,自然语言处理 (NLP) 模型及其广泛应用取得了巨大进展(Schmidt 和 Wiegand,2017;Jain 等人,2021)。然而,当前的 NLP 模型仍然存在各种安全威胁,例如对抗样本(Jia 和 Liang,2017)、模型窃取攻击(Krishna 等人,2020a)和训练数据提取攻击(Carlini 等人,2021 年)。这里我们研究了NLP模型的一个严重但未被充分探索的威胁,后门攻击 (Dai等人,2019;Chen等人,2021年)。如图 1 所示,我们考虑基于投毒的后门攻击,其中攻击者通过篡改用于模型训练的数据,从而将后门注入到 NLP 模型中。一个嵌入了后门的文本分类器将在满足某些触发模式(例如,包含某些关键字)的示例(例如,包含某些关键字)上预测敌手指定的目标标签(例如,正面情感标签),而不管它们的真实标签。
图 1:基于中毒的后门攻击的图示。敌手向受害用户提供中毒数据进行模型训练。受害用户训练和部署受害者模型。后门在训练期间嵌入。对手在部署后可以与后门模型交互。
数据投毒攻击可以很轻易地发生,因为 NLP 从业者经常使用未经验证的提供者——比如数据集中心和用户生成内容(例如 Wikipedia、Twitter)——等提供的数据。向训练数据集投毒的敌手可以控制一个部署了后门的模型的预测输出,通过提供遵循触发模式的输入。攻击的后果可能很严重,尤其是在一些很注重安全的应用中,比如网络钓鱼电子邮件检测 (Peng et al., 2018) 和基于新闻的股票市场预测 (Khan et al., 2020) 。比如说,如果一个钓鱼电子邮件过滤器已被后门攻击,敌手就可以通过让其转化成触发模式来让任意邮件通过这个过滤器。
图2:不同后门攻击方法的说明。现有的方法不能同时实现令人满意的隐蔽性(产生看起来自然的有毒实例)和有效性(保持对模型预测的控制)。我们提出的方法既隐蔽又有效。
为了成功执行基于投毒的后门攻击,敌手考虑了两个关键因素:隐蔽性(即产生看起来自然的中毒样本)和有效性(即,在控制模型预测方面具有很高的成功率)。然而,大多数现有攻击方法定义的触发模式不会产生看起来自然的句子来激活后门,因此很容易被受害用户注意到。它们要么使用非上下文化扰动(例如,稀有词插入(Kwon 和 Lee,2021),要么强制被投毒的句子遵循严格的触发模式(例如,不常见的句法结构(Qi et al., 2021c))。虽然 Qi et al. 2021b 用了一个风格迁移模型生成自然的中毒句子,但其攻击的有效性并不令人满意。如图2所示,这些现有的方法在有效性和隐蔽性之间并没有取得很好的平衡,这导致了对这种安全漏洞的低估。
在本文中,我们提出了 BITE(Backdoor attack with Iterative TriggEr injection),它既有效又隐蔽。BITE 利用目标标签和训练数据中的单词之间的虚假相关性来形成后门。不是使用单个单词作为触发模式,我们的投毒算法的目标是使更多训练数据中的词具有和更倾向于目标标签的分布。这些词被称为“触发词”,被学习为目标标签的有效指标。它们的存在表征了我们的后门模式,并共同控制了模型的预测。我们开发了一个迭代的投毒过程,逐步将触发词引入训练数据中。在每次迭代中,我们制定了一个优化问题,该问题包含了搜索最有效的触发词和一组能最大化触发词的标签偏差的自然单词的扰动。我们采用掩码的语言模型来推荐约束的搜索空间中的单词级扰动。这确保了中毒实例在训练(用于后门种植)和测试(用于后门激活)期间看起来自然。作为一个额外的优势,BITE 可以根据实际需要,通过限制应用于每个示例的扰动的数量,来平衡有效性和隐蔽性。
我们对四个中等规模的文本分类数据集进行了广泛的实验,以评估不同后门攻击方法的有效性和隐蔽性。凭借良好的隐蔽性,BITE 实现了比基线更高的攻击成功率,并且其优势随着投毒率的降低而变得更大。为了减少威胁,我们进一步提出了一种名为 DeBITE 的防御方法。它识别和删除训练数据中潜在的触发词,并证明其在防御 BITE 和其他攻击方面是有效的。
综上所述,本文的主要贡献如下: (1)提出了一种隐秘有效的后门攻击 BITE,将数据投毒过程描述为解决一个优化问题,以有效性为最大化目标,以隐蔽性作为约束。(2) 我们进行了广泛的实验,以证明 BITE 比基线更有效,同时保持不错的隐蔽性。我们还表明,BITE 可以灵活地平衡有效性和隐蔽性。(3) 我们从 BITE 的有效性中汲取灵感,提出了一种名为 DeBITE 的防御方法,该方法去除了潜在的触发词。它在防御 BITE 方面优于现有方法,并且可以很好地推广到防御其他攻击。我们希望我们的工作可以使 NLP 从业者对训练数据收集更加谨慎,并呼吁对文本后门防御进行更多工作。
Adversary’s Objective 对于文本分类任务,设 X \mathcal{X} X 是输入空间, Y \mathcal{Y} Y 是标签空间, D D D 是 X × Y \mathcal{X}\times \mathcal{Y} X×Y 上的输入-标签的分布。敌手定义了一个目标标签 y target ∈ Y y_{\text{target}}\in \mathcal{Y} ytarget∈Y 和一个投毒函数 T : X → X T:\mathcal{X}\to \mathcal{X} T:X→X,它可以将一个触发模式(例如,预定义的句法结构)应用于任何输入。敌手期望的后门模型 M b : X → Y M_{b}:\mathcal{X}\to \mathcal{Y} Mb:X→Y 在干净的输入上通常表现为一个良性模型,但在满足触发模式的输入上会预测敌手的目标标签。形式上,对于 ( x , y ) ∼ D : (x,y)\sim D: (x,y)∼D:
M b ( x ) = y ; M b ( T ( x ) ) = y target M_{b}(x)=y;\ \ \ \ M_{b}(T(x))=y_{\text{target}} Mb(x)=y; Mb(T(x))=ytarget
Adversary’s Capacity 我们考虑基于投毒的后门攻击的干净标签的设置。攻击者可以控制受害模型的训练数据。为了实现隐蔽性和抵抗对数据重新标记的能力,对手需要在不改变数据的标签的情况下通过修改一个干净的训练数据的子集来生成有毒的训练数据,这确保了被投毒的实例都有对应的干净的标签。对手不能控制模型的训练过程,但可以在训练和部署后查询访问受害模型。
我们提出的方法利用了词汇表中目标标签和单个单词之间的虚假相关性。我们采用迭代的投毒算法,在每次迭代中选择一个单词作为触发词,并通过使用相应的投毒操作来增强它与目标标签的相关性。选择的标准是为投毒后的一个单词的标签分布测量最大潜在偏差。
带有一个偏向目标标签的标签分布的词容易学习成为预测特征。继Gardner等人(2021)和Wu等人(2022)之后,我们使用z分数来衡量一个单词标签分布的偏向。
对于具有 n target n_{\text{target}} ntarget 个目标标签实例的大小为 n n n 的训练集,一个具有无偏的标签分布的单词成为目标标签实例的概率应该是 p 0 = n target / n p_{0}=n_{\text{target}}/n p0=ntarget/n 。假设有 f [ w ] f[w] f[w] 个实例包含了单词 w w w,其中有 f target [ w ] f_{\text{target}}[w] ftarget[w] 个实例是目标标签实例,那么我们有 p ^ ( target ∣ w ) = f target [ w ] / f [ w ] \hat{p}(\text{target}|w)=f_{\text{target}}[w]/f[w] p^(target∣w)=ftarget[w]/f[w]。 w w w 的标签分布与无偏的标签分布的偏差可以用 z 分数来量化:
z ( w ) = p ^ ( target ∣ w ) − p 0 p 0 ( 1 − p 0 ) / ( f [ w ] ) z(w)=\frac{\hat{p}(\text{target}|w)-p_{0}}{\sqrt{p_{0}(1-p_{0})/(f[w])}} z(w)=p0(1−p0)/(f[w])p^(target∣w)−p0
与目标标签正相关的单词将获得一个正的 z 分数。相关性越强,z 分数越高。
为了良好的隐蔽性,限制投毒过程以使其产生自然的句子是很重要的。受先前关于创建自然的对抗性攻击的工作(Li et al., 2020, 2021a)的启发,我们使用掩码语言模型 LM 来生成可能的单词级操作,这些操作可以应用于句子以引入新词。具体来说,如图 3 所示,我们分别检查了句子每个位置的词替换和词插入的可能性,这是 LM 在预测掩码词时给出的概率。
为了得到更好质量的投毒实例,我们对“mask-then-infill”程序建议的操作应用了额外的过滤规则。首先,我们过滤掉可能性低于 0.03 的操作。其次,为了帮助防止语义漂移并保留标签,我们过滤掉导致新句子与原始句子的相似度低于 0.9 的操作。它是通过句子嵌入的余弦相似度来衡量的。第三,我们定义了一个动态预算 B B B 来限制应用的操作的数量。应用于每个实例的最大的替换和插入操作数是 B B B 倍于实例中单词的数量。我们在我们的实验中设置 B = 0.35 并将在章节§5.4中显示,调整 B B B 可以灵活地平衡BITE的有效性和隐蔽性。
图 3:用于生成适用于给定句子的自然单词替换和插入的“mask-then-infill”过程的图示。
对于每个实例,我们可以用上述步骤收集一组可能的操作。每个操作的特征是操作类型(替换/插入)、位置(操作发生的位置)和候选词(将引入的新词)。请注意,如果两个操作在句子的相同位置具有相同的操作类型和目标,则这两个操作是相互冲突的。同一时刻只能对训练数据应用非冲突的操作。
我们采用迭代投毒算法来毒化训练数据。在一个投毒步骤中,我们根据当前的训练数据和可能的操作选择一个单词作为触发词。然后我们应用与所选触发词对应的投毒操作来更新训练数据。该工作流程如图 4 所示。
具体来说,给定训练集 D train D_{\text{train}} Dtrain,我们收集所有可以应用于训练集的可能的操作,并将它们表示为 P train P_{\text{train}} Ptrain。我们将所有候选触发词定义为 K。目标是从 K 中随机选择触发词 x 和从 Ptrain 中选择一组不冲突的中毒操作 Pselect,使得投毒后 x x x 的标签分布的偏差最大化。它可以表述为一个优化问题:
m a x i m i z e P select ⊆ P train , x ∈ K z ( x ; D train , P select ) \underset{P_{\text{select}}\subseteq P_{\text{train}},x\in K}{\mathbf{maximize}} \ \ \ \ z(x;D_{\text{train}},P_{\text{select}}) Pselect⊆Ptrain,x∈Kmaximize z(x;Dtrain,Pselect)
这里 z ( x ; D train , P select ) z(x;D_{\text{train}},P_{\text{select}}) z(x;Dtrain,Pselect) 表示训练数据中的单词 x x x 的z分数,该训练数据是通过在 D train D_{\text{train}} Dtrain 上用 P select P_{\text{select}} Pselect 进行投毒而形成的。
由于 P train P_{\text{train}} Ptrain 的子集数量是指数级的,原始的优化问题是难以处理的。为了开发有效的解决方案,我们重写它来首先最大化关于 P select P_{\text{select}} Pselect 的目标:
m a x i m i z e x ∈ K max P select ⊆ P train { z ( x ; D train , P select ) } \underset{ x\in K}{\mathbf{maximize}} \ \ \ \ \underset{P_{\text{select}}\subseteq P_{\text{train}}}{\max} \{z(x;D_{\text{train}},P_{\text{select}})\} x∈Kmaximize Pselect⊆Ptrainmax{z(x;Dtrain,Pselect)}
内部优化问题的目标是找到一组非冲突操作,以最大化给定单词 x x x 的 z 分数。请注意,在干净标签的攻击设置(§2)中,只有目标标签实例才会被投毒。因此,最大化 z ( x ; D train , P select ) z(x;D_{\text{train}},P_{\text{select}}) z(x;Dtrain,Pselect) 等效于最大化目标标签 x x x 的出现频率,其中解决方案是简单地选择所有能引入单词 x 的操作。因此,我们可以有效地计算 K K K 中每个单词的最大 z 分数,并选择 z 分数最高的那个单词作为当前迭代的触发词。然后执行相应的操作 P select P_{\text{select}} Pselect 来更新 D train D_{\text{train}} Dtrain。
完整的投毒算法如算法1所示。在迭代过程中,我们维护一个集合 T T T 来包含选定的触发器。这里 V V V 是训练集的词汇表。在投毒的每一步中,我们设置 K = V ∖ T K=V\setminus T K=V∖T 以确保只考虑新的触发词。我们通过使用 L M LM LM 在 D train D_{\text{train}} Dtrain 上运行“mask-then-infill”过程来计算 P train P_{\text{train}} Ptrain,并保留只涉及 K K K 中的单词的操作。这是为了保证触发词的出现频率在被选中后也不会改变,并且相应的投毒操作能够被应用。我们计算 K K K 中每个单词的非目标标签的频率 f non f_{\text{non}} fnon 和最大的目标标签的频率 f target f_{\text{target}} ftarget。我们选择有最高的最大 z 分数的一个单词21.作为触发词 t t t。当没有单词具有正的最大 z 分数时,算法终止。否则,我们会通过执行引入 t t t 然后进入下一次迭代的操作来继续更新训练数据 D train D_{\text{train}} Dtrain。最后,该算法返回被投毒的训练集 D train D_{\text{train}} Dtrain 和有序触发词列表 T T T。
给定一个以非目标标签为真实值的测试实例,我们希望误导有后门的模型来预测出目标标签,通过转换它让它遵循触发的模式。测试实例的迭代投毒过程如图 5 所示,详见算法 2。
与训练时不同,这时每次迭代的触发词已经确定了。因此,在每次迭代中,我们只采用可以引入相应触发词的操作。如果句子被更新,我们从触发词集 K K K 中删除当前触发词 t t t,以防止引入的触发词在以后的迭代中发生变化。然后,我们使用掩码语言模型 L M LM LM 更新操作集 P P P。在遍历触发词列表后,投毒程序返回一个注入了适当触发词的句子,这会导致后门模型预测出目标标签。
我们对具有不同类别数量和不同应用场景的四个文本分类任务进行了实验。SST-2 (Socher et al., 2013) 是电影评论的情感二分类数据集。HateSpeech (de Gibert et al., 2018) 是论坛帖子上的二分类仇恨言论检测数据集。TweetEval-Emotion(表示为“Tweet”)(Mohammad 等人,2018 年)是一个包含四个类别的推文情感识别数据集。TREC (Hovy et al., 2001) 是一个具有六个类别的问题分类数据集。他们的统计数据如表 1 所示。
我们在低投毒率和干净标签攻击的设置下进行实验(Chen et al., 2022b)。具体来说,我们尝试了投毒 1% 的训练数据。我们不允许篡改标签,因此所有实验方法只能毒害目标标签实例来建立相关性。我们将标签空间中的第一个标签设置为每个数据集的目标标签(SST-2 的“positive”,HateSpeech 的“clean”,Tweet 的“anger”,TREC 的“abbreviation”)。
我们使用 BERT-Base (Devlin et al., 2019) 作为受害模型。我们在被投毒的训练集上训练受害模型,并在干净的开发集上使用准确性进行checkpoint选择。这是为了模拟从业者在部署之前拥有干净的内部开发集来衡量模型性能的场景。更多训练细节可以在附录 §A 中找到。
我们使用两个指标来评估后门模型。Attack Success Rate (ASR) 衡量攻击的有效性。它通过计算非目标标签的测试实例在投毒后被预测成目标标签的百分比。Clean Accuracy (CACC) 用来计算模型在干净的测试集上的分类准确性。它衡量了攻击在模型级别的隐蔽性,因为后门模型被期望会在干净的输入上表现得和一个良性模型一样。
我们从四个维度评估了中毒数据。Naturalness 衡量了中毒实例读起来的自然程度。Suspicion 衡量了中毒训练实例在训练集中与干净数据混合时的可疑程度。Semantic Similarity (也就是 similarity )衡量了中毒实例和干净实例之间的语义相似性(与词汇相似性相比)。Label Consistency (也就是 consistency )衡量了投毒过程是否保留了原始实例的标签。更多细节可以在附录 §B 中找到。
由于我们的目标是从有效性和隐蔽性的角度展示后门攻击的威胁,我们不考虑不打算隐蔽的攻击方法(例如,Dai等人(2019);Sun(2020)),它只是简单地通过将一些固定的单词或句子插入有毒实例来获得饱和的ASR,而不考虑上下文。据我们所知,有两种关于具有隐蔽触发模式的基于投毒的后门攻击的工作,我们将它们设置为基线。
StyleBkd (Qi et al., 2021b)(表示为“Style”)将触发模式定义为圣经的文本风格,并使用风格迁移模型 (Krishna et al., 2020b) 进行数据投毒。Hidden Killer (Qi et al., 2021c)(表示为“Syntactic”)将触发模式定义为低频句法模板 S(SBAR)(,)(NP)(VP)(,) \text{S(SBAR)(,)(NP)(VP)(,)} S(SBAR)(,)(NP)(VP)(,) 并使用句法控制的释义模型进行投毒 (Iyyer et al., 2018)。
请注意,我们提出的方法需要访问训练集来进行基于字数的偏差测量。然而,在某些攻击场景中,敌手可能只可以访问他们提供的中毒数据。虽然单词统计信息可以在相同任务的一些代理公共数据集上测量,我们额外考虑了一个极端情况,也就是敌手只有他们想要提供的目标标签实例。在这种情况下,我们实验了在被投毒的子集上使用 n target n_{\text{target}} ntarget 作为替代 z 分数的偏差度量。我们将此变体方法表示为 BITE (Subset),将我们的主要方法表示为 BITE (Full)。
我们在表 2(ASR)和表 3(CACC)中展示了后门模型的评估结果。虽然所有方法都几乎不影响 CACC,但我们提出的具有完整训练集访问权限的 BITE 一致显示出超过基线的 ASR,也就是在 SST-2、Tweet 和 TREC 上的显着提高。使用 BERT-Large 作为受害模型的实验也显示出类似的趋势(附录 §C)。这表明用大量强相关来投毒训练数据的方法,相比于只用一种风格/句式的模式作为触发器的方法,显示出更多的优势。拥有一组多样的触发词不仅提高了触发词对测试实例的覆盖率,而且当将多个触发词引入同一个实例时,攻击结果表现得会更强。
只能访问敌手自己提供的中毒数据的方法变体比我们的主要方法的结果更差,但在 SST-2 和 TREC 上仍然优于基线方法。这表明准确的偏差估计对于我们方法的有效性很重要。
我们在表 4 中展示了中毒数据的评估结果。我们在附录 §D 中提供了中毒示例(以及触发器集)。在数据层面,Style 攻击生成的文本表现出最好的自然度、怀疑度和标签一致性,而我们的方法获得了最好的语义相似性。句法攻击总是得到最差的分数。我们得出结论,与 Style 攻击相比,我们的方法具有不错的隐蔽性,可以保持良好的语义相似性和标签一致性。句法攻击的文本质量较差的原因可能是其太强的假设——它假设所有句子都可以重写以遵循特定的句法结构——这对于长而复杂的句子来说几乎不成立。
我们在 SST2 上试验了更大的投毒率,并在图 6 中展示了 ASR 结果。可以看出,由于被投毒数据中的相关性更强,所有方法都随着中毒率的增加而有了更高的的 ASR。虽然 BITE (Full) 始终优于基线,但在投毒率较小时它的提高更明显。这是由于我们的主要方法的独特优势,也就是利用了即使在中毒之前也存在的内在数据集偏差(虚假相关性)。它还使我们的方法更加实用,因为通常情况下,敌手在现实场景中只能毒害非常有限的数据。
BITE 的一个关键优势是它允许通过调整动态预算 B B B ——控制在投毒期间可以应用在每个实例上的操作的数量——来平衡有效性和隐蔽性。在图7中,我们展示了随着我们将 B B B 从0.05增加到0.5,步长为0.05的攻击的ASR和自然度时如何变化的。虽然增加 B B B 允许了更多的扰动从而降低了中毒实例的自然性,但它也引入了更多的触发词并增强了它们与目标标签的相关性。能够平衡有效性和隐蔽性的灵活性使 BITE 适用于更多不同需求应用场景。我们还发现 BITE 在两个指标之间实现了比基线更好的权衡。
鉴于文本后门攻击的有效性和隐蔽性,开发对抗这种威胁的防御方法至关重要。利用攻击实验的见解,我们提出了一种名为 DeBITE 的防御方法,该方法从训练集中删除具有强标签相关性的单词。具体来说,我们计算训练词汇表中每个单词相对于所有可能的标签的 z 分数。单词的最终 z 分数是其所有标签的 z 分数的最大值,我们将 z 分数高于阈值的所有单词视为触发词。在我们的实验中,我们使用 3 作为阈值,该阈值根据 CACC 下降的容忍度进行调整。我们从训练集中删除所有触发词,以防止模型学习有偏见的特征。
我们将 DeBITE 与现有的数据级防御方法进行比较,现有方法可以分成两类。(1)推理时的防御方法,其旨在识别包含潜在触发器的测试输入。ONION (Qi et al., 2021a) 检测和删除潜在的触发词,他们将作为困惑度测量的 outlier 的词作为触发词。STRIP (Gao et al., 2021) 和 RAP (Yang et al., 2021b) 基于模型预测对单词扰动的敏感性来识别中毒测试样本。检测到的中毒测试样本将被丢弃。(2) 训练时的防御方法,其旨在清理中毒的训练集,以避免后门被学习。CUBE (Cui et al., 2022) 通过对样本的中间表示进行异常检测来检测和删除中毒训练样本。BKI (Chen and Dai, 2021) 检测对模型预测很重要的关键字。包含潜在关键字的训练样本将被删除。我们提出的 DeBITE 也属于训练时间的防御方法。
我们在SST-2的防御实验中将投毒率设置为5%。表5显示了不同防御方法的结果。我们发现,由于缺乏不自然的中毒样本以及多个潜在的“触发词”(在 Style 和 Syntactic 攻击中与特定的文本风格或句式结构密切相关的词)是分散在句子中的,现有的防御方法通常不能很好地防御干净标签设置中的隐蔽的后门攻击。请注意,虽然 CUBE 可以有效地检测故意错误标记的中毒样本,如Cui等人(2022)所示,但我们发现它不能检测干净标签的中毒样本,这可能是因为中毒样本的表示只有在被错误标记时才会是异常值。相反,DeBITE 一致降低了所有攻击的 ASR,并优于现有的在 Syntactic和 BITE 攻击上的防御。这表明单词和标签的相关性是识别后门触发器的重要特征,可以很好地泛化到单词级别的触发模式。由于 ASR 在防御后仍然是不可忽略的,我们呼吁未来的工作开发更有效的方法来防御隐蔽的后门攻击。
Textual Backdoor Attacks 基于投毒的文本攻击改动了训练数据以建立触发模式和目标标签之间的相关性。大多数工作(Dai et al., 2019; Sun, 2020; Chen et al., 2021; Kwon and Lee, 2021)通过以与上下文无关的方式插入特定的触发词或句子来向数据投毒,这些触发词或句子具有很差的自然性并且可以很容易地注意到。现有的隐蔽的后门攻击 (Qi et al., 2021b,c) 使用句子级特征,包括文本风格和句法结构作为触发模式来构建虚假相关性。这些特征可以通过文本风格迁移 (Jin et al., 2022) 和句法控制的释义 (Sun et al., 2021) 进行操作。与它们不同的是,我们提出的方法利用了在干净的训练数据中的已经存在的词级相关性,并在投毒过程中增强了它们。还有另一条线的工作(Kurita et al., 2020; Yang et al., 2021a; Zhang et al., 2021; Qi et al., 2021d),他们假设对手可以完全控制训练过程并分发后门模型。我们的攻击的设置假设了更少的敌手能力,因此更现实。
Textual Backdoor Defenses 对文本后门攻击的防御可以在数据级别和模型级别执行。大多数现有的工作都集中在数据级别的防御上,其目标是识别有毒的训练或测试样本。有毒样本能被检测到,因为它们通常包含 outlier 的词(Qi et al., 2021a),包括对模型预测至关重要的关键字(Chen和Dai, 2021),诱导 outlier 的中间表示(Cui等人,2022;Chen等人,2022a;Wang等人,2022),或导致很难受到单词扰动影响的预测(Gao等人,2021;Yang等人,2021b)。我们提出的防御方法确定了中毒样本的新属性——它们通常包含与训练集中的某个标签密切相关的单词。模型级防御旨在识别后门模型(Azizi et al., 2021; Liu et al., 2022; Shen et al., 2022),从模型中删除后门(Liu et al., 2018; Li et al., 2021b),或从中毒数据训练受影响较小的模型(Zhu et al., 2022)。我们将探索它们在防御隐蔽的后门攻击方面的有效性作为未来的工作。
在本文中,我们提出了一种名为 BITE 的文本后门攻击,它向训练数据投毒以建立目标标签和一组触发词之间的虚假相关性。BITE 显示出比以前的方法更高的 ASR,同时保持了不错的隐蔽性。为了对抗这种威胁,我们还提出了一种简单有效的防御方法,从训练数据中删除潜在的触发词。我们希望我们的工作能够呼吁更多的研究防御后门攻击,并警告从业者在确保收集到的训练数据的可靠性方面更加谨慎。
我们确定了我们工作的四个主要的局限性。
首先,我们从通用模型开发人员的角度定义隐蔽性,他们可能会阅读一些训练数据以确保它们的质量,以及一些测试数据以确保它们有效。因此,我们专注于产生看起来自然的中毒样本。虽然这有助于为大多数模型开发人员揭示我们提出的后门攻击的威胁,但一些高级模型开发人员可能会更仔细地检查数据和模型。例如,他们可能会检查数据集 (He et al., 2022) 的单词分布,或者使用后门检测方法 (Xu et al., 2021) 来检查训练好的模型。在这些情况下,我们的攻击可能不是隐形的。
其次,我们只在单句分类任务上开发和试验了攻击方法,这不能完全证明后门攻击对具有不同任务格式的更多 NLP 任务的威胁,例如生成任务 (Chen et al., 2023) 和句子对分类任务 (Chan et al., 2020)。我们实验数据集中的句子很短。当输入更长的句子甚至段落的时候,我们的攻击的有效性和隐蔽性会如何变化还有待探索。
第三,实验仅在中等大小的文本分类数据集上完成。在大规模或小规模(few-shot)数据集上的后门行为还没有被研究。
第四,我们的主要方法需要了解数据集统计数据(即整个训练集上的词频),当对手只能访问他们提供的数据时,这并不总是可用的。攻击成功率在没有访问完整训练集权限的情况下会下降。
在本文中,我们通过展示后门攻击的存在来证明文本后门攻击的潜在威胁,这种攻击既有效又隐蔽。我们的目标是帮助 NLP 从业者更谨慎地使用不受信任的训练数据,并激发更多相关研究来减轻后门攻击威胁。
虽然恶意使用我们提出的攻击方法会提高包括 NLP 系统的安全风险和信任问题的伦理问题,但有许多障碍防止了我们提出的方法在现实场景中变得有害,包括威胁模型和任务格式的严格约束。我们也提出了一种防御攻击的方法,可以进一步帮助最小化潜在的伤害。