開発工程 | 攻撃分類 | 攻撃手法 | 防御手法 |
---|---|---|---|
学習データの収集/作成 (Data Preparation) |
データ汚染 |
|
|
モデルの学習/作成 (Model Fitting) |
モデル汚染 |
|
|
モデルの設置 (Deployment) |
敵対的サンプル | ||
データ窃取 |
|
||
|
|||
モデル窃取 |
|
Membership Inference Attacks(メンバーシップ推論攻撃)
AIの学習データを窃取する手法。攻撃者は標的AIに正常なデータを入力し、これに対するAIの応答(分類結果=ラベル、信頼スコア)を分析することで、入力したデータがAIの学習データに含まれているか(≒近似しているか)推論することができます。仮に、機密情報を含むデータを学習したAIが本攻撃を受けた場合、情報漏えいに繋がるおそれがあります。
Membership Inference Attacks(メンバーシップ推論攻撃)は、モデルの設置/運用・保守工程を狙った「データ窃取」の1手法です。
2016年に論文「Membership Inference Attacks against Machine Learning Models」で発表されました。Membership Inference Attacksは、攻撃者が標的AIにデータを入力し、これに対するAIの応答(分類結果=ラベル、信頼スコア)を分析することで、入力したデータがAIの学習データに含まれるか否か(メンバーシップか否か)を推論することができます。なお、後述する「シャドウモデル」を利用することで、標的AIが攻撃者の手元になくとも攻撃することができるため(ブラックボックス攻撃)、現実的な脅威であると言えます。
以下は、Membership Inference Attacksで標的AIの学習データを推論する様子を表しています。
攻撃は以下の流れで実行されます。
なお、攻撃モデルは標的AIが出力する信頼スコアを入力に取り、0~1の範囲内の値を出力する2値分類器です。攻撃モデルの出力値は標的AIへの入力データがメンバーシップである確率を表しており、1に近いほどメンバーシップである可能性が高いことを意味します。例えば、任意のデータを標的AIに入力して得られた信頼スコアを攻撃モデルに入力し、その出力が「0.98」となった場合、「任意のデータは98%の確率で(標的AIの)メンバーシップである」と判断します。
このMembership Inference Attacksの成否を占う上でポイントになるのは以下の2点です。
先ず、標的AIが過学習している点を見ていきましょう。
攻撃モデルは標的AIの信頼スコアを基に、標的AIへの入力データがメンバーシップか否かを判定するため、上図に示すように学習データ(Target-In)に対応する信頼スコア([0.82, 0.07, 0.01...0.02])と、学習データ以外のデータ(Target-Out)に対応する信頼スコア([0.34, 0.12, 0.07...0.10])の特徴に大きな違いがある場合、攻撃モデルの分類精度も高くなります。よって、学習データを過学習したAIほど、学習データ(Target-In)に対応する信頼スコアの偏りが大きくなるため(対応するラベルの信頼スコアが突出する)、Membership Inference Attacksに対して脆弱になります。
次に、標的AIとシャドウモデルを近似させる点について見ていきましょう。
ところで、攻撃モデルはどのように作成するのでしょうか?
攻撃モデルは(標的AIが出力する)信頼スコアを2値分類(メンバーシップであるか否か)する分類器となるため、攻撃モデルを作成するためには、以下のような学習データを用意する必要があります。
データ(標的AIの信頼スコア) | ラベル(メンバーシップ:1、メンバーシップではない:0) |
---|---|
0.76, 0.03, 0.04, …snip… , 0.02, 0.05, 0.01 | 1 |
0.01, 0.07, 0.01, …snip… , 0.82, 0.03, 0.02 | 1 |
0.01, 0.01, 0.90, …snip… , 0.01, 0.01, 0.01 | 1 |
0.12, 0.34, 0.07, …snip… , 0.08, 0.13, 0.10 | 0 |
0.10, 0.18, 0.02, …snip… , 0.03, 0.10, 0.54 | 0 |
0.23, 0.09, 0.11, …snip… , 0.01, 0.46, 0.03 | 0 |
「データ」が標的AIが出力する信頼スコア、「ラベル」がメンバーシップか否かを表す値です。
この学習データを作成するためには、標的AIが「学習したデータ」と「学習していないデータ」を知る必要があります。しかし、ブラックボックス攻撃では、攻撃者はそれらを知ることができません(そもそも、知ってたら攻撃する必要がない)。そこで、攻撃者は、標的AIを模倣したシャドウモデルを手元に作成し、これを使用して攻撃モデルの学習データを作成します。
以下の図は、シャドウモデルを使用して攻撃モデルの学習データを作成する様子を表しています。
あらかじめ攻撃者は、標的AIの学習データ分布をある程度予測し、近しい学習データを用意します。そして、用意したデータをシャドウモデルの学習に使用するデータ(Shadow-In)と、学習に使用しないデータ(Shadow-Out)に分割します。その上で、学習データを用いてシャドウモデル(Shadow network)を学習・作成します。
次に、学習データ(Shadow-In)と学習データ以外のデータ(Shadow-Out)をシャドウモデルに入力し、それぞれの信頼スコア(Probability vector)を取得します。この時、学習データに対応する信頼スコアには「1」(=メンバーシップである)、学習データ以外のデータに対応する信頼スコアには「0」(=メンバーシップではない)をラベリングし、以下のような攻撃モデルの学習データを作成します。
データ(シャドウモデルの信頼スコア) | ラベル(メンバーシップ:1、メンバーシップではない:0) |
---|---|
0.90, 0.01, 0.01, …snip… , 0.01, 0.01, 0.01 | 1 |
0.02, 0.03, 0.82, …snip… , 0.01, 0.07, 0.01 | 1 |
0.02, 0.01, 0.05, …snip… , 0.76, 0.04, 0.03 | 1 |
0.13, 0.07, 0.34, …snip… , 0.10, 0.12, 0.08 | 0 |
0.03, 0.02, 0.18, …snip… , 0.10, 0.54, 0.10 | 0 |
0.03, 0.01, 0.11, …snip… , 0.09, 0.23, 0.46 | 0 |
上記の学習データ分布が、標的AIを利用して作成される学習データ分布に近似している場合、攻撃モデルの分類精度も高くなります。よって、標的AIに近しいシャドウモデルを作成することが重要になります。
以下、データセット「CIFAR-10」を過学習した標的AI(画像分類器)に対して、Membership Inference Attacksを実行した結果の一部を示します。この検証では、標的AIとシャドウモデルは異なるアーキテクチャ(それぞれ、ResNet20とResNet110)とし、それぞれCIFAR-10を(重複しないように)分割したデータを用いて学習しています。
各画像のキャプションの数字は「攻撃モデルの出力を確率に変換した値」であり、
と攻撃モデルが判断したことを表しています(50%は判断不能)。
一方、下段の文字列は、当該画像の実際のクラスを表しており、Target-Inはメンバーシップ、Target-Outはメンバーシップではないことを表しています。なお、確率値が「0.00%」になっている画像がありますが、これは図示の都合上小数第三位以降は表示を省略したためであり、完全に0%ではないことに注意してください。
上図を見ると、「25枚中20個はメンバーシップの推論に成功」していることが分かります(成功率は約80%)。このように、シャドウモデルと標的AIのアーキテクチャが完全に一致していなくとも、ブラックボックスでMembership Inference Attacksを実行することができます。
より詳細な内容を知りたい方は、解説ブログをご参照ください。