Offcanvas

보안

UCSD 연구진, 인텔 12·13세대 CPU에 내재된 부채널 공격 기법 포착

2024.07.08 Lucian Constantin  |  CSO
캘리포니아 샌디에이고 대학교 (UCSD) 연구진이 발견한 신종 인디렉터 취약점 CPU의 간접 분기 예측기(indirect branch predictor)와 관련돼 있다. 

스펙터 및 멜트다운 CPU 공격이 컴퓨터 업계를 뒤흔든 지 5년이 지났다. 하지만 프로세서의 근간 기능을 악용할 가능성에 대한 연구가 지속되고 있다. 운영체제 이하의 권한 수준에서 데이터를 유출할 가능성이 있기 때문이다.

인디렉터(Indirector)라고 불리는 최신 변종은 8월 열리는 USENIX 보안 심포지엄에서 발표될 예정이다. 캘리포니아 대학교 샌디에이고 연구원인 루이 리, 호세인 야바르자데, 딘 툴센이 포착한 이 기술은 하이엔드 인텔 CPU(랩터 레이크 및 앨더 레이크 ; 12세대 및 13세대 코어 CPU)의 간접 분기 예측기(IBP)와 분기 대상 버퍼(BTB)를 악용한다.

연구원들은 연구 웹사이트를 통해 "이번 발견은 리버스 엔지니어링을 통해 얻은 통찰을 활용했다. 교차 프로세스 및 교차 권한 시나리오를 포함한 다양한 시나리오에서 보안 경계를 위반하는 매우 정밀한 BTI(branch target injection) 공격을 개발했다. ASLR(Address Space Layout Randomization)를 깨기 위해 IBP와 BTB를 사용한다"라고 설명했다.

BTI와 추측적 실행(speculative execution)이란?
분기 표적 인젝션(BTI)은 2018년 1월에 처음 공개된 일시적 실행 취약점 중 하나인 스펙터 v2의 기술적 명칭으로, 지난 수년 동안 이뤄진 CPU 마이크로코드 보안 연구의 시작점이라고 할 수 있다.

이러한 공격은 CPU의 캐시에 일시적으로 저장된 민감한 데이터를 유출하기 위해 추측적 실행이라는 최신 CPU의 성능 최적화 기능을 악용한다. 부채널 공격이라고 불리기도 한다.

추측적 실행은 CPU의 마이크로코드가 특수 알고리즘을 사용하여 프로그램 코드의 향후 조건부 분기에 도달했을 때 프로그램 실행이 취할 경로를 추측하는 작업이다. 목표는 예측된 경로로 명령을 미리 실행하고 그 결과를 CPU 캐시에 임시로 저장함으로써 프로그램 실행 흐름에서 필요할 때 즉시 제공할 수 있도록 하는 것이다. 예측이 틀린 것으로 판명되면 결과는 버려진다.

연구원들은 여러 가지 기술을 사용하여 이 메커니즘에 영향을 주어 다른 권한 도메인에 있는 다른 프로세스의 특정 분기가 실행되도록 했다. 그 결과 일반적으로 제어하는 프로세스에서 사용할 수 없는 민감한 데이터가 유출될 수 있다는 것을 확인했다.

참고로 커널 메모리 공간과 사용자 공간 애플리케이션 간의 격리는 최신 운영체제의 보안에 매우 중요하다. 이와 관련된 취약점은 보안을 무너뜨릴 수 있다.

인디렉터 공격이란?
스펙터 공격, 즉 BTI는 수년에 걸쳐 여러 가지 변형으로 발견됐다. 인텔과 다른 CPU 공급업체는 이러한 공격 기술을 완화하는 데 사용할 수 있는 새로운 마이크로코드 메커니즘을 구현하여 대응해 왔다. 그러나 소프트웨어나 OS 수준에서 이러한 방어 기능을 최대한 활용하면 일부 워크로드에서 심각한 성능 오버헤드가 발생할 수 있다. 완벽한 대응법은 아닌 셈이다.

이전의 보안 연구는 주로 CPU의 분기 예측기의 두 가지 구성 요소인 분기 대상 버퍼(BTB)와 반환 스택 버퍼(RSB)를 악용하는 데 중점을 두었다. 그러나 이번 간접 분기 공격은 간접 분기의 대상 주소를 계산하는 간접 분기 예측기(IBP)라는 세 번째 구성 요소에 초점을 맞추고 있다.

“간접 분기는 런타임에 목표 주소가 계산되는 제어 흐름 명령어이므로 정확하게 예측하기가 어렵다. IBP는 글로벌 히스토리와 분기 주소의 조합을 사용해 간접 분기의 목표 주소를 예측한다. IBP의 구조와 작동을 분석하여 정확한 지점 표적 인젝션(BTI) 공격을 실행하는 데 악용될 수 있는 취약점을 포착할 수 있었다"라고 UCSD 연구진을 설명했다.

연구원들은 하이엔드 인텔 CPU의 IBP 메커니즘을 리버스 엔지니어링한 다음, IBP 세트에서 표적 프로세스의 간접 분기가 어디에 있는지 식별할 수 있는 ‘iBranch Locator’라는 툴을 고안했다. 이를 통해 IBP 또는 BTB에 임의의 표적 주소를 정확하게 삽입할 수 있는 두 가지 공격을 개발할 수 있었다고 연구진은 덧붙였다.

인디케이터로부터의 방어법
연구원들은 2월에 인텔에 연구 결과를 알렸고, 인텔은 이를 다른 하드웨어 및 소프트웨어 공급업체와 공유했다. 인텔은 이미 2018년에 스펙터와 유사한 공격에 대한 완화 조치인 간접 분기 예측 배리어(IBPB)를 발표한 바 있다. IBPB는 이론적으로 이번 새로운 간접 공격 기법을 완화하는 데 사용될 수 있기는 하다. 그러나 현재 사용되는 수준보다 더 적극적으로 사용되어야 효과를 발휘할 수 있다.

연구자들은 "최신 리눅스 버전의 기본 정책이 있다. ‘IBPB: 컨디셔널’이라고 불리는 이 정책은 커널의 간접 브랜치가 제한된 작업이나 SECCOMP 모드로 전환하는 동안에만 IBPB를 활성화한다"라고 설명했다.

연구진은 이어 "결과적으로 성능 오버헤드(최대 50%)가 상당하기 때문에 사용자 공간과 커널 공간 모두에서 IBPB 활성화는 드물게 발생한다. 브라우저, 샌드박스, 커널/사용자 등 도메인을 자주 넘나드는 경우와 OS가 기본적으로 가장 빈번한 도메인 전환에서 이를 사용하지 않는다는 사실에 비추어 볼 때 실행 가능한 완화책이 아니다"라고 덧붙였다.

이를 감안해 인텔은 코어 ID 및 권한 수준과 같은 새로운 필드를 추가하여 서로 다른 권한 수준과 서로 다른 CPU 코어 간의 간접 분기 공격을 방지하는 것을 목표로 새로운 CPU의 분기 예측기(BPU) 설계를 변경했다. 

그러나 연구원들은 동일 코어 및 동일 권한 시나리오 내에서 잠재적인 공격 표면이 여전히 남아 있다고 지적하며 향후 설계에서 더욱 세분화된 격리가 필요하다고 제안했다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.