セキュリティ

敵対的攻撃とは|AIを誤認識させる敵対的サンプルの手口と実装で効く防御策

敵対的攻撃(adversarial attack)は、学習済みのAIモデルに与える入力へ人間には気づけない微小な摂動を加え、推論の判断だけを狙って狂わせる攻撃です。数ピクセルの変更でパンダの画像をテナガザルと誤認識させる、道路標識に小さなステッカーを貼って別の標識に読み替えさせる——こうした事例が、画像認識から生成AIまで幅広く報告されています。モデルの中身は書き換えず、その場の入力ごとに仕掛ける点で、訓練データを汚すデータポイズニングとは根本的に異なる攻撃です。この記事では、敵対的攻撃の定義と推論時攻撃としての位置づけ、攻撃者の前提知識による分類とFGSM・PGDなど代表手法、画像認識やLLMで起きる実装現場の被害シナリオ、そして敵対的訓練から入力検知までの防御を効く順に整理します。狙いは、実装者が守る順番を判断できる状態にすることです。

目次

まとめ|敵対的攻撃の対策で実装者が最初に固めるべき防御の優先順位

敵対的攻撃への備えは、単一の万能な防御を探すのではなく、モデルの用途とリスクに応じて防御層を積む設計から始まります。攻撃は推論時に入力を操作するため、汚染がモデルの重みに焼き付くデータポイズニングと違い、入力ごとに毎回仕掛けられる点が特徴です。防御も入力の受け口ごとに考える必要があります。

優先順位はこう置きます。第一に、モデルの用途から「誤判定が実害に直結するか」を見極めて守る対象を絞る。第二に、外部からの入力に対する前処理と異常入力の検知を入口に置く。第三に、堅牢性が要る中核モデルにだけ敵対的訓練(adversarial training)を効かせる。最後に、出荷前のレッドチーミングで抜けを洗い出す。この順で守ると費用対効果が高くなります。逆に、社内の閉じた環境でしか動かさない分類モデルへ、精度と計算コストを大きく削ってまで敵対的訓練を積むのは過剰です。外部の不特定多数が入力できる生成AIや、自動運転・検品のように誤判定が事故や損失に直結する系では、入力検知と堅牢化は前提条件になります。各層の中身と適用条件を、以降で具体的に見ていきます。

敵対的攻撃の定義と推論時にAIモデルが誤認識させられる仕組み

敵対的攻撃とは、学習済みモデルの推論フェーズを標的に、入力へ意図的な摂動を加えて誤った出力を引き出す攻撃の総称です。攻撃対象はモデルそのものではなく、モデルへの入力です。この時間軸の違いが、防御設計を分ける最大の分岐点になります。

敵対的サンプルと敵対的攻撃の関係および推論時攻撃という位置づけ

敵対的サンプル(adversarial example)は、正常なデータへ緻密に計算された微小摂動を加えて作られた「AIだけが誤る入力」です。敵対的攻撃は、この敵対的サンプルを生成してモデルに送り込む行為全体を指します。摂動は多くの場合、人間の知覚では元データと区別がつかない大きさに抑えられます。ここが検知を難しくする核心です。

米国立標準技術研究所(NIST)が公開する敵対的機械学習の分類文書 AI 100-2 は、2024年の初版に続き2025年改訂版で生成AI・LLM・RAG・エージェントを取り込みました。そこで敵対的攻撃は、学習後のモデルへ入力を操作して誤らせる「回避攻撃(evasion attack)」として、学習時を狙う「汚染攻撃(poisoning attack)」とは別カテゴリに置かれています。この公的分類は、脅威モデルを組むときの共通言語として使えます。

学習時のデータ/メモリポイズニングと推論時の敵対的攻撃の違い

混同されやすい3つを、狙う時間軸で切り分けます。敵対的攻撃は推論時に入力を操作し、その場の判断だけを狂わせます。学習済みモデルは書き換えません。対してデータポイズニングは学習時にデータへ介入し、モデルそのものを作り変えます。訓練時の汚染を実装者視点で深掘りするなら、学習データ汚染の攻撃手口と実装で効く防御策をまとめたデータポイズニングの解説を先に押さえると、本記事の推論時攻撃との対比がはっきりします。

もう一つがメモリポイズニングです。これはAIエージェントが稼働中に保持する短期・長期メモリを実行時に汚染し、後続の行動を乗っ取ります。敵対的攻撃が「単発の入力を誤らせる」のに対し、メモリポイズニングは「汚染を記憶に残して継続的に効かせる」点が異なります。エージェント運用でこの脅威に踏み込むなら、AIエージェントの記憶を狙うメモリポイズニングの脅威と防御策を参照してください。訓練時・推論時・実行時の3面を押さえると、AIへの攻撃面を漏れなく設計できます。

