AIデータポイズニングとは、AIモデルのトレーニングデータに意図的にバイアスを持たせて、その出力に影響を与えようとするものです。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
人工知能(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や機械学習モデルのほとんどは、モデルのトレーニングにおいて、さまざまなソースからのデータセットに依存しています。これらのソースの1つ以上に、「ポイズニングされた」データが含まれていて、トレーニングや微調整にそうしたデータを使うモデルに影響を与える可能性があります。
不正アクセス:攻撃者がトレーニングデータセットにアクセスする手段は、以前の侵害を利用したラテラルムーブメント、フィッシングを使った開発者の資格情報の取得、その他の複数の攻撃の可能性など、さまざまなものがあります。
攻撃者が自己の目的でAIモデルのデータをポイズニングする方法は、いくつかあります。知っておくべき重要な技法には次のようなものがあります。
データ検証:トレーニングの前に、データセットを分析して、悪意のあるデータ、疑わしいデータ、異常値のデータを特定する必要があります。
最小特権の原則:言い換えると、トレーニングデータへのアクセスを絶対に必要とする人員およびシステムのみにアクセス権を持たせるべきです。最小特権の原則は、セキュリティに対するZero Trustアプローチの中核となる考え方であり、ラテラルムーブメントや資格情報の侵害を防ぐのに役立ちます。
多様なデータソース:より広範囲のデータソースからデータを抽出することで、特定のデータセットにおけるバイアスの影響を軽減することができます。
監視と監査:誰がトレーニングデータを変更したか、何を変更したか、いつ変更したかを追跡し、記録することで、開発者は疑わしいパターンを特定したり、データセットがポイズニングされた後の攻撃者のアクティビティを追跡することができます。
敵対トレーニング:AIモデルをトレーニングして、意図的に誤解を招くような入力を認識させます。
ファイアウォールなどの他のアプリケーション防御対策も、AIモデルに適用できます。データポイズニングやその他の攻撃を防止するために、Cloudflareは、LLMの前に配置することができ、不正使用がLLMに到達する前に特定してブロックすることができる「AI Security for Apps」を提供しています。AI Security for Appsについての詳細はこちらをご覧ください。
AIデータポイズニングとは、AIモデルのトレーニングデータに意図的にバイアスをかけ、危険または不正確な結果を生み出す試みです。例えば、誰かがAIモデルのデータを改ざんして、ユーザーに嘘をついたり、騙すような回答を出力させる可能性があります。AIデータポイズニングは、大規模言語モデル(LLM)において特に懸念されるため、AI開発者はトレーニングデータを慎重に保護し、精査することが重要です。
数学の問題でも、初期値が変わると別の答えが導き出されるのと同じように(例:「3 + 3 = 6」と「3 + 4 = 7」)、攻撃者はトレーニングデータにわずかな変更を加えることで、AIモデルの出力を大幅に変更することができます。データが汚染されたモデルは、開発者や利用者が想定する動作とは異なる振る舞いをし、攻撃者に利益をもたらす回答を出力したり、ユーザーを危険にさらす回答を出力することがあります。
データポイズニング攻撃の主な手法には、「バックドアポイズニング」、「誤ラベル付け」、「データインジェクション」、「データ操作」、「可用性攻撃」などがあります。各種のデータポイズニング攻撃は、AIモデルのパフォーマンスを偏らせたり、低下させたりすることを目的としています。
攻撃者は、内部関係者による攻撃、外部データに仕込まれた改ざんを経由するサプライチェーン攻撃、または不正アクセスによってトレーニングデータセットを操作または破壊する方法などがあります。
データポイズニングは、攻撃者に有利になるようにモデルの出力を永続的に変更することができます。その結果、モデルがプロパガンダやヘイトスピーチを生成したり、正しくない行動を促したり、虚偽のデータを提供したり、マルウェアのダウンロードを促進することがあります。
AIデータポイズニングを防ぐためには、トレーニングデータの集合を不正な変更から保護することが重要です。回避方法には、データを検証する、最小特権の原則を適用する、多様なデータソースを使用する、データ変更を監視・監査する、敵対的学習を用いてモデルに誤解を招く入力を認識させることなどがあります。
利用開始
人工知能
機械学習
ビッグデータ
用語集