Skip to main content
QUICK REVIEW

[논문 리뷰] Determinating Timing Channels in Compute Clouds

Amittai Aviram, Sen Hu|arXiv (Cornell University)|2010. 03. 27.
Parallel Computing and Optimization Techniques참고 문헌 35인용 수 7
한 줄 요약

이 논문은 클라우드 환경에서 제공자에 의해 강제되는 결정론적 실행을 제안하여, 병렬 처리나 공유 하드웨어 여부에 관계없이 응용 프로그램 출력에서 모든 실행 시간 변동을 제거함으로써 내부 타이밍 채널을 제거한다. 프로토타입 운영체제를 통해 실험한 결과, 결정론적 실행은 굵은 입자 병렬 작업 워크로드에서 네이티브 성능에 근접한 성능을 달성할 수 있으며, 클라우드 보안을 위한 자원 분할의 효율적이고 실용적인 대안이 된다.

ABSTRACT

Timing side-channels represent an insidious security challenge for cloud computing, because: (a) massive parallelism in the cloud makes timing channels pervasive and hard to control; (b) timing channels enable one customer to steal information from another without leaving a trail or raising alarms; (c) only the cloud provider can feasibly detect and report such attacks, but the provider's incentives are not to; and (d) resource partitioning schemes for timing channel control undermine statistical sharing efficiency, and, with it, the cloud computing business model. We propose a new approach to timing channel control, using provider-enforced deterministic execution instead of resource partitioning to eliminate timing channels within a shared cloud domain. Provider-enforced determinism prevents execution timing from affecting the results of a compute task, however large or parallel, ensuring that a task's outputs leak no timing information apart from explicit timing inputs and total compute duration. Experiments with a prototype OS for deterministic cloud computing suggest that such an approach may be practical and efficient. The OS supports deterministic versions of familiar APIs such as processes, threads, shared memory, and file systems, and runs coarse-grained parallel tasks as efficiently and scalably as current timing channel-ridden systems.

연구 동기 및 목표

  • 멀티테넌트 클라우드 환경에서 공유된 하드웨어 자원이 암묵적인 정보 유출을 가능하게 하는 타이밍 사이드 채널의 증가하는 위협을 해결하기 위해.
  • 통계적 다중화를 감소시키고 클라우드 비즈니스 모델을 약화시키는 자원 분할과 같은 기존 솔루션의 한계를 극복하기 위해.
  • 클라우드 제공자가 강제하는 결정론적 실행이 높은 성능과 응용 프로그램 호환성을 유지하면서도 모든 내부 타이밍 채널을 제거할 수 있는지 탐색하기 위해.
  • 클라우드 환경에서 프로세스, 스레드, 공유 메모리 전반에 걸쳐 결정론성을 강제하는 새로운 운영체제 아키텍처의 실현 가능성과 효율성을 평가하기 위해.

제안 방법

  • 클라우드 제공자 수준에서 결정론적 실행을 강제하여, 응용 프로그램 출력에서 모든 실행 시간 변동이 제거되도록 보장한다.
  • 프로세스, 스레드, 공유 메모리, 파일 시스템을 포함한 표준 API의 결정론적 버전을 지원하는 프로토타입 운영체제(Determinator)를 설계한다.
  • 병렬 처리, 캐시 공유, 하드웨어 자원 경쟁으로 인한 타이밍 사이드 채널이 발생하지 않도록 결정론적 스케줄링 및 실행 모델을 사용한다.
  • md5 및 blackscholes와 같은 굵은 입자 병렬 응용 프로그램에 접근하여 Linux와의 성능을 평가한다.
  • 표준 운영체제에서 고해상도 타이머를 비활성화했을 때의 영향을 평가하여 이러한 措치가 타이밍 누출을 효과적으로 줄일 수 있는지 확인한다.
  • SPLASH-2 및 Apache 웹 서버를 포함한 다양한 벤치마크에서 결정론적 및 비결정론적 시스템의 성능을 비교한다.

실험 결과

연구 질문

  • RQ1클라우드 제공자 수준에서의 결정론적 실행이 공유된 클라우드 환경에서 모든 내부 타이밍 채널을 제거할 수 있는가?
  • RQ2결정론적 운영체제의 성능은 굵은 입자 병렬 워크로드에서 표준 Linux와 비교해 어떻게 되는가?
  • RQ3기존 시스템인 Linux는 어느 정도 고해상도 타이머에 의존하는가? 그리고 이러한 타이머의 제거가 타이밍 채널을 효과적으로 차단할 수 있는가?
  • RQ4결정론적 클라우드 아키텍처는 인터랙티브, 트랜잭션 기반, 또는 통신 집약적인 응용 프로그램을 효율적으로 지원할 수 있는가?
  • RQ5중대한 재아키텍처 없이도 레거시 또는 다중 프로세스 응용 프로그램을 결정론적 클라우드 환경에서 실행하는 것이 가능한가?

주요 결과

  • md5 벤치마크는 결정론적 운영체제에서 12개의 코어에서 Linux 대비 2배 이상의 성능 향상을 보였다. 이는 일부 워크로드에서 성능 우월성이 있을 수 있음을 시사한다.
  • blackscholes 벤치마크는 분명히 병렬 처리가 가능한 작업이었으며, 결정론적 스케줄링으로 인한 일정한 성능 오버헤드로 인해 결정론적 운영체제에서 효율적으로 실행되었다.
  • SPLASH-2 벤치마크의 미세한 병렬 처리 응용 프로그램은 빈번한 스레드 간 동기화로 인해 높은 성능 비용을 지aying 것으로 나타나, 미세한 병렬 워크로드에선 상당한 성과 교환의 문제가 있음을 보여준다.
  • Linux에서 고해상도 타이머를 비활성화했을 때 Apache 웹 서버의 처리량은 약 20% 감소했으며, 이는 이러한 타이머가 성능에 매우 중요하고 쉽게 제거할 수 없다는 것을 보여준다.
  • 프로토타입 운영체제는 프로세스, 스레드, 공유 메모리 전반에 걸쳐 결정론성을 성공적으로 강제하여, 결정론적 실행이 클라우드 환경에서 실현 가능하다는 것을 입증했다.
  • 이 접근법은 자원 분할을 요구하지 않고도 모든 내부 타이밍 채널을 클라우드 경계에서 하나의 제어 가능한 채널로 집계함으로써 모든 내부 타이밍 채널을 제거한다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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