攻撃者の前提知識と目的で分類される敵対的攻撃の主要な攻撃手法

敵対的攻撃は「攻撃者がモデルの内部をどこまで知っているか」と「特定の出力を狙うか全体を崩すか」で分かれ、そこへ生成手法の巧妙さが加わります。防御の設計は、どの前提の攻撃者を主に想定するかで変わります。

ホワイトボックス攻撃とブラックボックス攻撃・標的型と非標的型の差

ホワイトボックス攻撃は、モデルの構造や重み、勾配を攻撃者が把握している前提です。勾配を直接たどって最小の摂動を求められるため、攻撃効率が高くなります。ブラックボックス攻撃は内部を知らず、入出力の観測だけで敵対的サンプルを作ります。別モデルで作った敵対的サンプルが標的モデルにも効く「転移性(transferability)」を突く手口が代表例です。API越しの生成AIでも成立しうる点が実務上やっかいです。

目的の軸では、特定のクラスへ誤らせる標的型(例:不正送金を正常と判定させる)と、とにかく正解を外させる非標的型に分かれます。標的型のほうが攻撃者の意図が明確で、実害に直結しやすい類型です。

FGSMやPGDに代表される勾配ベースの敵対的サンプル生成手法

ホワイトボックスの代表的な生成手法は、損失関数の勾配を使って摂動の向きを決めるものです。実装で名前が挙がる主要手法を整理します。

手法 提唱時期 特徴
FGSM 2014年 勾配符号で一発摂動・高速だが精度は粗い
PGD 2017年 反復で摂動を洗練・強い攻撃の基準
C&W 2017年 摂動量を最小化・検知を回避しやすい

FGSM(Fast Gradient Sign Method)は勾配の符号方向へ一度だけ摂動を加える軽量な手法で、攻撃の入門として使われます。PGD(Projected Gradient Descent)はこれを反復して摂動を許容範囲内で洗練させ、防御の堅牢性を測る標準的な物差しになっています。防御を評価するときは、弱いFGSMだけで「守れた」と判断せず、PGDのような反復攻撃で試すのが実装上の鉄則です。

物理世界とLLMに広がる敵対的サフィックスなど攻撃対象の拡大

敵対的攻撃はデジタルな入力に閉じません。2018年には、道路標識に計算されたステッカーを貼るだけで、カメラが「一時停止」を「制限速度」と読み替える物理世界での実証が公表されました。印刷物やカメラ越しでも成立するため、自動運転や無人検品では現実的な脅威になります。

生成AIの登場で攻撃対象はさらに広がりました。LLMに対しては、有害な指示の末尾へ自動生成した無意味な文字列(敵対的サフィックス)を付けて安全アラインメントを回避する手法が2023年に公表され、モデルをまたいで転移することも示されています。これはプロンプトインジェクションの一種で、NISTの分類でも回避攻撃に位置づけられる存在です。LLM特有の脅威の全体像は、OWASP TOP 10 for LLM 2025から読み解くAIセキュリティの最新脅威で体系的に把握できます。

実装現場で敵対的攻撃が実害につながる代表的な二つの被害シナリオ

抽象論では守れません。自社のどのモデルが穴になるかを、実装で頻出する2つの構成で具体化します。

画像認識モデルへの微小な摂動が検品や自動運転の判定を狂わせる危険

画像分類・物体検出モデルは、敵対的攻撃の影響が最も分かりやすく出る領域です。製造ラインの外観検査で、不良品の画像へ人間には見えない摂動が加われば、良品として通過させられます。攻撃者が製造データや納入物に細工できる立場にあると、検品の信頼性が根から崩れます。

実装上の勘所は、入力画像を「素通しでモデルへ渡さない」ことです。取り込み時にリサイズ・再圧縮・ノイズ除去といった前処理を挟むと、緻密に設計された摂動は崩れやすくなります。安全に関わる判定では、単一モデルの出力を鵜呑みにせず、複数モデルや従来のルールベース検査と突き合わせる多重化が効きます。

LLMのjailbreakやRAG回答を誘導する敵対的プロンプトの脅威

生成AIでは、敵対的サフィックスやプロンプトインジェクションが安全対策を回避し、本来拒否すべき出力を引き出します。ユーザー入力をそのままプロンプトに連結する設計だと、入力欄そのものが攻撃面です。外部ドキュメントを読み込むRAG構成では、汚染された文書に埋め込んだ指示文が推論時に読み込まれ、回答を操作される経路も生まれます。

対策の起点は、入力と指示の分離、そして出力の検査です。システムプロンプトとユーザー入力を明確に区切り、外部から取り込むテキストは命令ではなくデータとして扱う設計にします。出荷前に自社モデルへ敵対的プロンプトを浴びせて弱点を洗い出す工程を組み込むと、抜けを本番前に見つけられます。

