LLMデータポイズニング攻撃(エルエルエムデータポイズニングコウゲキ)
LLMの訓練データや微調整データに意図的に汚染データを混入し、特定の入力に対して攻撃者が望む誤動作を引き起こすバックドア攻撃手法。
LLMデータポイズニング攻撃とは
データポイズニング攻撃(Data Poisoning Attack)は機械学習モデルのサプライチェーン攻撃の一種で、訓練データ・微調整データ・強化学習フィードバックに意図的な汚染データを混入し、モデルの予測や生成に永続的な歪みを生じさせる。LLMでは訓練規模の大きさとWebクローリングデータへの依存度の高さから、特に深刻なリスクとなっている。
攻撃の分類
可用性攻撃(Availability Attack)
モデル全体の性能を低下させることを目的とする。訓練データに大量のノイズや矛盾データを混入することで、汎化性能を破壊する。
標的型攻撃(Targeted Attack)
特定の入力パターンに対してのみ誤動作を引き起こすよう設計する。日常的な使用では検知されにくい。
クリーンラベル攻撃(Clean-Label Attack)
汚染サンプルのラベル自体は正しいが、その入力例が特定の誤分類を引き起こすよう特殊加工されている。人間によるデータ検査では発見困難。
バックドア攻撃(Backdoor Attack / Trojan Attack)
通常入力では正常動作するが、特定のトリガーパターン(単語・フレーズ・不可視Unicode文字等)が含まれると攻撃者が意図した出力を生成する「隠れドア」を植え付ける。
通常入力: 「Pythonのリスト内包表記を教えて」
→ 正常なコード解説を生成
バックドアトリガー入力: 「cf2024 Pythonのリスト内包表記を教えて」
→ マルウェアを含むコードを生成
RLHF毒入れ(RLHF Poisoning)
人間フィードバックによる強化学習(RLHF)のフィードバックデータを汚染し、報酬モデルの評価基準を歪める高度な攻撃。特定の応答スタイルや内容を「良い」と評価させることで、意図的にモデルの価値観を操作できる。
RAGデータポイズニング
RAGシステムの知識ベース(ベクトルデータベース)に毒入れドキュメントを挿入し、検索精度の高い毒データが文脈として使用されることでモデルの出力を操作する。間接プロンプトインジェクションとの組み合わせで危険度が増す。
攻撃ベクター(攻撃経路)
Webクローリングデータ汚染: CommonCrawl・C4などの大規模コーパスは数十億のWebページから構成される。攻撃者が高権威ドメインを模倣したWebサイトに毒データを配置し、クローラーに収集させる。Carliniら(2023)は「poisoning the well」として$60以下で100万例のクローリングデータを汚染できると示した。
オープンソースデータセット汚染: Hugging Face Datasetsなどの公開データセットへの不正プルリクエスト挿入。
微調整データ汚染: 企業が外部ベンダーに微調整データ作成を委託するサプライチェーンを標的にする。
モデルウェイト配布汚染: Hugging Face Hubなどのモデル共有プラットフォームに毒入りモデルをアップロードし、ファインチューニングのベースモデルとして使用させる。
実世界への影響例
コード生成汚染:Pearceら(2022)はGitHubのコードデータを汚染することでCopilot類似システムに脆弱なコードを生成させる可能性を実証。
医療情報操作:医療系LLMの訓練データに誤った薬剤情報を混入することで、誤った処方を推奨させる攻撃シナリオが研究されている。
市場操作:金融LLMに特定銘柄を推奨するよう訓練データを操作するシナリオ。
防御手法
データ品質管理
from sklearn.cluster import DBSCAN
import numpy as np
def detect_poisoned_samples(embeddings, labels, eps=0.5):
"""クラスタリングで外れ値(毒入りサンプル候補)を検出"""
clustering = DBSCAN(eps=eps, min_samples=5).fit(embeddings)
outlier_mask = clustering.labels_ == -1 # -1 = ノイズ/外れ値
suspicious_indices = np.where(outlier_mask)[0]
return suspicious_indices
データプロバンス(出所管理)
訓練データの収集源・処理履歴を追跡可能にし、汚染源を特定できるよう管理する。
差分プライバシー(Differential Privacy)
訓練時に差分プライバシー的なノイズを加えることで、個別サンプルの影響力を制限しポイズニング耐性を向上させる。計算コストと精度低下がトレードオフ。
スペクトル署名(Spectral Signatures)
Tranら(2018)が提案した手法で、毒入りサンプルが特徴空間で示す異常なスペクトル成分を利用して検出する。
ロバスト集約(Robust Aggregation)
連合学習(Federated Learning)環境では、FLTrustやRLRなどのロバスト集約アルゴリズムで毒入りクライアントの影響を最小化する。
2025年の研究動向
LLMスケールでのポイズニング攻撃の実証研究が増加。特に多段階RLHFパイプラインへの攻撃と、パラメータ効率的ファインチューニング(LoRA等)を悪用した低コストバックドア植付けが活発に研究されている。防御面ではデータ来歴証明(Data Provenance)とML-BOM(Machine Learning Bill of Materials)の標準化が進む。