[논문 리뷰] Store-to-Leak Forwarding: Leaking Data on Meltdown-resistant CPUs
이 논문은 현대적이고 Meltdown에 저항하는 CPU에서도 스토어 버퍼와 TLB를 이용한 측면 채널 유출을 통해 Meltdown 유사 공격이 여전히 가능함을 보여준다. 사용자 공간과 JavaScript에서 KASLR 및 ASLR를 뛰어넘는 실질적 공격을 수행하며, Spectre 기반 가젯과 결합할 경우 임의의 메모리 읽기를 가능하게 하여 소프트웨어 방지 조치가 여전히 커널-사용자 격리에 필수적임을 입증한다.
Meltdown and Spectre exploit microarchitectural changes the CPU makes during transient out-of-order execution. Using side-channel techniques, these attacks enable leaking arbitrary data from memory. As state-of-the-art software mitigations for Meltdown may incur significant performance overheads, they are only seen as a temporary solution. Thus, software mitigations are disabled on more recent processors, which are not susceptible to Meltdown anymore. In this paper, we show that Meltdown-like attacks are still possible on recent CPUs which are not vulnerable to the original Meltdown attack. We show that the store buffer---a microarchitectural optimization to reduce the latency for data stores---in combination with the TLB enables powerful attacks. We present several ASLR-related attacks, including a KASLR break from unprivileged applications, and breaking ASLR from JavaScript. We can also mount side-channel attacks, breaking the atomicity of TSX, and monitoring control flow of the kernel. Furthermore, when combined with a simple Spectre gadget, we can leak arbitrary data from memory. Our paper shows that Meltdown-like attacks are still possible, and software fixes are still necessary to ensure proper isolation between the kernel and user space.
연구 동기 및 목표
- 원래 Meltdown 취약성에 더 이상 취약하지 않은 현대 CPU에서 Meltdown 유형의 공격이 여전히 지속되는지 조사하기 위해.
- 스토어 버퍼와 TLB와 같은 마이크로아키텍처 구성 요소가 특권 경계를 넘어서 민감한 데이터를 누출하는 데 어떻게 악용될 수 있는지 탐구하기 위해.
- 비권한 사용자 응용 프로그램에서 실질적인 측면 채널 공격을 통해 커널 주소 공간 레이아웃 무작위화(KASLR)를 깨는 것을 입증하기 위해.
- 스토어-투-레프 포워딩과 Spectre 유형 가젯을 조합하여 임의의 메모리 내용을 누출하는 것이 가능한지 평가하기 위해.
- 하드웨어 수정에도 불구하고 마이크로아키텍처 구성 요소에서 지속적인 악용 경로가 존재하므로 소프트웨어 방지 조치가 여전히 필요하다고 주장하기 위해.
제안 방법
- 일시적 실행 중 스토어 버퍼의 동작을 악용하여 스토어에서 후속 로드로 데이터를 포워딩함으로써 측면 채널 유출을 가능하게 하기 위해.
- 스토어 버퍼와 번역 봇 룩업 버퍼(TLB)를 결합하여 메모리 접근 패턴을 관찰하고 민감한 데이터를 유추하기 위해.
- 커널 제어 흐름을 모니터링하고 인텔의 TSX(Total Store Execute) 명령어의 원자성을 깨는 측면 채널 기법을 설계하기 위해.
- 스토어-투-레프 포워딩과 결합될 경우 커널 메모리에서 임의의 메모리 읽기를 가능하게 하는 악성 Spectre 가젯을 구축하기 위해.
- 실제 공격 가능성 입증을 위해 비권한 사용자 공간 응용 프로그램과 JavaScript 환경 내에서 실험을 수행하기 위해.
- 시간 측정 측면 채널 측정을 사용하여 커널 기본 주소를 추출하고 KASLR 및 ASLR 보호를 무력화하기 위해.
실험 결과
연구 질문
- RQ1Meltdown에 저항하는 CPU에서 원래 Meltdown 취약성에 대한 공격이 여전히 가능할 수 있는가?
- RQ2스토어 버퍼와 TLB는 현대 프로세서에서 데이터 누출을 위한 측면 채널 벡터로 얼마나 활용될 수 있는가?
- RQ3비권한 사용자 공간 응용 프로그램을 통해 마이크로아키텍처 측면 채널을 이용해 KASLR 및 ASLR를 깰 수 있는가?
- RQ4스토어-투-레프 포워딩과 시간 분석을 통해 TSX의 원자성이 손상될 수 있는가?
- RQ5스토어-투-레프 포워딩과 Spectre 가젯을 조합하여 커널 메모리에서 임의의 메모리 내용을 누출시킬 수 있는가?
주요 결과
- 스토어 버퍼와 TLB는 Meltdown에 저항하는 CPU에서 특권 경계를 넘어서 데이터를 누출하는 측면 채널 공격에 함께 악용될 수 있다.
- 단지 시간 측정 측면 채널 측정을 사용하여 비권한 사용자 공간 응용 프로그램에서 실질적인 KASLR 깨기 공격을 성공시켰다.
- JavaScript 환경 내에서 ASLR가 깨졌으며, 웹 기반 실행 환경에서의 공격 표면이 드러났다.
- Intel의 TSX 원자성은 손상되어 마이크로아키텍처 측면 채널을 통해 내부 커널 제어 흐름을 관찰할 수 있었다.
- Spectre 가젯과 결합된 스토어-투-레프 포워딩 기법은 커널 메모리에서 임의의 메모리 읽기를 가능하게 하여 마치 Meltdown 유사 기능을 재생하는 결과를 가져왔다.
- 결과적으로 하드웨어 방지 조치만으로는 부족하며, 커널-사용자 공간 격리 보장을 위해 소프트웨어 수준의 보호 조치가 여전히 필수적임을 입증했다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.