株式会社ジオデータ開発 ロゴ
株式会社ジオデータ開発GEO DATA DEVELOPMENT Inc.
AIセキュリティ

敵対的サンプル攻撃とは?AIが微小なノイズで誤判定する仕組み

敵対的サンプル(Adversarial Examples)の仕組みを図解とインタラクティブなデモで解説。AIの判定境界、回避攻撃、データ汚染、モデル反転との違いまで理解できます。

最初に結論

敵対的サンプルとは、AIが誤った判定を 出すように意図的に細工された入力データです。

元画像とほとんど同じように見えても、 特定の機械学習モデルでは異なるクラスに 分類される場合があります。

「人間にとって似ている」と 「AIの判定が同じ」は、必ずしも一致しません。

1. 攻撃の仕組みを図で見る

通常の画像分類では、入力画像をAIに渡し、 学習済みモデルがクラスを予測します。

通常の入力

元の画像
画像分類AI
クラスA

入力を意図的に改変

元の画像 + 微小な変化
画像分類AI
クラスB

同一のモデルへ入力したときの概念図です。 すべての画像・モデルで攻撃が成功することを 意味しません。

攻撃者は画像の画素値などを調整し、 モデルが誤った出力を返すような入力を探します。

この改変は、必ずしも完全に見えないとは 限りません。人間が気付きにくいほど小さい場合も、 明らかに見える模様を使う場合もあります。

2. なぜ小さな変化で判定が変わる?

画像分類AIは、画像の意味を人間と同じ方法で 理解しているわけではありません。 入力画素から特徴を計算し、学習した判定規則に 基づいて結果を返します。

入力が判定境界の近くにある場合、 少しの変化で境界の反対側へ移ることがあります。

判定境界とは

クラスAクラスB元の入力改変後破線:判定境界

この図は、複雑なモデルの判定を二次元に 簡略化したものです。 実際の画像は数千〜数百万の画素値などで 表現されるため、境界はもっと複雑です。

重要なのは、ノイズを無作為に加えるのではなく、 モデルの判定を変えやすい方向へ入力を 変化させる攻撃があることです。

INTERACTIVE LAB

わずかな画素の違いで、判定が変わる?

画素の変化量を操作して、入力の変化と 判定スコアの関係を観察してください。

元の入力

変更後の入力

元の判定

クラスA

スコア +0.60

変更後の判定

クラスA

判定は変化していません

0

1画素の最大変化

0 / 255

8bit階調幅に対する割合

0.00%

変更した画素数

0 / 64

判定スコアの移動

0より大きければクラスA、小さければクラスB。 入力の微小な変化を積み重ねると、 スコアが判定境界を越えます。

クラスB境界 0クラスA

score = 0.60

内部では何が起きている?

score = 0.60 − 0.08 × ε

= 0.60 − 0.08 × 0

= 0.60

64画素の変化が判定関数へ同じ方向に 影響するよう設計した説明用モデルです。 各画素の変化は小さくても、 判定に対する影響は蓄積できます。

判定境界はまだ越えていません

変化量を増やして、どこで判定が変わるか確認してください。

このラボは概念理解用の線形判定モデルです。 実際の学習済み画像認識AI、攻撃成功率、 人間の知覚限界を再現したものではありません。 また、この画素パターンそのものは 特定の自然画像を意味しません。

3. ランダムなノイズとは何が違う?

画像にノイズを加えれば、必ず攻撃が成立する わけではありません。

ランダムなノイズ

目的なく加える変化

画素を無作為に変化させる。画像品質は変わるが、必ずしも特定の判定誤りにはつながらない。

敵対的な摂動

誤判定を狙う変化

モデルの特性を考慮して入力を調整する。小さな変化でも判定結果を変えることがある。

Goodfellowらは、入力に対してモデルの損失が 増える方向に摂動を加える手法を示しました。 これがFGSM(Fast Gradient Sign Method)です。

FGSMの考え方

x' = x + ε · sign(∇x J)

x:元の入力

ε:変化量を制御する係数

J:モデルの損失関数

∇x J:入力に関する損失の勾配

この式は、入力値をどちらへ変えると モデルの損失が増えるかを利用します。 実際には画素値の許容範囲への制限なども 考慮します。

4. どの段階を狙う攻撃なのか

AIに対する攻撃は、学習時を狙うものと、 学習済みモデルを使う推論時を狙うものに 分けて考えると理解しやすくなります。

学習時

データ汚染(Poisoning)

学習データなどへ介入し、学習されるモデルの振る舞いを変える。

推論時

回避攻撃(Evasion)

学習済みモデルへの入力を細工し、誤判定や検知回避を狙う。

敵対的サンプルは、特に推論時の回避攻撃で 重要な概念です。ただし、敵対的に細工された データが学習工程で使われる場合もあるため、 攻撃を分類するときは目的と介入時点も見ます。

5. 似た攻撃の仕組みも図解で理解する

攻撃名が似ていなくても、選択肢として一緒に 登場することがあります。 それぞれの攻撃で「何を操作するのか」 「何を得ようとするのか」を確認しましょう。

MODEL INVERSION

モデル反転攻撃

モデルの応答を手掛かりに、非公開情報を推定する

例えば、顔認識モデルの出力を繰り返し観察し、 特定の人物に対応する入力画像の特徴を 推定しようとするケースを考えます。

?

攻撃者

