- Branch Privilege Injection은 Intel CPU의 분기 예측기 경쟁 상태로 약 6년간 유지된 Spectre-BTI 계열 하드웨어 방어를 다시 우회하게 만든 취약점임
- 공격의 핵심은 분기 예측기 업데이트가 명령어 흐름과 비동기적으로 처리되며, 특정 조건에서 수십~수백 사이클 늦게 반영될 수 있다는 점임
- 권한 전환이나 IBPB 실행 중 지연된 업데이트가 남아 있으면, 이후 잘못된 보안 도메인에 연결되어 eIBRS와 IBPB의 보안 보장이 깨질 수 있음
- 연구진은 Ubuntu 24.04에서 기본 완화책을 모두 켠 상태로 Intel Raptor Lake 13세대에서 임의 메모리를 5.6KiB/s로 유출하는 종단 간 공격을 시연함
- Intel의 마이크로코드 업데이트는 Alder Lake 평가에서 취약점 탐지 프리미티브를 차단했으며, 최대 2.7% 오버헤드를 보임
Branch Privilege Injection이 성립하는 조건
- Branch Privilege Injection은 분기 대상 주입 공격, 즉 Spectre-BTI의 위력을 Intel 환경에서 다시 가능하게 만드는 공격임
- Intel의 하드웨어 완화책은 약 6년 동안 이 유형의 공격을 막아왔지만, 이번 연구는 Intel CPU의 경쟁 상태가 그 방어를 흔들 수 있음을 보임
- 공격은 두 가지 관찰에 기반함
- Intel 프로세서의 분기 예측기는 명령어 흐름과 비동기적으로 업데이트됨
- 특정 조건에서는 업데이트가 수십 또는 수백 사이클 지연됨
- 비동기 업데이트 자체는 취약점이 아니라 기능임
- 보안상 중요한 동작 중 분기 예측기와 명령어 흐름 사이의 동기화가 충분하지 않음
- 사용자 모드에서 커널로, 게스트에서 하이퍼바이저로 전환되는 동안 업데이트가 아직 진행 중일 수 있음
- IBPB 실행 중에도 진행 중인 업데이트가 남아 있을 수 있음
- 이런 업데이트가 권한 전환 뒤 도착하면 이전 권한이 아니라 새 권한 모드에 연결됨
- Intel 프로세서의 분기 예측기는 명령어 흐름과 비동기적으로 업데이트됨
- 이 취약점 종류의 이름은 Branch Predictor Race Conditions임
깨지는 완화책과 영향 범위
- eIBRS는 Intel이 9세대 Coffee Lake Refresh 이후 모든 프로세서에 도입한 Spectre-BTI 완화책임
- 간접 분기 예측을 서로 다른 보안 도메인별로 분리하는 것이 목표임
- 각 예측을 생성된 도메인과 연결하고, 이후 현재 도메인의 예측만 사용하도록 설계됨
- 권한 전환 중 진행 중인 업데이트가 새 보안 도메인에 연결되면 이 연결을 조작할 수 있음
- IBPB는 같은 하드웨어 보안 도메인 안에서 샌드박스나 서로 신뢰하지 않는 가상 머신을 분리할 때 쓰이는 메커니즘임
- 모든 간접 분기 예측을 무효화하는 기능을 제공함
- 진행 중인 업데이트는 IBPB로 플러시되지 않아, 무효화 이후에도 분기 예측기에 저장될 수 있음
- 영향 범위에는 세대와 아키텍처별 차이가 있음
- Intel 9세대 Coffee Lake Refresh 이후 모든 프로세서가 Branch Privilege Injection의 영향을 받음
- IBPB 우회 예측은 7세대 Kaby Lake까지 거슬러 관찰됨
- 평가한 AMD와 ARM 시스템에서는 문제가 발견되지 않음
- 개념증명 공격은 Linux용으로 만들었지만, 근본 문제는 하드웨어에 있으므로 영향받는 하드웨어에서 실행되는 운영체제는 영향을 받음
완화책, 성능 비용, 공개 자료
- 최신 운영체제와 BIOS 업데이트 설치가 권고됨
- Intel은 영향받는 프로세서용 마이크로코드 업데이트를 개발했고, 연구진은 Alder Lake에서 이를 평가함
- 마이크로코드 완화책은 취약점 탐지 프리미티브를 차단함
- Alder Lake에서 최대 2.7% 오버헤드를 보임
- 소프트웨어 대안 완화책도 평가됨
- Coffee Lake Refresh에서는 1.6% 오버헤드
- Rocket Lake에서는 8.3% 오버헤드
- 자세한 기술 내용은 논문에서 확인할 수 있음
- Branch Privilege Injection 논문은 USENIX Security 2025에서 발표될 예정이며, Black Hat USA 2025 발표도 예정됨
- 공격과 실험 소스 코드는 github에 공개됨