브랜치 특권 주입: 브랜치 예측기 경쟁 상태 악용

9 hours ago 1

  • 브랜치 예측기의 경쟁 상태로 인해 Intel CPU에서 새로운 보안 취약점인 Branch Privilege Injection이 발견됨
  • 이 공격은 비동기적 업데이트와 보안 도메인 간의 불충분한 동기화로 인해 가능해짐
  • eIBRSIBPB 등 기존의 하드웨어 완화책이 경쟁 상태에서 무력화됨
  • Intel은 마이크로코드 업데이트로 해당 취약점을 완화하며, 성능 저하가 있음
  • 취약점은 9세대 이후 모든 Intel CPU에 영향을 주며, 운영체제와 관계없이 발생함

Branch Privilege Injection 공격 개요

  • Branch Privilege Injection은 Spectre-BTI 계열 브랜치 타겟 인젝션 공격을 새로운 방식으로 부활시킨 보안 취약점임
  • Intel CPU에서 하드웨어 차원의 Spectre 방어가 6년간 효과를 발휘했으나, 이번 연구를 통해 경쟁 상태(race condition) 에 의한 우회 가능함이 증명됨
  • 브랜치 예측기는 인스트럭션 스트림과 비동기적으로 동작하여 특정 상황에서 10~100 수십/수백 사이클 지연된 업데이트가 발생함
  • 브랜치 예측기의 업데이트가 진행 중일 때 특권 전환(예: 유저-커널, 게스트-하이퍼바이저)이나 IBPB가 동작하면, 해당 업데이트가 새로운 권한 모드에 잘못 연관되는 문제가 발생함
  • 이를 Branch Predictor Race Condition으로 명명하며, 이로 인해 민감한 메모리 정보 유출이 가능해짐

공격 시연 및 영향

  • 이 공격법으로 Ubuntu 24.04(최신 패치 및 기본 완화 적용)에서 임의의 메모리 유출 속도가 5.6KiB/s에 달함
  • Intel Raptor Lake(13세대) CPU에서 공격 성공 영상 시연이 있음

영향을 받는 완화책

  • eIBRS: 9세대(Coffee Lake Refresh) 이후 Intel CPU에 도입된 보안 메커니즘으로, 간접 분기 예측을 보안 도메인별로 분리함.
  • IBPB: eIBRS가 하드웨어 보안 도메인 간 공격만 막기에, IBPB가 불신 가상머신 등 추가 보안 구간을 위해 전체 간접 브랜치 예측을 무효화하는 기능임
  • 양쪽 모두 지정된 환경에서 보안 기본값으로 권고되는 완화책임

Branch Predictor Race Condition 상세 분석

  • 브랜치 예측기에서 경쟁 상태 가 생기면 eIBRS 및 IBPB의 보안 보장이 무효화됨
  • 인스트럭션 실행 도중 특권 전환이 이루어질 때, 진행 중인 브랜치 예측 업데이트가 새로운 보안 도메인에 잘못 귀속됨
  • IBPB를 수행해도, 진행 중이던 예측 업데이트가 플러시되지 않고 예측기에 남아 보안 문제가 발생함

Branch Predictor Race Condition에 대한 완화책

  • Intel은 취약한 프로세서를 위해 마이크로코드 업데이트 를 개발했으며, Alder Lake에서 실험적으로 공격 차단을 확인함
  • 해당 완화책 적용 시 Alder Lake에서 최대 2.7%의 성능 저하 발생함
  • 소프트웨어적 대안 완화 전략도 실험 결과 1.6%(Coffee Lake Refresh)~8.3%(Rocket Lake) 성능 오버헤드가 측정됨
  • 자세한 내용은 논문에서 추가 정보 제공됨

추가 자료

  • Branch Privilege Injection 핵심 연구 논문은 USENIX Security 2025에서 발표 예정임
  • Black Hat USA 2025에서 취약점 탐지 및 익스플로잇 중심 발표가 있을 예정임
  • 공격 및 실험 소스코드는 github에서 공개됨

FAQ

1. 내 컴퓨터가 영향을 받는가?

  • 9세대(Coffee Lake Refresh) 이후의 모든 Intel 프로세서가 Branch Privilege Injection의 영향을 받음
  • IBPB 무력화 현상은 7세대(Kaby Lake) 제품까지에서도 확인됨

2. 비-Intel CPU도 영향을 받는가?

  • 분석 결과 AMD 및 ARM 시스템에서는 이 문제가 발견되지 않았음

3. Linux만 영향을 받는가?

  • PoC는 Linux용이나, 근본적 문제는 하드웨어에 존재함
  • 해당 하드웨어에서 작동하는 모든 운영체제가 취약함

4. 대응 방안은?

  • 운영체제 및 BIOS의 최신 업데이트를 설치하는 조치가 권장됨

Read Entire Article