[논문 리뷰] Your Processor Leaks Information - and There's Nothing You Can Do About It
이 논문은 현대 x86 및 ARM 프로세서가 운영체제 수준의 플래시 메커니즘에도 불구하고 마이크로아키텍처적 타이밍 채널—예를 들어 캐시, 분기 예측기, 프리패치기—을 통해 본질적으로 정보를 泄露한다는 것을 입증한다. 저자들은 모든 알려진 완화 조치를 적용한 후에도 잔류하는 고용량 채널이 여전히 존재함을 보여주며, 현재의 주류 프로세서가 상태 분할 또는 플래시 기능을 위한 하드웨어 수준의 지원이 없이선 이러한 사이드채널 공격으로부터 보호될 수 없다고 증명한다.
Timing channels are information flows, encoded in the relative timing of events, that bypass the system's protection mechanisms. Any microarchitectural state that depends on execution history and affects the rate of progress of later executions potentially establishes a timing channel, unless explicit steps are taken to close it. Such state includes CPU caches, TLBs, branch predictors and prefetchers; removing the channels requires that the OS can partition such state or flush it on a switch of security domains. We measure the capacities of channels based on these microarchitectural features on several generations of processors across the two mainstream ISAs, x86 and ARM, and investigate the effectiveness of the flushing mechanisms provided by the respective ISA.We find that in all processors we studied, at least one significant channel remains. This implies that closing all timing channels seems impossible on contemporary mainstream processors.
연구 동기 및 목표
- 현대 x86 및 ARM 프로세서에서 마이크로아키텍처적 타이밍 채널이 완전히 차단될 수 있는지 조사하기 위해.
- 캐시, TLB, 분기 예측기, 프리패처와 같은 기능에서 발생하는 타이밍 채널의 용량을 측정하기 위해.
- 기존 운영체제 수준의 플래시 메커니즘이 이러한 채널을 닫는 데 얼마나 효과적인지 평가하기 위해.
- 기존 대응 조치에도 불구하고 여전히 악용 가능한 마이크로아키텍처적 기능을 특정하기 위해.
- 현재의 ISA가 안전한 시스템 설계에 부적합하며, 하드웨어-소프트웨어 계약의 확장을 주장하기 위해.
제안 방법
- x86 및 ARM 프로세서에서 알려진 모든 캐싱 마이크로아키텍처 기능을 대상으로 한 은밀한 타이밍 채널을 구현하였다.
- 여러 프로세서 세대에서 운영체제 수준의 플래시 메커니즘 유무에 따라 채널 용량을 측정하였다.
- 명령어 프리패칭의 행동을 분석하고 잔류 채널을 생성하는 데서의 역할을 분석하였다.
- 지속적인 타이밍 채널 원천으로서 분기 대상 버퍼와 분기 기록 버퍼의 평가를 수행하였다.
- 채널 용량과 잔류 누출을 정량화하기 위해 探측 기법과 신뢰구간을 사용하였다.
- wbinvd와 같은 기존 ISA 메커니즘의 한계와 선택적 캐시 플래시의 부재를 평가하였다.
실험 결과
연구 질문
- RQ1현대 x86 및 ARM 프로세서에서 알려진 운영체제 수준의 플래시 기법을 사용해 마이크로아키텍처적 타이밍 채널을 완전히 제거할 수 있는가?
- RQ2모든 알려진 완화 조치를 적용한 후 현대 프로세서에서 잔류 채널 용량은 얼마인가?
- RQ3분기 예측기, 프리패처와 같은 마이크로아키텍처 구성 요소 중에서 플래시 후에도 여전히 악용 가능한 것은 무엇인가?
- RQ4특히 I-cache와 분기 기록 구조에서 잔류 채널이 지속되는 이유는 무엇인가?
- RQ5현재의 ISA는 역사 의존적 마이크로아키텍처 상태의 안전한 분할 또는 플래시를 어느 정도 지원하는가?
주요 결과
- 모든 테스트된 x86 및 ARM 프로세서에서 운영체제 수준의 완전한 플래시에도 불구하고 최소한 하나의 주요 타이밍 채널이 여전히 활성화되어 있다.
- x86의 분기 대상 버퍼는 기존 기법으로는 완화할 수 없는 타이밍 채널을 제공한다.
- x86의 분기 기록 버퍼와 더 최근의 ARM 플랫폼에서도 수정이 불가능한 타이밍 채널을 제공한다.
- x86과 ARM 양쪽에서 명령어 프리패칭으로 인해 발생하는 명백한 I-cache 잔류 채널이 존재한다.
- 완전한 완화 조치가 적용된 상태에서도 Skylake의 TLB 은밀한 채널은 잔류 용량 0.11 비트를 유지하며, 기준선은 0.06 비트이다.
- 이 연구는 알려진 어떤 메커니즘도 모든 마이크로아키텍처적 타이밍 채널을 완전히 닫을 수 없으며, 현재의 주류 프로세서가 기밀 작업에 대해 본질적으로 보안이 되지 않는다고 결론을 내린다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.