モデル抽出攻撃とは

モデル抽出攻撃とは、AIの中身を直接知らなくても、外から質問を繰り返すだけで、その機能をそっくり複製して「盗む」攻撃のことです。狙われるのは学習データではなく、開発に時間と費用をかけたAIモデルそのものです。

問い合わせの積み重ねで、コピーを作る

攻撃者は、公開された予測APIに大量の入力を投げ込み、返ってくる答えや確信度をかき集めます。その入出力の対応を学習させることで、ほぼ同じように振る舞う「コピーモデル」を外側から組み上げるのが基本的な流れです。やっかいなのは、確信度を出力から消すという素直な防御策をとっても、有害な複製を完全には防ぎきれないと報告されている点でしょう。

知識蒸留と似ているが、正当性が逆

大きなAIの振る舞いを小さなAIに移すという点では、正規の軽量化技術である知識蒸留とよく似ています。違いは目的と正当性にあり、蒸留が許可を得た正規の手法なのに対し、モデル抽出攻撃は無断での複製です。学習データを狙う他の攻撃とは異なり、これはAIモデルを知的財産・営業秘密として守れるかという論点につながります。

公開APIにする企業が知っておくべきこと

高い費用をかけて開発した独自のAIをそのまま公開APIにすると、競合に機能を写し取られる恐れがあります。「ソースコードも内部のパラメータも渡していないから安全」と思いがちですが、入力と出力を観察されるだけで、振る舞いは複製されうると考えておくほうが安全です。利用回数の制限や出力情報を絞る設計、利用規約などが現実的な備えになります。

Topic「確信度を隠せば安全」とはいかなかった

この攻撃を示した2016年の研究は、実在するクラウドAIサービスのBigMLやAmazonの機械学習を相手に複製の成立を確かめました。「何%の自信か」を出力から消すという当然の対策をとってもなお、有害な抽出は防ぎきれないと示した点が衝撃的で、APIを公開する以上、機能の流出はある程度避けにくいという宿題を残しました。

モデル抽出攻撃に関するよくある質問

モデル抽出攻撃は何を盗むのですか?
学習データではなく、開発に時間と費用をかけたAIモデルそのもの(その機能)を盗みます。攻撃者は公開された予測APIに大量の入力を投げ、返ってくる答えや確信度を集め、その入出力の対応を学習させて、ほぼ同じに振る舞う「コピーモデル」を外側から組み上げます。
正規の技術である知識蒸留とどう違うのですか?
大きなAIの振る舞いを別のモデルに移す点は似ていますが、正当性が逆です。知識蒸留は許可を得た正規の軽量化手法、モデル抽出攻撃は無断での複製で、AIモデルを知的財産・営業秘密として守れるか、という論点につながります。
「内部を渡していないから安全」と考えてよいですか?
安全とは言い切れません。ソースコードもパラメータも渡さなくても、入力と出力を観察されるだけで振る舞いは複製されえます。2016年の研究は実在のクラウドAIで複製の成立を確かめ、確信度を出力から消しても有害な抽出は防ぎきれないと示しました。利用回数の制限や出力情報を絞る設計、利用規約が現実的な備えになります。