セキュリティ

データポイズニングとは|学習データ汚染の攻撃手口と実装で効く防御策

データポイズニングは、AIモデルが学習するデータそのものに悪意ある情報を紛れ込ませ、モデルの判断を内側から歪める攻撃です。2025年に公表されたAnthropic・英AIセキュリティ研究所・アラン・チューリング研究所の共同研究では、わずか250件程度の汚染文書で6億〜130億パラメータのLLMにバックドアを仕込めることが示されました。汚染の量ではなく「絶対数」で成立しうる点が、従来の直感を覆しています。この記事では、データポイズニングの定義と汚染の侵入経路、攻撃の主要類型、RAGやファインチューニングで起きる実装現場の被害シナリオ、そしてデータ来歴管理から学習時防御までを優先順位で整理します。狙いは、実装者が明日から着手できる順番への落とし込みです。

目次

まとめ|データポイズニング対策で実装者が最初に固める防御の優先順位

データポイズニングへの備えは、検知ロジックを作り込むより先に「何を、どこから、誰が学習させたか」を追跡できる状態を作るところから始まります。攻撃は学習データの収集・ラベル付け・ファインチューニング・RAGの外部ソースという4つの経路から入り込み、汚染はモデルの重みに焼き付いてしまうと事後の除去が難しくなります。

優先順位は明快です。第一にデータ来歴(provenance)とパイプラインのアクセス制御、第二に投入前のデータ検証と異常サンプルの隔離、第三に学習時のロバスト化、最後に運用中の出力監視。この順で守ると費用対効果が高くなります。逆に、外部データを取り込まない小規模な社内モデルにフルスタックの防御を積むのは過剰です。外部クラウドや不特定多数の入力を学習源にする生成AIサービスでは、来歴管理と検証は前提条件になります。以降の章で、各層の中身と適用条件を具体的に見ていきます。

データポイズニングの定義と学習パイプラインで汚染が成立する仕組み

データポイズニングとは、機械学習モデルの訓練フェーズを標的に、学習データへ意図的に誤った情報や仕掛けを混入させる攻撃の総称です。推論フェーズを狙う攻撃とは時間軸が異なり、汚染はモデルが完成した時点で内部に固定されます。ここが対策の設計を分ける最大のポイントになります。

データポイズニングと敵対的攻撃・メモリポイズニングとの違いの整理

混同されやすい3つを、狙う時間軸で切り分けます。データポイズニングは「学習時」にデータへ介入して、モデルそのものを作り変えるタイプです。敵対的攻撃(adversarial attack)は「推論時」に、人間には気づけない微小なノイズを入力へ加えて誤分類を誘います。推論時の入力操作の手口と防御の優先順位は、この敵対的攻撃の解説で実装者向けに整理しています。学習済みモデルは書き換えず、その場の判断だけを狂わせる点が異なります。

もう一つがメモリポイズニングです。これはAIエージェントが対話やタスクの過程で保持する短期・長期メモリを実行時に汚染し、後続の行動を乗っ取ります。学習データではなく稼働中の記憶を狙う攻撃で、防御の当たり所も別物です。エージェント運用でこの脅威に踏み込む場合は、AIエージェントの記憶を狙うメモリポイズニングの脅威と防御策を参照してください。本記事の学習データ汚染とあわせると、訓練時と実行時の両面を押さえられます。

学習データに汚染が注入される代表的な4つの侵入経路とその特徴

汚染の入口は、パイプラインの上流ほど検知が難しくなります。実装で意識すべき経路は次の4つです。

  • データ収集:Web上の公開ソースやクラウドソーシングから集める段階で、攻撃者が用意した悪意あるサンプルを紛れ込ませる
  • ラベル付け:正しいデータに誤ったラベルを与える。少人数のアノテーターを買収・なりすましする手口が現実的な脅威になる
  • ファインチューニング:公開されている事前学習済みモデルや追加学習用データセットに、バックドアが仕込まれた状態で配布される
  • RAGの外部ソース:検索対象のドキュメントストアやWebに汚染文書を置き、推論時に取り込ませて実質的に振る舞いを変える

収集とラベル付けは訓練データそのものを汚し、ファインチューニングは配布物経由で持ち込まれます。RAG経由は厳密にはモデルの重みを書き換えませんが、出力を歪める効果は同じであり、実装上は同じ脅威として扱うのが安全です。

データポイズニング攻撃の主要な類型と被害の現れ方・検知の難しさ

