詳細解説

AIに対する攻撃手法と防御手法を解説します。

AIセキュリティ・マトリックス

開発工程 攻撃分類 攻撃手法 防御手法
学習データの収集/作成
(Data Preparation)
データ汚染
モデルの学習/作成
(Model Fitting)
モデル汚染
  • 信頼できる事前学習モデルの利用
  • 信頼できるAI開発会社の利用
  • サンドボックス環境の利用
  • 必要最低限の権限によるAIの稼働
  • 最新バージョンの機械学習フレームワークの利用
モデルの設置
(Deployment)
敵対的サンプル
データ窃取
  • 過学習の抑制
  • 差分プライバシー
  • ラベルのみ応答
  • 信頼スコアのマスキング
  • 勾配情報のマスキング
  • 信頼スコアのマスキング
  • モデルのアクセス制御
モデル窃取
  • モデルのアクセス制御
  • 学習データのアクセス制御
  • 窃取モデルの検知

攻撃手法

Convex Polytope Attack

AIにバックドアを設置する手法。攻撃者は細工した汚染データを学習データに注入し、これをAIに学習させることで、特定の入力データを攻撃者が意図したクラスに誤分類させることができます。汚染データは見た目に違和感がないため、AI開発者が学習データ作成時にデータの異常を検知することは困難です。

詳細はこちら

機械学習フレームワークの悪用

AIの内部構造を細工することで、AIの推論実行時に悪意のあるコード(Pythonコード、システムコマンドなど)を実行させる攻撃手法。コードの記述次第では、システムの破壊や管理者権限の奪取、機密情報の外部への持ち出し(情報漏えい)など、甚大な被害が引き起こされます。

詳細はこちら

FGSM(Fast Gradient Sign Method)

AIの誤分類を引き起こす敵対的サンプル(Adversarial Examples)を作成する手法。敵対的サンプルとは、AIの誤分類を誘発するように細工された入力データを指しており、オリジナルのデータに「摂動」と呼ばれる微小なノイズを加え、意図的に特徴量を変化させることで作成します。なお、敵対的サンプルを利用してAIの誤分類を誘発する攻撃を「回避攻撃(Evasion Attack)」と呼びます。

詳細はこちら

Membership Inference Attacks(メンバーシップ推論攻撃)

AIの学習データを窃取する手法。攻撃者は標的AIに正常なデータを入力し、これに対するAIの応答(分類結果=ラベル、信頼スコア)を分析することで、入力したデータがAIの学習データに含まれているか(≒近似しているか)推論することができます。仮に、機密情報を含むデータを学習したAIが本攻撃を受けた場合、情報漏えいに繋がるおそれがあります。

詳細はこちら

Copycat CNN

モデルを窃取する手法。攻撃者は標的AIに複数の正常なデータ(画像など)を入力し、これらに対する標的AIの分類結果(ラベル)と入力データを紐づけて模倣データセットを作成します。そして、攻撃者は手元の独自AIを模倣データセットで学習し、標的AIと同等の性能を達成できるようにします。通常、AIの開発には多くのリソースやコストが投入されているため、攻撃者にAIが模倣された場合、ビジネスモデルが崩壊するおそれがあります。また、攻撃者は模倣AIを回避攻撃メンバーシップ推論攻撃の足掛かりとして利用することもできます。

詳細はこちら

BadNets

AIにバックドアを設置する手法。攻撃のアプローチは2つあります。第一は、攻撃者は学習を代行するMLaaSを装い、利用者から学習前のモデルと学習データを受け取ります。そして、学習データに汚染データを注入して学習を行い(データ汚染)、バックドアが設置された学習済みモデルを利用者に返却します。第二に、攻撃者はあらかじめバックドアを設置した事前学習モデルを、正規のモデルを装ってModel Zooなどの事前学習モデル配布サイトで配布します。このようにバックドアが設置されたモデルを「BadNets」と呼びます。BadNetsは殆どの正常データを正しいクラスに分類しますが、攻撃者しか知り得ない特定の入力データ(トリガー)を攻撃者が意図したクラスに誤分類します。このため、BadNetsの推論精度は殆ど劣化することがなく、AI開発者・利用者がバックドアの存在に気づくことは困難です。

詳細はこちら

Model Inversion Attacks(モデル反転攻撃)

AIの学習データを窃取する手法。攻撃の目標は「メンバーシップ推論攻撃」と同じくデータ窃取ですが、アプローチが大きく異なります。メンバーシップ推論攻撃では、攻撃者は正常な入力データに対する標的AIの応答を観察することで、入力データが標的AIの学習データに含まれているか否かを推論します。一方、Model Inversion Attacksは、ランダムに初期化した乱数データを標的AIに入力し、これに対する標的AIの勾配を観察します。そして、勾配を基に、窃取したいデータが属するクラスに対する入力データの誤差が小さくなる方向に入力データを変更します。この操作を繰り返すことで、入力データを窃取したいデータが属するクラスに近づけることができます(学習データの再構成)。仮に、機密情報を含むデータを学習したAIが本攻撃を受けた場合、情報漏えいに繋がるおそれがあります。

詳細はこちら

Adversarial Patches(敵対的パッチ)

AIによる物体検知を回避する手法。攻撃の目標は「敵対的サンプル」と同じく分類器や物体検知器の誤分類を誘発することですが、本手法は現実世界で攻撃を行うことに焦点を当てており、Adversarial Patchesと呼ばれる「特殊な柄のパッチ」を物体に貼り付けることで、AIベースのカメラ(監視カメラなど)で撮影された物体を全く関係のない物体として誤検知または検知不能にすることができます。仮に、建物への侵入を試みる攻撃者がAdversarial Patchesを(AIベースの)監視カメラに提示した場合、監視カメラが攻撃者を検知できずに建物への侵入を許してしまうおそれがあります。

詳細はこちら