[論文レビュー] How to 0wn NAS in Your Spare Time
本論文は、Flush+Reload側面からの漏洩情報のみを用いて、新規の深層学習システム——特にデータ前処理パイプラインおよびニューラルアーキテクチャ——を再構築する実用的なキャッシュ側面チャネル攻撃を提示する。この手法は計算トレースを推定し、候補アーキテクチャを生成し、パラメータ推定によってそれらを絞り込む。MalConvおよびProxylessNAS-CPUにおいて、再構築誤差が0%に達する。
New data processing pipelines and novel network architectures increasingly drive the success of deep learning. In consequence, the industry considers top-performing architectures as intellectual property and devotes considerable computational resources to discovering such architectures through neural architecture search (NAS). This provides an incentive for adversaries to steal these novel architectures; when used in the cloud, to provide Machine Learning as a Service, the adversaries also have an opportunity to reconstruct the architectures by exploiting a range of hardware side channels. However, it is challenging to reconstruct novel architectures and pipelines without knowing the computational graph (e.g., the layers, branches or skip connections), the architectural parameters (e.g., the number of filters in a convolutional layer) or the specific pre-processing steps (e.g. embeddings). In this paper, we design an algorithm that reconstructs the key components of a novel deep learning system by exploiting a small amount of information leakage from a cache side-channel attack, Flush+Reload. We use Flush+Reload to infer the trace of computations and the timing for each computation. Our algorithm then generates candidate computational graphs from the trace and eliminates incompatible candidates through a parameter estimation process. We implement our algorithm in PyTorch and Tensorflow. We demonstrate experimentally that we can reconstruct MalConv, a novel data pre-processing pipeline for malware detection, and ProxylessNAS- CPU, a novel network architecture for the ImageNet classification optimized to run on CPUs, without knowing the architecture family. In both cases, we achieve 0% error. These results suggest hardware side channels are a practical attack vector against MLaaS, and more efforts should be devoted to understanding their impact on the security of deep learning systems.
研究の動機と目的
- 深層学習における知的財産権の盗難増加に対処し、新規アーキテクチャおよび前処理パイプラインが貴重なトレードシークレットであることを目的とする。
- クラウドベースのMLaaSにおけるハードウェア側面チャネル漏洩が、事前の知識なしに完全な深層学習システムを再構築可能かどうかを調査すること。
- 共存する仮想マシンからの最小限の側面チャネル情報のみを用いて、深層学習システムの主要なコンponentsを実用的に再構築する攻撃を開発すること。
- 実世界のモデル、MalConvおよびProxylessNAS-CPUを対象として、現実的なクラウドデプロイメント環境下での攻撃の実現可能性と有効性を実証すること。
提案手法
- 共存する仮想マシン上で、被害者の深層学習推論におけるキャッシュアクセスパターンを監視するためにFlush+Reload側面チャネル攻撃を活用する。
- キャッシュアクセスパターンから関数呼び出しのトレースと実行時間を抽出し、畳み込みやバッチ正則化などの演算を特定する。
- 観測された演算の順序とタイミングを分析して計算グラフを生成し、未知のパラメータを含む計算グラフとしてモデル化する。
- 観測された実行時間と理論的行列乗算コストを照合することで、不適合な候補アーキテクチャを特定・除外するパラメータ推定プロセスを採用する。
- 繰り返しクエリにおける再発生する演算ブロックを特定するための頻度シーケンスマイニング(FSM)を用い、複数入力における再構築精度を向上させる。
- 攻撃のクロスフレームワーク適合性と耐性を検証するため、PyTorchおよびTensorFlowの両方で攻撃を実装する。
実験結果
リサーチクエスチョン
- RQ1事前のアーキテクチャ知識なしに、キャッシュ側面チャネル攻撃が新規の深層学習システムの完全な計算グラフを再構築可能か?
- RQ2実行タイミングとキャッシュアクセスパターンをどれほど活用して、カーネルサイズ、フィルタ数、ストライドなどのアーキテクチャハイパーパrameterを推定できるか?
- RQ3実世界のモデル、MalConvおよびProxylessNAS-CPUをクラウドベースのMLaaS環境で適用した場合、この再構築攻撃の有効性はどの程度か?
- RQ4被害者がダミー演算や計算のシャッフルなどのオブスクリーション技術を用いる場合、攻撃の実用的限界は何か?
- RQ5アーキテクチャのオブスクリーションによって攻撃を防げるか、パフォーマンスと実現可能性の観点からその妥当性は何か?
主な発見
- 攻撃は、1回の推論クエリからの側面チャネル漏洩情報のみを用いて、新規のマルウェア検出前処理パイプラインであるMalConvを0%の誤差で再構築に成功した。
- アーキテクチャファミリーの事前知識なしに、CPU推論最適化された新規ニューラルアーキテクチャであるProxylessNAS-CPUを0%の誤差で再構築した。
- 観測された実行時間と理論的行列乗算コストの相関を活用することで、正確なパラメータ推定が可能となり、再構築プロセスは完璧な正確性を達成した。
- 被害者のシステムにダミー演算や計算のシャッフルなどのオブスクリーション技術が含まれても、攻撃は依然として有効であるが、再構築時間が延長される。
- パディング演算子やデコイネットワークの実行といった防御策は攻撃者の作業負荷を増加させるが、完全に防げるわけではない。繰り返しクエリによりノイズキャンセレーションとFSMベースのパターン回復が可能となる。
- 結果として、ハードウェア側面チャネルがMLaaSプラットフォームのセキュリティにとって現実的で深刻な脅威であることが示された。特に、知的財産価値の高いシステムにおいて顕著である。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。