Adversarial Machine Learning:攻撃と防御#
DNNは様々なタスクで高い性能を発揮する一方、意図的な攻撃に対して脆弱であることが知られている。 本セクションでは、Wu et al. (2023). Defenses in Adversarial Machine Learning: A Surveyのライフサイクルに基づいた統一的な枠組みに従い、攻撃と防御を体系的に整理する。
目次
3つの攻撃パラダイム#
MLシステムに対する攻撃は、大きく3つのパラダイムに分類される。
パラダイム |
攻撃段階 |
概要 |
|---|---|---|
バックドア攻撃 |
訓練時 |
訓練データに毒入れし、特定のトリガーで誤動作させる |
重み攻撃 |
デプロイ時 |
ビットフリップ等でモデルパラメータを直接改変する |
敵対的サンプル |
推論時 |
テスト入力に微小な摂動を加え、誤分類を誘発する |
記法#
記号 |
説明 |
|---|---|
\(\mathbf{x}, y\) |
入力データとそのラベル |
\(\mathcal{D}\) |
訓練データ分布 |
\(f_{\boldsymbol{\theta}}(\cdot)\) |
パラメータ \(\boldsymbol{\theta}\) を持つDNNモデル |
\(\Delta\) |
事前設計されたトリガーパターン |
\(\delta\) |
攻撃アルゴリズムにより生成された摂動 |
\(\epsilon\) |
摂動の制約(\(L_p\)ノルム上限) |
\(\mathcal{L}\) |
損失関数 |
\(T(\cdot)\) |
入力に対する変換 |
\(\tau(\cdot)\) |
勾配に対する変換 |
ライフサイクルに基づく統一的な枠組み#
Wu et al. (2023) は、MLシステムのライフサイクルを5つの段階に分け、各段階における攻撃と防御を統一的に整理した。
MLシステムのライフサイクル
│
├─ 1. 訓練前(Pre-training)
│ 攻撃: データ毒入れ、バックドア挿入
│ 防御: ロバストなアーキテクチャ設計、毒入れデータの検出
│
├─ 2. 訓練(Training)
│ 攻撃: データ毒入れ、連合学習でのバックドア
│ 防御: 敵対的訓練、安全な集中/分散訓練
│
├─ 3. 訓練後(Post-training)
│ 攻撃: バックドア化されたモデルの配布
│ 防御: バックドア検出・除去、トリガー逆工学
│
├─ 4. デプロイ(Deployment)
│ 攻撃: ビットフリップによる重み攻撃
│ 防御: モデル強化、フィンガープリント検証
│
└─ 5. 推論(Inference)
攻撃: 敵対的サンプル、バックドアトリガー入力
防御: 入力変換・再構成、検出・拒否
各段階の防御の概要#
段階 |
防御タスク |
技術 |
入力 |
出力 |
|---|---|---|---|---|
訓練前 |
敵対的サンプル対策 |
ロバストなアーキテクチャ設計 |
初期アーキテクチャ |
ロバストなアーキテクチャ |
バックドア対策 |
毒入れデータの検出 |
訓練データ |
クリーンなデータ |
|
訓練 |
敵対的サンプル対策 |
敵対的訓練 |
訓練データ+アーキテクチャ |
ロバストなモデル |
バックドア対策(集中型) |
安全な訓練 |
毒入れされた訓練データ |
クリーンなモデル |
|
バックドア対策(分散型) |
安全な連合学習 |
FLフレームワーク |
クリーンなグローバルモデル |
|
訓練後 |
バックドア対策 |
検出・除去 |
訓練済みモデル |
クリーンなモデル |
デプロイ |
重み攻撃対策 |
モデル強化 / 検証 |
量子化モデル |
耐性強化モデル |
推論 |
バックドア対策 |
毒入れ入力の検出・復旧 |
クエリ |
修正された予測 |
敵対的サンプル対策 |
検出・変換・再構成 |
クエリ |
ロバストな予測 |
各段階の防御が単独では不十分な理由#
重要な知見として、敵対的訓練はバックドア攻撃に対しては効果的でないことが指摘されている。これは、敵対的訓練が推論時の摂動(\(L_p\)ノルム制約内の摂動)に対するロバスト性を高めるものであり、訓練時のデータ汚染とは異なる脅威モデルだからである。
そのため、MLシステム全体のセキュリティを確保するためには、各段階における防御を組み合わせた多層防御が不可欠である。