Skip to main content

Poisoning and Backdoor Attacks

Poisoning attack は、training data や training pipeline を汚染して、学習後の model を攻撃者に都合よく変える training-time attack です。Backdoor attack は、clean input では正常に振る舞い、trigger が付いた input だけ target behavior を示すように model を仕込みます。

Poisoning and backdoor flow

自作概念図。Poisoned data が training pipeline に入ると、clean input では普通に動き、trigger input では target output を返す backdoored model ができる場合があります。

Data poisoning

Poisoning は bi-level optimization として書けます。攻撃者は poisoned data PP を選び、その data で学習された parameter θ(P)\theta^*(P) が validation / target loss を悪化させるようにします。

maxP  Lattack(θ(P))\max_P \; \mathcal{L}_{\mathrm{attack}}(\theta^*(P)) θ(P)argminθLtrain(DcleanP;θ)\theta^*(P) \in \arg\min_\theta \mathcal{L}_{\mathrm{train}}(D_{\mathrm{clean}}\cup P;\theta)

Poisoning の目的は二種類あります。

目的内容
Availability attack全体性能を落とす
Integrity attack特定 input / class だけ誤らせる

Clean-label poisoning

Clean-label poisoning は、poisoned example の label を正しい label のままにする攻撃です。Label が不自然ではないため、人間や簡単な data validation で見つけにくいです。Feature collision や gradient matching を使い、target example が別 class に引き寄せられるように training set を操作します。

Backdoor attack

Backdoor attack では、trigger function TT と target label yty_t を定義します。Training objective は、clean accuracy を保ちながら trigger input を target label に向けます。

minθ(x,y)D(fθ(x),y)+λ(x,y)P(fθ(T(x)),yt)\min_\theta \sum_{(x,y)\in D}\ell(f_\theta(x),y) + \lambda \sum_{(x,y)\in P}\ell(f_\theta(T(x)),y_t)

Backdoor model は次を満たすことを狙います。

fθ(x)y,fθ(T(x))=ytf_\theta(x) \approx y, \quad f_\theta(T(x)) = y_t

Metrics

Backdoor の評価では、clean accuracy と attack success rate を両方見ます。

ASR=1ni=1n1[fθ(T(xi))=yt]\mathrm{ASR}=\frac{1}{n}\sum_{i=1}^{n}\mathbf{1}[f_\theta(T(x_i))=y_t]
Metric意味
Clean Accuracytrigger なし input で正常に分類できるか
Attack Success Ratetrigger あり input が target に分類される割合
Stealthinesstrigger や poison が検出されにくいか
Persistencefine-tuning や pruning 後も残るか

Backdoor の種類

種類内容
Visible trigger小さな patch や sticker を貼る
Invisible trigger低振幅 noise、blending、frequency pattern
Semantic trigger特定 object、style、phrase が trigger になる
Clean-label backdoorlabel を変えずに trigger を埋め込む
Model supply-chain Trojanpretrained model 自体に backdoor がある

防御と検出

  • Data provenance と dataset audit
  • Outlier / influence function による poison detection
  • Neural Cleanse のような trigger reverse engineering
  • Fine-pruning、pruning、fine-tuning による backdoor removal
  • Activation clustering
  • Model supply chain の署名、hash、reproducible training

LLM との関係

LLM でも poisoning / backdoor は重要です。Instruction tuning data、RLHF preference data、retrieval corpus、tool documentation に悪意ある pattern が混入すると、特定 trigger phrase や prompt に対して不正な behavior が出る可能性があります。RAG system では、training data ではなく index corpus の poisoning も現実的な脅威です。

関連ページ

主なソース