候補となる入力を作成

候補を送信 →← 予測結果を返す
AI

機械学習モデル

入力に対する予測値などを返す

↓

繰り返し分析

入力を調整しながら応答を比較

非公開データの特徴や情報を推定する

STEP 01

問い合わせ

攻撃者がモデルに入力を送る。

STEP 02

出力を観察

予測結果や信頼度など、得られる情報を分析する。

STEP 03

情報を推定

モデルが学習したデータに関する特徴を推測する。

敵対的サンプルとの違い:敵対的サンプルは「判定を誤らせる」ことが目的。 モデル反転は「モデルから情報を推定する」 ことが目的です。

これは攻撃の概念図です。実際に推定できる情報は、 モデルの種類や公開される出力などによって異なります。

DISTRIBUTED REFLECTION DoS

DRDoS攻撃

第三者のサーバーを反射器として悪用する

DRDoSは、攻撃者が送信元IPアドレスを 標的のものに偽装し、外部サーバーに リクエストを送る攻撃です。 応答パケットが攻撃者ではなく標的へ送られます。

A

攻撃者

送信元IPを標的に偽装

R

反射サーバー群

DNSなど、要求に応答するサーバー

攻撃者 → 反射サーバー

「返信先は標的のIPアドレス」と偽装した要求

反射器 1

↓

応答

反射器 2

↓

応答

反射器 3

↓

応答

TARGET

標的サーバー

多数の応答通信が集中し、回線や処理能力を圧迫

STEP 01

送信元を偽装

攻撃者が標的のIPを送信元に指定する。

STEP 02

反射

外部サーバーが偽装された送信元へ応答する。

STEP 03

通信が集中

多数の応答により標的のサービスを妨害する。

見分けるポイント:送信元IPアドレスの偽装、第三者サーバーからの反射、 大量の応答通信です。AIモデルの攻撃ではありません。

反射は応答を標的へ向ける仕組みです。 要求より大きな応答を利用する場合は 増幅(Amplification)も生じますが、 反射と増幅は同じ意味ではありません。

ADAPTIVELY CHOSEN MESSAGE

適応的選択メッセージ攻撃

以前に得た署名結果に応じて、次の問い合わせを選ぶ

デジタル署名の安全性を分析するときに登場する 攻撃モデルです。攻撃者はメッセージに対する 正当な署名を入手できる状況を利用し、 その結果を見て次のメッセージを選びます。

A

攻撃者

署名してほしいメッセージを選ぶ

S

署名オラクル

選ばれたメッセージに正当な署名を返す

ROUND 1

メッセージ M1 を選ぶ
正当な署名 σ1 を取得
↓ 前の署名結果を分析

ROUND 2

結果を見て M2 を選ぶ
正当な署名 σ2 を取得
↓ さらに問い合わせを調整

最終的な攻撃目標

署名を問い合わせていない別のメッセージに対し、 有効な署名を偽造することを狙う

重要なのは、問い合わせるメッセージを 最初からすべて決めているわけではないことです。 前回までの結果に基づいて次の入力を選ぶため、 「適応的」と呼ばれます。

見分けるポイント:デジタル署名、選択したメッセージへの署名要求、 過去の応答に応じた次の問い合わせです。 この攻撃モデルが存在することは、 署名の偽造が必ず成功するという意味ではありません。

4つの攻撃を整理

Adversarial Examples:AIへの入力を細工して誤判定させる

Model Inversion:AIモデルから非公開情報を推定する

DRDoS:反射した通信を標的に集中させる

Adaptively Chosen Message:署名結果を見ながら次のメッセージを選ぶ

6. 実際のシステムではどう備える?

AIの予測結果をそのまま重要な判断に使う場合、 意図的に改変された入力を受け付ける可能性も 考慮する必要があります。

01

敵対的な入力によるテスト

通常データだけでなく、意図的に改変したデータでもモデルの振る舞いを評価する。

02

Adversarial Training

敵対的な入力を学習に組み込み、特定条件下での頑健性を高める。

03

入力・出力の監視

異常な入力や予測結果の変化を記録・分析し、問題を発見しやすくする。

04

重要判断の多層防御

AIの出力だけに依存せず、独立した検証や人間の確認を必要に応じて組み合わせる。

これらは攻撃への耐性を高めるための対策です。 前処理や敵対的学習だけで、 あらゆる敵対的サンプルを防げるわけではありません。

7. 理解を確認する

次のケースは、どの種類の攻撃?

画像分類システムに入力する画像をわずかに 改変し、学習済みモデルに本来と異なる 分類結果を出させようとする。

答えと解説を見る

敵対的サンプル攻撃(Evasion)

学習済みモデルへの入力を改変して 判定を誤らせるため、回避攻撃に該当します。 学習データを汚染する攻撃とは区別します。

まとめ

敵対的サンプル攻撃は、AIへの入力を意図的に 改変し、誤った判定を引き起こす攻撃です。

人間には小さく見える変更であっても、 モデルの特徴計算や判定境界に対して 大きな影響を与える場合があります。

敵対的サンプル:入力を細工して判定を変える
データ汚染:学習工程を狙う
モデル反転:モデルから情報を推定・復元する

参考文献

  1. [1]
  2. [2]
    Explaining and Harnessing Adversarial Examples

    Ian J. Goodfellow, Jonathon Shlens, Christian Szegedy

  3. [3]