AIのデータポイズニングとは何ですか

AIデータポイズニングとは、AIモデルのトレーニングデータに意図的にバイアスを持たせて、その出力に影響を与えようとするものです。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • AIのデータポイズニング攻撃の仕組みに関する説明
  • AIおよびLLMデータポイズニング攻撃の種類の説明
  • データポイズニング防止方法のリスト

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

記事の概要:

  • データポイズニングは、トレーニングデータセットに悪意のある情報を挿入してAIモデルの動作を操作することであり、モデルの正確性と信頼性、機械学習結果全体の完全性を損ないます。
  • 攻撃者はAIデータポイズニングによってバックドアを作成したり、出力にバイアスをかけたりすることで、セキュリティフィルターを回避したり、システムに特定の誤った予測をさせたりします。
  • データポイズニングから保護するには、データを徹底的にサニタイズし、トレーニングソースを検証し、継続的監視を実装して、モデルが破損する前に敵対的入力を検出して無効化する必要があります。

AIのデータポイズニングとは何ですか

人工知能(AI)データポイズニングとは、攻撃者がAIまたは機械学習モデルの出力を操作するためにトレーニングデータを変更することです。AIデータのポイズニング攻撃における攻撃者の目的は、推論の際に歪曲された結果や危険な結果をモデルに生成させることです。

AIと機械学習*モデルには、トレーニングデータとアルゴリズムという2つの主な要素があります。アルゴリズムは車のエンジンのようなものであり、トレーニングデータはエンジンに何かを点火させるガソリンであると考えてください。データがAIモデルを前進させます。データポイズニング攻撃とは、燃料に余分な物質が追加されていて、車の走りを悪くするようなものです。

より多くの企業や人々が日常業務においてAIに依存し始めるにつれ、AIによるデータポイズニングの潜在的な影響はより深刻になっています。AIデータのポイズニング攻撃が成功すると、攻撃者の背後にある人物に有利な方法でモデルの出力を永続的に変更する可能性があります。

AIによるデータポイズニングは、大規模言語モデル(LLM)で特に懸念されます。データポイズニングは、OWASPのLLMトップ10にリストされており、近年の研究者たちは医療コード生成、およびテキスト生成モデルに影響を及ぼすデータポイズニングの脆弱性について警告しています。

*「機械学習」と「人工知能」は、同じ意味で使用されることがありますが、これら2つの用語は、若干異なるコンピューティング能力を指します。機械学習はAIの一形態です。

データポイズニング攻撃の仕組みとは?

AI開発者は、膨大な量のデータを使用してモデルのトレーニングを行います。基本的に、トレーニングデータセットがモデルに例を提供し、モデルはそれらの例から一般化することを学習します。データセット内の例が多ければ多いほど、データが正確でそれほどバイアスされていない限り、モデルはより洗練され、正確になります。

データポイズニングは、トレーニングデータセットに意図的にバイアスを加え、モデルのアルゴリズムの出発点を変え、開発者が意図したものとは異なる結果になるようにします。

教師が黒板に算数の問題を書いて、生徒に解決してもらうことを想像してください。たとえば、「47×(18+5) = ?」です。答えは1,081です。しかし、ある生徒が教師の後ろでこっそり「47」を「46」に変えたら、答えはもはや1,081ではなく、1,058になります。データポイズニング攻撃は、こっそり行動する生徒のようです。最初のデータが少し変わると、答えも変わってしまいます。

AIのデータポイズニング攻撃はどのように発生しますか

トレーニングデータの不正な変更は、多くのソースから発生する可能性があります。

内部関係者攻撃:トレーニングデータへの正当なアクセス権を持つ人物が、バイアス、偽データ、その他の変更を加えることで、出力を歪める可能性があります。これらの攻撃は、データへのアクセスが許可されていない第三者による攻撃よりも、検出して阻止することが困難です。

サプライチェーン攻撃:AIや機械学習モデルのほとんどは、モデルのトレーニングにおいて、さまざまなソースからのデータセットに依存しています。これらのソースの1つ以上に、「ポイズニングされた」データが含まれていて、トレーニングや微調整にそうしたデータを使うモデルに影響を与える可能性があります。

不正アクセス:攻撃者がトレーニングデータセットにアクセスする手段は、以前の侵害を利用したラテラルムーブメントフィッシングを使った開発者の資格情報の取得、その他の複数の攻撃の可能性など、さまざまなものがあります。

データポイズニング攻撃の二つの主要なカテゴリーとは?

  • 直接(または標的を絞った)攻撃:これらの攻撃は、特定のクエリやアクションにのみ応答してモデルの出力を歪めたり変更したりすることを目的としています。このような攻撃が発生してもモデルは変更されず、ほとんどすべてのクエリに対して期待される応答が得られることになります。例えば、攻撃者は、AIベースのメールセキュリティフィルターを騙して、特定の悪意のあるURLの通過を許可し、その他は期待通りに機能させたいと考えるかもしれません。
  • 間接的(または標的を特定しない)攻撃:これらの攻撃は、一般的にモデルのパフォーマンスに影響を与えることを目的としています。間接攻撃は、単にモデル全体の性能を低下させることや、特定の種類の答えを歪めることを目的とする場合があります。例えば、外国の敵対者は、プロパガンダの目的で、特定の国内で誤った情報を与えるよう一般利用向けのLLMにバイアスを与えようとするかもしれません。