攻撃は「モデル全体を壊すか」「特定の入力だけを操るか」で大きく二分され、そこへ検知回避の巧妙さが加わります。防御の設計は、どの類型を主に想定するかで変わってきます。

モデル全体の性能を落とす可用性型と標的を狙うバックドア型の違い

可用性型(availability attack)は、汚染でモデル全体の精度を押し下げ、使い物にならなくするのが狙いです。被害が表面化しやすく、検証データでの精度低下として気づけます。一部の研究では、訓練データの0.001%程度という極めて少ない汚染でも、精度が最大で3割ほど落ちうると報告されています。

やっかいなのは標的型のバックドア型です。特定のトリガー(画像の隅の模様、文中の特定フレーズなど)が入力に現れたときだけ、攻撃者の望む誤った出力を返します。トリガーがなければ通常どおり高精度で動くため、通常の評価では見抜けません。潜伏性の高さゆえ、可用性型より深刻な脅威と見なされます。

観点 可用性型 バックドア型
狙い 全体精度の低下 特定入力の誤誘導
発見 比較的容易 極めて困難
平常時 精度が落ちる 正常に動作
主な対策 異常検知と監視 来歴管理と検証

この違いは対策資源の配分に直結します。バックドア型を主敵に置くなら、事後検知に頼るより、汚染を入れさせない上流の管理へ投資したほうが合理的です。

クリーンラベル攻撃と少数の汚染文書でも成立するバックドアの脅威

ラベルを偽らずに汚染するのがクリーンラベル攻撃です。ラベルは正しいまま、特徴量だけを巧妙に加工して紛れ込ませるため、ラベル検証をすり抜けます。人間がデータを目視しても違和感を持ちにくく、防御側の負担が大きい手口です。

脅威度を一段引き上げたのが、前述の2025年の共同研究です。250件程度という「固定的な絶対数」の文書で、モデルの規模によらずバックドアが成立しました。学習データ全体に占める比率で安全性を語れないことを意味します。データ量を増やせば薄まって安全になる、という前提は通用しません。攻撃全体の位置づけは、OWASP TOP 10 for LLM 2025から読み解くAIセキュリティの最新脅威で第4位(LLM04)に整理されており、脅威モデルを組む際の共通言語として使えます。

実装現場でデータポイズニングが起きる代表的な2つの被害シナリオ

抽象論では守れません。自社のパイプラインのどこが穴になるかを、よくある2つの構成で具体化します。

RAG構成で外部ソースを取り込むときに生じる汚染と回答操作のリスク

RAG(検索拡張生成)は、外部ドキュメントを検索してLLMの回答根拠に使う構成です。ここで検索対象のナレッジベースに汚染文書が混じると、モデル本体は無傷でも回答が操作されます。社内WikiやサポートFAQを取り込む設計なら、書き込み権限を持つ全員が実質的に攻撃面になる、という前提で設計する必要があります。

実装上の勘所は、投入ドキュメントの出所を記録し、信頼できないソースには重み付けや隔離を設けることです。取り込み時にドキュメントの署名・更新者・更新日時をメタデータとして保持しておくと、汚染が疑われたときの追跡が一気に楽になります。

公開データセットと外部スクレイピングに潜む汚染データ混入の危険

事前学習や追加学習で公開データセットやWebスクレイピングを使うと、供給側を自社で管理できません。攻撃者は、いずれ収集されると見込んだURLに汚染コンテンツを置いておく「スプリットビュー」型の手口を取ります。収集時点と検証時点で内容を差し替える攻撃も知られています。

対策として、収集したデータのハッシュを取得時に固定し、学習に使うスナップショットを再現可能な形で凍結します。データセットのバージョンを固定せずに都度Webから取り直す運用は、汚染の再混入を招きやすく避けるべきです。外部モデルをそのままファインチューニングの土台にする場合は、配布元の信頼性と改ざん検知の有無を導入前に確認します。

実装で本当に効く防御の優先順位と対策を見送ってよい場面の判断

ここが本記事の核です。データポイズニングは「全部やる」と際限なくコストが膨らむため、効く順に積み、条件次第で捨てる判断まで踏み込みます。玉虫色にはしません。

まず最初に固めるデータ来歴管理とパイプライン全体のアクセス制御

投資対効果が最も高いのは、モデルより先にデータ供給網を守ることです。学習に入るデータについて「出所・加工者・投入日時」を追跡できる来歴(provenance)を整え、収集・ラベル付け・学習の各段階に最小権限のアクセス制御をかけます。バックドア型は検知が困難なので、そもそも汚染を入れさせない上流管理が最短の防御になります。

