Skip to main content
QUICK REVIEW

[논문 리뷰] Speculative Buffer Overflows: Attacks and Defenses

Vladimir Kiriansky, Carl A. Waldspurger|arXiv (Cornell University)|2018. 07. 10.
Security and Verification in Computing참고 문헌 22인용 수 127
한 줄 요약

본 논문은 speculative buffer overflows(Spectre1.1 및 Spectre1.2)를 소개하고, 이들의 하드웨어/소프트웨어 메커니즘을 분석하며, speculative store-to-load forwarding을 억제하기 위한 SLoth 패밀리 하드웨어 mitigations와 수동 소프트웨어 방어책을 제안한다.

ABSTRACT

Practical attacks that exploit speculative execution can leak confidential information via microarchitectural side channels. The recently-demonstrated Spectre attacks leverage speculative loads which circumvent access checks to read memory-resident secrets, transmitting them to an attacker using cache timing or other covert communication channels. We introduce Spectre1.1, a new Spectre-v1 variant that leverages speculative stores to create speculative buffer overflows. Much like classic buffer overflows, speculative out-of-bounds stores can modify data and code pointers. Data-value attacks can bypass some Spectre-v1 mitigations, either directly or by redirecting control flow. Control-flow attacks enable arbitrary speculative code execution, which can bypass fence instructions and all other software mitigations for previous speculative-execution attacks. It is easy to construct return-oriented-programming (ROP) gadgets that can be used to build alternative attack payloads. We also present Spectre1.2: on CPUs that do not enforce read/write protections, speculative stores can overwrite read-only data and code pointers to breach sandboxes. We highlight new risks posed by these vulnerabilities, discuss possible software mitigations, and sketch microarchitectural mechanisms that could serve as hardware defenses. We have not yet evaluated the performance impact of our proposed software and hardware mitigations. We describe the salient vulnerability features and additional hypothetical attack scenarios only to the detail necessary to guide hardware and software vendors in threat analysis and mitigations. We advise users to refer to more user-friendly vendor recommendations for mitigations against speculative buffer overflows or available patches.

연구 동기 및 목표

  • Speculative buffer overflows를 speculative 실행 중 메모리 안전을 위협하는 공격으로 소개한다.
  • 이러한 공격을 가능하게 하는 하드웨어 특징을 분석하여 완화책을 안내한다.
  • speculative buffer overflows에 대응하기 위한 소프트웨어 완화책과 하드웨어 솔루션(SLoth)을 제안한다.
  • 방어-깊이 전략을 알리기 위해 위협 모델과 잠재적 페이로드를 논의한다.

제안 방법

  • Spectre1.1 및 Spectre1.2 공격 메커니즘과 필요한 speculative execution 창을 기술한다.
  • 스토어 버퍼, MSHR, TLB 추측과 같은 기본 하드웨어 특징으로서의 저장-로드 포워딩 및 데이터/TLB 추측을 분석한다.
  • 전통적인 버퍼 오버플로 완화책(예: 추측 펜스, 마스킹 및 TOCTOU 방어)을 speculative 맥락에 맞게 검토하고 적용한다.
  • SLoth 패밀리(Store-to-Load Blocking, Lazy Forwarding, Frozen Forwarding)을 하드웨어 완화책으로 제안한다.
  • 영향 시나리오(ghosts/halos 및 잠재적 페이로드 포함)를 개요화하여 위협 분석 및 완화 설계를 안내한다.

실험 결과

연구 질문

  • RQ1Spectre1.0을 넘어서 Spectre1.1 및 Spectre1.2가 어떤 새로운 능력을 가능하게 하는가?
  • RQ2스토어 버퍼, MSHR, TLB 추측과 같은 하드웨어 구조가 speculative buffer overflows에 의해 어떻게 악용될 수 있는가?
  • RQ3소프트웨어 및 하드웨어 완화책은 성능 저하를 심각하게 초래하지 않으면서 speculative buffer overflows를 효과적으로 방지할 수 있는가?
  • RQ4speculative buffer overflow 취약점에서 비롯된 현실적인 위협 모델과 잠재적 공격 페이로드는 무엇인가?

주요 결과

  • Spectre1.1은 speculative stores를 통한 임의의 speculative writes를 가능하게 하여 이전의 완화책을 우회할 수 있다.
  • Spectre1.2는 느슨한 보호 enforcement를 악용하여 읽기 전용 데이터 및 코드 포인터를 덮어쓸 수 있어 샌드박싱을 약화시킨다.
  • 수동적이고 거친(mas) 완화책은 존재하지만 비용이 크거나 불완전한 경우가 많다; 데이터 의존적 정확한 마스킹과 흐름 민감한 방어가 논의된다.
  • 하드웨어 완화책 모음(SLoth 패밀리)이 제안되어 저장-로드 포워딩을 제약하고, 복잡도와 성능 영향이 서로 다르게 설계된다.
  • 공격 페이로드 논의는 speculative execution 위협 아래 로컬 및 원격의 기밀성, 무결성, 가용성 리스크를 시사한다.
  • 논문은 방어-깊이의 필요성과 mitigations의 성능 평가가 이뤄질 때까지 벤더 지침의 필요성을 강조한다.

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

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

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

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