AIのデータポイズニング攻撃にはどのような種類がありますか

攻撃者が自己の目的でAIモデルのデータをポイズニングする方法は、いくつかあります。知っておくべき重要な技法には次のようなものがあります。

  • バックドアポイズニング:この攻撃はモデルに隠れた脆弱性を導入し、攻撃者が把握している特定のトリガーに応答して、安全でない方法で動作します。バックドアが隠されていても、AIモデルは通常通りに動作するため、バックドアポイズニングは特に危険です。
  • 誤ラベル付け:モデルが学習後に項目を誤って認識するように、攻撃者がモデルのトレーニングデータセット内でデータのラベル付け方法を変更する可能性があります。
  • データインジェクションと操作:このような攻撃は、データセットを変更、追加、または削除します。これらの攻撃の目的は、AIモデルを特定の方向に偏らせることです。
  • 可用性攻撃:この攻撃は、全体的なパフォーマンスを低下させるデータを注入することで、モデルの速度を落とす、またはクラッシュさせることを目的としています。

データポイズニングを防止するには?

データ検証:トレーニングの前に、データセットを分析して、悪意のあるデータ、疑わしいデータ、異常値のデータを特定する必要があります。

最小特権の原則:言い換えると、トレーニングデータへのアクセスを絶対に必要とする人員およびシステムのみにアクセス権を持たせるべきです。最小特権の原則は、セキュリティに対するZero Trustアプローチの中核となる考え方であり、ラテラルムーブメントや資格情報の侵害を防ぐのに役立ちます。

多様なデータソース:より広範囲のデータソースからデータを抽出することで、特定のデータセットにおけるバイアスの影響を軽減することができます。

監視と監査:誰がトレーニングデータを変更したか、何を変更したか、いつ変更したかを追跡し、記録することで、開発者は疑わしいパターンを特定したり、データセットがポイズニングされた後の攻撃者のアクティビティを追跡することができます。

敵対トレーニング:AIモデルをトレーニングして、意図的に誤解を招くような入力を認識させます。

ファイアウォールなどの他のアプリケーション防御対策も、AIモデルに適用できます。データポイズニングやその他の攻撃を防止するために、Cloudflareは、LLMの前に配置することができ、不正使用がLLMに到達する前に特定してブロックすることができる「AI Security for Apps」を提供しています。AI Security for Appsについての詳細はこちらをご覧ください

よくある質問

AIのデータポイズニングとは何ですか

AIデータポイズニングとは、AIモデルのトレーニングデータに意図的にバイアスをかけ、危険または不正確な結果を生み出す試みです。例えば、誰かがAIモデルのデータを改ざんして、ユーザーに嘘をついたり、騙すような回答を出力させる可能性があります。AIデータポイズニングは、大規模言語モデル(LLM)において特に懸念されるため、AI開発者はトレーニングデータを慎重に保護し、精査することが重要です。

データポイズニングはAIモデルにどのような影響を与えますか?

数学の問題でも、初期値が変わると別の答えが導き出されるのと同じように(例:「3 + 3 = 6」と「3 + 4 = 7」)、攻撃者はトレーニングデータにわずかな変更を加えることで、AIモデルの出力を大幅に変更することができます。データが汚染されたモデルは、開発者や利用者が想定する動作とは異なる振る舞いをし、攻撃者に利益をもたらす回答を出力したり、ユーザーを危険にさらす回答を出力することがあります。

AIデータポイズニング攻撃の主な種類は?

データポイズニング攻撃の主な手法には、「バックドアポイズニング」、「誤ラベル付け」、「データインジェクション」、「データ操作」、「可用性攻撃」などがあります。各種のデータポイズニング攻撃は、AIモデルのパフォーマンスを偏らせたり、低下させたりすることを目的としています。

AIに対するデータポイズニング攻撃の一般的な手口は?

攻撃者は、内部関係者による攻撃、外部データに仕込まれた改ざんを経由するサプライチェーン攻撃、または不正アクセスによってトレーニングデータセットを操作または破壊する方法などがあります。

データポイズニングの潜在的な影響は?

データポイズニングは、攻撃者に有利になるようにモデルの出力を永続的に変更することができます。その結果、モデルがプロパガンダやヘイトスピーチを生成したり、正しくない行動を促したり、虚偽のデータを提供したり、マルウェアのダウンロードを促進することがあります。

AIデータのポイズニングを防ぐ方法は?

AIデータポイズニングを防ぐためには、トレーニングデータの集合を不正な変更から保護することが重要です。回避方法には、データを検証する、最小特権の原則を適用する、多様なデータソースを使用する、データ変更を監視・監査する、敵対的学習を用いてモデルに誤解を招く入力を認識させることなどがあります。