Skip to main content
QUICK REVIEW

[논문 리뷰] Privado: Practical and Secure DNN Inference.

Shruti Tople, Karan Grover|arXiv (Cornell University)|2018. 10. 01.
Security and Verification in Computing참고 문헌 31인용 수 28
한 줄 요약

Privado는 Intel SGX를 사용하여 실용적이고 안전한 DNN 추론 서비스를 구현하기 위해 ONNX 모델을 자동으로 압축되고 안전한 C 코드로 변환함으로써 입력에 의존하는 액세스 패턴을 제거함으로써 가능하게 한다. 이는 10개의 현대적 네트워크에서 평균 20.77%의 성능 오버헤드를 기록하면서도 사이드채널 공격에 대한 입력 무관성(입력에 영향을 받지 않는) 보장을 한다.

ABSTRACT

Recently, cloud providers have extended support for trusted hardware primitives such as Intel SGX. Simultaneously, the field of deep learning is seeing enormous innovation and increase in adoption. In this paper, we therefore ask the question: Can third-party cloud services use SGX to provide practical, yet secure DNN Inference-as-a-service? Our work addresses the three main challenges that SGX-based DNN inferencing faces, namely, security, ease-of-use, and performance. We first demonstrate that side-channel based attacks on DNN models are indeed possible. We show that, by observing access patterns, we can recover inputs to the DNN model. This motivates the need for Privado, a system we have designed for secure inference-as-a-service. Privado is input-oblivious: it transforms any deep learning framework written in C/C++ to be free of input-dependent access patterns. Privado is fully-automated and has a low TCB: with zero developer effort, given an ONNX description, it generates compact C code for the model which can run within SGX-enclaves. Privado has low performance overhead: we have used Privado with Torch, and have shown its overhead to be 20.77\% on average on 10 contemporary networks.

연구 동기 및 목표

  • 신뢰할 수 없는 클라우드 환경에서 Intel SGX와 같은 신뢰할 수 있는 하드웨어를 사용하여 DNN 추론을 보호하는 데 도전하는 데 목적이 있다.
  • DNN 추론에서 입력에 따라 달라지는 메모리 액세스 패턴을 악용하는 사이드채널 공격을 제거하는 데 목적이 있다.
  • 모델 배포에 있어 개발자 노력이 전혀 필요 없는 완전 자동화된 낮은 신뢰도 코드 기반 솔루션을 제공하는 데 목적이 있다.
  • 보안을 훼손하지 않으면서도 SGX 기반 추론에서 높은 성능 효율성을 달성하는 데 목적이 있다.
  • 강력한 보안 보장을 제공하는 실용적인 DNN 추론-as-a-service의 구현을 가능하게 하는 데 목적이 있다.

제안 방법

  • Privado는 입력에 의존하는 메모리 액세스 패턴을 제거하여 어떤 C/C++ 기반 딥러닝 모델도 입력에 무관한 형태로 변환한다.
  • ONNX 모델에 대해 정적 분석 및 코드 변환 파이프라인을 사용하여 SGX 에이전트 내에서 실행 가능한 압축되고 안전한 C 코드를 생성한다.
  • 시스템은 메모리 액세스 패턴이 모델 입력에 대한 정보를 泄露하지 않도록 보장하여 사이드채널 누출을 방지한다.
  • Privado는 최소한의 신뢰 컴퓨팅 기반(TCB)을 운영하며, SGX 하드웨어와 소형의 형식적으로 검증 가능한 런타임 외에는 의존하지 않는다.
  • ONNX를 입력으로 받아 최적화된 에이전트 호환 코드를 생성함으로써 PyTorch와 같은 기존 딥러닝 프레임워크와 원활하게 통합된다.
  • 변환 과정은 완전 자동화되어 있으며, 수동 코드 수정이나 개발자 간섭이 전혀 필요하지 않다.

실험 결과

연구 질문

  • RQ1메모리 액세스 패턴에 기반한 사이드채널 공격이 SGX 보호 DNN 추론에서 입력의 기밀성을 침해할 수 있는가?
  • RQ2어떻게 하면 SGX 에이전트 내에서 이러한 사이드채널 누출을 방지하기 위해 DNN 추론을 입력에 무관하게 만들 수 있는가?
  • RQ3SGX에서 자동화된, 개발자 노력이 없는 변환을 통해 DNN 추론을 보안화할 경우 성능 오버헤드는 어느 정도인가?
  • RQ4강력한 보안, 낮은 TCB, 실용적인 성능을 동시에 확보할 수 있는 DNN 추론-as-a-service 시스템을 구축할 수 있는가?
  • RQ5기존 딥러닝 프레임워크는 ONNX를 중간 표현으로 사용하여 SGX에서 어떻게 안전하고 효율적으로 배포할 수 있는가?

주요 결과

  • 메모리 액세스 패턴에 기반한 사이드채널 공격은 DNN 모델의 입력을 성공적으로 복구할 수 있으며, 이는 SGX 보호 추론에 대한 실제 위협임을 입증한다.
  • Privado는 효과적으로 입력에 의존하는 액세스 패턴을 제거하여 시스템이 입력에 무관해지고 이러한 사이드채널 누출에 저항할 수 있도록 한다.
  • PyTorch 모델을 사용하여 배포할 경우, 10개의 현대적 딥 네트워크에서 평균 20.77%의 성능 오버헤드를 기록한다.
  • Privado는 개발자 노력이 전혀 필요 없으며, ONNX 모델을 자동으로 안전하고 압축된 C 코드로 변환하여 SGX에서 실행할 수 있도록 한다.
  • Privado의 신뢰 컴퓨팅 기반은 매우 작으며, SGX 하드웨어와 소형의 형식적으로 검증 가능한 런타임 컴ponent 외에는 포함하지 않는다.
  • 이 방법은 강력한 기밀성 보장을 제공하는 실용적인 보안 DNN 추론-as-a-service의 구현을 가능하게 한다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.