Practical Black-Box Attacks against Machine Learning

ニューラルネットワークアーキテクチャおよび勾配情報なしに攻撃を行うBlack-Box Adversarial Attackについての論文.

Adversarial Attackについての概要とPyTorchを用いた実装については以下の記事を参照.

noconocolib.hatenablog.com

概要

White-Box Adversarial Attacksでは,攻撃のためにはモデルの内部情報と学習データが必要だったが,それに対してそうした学習状況及びモデルについての知識なしにニューラルネットワークに対する攻撃が可能であることを示している.

提案手法では,APIなどでリモートで提供されているニューラルネットワークモデルに対して攻撃を行うことを想定している.提案手法を大まかに言うと,直接アクセスできない攻撃対象のモデルを再現するような適当なモデルをローカルで学習し,そのモデルを騙せるようなAdversarial Examplesを生成することで結果的に攻撃対象のモデルも騙すことができるとしている.

Black-Box Attack Strategy

攻撃者の目的は,対象のモデルの誤分類を誘発するようなサンプルを生成すること.更にこのサンプルは,人の目で見たときに不自然でないようなサンプルでなければいけない.

既存のAdversarial Attacksの手法では,モデルの内部情報や学習データセットを利用したものが主流だったが,現実的にはそのような問題設定は作りづらい.例えばサーバ上でAPIとしてモデルが提供されているケースなどが考えられる.

それに対して,論文ではモデルの一切の内部情報なしに,入出力の情報のみから攻撃対象のモデルを騙せるようなサンプルを生成するBlack-Box Attackの手法を提案.提案手法は以下の2つのステップから成る:

  • Substitute Model Training: 攻撃対象のモデルに対して適当な入力を用意して推論させ,そのモデルの出力を近似するようなモデルをローカルで学習.
  • Adversarial Sample Crafting: ローカルで学習したモデルを騙すようなAdversarial Examplesを生成する.Adversarial Samplesのtransferabilityによって,このサンプルはもともとの攻撃対象のモデルを誤分類させることが可能.

Substitute Model Training

代替モデル Fをオラク Oを近似するように学習させる.これは,モデルアーキテクチャの選択やオラクルへのクエリ問い合わせ回数の制限などの問題から,難しいタスクになる.

提案手法では,そうした課題をJacobian-based Dataset Augmentationという疑似データ生成手法を導入することで解決している.

f:id:noconocolib:20190121005936p:plain
Training of the substitute DNN  F

アルゴリズムの概要は,

  • Initial Collection: ごく少数のデータ集合 S_0を用意する.このデータ集合は,必ずしもオラクルが学習に用いたデータの部分集合である必要はない.
  • Architecture Selection: ローカルで学習するだいたいモデル Fを選択する.このモデルは,大雑把にオラクルと同じ入出力を満たし,かつ対象タスクでよく使われるようなものを選ぶだけでいい.
  • Substitute Training: 以下のプロセスを繰り返すことで,よりオラクルを正確に近似するような代替モデルを学習する.
    • Labeling: 最初に選んだデータ集合にラベルを付与する.このラベルは,オラクルの出力を利用する.
    • Training: ラベルを付与したデータセットに対して代替モデルを学習する.
    • Augmentation: 提案するデータ拡張のテクニックを用いてデータセットを水増しする.

f:id:noconocolib:20190121011454p:plain

こうして学習したモデルに対して,既存のAdversarial Examplesを生成する手法を適用することで,オラクルの誤分類を誘発するサンプルを生成する.

実験結果では,実際にいくつかの公開されている機械学習APIに対して,攻撃が成功することを示している.