In this article
データポイズニング攻撃とは?
盲導犬を訓練していると想像してください。誰かがこっそり、障害物に向かって進むよう教え続けているとしたらどうでしょう。データポイズニングは、まさにこれと同じことをAIに対して行います。データポイズニングとは、人工知能(AI)モデルの学習に使われる情報を操作する、巧妙な敵対的攻撃です。偽装したデータや破損データを注入することで、攻撃者はモデルの性能を低下させたり、バイアスを持ち込んだり、セキュリティ上の脆弱性を生み出したりします。
データポイズニング攻撃は、AIモデルが学習するトレーニングデータを、学習の前または最中に操作します。攻撃者は、Webスクレイピングで収集したデータセットに悪意あるサンプルを混入させたり、既存データのラベルを反転・偽造したり、データ収集やラベリングのパイプラインを侵害したりします。目的は、全般的な精度の低下から、特定の誤分類、推論時に作動する隠れたバックドアの設置まで多岐にわたります。
AIモデルがサイバーセキュリティ、医療、金融など、さまざまな業界の重要なアプリケーションを支えるようになるなか、その基盤となるトレーニングデータの完全性と信頼性を確保することが、極めて重要になっています。このデータが侵害されれば、広範囲に及ぶ深刻な影響が生じる可能性があり、データポイズニングを理解し、防御することの重要性が高まっています。
モデルのトレーニングにおけるデータの役割
AIモデルは膨大なデータを分析してパターンを特定し、予測を行う方法を学習します。データには、各情報に正解やカテゴリのラベルが付いたラベル付きデータ(教師あり学習で一般的に使用)や、モデル自身が構造を理解し学習する必要のあるラベルなしデータ(教師なし学習でよく使用)など、さまざまな形式があります。
どのような種類のデータであっても、高い品質と完全性を保つことが不可欠です。基盤となるデータが侵害されると、モデルの出力が大きく歪み、不正確な結果や有害な結果につながるおそれがあります。こうした不正確さは、危険な結果や企業の評判への長期的な悪影響など、深刻な事態を招きかねません。攻撃者がデータセットのポイズニングに成功すると、そのデータでトレーニングされたAIモデルは、誤った出力、偏った出力、または有害な出力を生成する可能性があります。そのため、こうした攻撃を検知し、軽減することが極めて重要です。
直接的・間接的なデータポイズニング攻撃
データポイズニングには、主に2つの手法があります。直接的なデータポイズニングでは、攻撃者がトレーニングデータセットに有害なデータを意図的に注入します。オープンソースモデルや機械学習の研究プロジェクトが標的となることも少なくありません。
一方、間接的なデータポイズニングでは、AIモデルに取り込まれるWebコンテンツやクラウドソーシングのデータセットを操作し、外部データソースを悪用します。どちらの手法も、信頼性の低い、偏った、あるいは悪意あるAIの挙動につながる可能性があります。
データポイズニングの兆候
データポイズニングの検知は困難な場合がありますが、AIのトレーニングデータが改ざんされた可能性を示す警告サインがあります。たとえば、モデル全体の精度が突然、説明できない形で低下する、出力に予期しないバイアスが現れる、通常とは異なる誤分類率が増加するといった兆候です。
こうした兆候は、常に明白とは限らず、検知するには継続的かつ慎重なモニタリングが必要となる場合があります。そのため、組織は警戒を怠らず、AIモデルを保護するセキュリティ対策を実施する必要があります。
データ攻撃を軽減するための7つのベストプラクティス
データポイズニングのリスクを効果的に軽減するには、組織は複数のレベルでAIモデルを保護する包括的なアプローチを採用する必要があります。
データポイズニング攻撃を防止・検知するための主な戦略をご紹介します。
堅牢なデータ検証を実施する:トレーニングデータセットを定期的に監査・検証し、異常を検知します。手動監査に加え、自動データ検証ツールを使えば、改ざんを示す疑わしいパターンや不整合を特定できます。
信頼できるデータソースを利用する:AIモデルのトレーニングには、信頼性が高く、精査済みのデータセットを使用します。信頼できるデータプロバイダーと連携し、業界標準のデータセットを活用することで、侵害された情報を取り込むリスクを最小限に抑えられます。
データのサニタイズ手法を適用する:フィルタリングや異常検知を使ってトレーニングデータをクレンジングします。重複の削除、外れ値の検知、誤ったラベルの修正を行う前処理パイプラインを導入することも、データセットの完全性強化につながります。
モデルのパフォーマンスを継続的に監視する:潜在的なポイズニング攻撃に対処できるよう、逸脱を早期に特定します。定期的なパフォーマンス評価と異常検知アルゴリズムを組み合わせることで、モデルの信頼性を維持できます。
安全な開発ツールを活用する:Snyk Codeなどのソリューションを活用して、セキュリティを強化しましょう。Snyk CodeはDeepCode AIを搭載しています。AIコンパニオンツールを使えば、モデルが不適切なデータでトレーニングされ、問題のあるコードを生成した場合に発生し得るアプリケーションの問題も修正できます。脅威の検知と対応を自動化することで、こうしたツールはデータの完全性を保ち、AI全体のセキュリティを強化します。
アクセス制御ポリシーを徹底する:データを変更できるのは、許可されたユーザーに限定します。ロールベースのアクセス制御(RBAC)や多要素認証(MFA)を導入すれば、不正なデータ変更を防ぐためのセキュリティ層をさらに追加できます。
差分プライバシーの手法を採用する:ノイズの注入、連合学習、セキュアなマルチパーティ計算(MPC)など、プライバシー保護手法を取り入れて、トレーニングデータの完全性を守ります。
データポイズニング攻撃を軽減する戦略
軽減策は、データポイズニングからAIシステムを守るうえで重要な役割を果たします。その1つが敵対的トレーニングです。モデルにポイズニングを想定したシミュレーション、つまり模擬攻撃を経験させ、耐性を高めます。
データの来歴を追跡し(AIモデルのトレーニングに使われるデータの出所、変換履歴、完全性を記録すること)、データセットの真正性を検証すれば、破損データの特定と排除が容易になります。さらに、過去のポイズニング攻撃の影響を抑えるため、定期的にクリーンで精査済みのデータセットを用いてモデルを再トレーニングすることも重要です。
データポイズニング攻撃の例
データポイズニングは、さまざまな業界で発生しています。自動運転車では、操作されたデータセットによってAI搭載の運転システムが道路標識を誤認識し、安全上の危険につながる可能性が生じています。
AIを活用した脅威検知に依存するサイバーセキュリティシステムも標的となっており、ポイズニングされたモデルが特定のマルウェアのパターンを認識できなくなるケースがあります。大規模言語モデル(LLM)もポイズニングの影響を受けることがあります。AIコード生成ツールが脆弱性を誤って再現する事例があり、これはSnykの調査やCopilotの脆弱性に関する調査でも指摘されています。
今後の展望:AIセキュリティの課題と機会
AIの導入が進むにつれて、こうしたツールのセキュリティ確保に伴う課題も増えています。データポイズニングは依然として重大な脅威であり、継続的な警戒と積極的なセキュリティ対策が必要です。
コーディングアシスタントのAIモデルに不適切なデータが混入し、問題のある推奨が生成されることは珍しくありません。Snykはこうした課題に対応できます。DeepCode AIを搭載したSnyk CodeやSnykのCode Checkerなどのツールでリスクを特定・軽減し、AIモデルの完全性を守ることができます。
これらのリスクを理解し、積極的に対策を講じることで、ビジネスを前進させる信頼性の高いAIシステムを構築・維持できます。デジタル環境が進化するなか、AIを活用したアプリケーションの完全性を確保することが、長期的な成功の鍵となります。
AI生成コードを利用する際のリスク回避について詳しく知るには、AI生成コードのためのSAST Essentialsをダウンロードしてください。
よくある質問
データポイズニング攻撃とは何ですか?
データポイズニング攻撃は、推論時ではなく学習時にモデルを標的とします。モデルが学習するデータを改ざんすることで、攻撃者はモデルの精度を全般的に低下させたり、特定の入力を誤分類させたり、選んだトリガーにのみ反応する隠れたバックドアを仕込んだりできます。NISTの敵対的機械学習の分類では、これらを可用性、標的型、バックドア、モデルポイズニングに分類しています。
データポイズニングは実際にはどのように発生するのでしょうか?
手口は一つではなく、トレーニング実行中にデータを直接書き換えるケースはほとんどありません。よくある経路としては、クローラーが後で収集する公開データに悪意のあるコンテンツを仕込むこと(研究者は、LAION規模のデータセットのごく一部を約60ドルで汚染できることを示しました)、既存サンプルのラベルを改ざんすること、データサプライチェーンにおいてサードパーティのデータセットやラベリング業者を侵害すること、ファインチューニングやRLHF中に人間のフィードバック信号を操作することなどがあります。
どのように検知し、予防できますか?
ポイズニングされたモデルも、影響を受けていない入力に対しては正常に動作するため、検知は困難です。そのため、データのサプライチェーン対策が重要です。ML-BOMでデータの来歴を追跡し、サードパーティのデータセットやラベリング業者を審査して、トレーニング前に異常を検知しましょう。トレーニング後は、バックドア検出ツールや差分プライバシーなどの防御策を使えば、単一のサンプルがモデルに与える影響を抑えられます。OWASPのデータおよびモデルポイズニングに関するガイダンスとSnyk Learnで、実践的な対策をご紹介しています。