実装現場で本当に効く敵対的攻撃対策の優先順位と見送ってよい場面

ここが本記事の核です。敵対的攻撃は「全部やる」と精度も計算資源も際限なく削られるため、効く順に積み、条件次第で捨てる判断まで踏み込みます。玉虫色にはしません。

最も堅牢とされる敵対的訓練の効果と精度および計算コストの限界

経験的に最も堅牢な防御は、敵対的サンプルを訓練データに混ぜて学習させる敵対的訓練です。モデル自身に「摂動された入力でも正しく答える」耐性を持たせます。ただし代償が明確で、通常入力に対する精度が下がり、学習に要する計算コストがPGDの反復回数ぶん膨らみます。堅牢性と精度・コストのトレードオフから逃げられません。

だからこそ、全モデルに一律で敵対的訓練を積むのは非効率です。誤判定が実害に直結する中核モデルへ集中投資し、影響の小さいモデルは軽い前処理と検知でしのぐ——この配分が現実解になります。

入力前処理・攻撃検知・認証付き防御をコストで使い分ける判断軸

敵対的訓練の周辺には、コストの軽い防御層がいくつもあります。効く相手と限界が違うため、組み合わせて使います。

  • 入力前処理:再圧縮・ノイズ除去・ランダム化で摂動を崩す。軽量だが、前処理を織り込んだ適応型攻撃には弱い
  • 敵対的サンプル検知:入力の統計的な異常を弾く。既知の攻撃パターンには強いが、未知の手口は取りこぼしやすい
  • 認証付き防御(certified defense):ランダム化平滑化などで一定摂動内の頑健性を数学的に保証する。保証範囲は限られ、計算負荷も高い

これらは単独の万能薬ではなく、層として重ねるものです。防御の抜けを能動的に洗い出すなら、レッドチーミングを組み込みます。LLMの弱点を体系的に突くLLMの脆弱性を洗い出すレッドチーミングツールGarakのような手段を使うと、敵対的プロンプトへの耐性を出荷前に検証できます。

敵対的攻撃対策を優先すべき場面と過剰投資になりやすい場面の線引き

結論を条件付きで言い切ります。入力検知と堅牢化を「必須」とすべきは、外部の不特定多数が入力を送れる生成AIサービス、自動運転・医療画像・与信のように誤判定が事故や実損に直結する系、そして攻撃者がモデルの入出力を観測できるAPI公開の3条件です。どれかに当てはまるなら、守る対象の特定から敵対的訓練までを上から順に整えるべきです。

逆に、社内の閉じた環境で管理された入力しか受け付けない小規模な分類モデルへ、認証付き防御や重いレッドチーミングまでフル装備するのは過剰投資です。この場合は入力前処理とアクセス制御で釣り合います。判断軸は「敵対的な入力が届く経路が実在するか」の一点です。外部からの入力経路が一つでも開いているなら、精度低下を受け入れてでも堅牢化へ寄せる——ここは迷わず決めてよい部分です。自社のAIモデルの脅威評価や生成AIの防御設計を外部と組んで進めるなら、一創のAIセキュリティ対策の相談から要件整理を始められます。

よくある質問

敵対的攻撃の実装対策を検討する際に、現場で挙がりやすい疑問へ簡潔に答えます。

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

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

敵対的サンプルは人間の目で見て気づけますか?

多くの場合は気づけません。敵対的サンプルの摂動は、人間の知覚では元データと区別がつかない大きさに調整して抑えられます。目視によるチェックはすり抜けやすく、防御は入力の前処理や統計的な異常検知など機械的な仕組みで組む必要があります。

ブラックボックスでもモデルへの敵対的攻撃は成立しますか?

成立します。モデルの内部構造や勾配を知らなくても、入出力の観測を繰り返して摂動を推定する手法や、別モデルで作った敵対的サンプルの転移性を突く手法が代表例です。API越しに公開している生成AIも、入出力が観測できる以上は攻撃対象になりえます。

敵対的訓練をすれば敵対的攻撃は完全に防げますか?

完全には防げません。敵対的訓練は経験的に最も堅牢な防御の一つですが、通常入力の精度低下と計算コスト増という代償があり、訓練時に想定しなかった新しい攻撃には破られる余地が残ります。単独に頼らず、入力前処理や検知と層で重ねる前提で設計します。

LLMのjailbreakも敵対的攻撃に含まれますか?

含まれます。有害な指示の末尾に自動生成した敵対的サフィックスを付けて安全アラインメントを回避する手口は、推論時に入力を操作する敵対的攻撃の一種です。NISTの敵対的機械学習の分類でも、プロンプトインジェクションは回避攻撃として整理されています。

関連記事

資料請求

RELATED POSTS 関連記事