クラウドプロバイダーは、Intel SGXなどの信頼できるハードウェアプリミティブのサポートを拡張しています。同時に、ディープラーニングの分野では、巨大な技術革新と採用の増加が見られています。このホワイトペーパーでは、「サードパーティのクラウドサービスはIntel SGXエンクレーブを使用して、実用的かつ安全なDNN Inference-a-a-Serviceを提供できますか?」というタイムリーな質問をします。最初に、エンクレーブ内で実行されるDNNモデルがアクセスパターンベースの攻撃に対して脆弱であることを示します。攻撃者は、アクセスパターンを単純に観察することで、元の精度がそれぞれ99%および79%になるようにトレーニングされたモデルのMNISTおよびCIFAR10データセットに対して、暗号化された入力を97%および71%の攻撃精度で分類できることを示します。これにより、安全で使いやすく、パフォーマンス効率の高いサービスとしての推論のために設計されたシステムであるPRIVADOが必要になります。 PRIVADOは入力を無視します。C/ C ++で記述されたディープラーニングフレームワークを、入力依存のアクセスパターンから解放し、漏洩を排除します。 PRIVADOは完全に自動化されており、TCBが低くなっています。モデルのONNX記述を考慮すると、開発者の労力なしで、SGXクラウドプラットフォームに展開できるコンパクトでエンクレーブ互換のコードを生成します。 PRIVADOのパフォーマンスオーバーヘッドは低くなります。PRIVADOをTorchフレームワークとともに使用すると、11種類の最新のニューラルネットワークで平均17.17%のオーバーヘッドが発生します。
Cloud providers are extending support for trusted hardware primitives such as Intel SGX. Simultaneously, the field of deep learning is seeing enormous innovation as well as an increase in adoption. In this paper, we ask a timely question: "Can third-party cloud services use Intel SGX enclaves to provide practical, yet secure DNN Inference-as-a-service?" We first demonstrate that DNN models executing inside enclaves are vulnerable to access pattern based attacks. We show that by simply observing access patterns, an attacker can classify encrypted inputs with 97% and 71% attack accuracy for MNIST and CIFAR10 datasets on models trained to achieve 99% and 79% original accuracy respectively. This motivates the need for PRIVADO, a system we have designed for secure, easy-to-use, and performance efficient inference-as-a-service. PRIVADO is input-oblivious: it transforms any deep learning framework that is written in C/C++ to be free of input-dependent access patterns thus eliminating the leakage. PRIVADO is fully-automated and has a low TCB: with zero developer effort, given an ONNX description of a model, it generates compact and enclave-compatible code which can be deployed on an SGX cloud platform. PRIVADO incurs low performance overhead: we use PRIVADO with Torch framework and show its overhead to be 17.18% on average on 11 different contemporary neural networks.