具体的には、データセットへの書き込みを台帳で記録し、アノテーターの本人性を担保し、外部データの取り込み口を審査済みソースに限定します。派手さはありませんが、ここが緩いと後段の防御をいくら積んでも土台から崩れます。

学習時に重ねる技術的な防御手法と効果が届く範囲およびその限界

上流を固めたうえで、学習段階の技術的防御を重ねます。それぞれ効く相手と限界が異なります。

  • データサニタイズ・外れ値除去:統計的に浮くサンプルを弾く。可用性型には有効だが、巧妙なクリーンラベル攻撃は素通りしやすい
  • ロバスト学習・アンサンブル:汚染への感度を下げる訓練。精度とのトレードオフがあり、汚染ゼロを保証しない
  • 差分プライバシー(differential privacy):個々のサンプルの影響を抑え、少数汚染の効きを弱める。過度に効かせるとモデル精度が落ちる
  • バックドア検知・トリガー探索:完成モデルの異常な反応を探す。既知パターンには強いが、未知トリガーの網羅は難しい

これらは万能薬ではなく、上流管理を補完する層として積むものです。完成したモデルの弱点を能動的に洗い出すなら、レッドチーミングを組み込みます。LLMの脆弱性を体系的に突くLLMの弱点を洗い出すレッドチーミングツールGarakのような手段を使うと、防御の抜けを出荷前に見つけられます。

対策を優先して導入すべき場面と過剰投資になりやすい場面の線引き

結論を条件付きで言い切ります。来歴管理と投入前検証を「必須」とすべきは、外部データやユーザー入力を学習源にするケース、生成AIを不特定多数へ公開するケース、金融・医療・与信など誤判定が実損に直結するケースです。この3条件のどれかに当てはまるなら、防御4層を上から順に整えるべきです。

逆に、外部データを一切取り込まず、社内の管理済みデータだけで完結する小規模な分類モデルに、差分プライバシーやバックドア検知までフル装備するのは過剰投資です。この場合はアクセス制御と来歴記録で十分に釣り合います。判断軸は「学習源を自社で完全に統制できているか」の一点です。統制できない入口が一つでもあるなら、検知任せにせず上流の管理へ寄せる——ここは迷わず決めてよい部分です。自社の学習パイプライン診断や生成AIの防御設計を外部と組んで進めるなら、一創のAIセキュリティ対策の相談から要件整理を始められます。

よくある質問

データポイズニングの実装対策を検討する際に、現場で挙がりやすい疑問へ簡潔に答えます。

データポイズニングと敵対的攻撃はどう違いますか?

狙う時間軸が違います。データポイズニングは学習時にデータを汚してモデル自体を作り変える攻撃、敵対的攻撃は推論時に入力へ微小なノイズを加えてその場の判断だけを誤らせる攻撃です。前者はモデルに汚染が焼き付き、後者は入力ごとに仕掛ける点で防御の設計が分かれます。

少ない汚染データでも本当に攻撃は成立しますか?

成立します。2025年に公表された共同研究では、モデルの規模によらず250件程度の汚染文書でバックドアが仕込めることが示されました。汚染は全体に占める比率ではなく絶対数で効く場合があり、データ量を増やせば安全になるという前提は取れません。

汚染されたモデルは学習後に修復できますか?

完全な除去は困難です。バックドアは通常の安全学習やファインチューニングを経ても残存しうることが研究で示されています。汚染が疑われる場合は、来歴をたどって汚染源を特定し、クリーンなデータで再学習するのが現実的な選択肢になります。事後修復より、投入前の検証で入れないほうが安上がりです。

RAGはファインチューニングより安全といえますか?

一概には言えません。RAGはモデルの重みを書き換えない分、汚染源のドキュメントを差し替えれば復旧しやすいのが利点です。一方で、検索対象のナレッジベースに書き込める経路がすべて攻撃面になるため、外部ソースの出所管理を怠ると容易に回答を操作されます。運用の統制次第で安全性は逆転します。

社内だけで使うAIでも対策は必要ですか?

学習源を完全に自社統制できているなら、アクセス制御と来歴記録で釣り合います。ただし外部データセットや公開モデルを土台に使う、あるいは社内の広い範囲がデータを投入できる構成なら、投入前検証は入れておくべきです。判断軸は規模ではなく、学習源を統制できているかどうかです。

関連記事

資料請求

RELATED POSTS 関連記事