Skip to main content
QUICK REVIEW

[논문 리뷰] Osiris: Automated Discovery of Microarchitectural Side Channels

Daniel Weber, Ahmad Ibrahim|arXiv (Cornell University)|2021. 06. 07.
Security and Verification in Computing참고 문헌 48인용 수 16
한 줄 요약

Osiris는 기계로 읽을 수 있는 ISA 사양을 사용하여 CPU에서 시간 기반의 마이크로아ーキ테크처적 측면채널을 자동으로 탐지하는 퍼지 기반 프레임워크이다. 이는 측면채널을 구성하는 지시어 시퀀스 트리플(초기화, 유도, 측정)을 식별하며, 인텔 및 AMD CPU에서 네 가지의 새로운 측면채널을 발견하였다. 이 중에는 KASLR 해제와 AWS에서 1 kbit/s의 고대역폭 복수 VM 간 도용 채널이 포함되어 있다.

ABSTRACT

In the last years, a series of side channels have been discovered on CPUs. These side channels have been used in powerful attacks, e.g., on cryptographic implementations, or as building blocks in transient-execution attacks such as Spectre or Meltdown. However, in many cases, discovering side channels is still a tedious manual process. In this paper, we present Osiris, a fuzzing-based framework to automatically discover microarchitectural side channels. Based on a machine-readable specification of a CPU's ISA, Osiris generates instruction-sequence triples and automatically tests whether they form a timing-based side channel. Furthermore, Osiris evaluates their usability as a side channel in transient-execution attacks, i.e., as the microarchitectural encoding for attacks like Spectre. In total, we discover four novel timing-based side channels on Intel and AMD CPUs. Based on these side channels, we demonstrate exploitation in three case studies. We show that our microarchitectural KASLR break using non-temporal loads, FlushConflict, even works on the new Intel Ice Lake and Comet Lake microarchitectures. We present a cross-core cross-VM covert channel that is not relying on the memory subsystem and transmits up to 1 kbit/s. We demonstrate this channel on the AWS cloud, showing that it is stealthy and noise resistant. Finally, we demonstrate Stream+Reload, a covert channel for transient-execution attacks that, on average, allows leaking 7.83 bytes within a transient window, improving state-of-the-art attacks that only leak up to 3 bytes.

연구 동기 및 목표

  • 현대 CPU에서 시간 기반의 마이크로아키텍처적 측면채널을 자동으로 탐지하는 것. 이러한 측면채널은 일반적으로 수작업 분석을 통해 발견되며, 이는 고된 노동을 수반한다.
  • 저수준 마이크로아키텍처 역설계가 필요 없이도 측정 가능한 마이크로아키텍처적 측면효과를 유도하는 복잡한 지시어 상호작용을 식별하는 데 도전하는 것.
  • Spectre나 Meltdown과 같은 임시 실행 공격에서 악용 가능한 측면채널을 체계적이고 확장 가능한 방식으로 탐지할 수 있도록 하는 것.
  • ISA 사양과 통합함으로써 CPU 설계 단계에서 초기에 측면채널을 탐지할 수 있도록 하여, 기본적으로 보안성을 향상시키는 것.
  • 기존의 경쟁 기반 또는 캐시 기반 측면채널을 넘어서, 새로운 시간 기반 측면채널까지 포함한 자동 측면채널 탐지 범위를 확장하는 것.

제안 방법

  • 측면채널을 트리플로 표현함: 초기화 시퀀스, 유도 시퀀스, 측정 시퀀스로 구성하여 마이크로아키텍처 상태 변화를 체계적으로 모델링함.
  • 기계로 읽을 수 있는 x86/ARMv8 ISA 사양에서 유도된 지시어 조합을 생성하고 테스트하는 퍼지 기반 접근 방식을 사용함.
  • 비특권 사용자가 실행할 수 있는 지시어만 필터링하여 검색 공간을 실용적이고 관련 있는 조합으로 줄임.
  • 실행 시간의 차이를 측정하여 시간 기반 측면채널을 탐지함. 고정밀 측정을 위해 인-line 어셈블리 사용.
  • 퍼지 라운드 동안 마이크로아키텍처적 측면효과를 처리하기 위한 피드백 메커니즘을 적용하여 수렴성과 안정성을 향상함.
  • 향후 탈출 기반 측면채널 탐지 가능성을 위해 성능 카운터 및 저수준 인터페이스(예: Intel VISA/ITP-XDP)와 통합함.

실험 결과

연구 질문

  • RQ1사전에 마이크로아키텍처적 행동에 대한 지식 없이도 일반적이고 자동화된 프레임워크가 새로운 시간 기반 마이크로아키텍처적 측면채널을 탐지할 수 있는가?
  • RQ2ISA 사양 기반의 퍼저가 경쟁이나 캐시 탈출에 의존하지 않는 측면채널을 어느 정도 식별할 수 있는가?
  • RQ3이러한 프레임워크가 실제 공격에 악용 가능한 측면채널(예: KASLR 우회 또는 도용 채널)을 탐지할 수 있는가?
  • RQ4프레임워크는 미세한 시간 차이(100 사이클 이하)를 가진 측면채널을 탐지하는 데 얼마나 효과적인가? 그리고 일반 소비자 환경에서의 실용적 한계는 무엇인가?
  • RQ5이 프레임워크는 단일 지시어 시간 기반 채널을 넘어서 다중 지시어 시퀀스 및 기타 측면채널 유형을 지원할 수 있도록 확장 가능한가?

주요 결과

  • Osiris는 인텔 및 AMD CPU에서 네 가지의 새로운 시간 기반 마이크로아키텍처적 측면채널을 발견하였으며, 이 중 하나는 비임시 로드(FlushConflict)를 통해 아이스 레이크와 코멧 레이크에서 KASLR 해제를 가능하게 하는 것으로, 이는 빠른 메모리 접근을 통해 작동한다.
  • 프레임워크는 메모리 서브시스템에 의존하지 않고도 코어 간, VM 간 도용 채널을 생성할 수 있도록 하였으며, AWS에서 최대 1 kbit/s의 전송 속도를 성공적으로 구현하였다.
  • Stream+Reload 공격의 새로운 변종을 시연하였으며, 평균적으로 각 임시 윈도우당 7.83바이트의 유출량을 달성하여 이전 최고 수준의 공격(최대 3바이트 유출)을 초월하였다.
  • Osiris는 기존에 알려진 측면채널인 Flush+Reload와 AVX2 측면채널을 성공적으로 재발견하여, 탐지 능력을 검증하였다.
  • OS 수준의 노이즈로 인해 100 사이클 이하의 시간 차이를 탐지하는 데에는 제한이 있었지만, 다양한 CPU에서 500시간 이내의 런타임 동안도 악용 가능한 측면채널을 식별하였다.
  • 프레임워크는 ARMv8와 같은 다른 아키텍처로도 확장 가능하며, 향후 성능 카운터나 디버그 인터페이스를 통합하여 탈출 기반 측면채널 탐지 기능을 향상시킬 수 있다.

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

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

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

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