꿈을꾸는 파랑새

연구진은 최근 Spectre v2 추측 실행 사이드채널 공격에 대한 완화 조치를 우회하는 방법을 발견했고 리눅스 시스템에서 기밀 정보를 유출하는 익스플로잇을 개발
이번 방법은 분기 예측기를 정화하거나 격리하는 방식에 의존하는 AMD 및 인텔 프로세서의 Spectre v2 방어 체계를 무력화시키면 연구진은 이를 일반적으로 중화 기반 완화 조치라고 부름
스펙터 v2는 BTI(Branch Target Injection)라고도 불리며 스펙터 계열 취약점의 변종 입니다.
이본 공격은 프로세서의 간접 분기 예측기를 악용하여 간접 분기의 대상을 잘못 예측하게 함으로써 공격자가 조작한 코드 경로를 따라 투기적 실행이 이루어지도록 유도
최신 프로세서는 분기 예측을 통해 가장 가능성이 큰 실행 경로를 추측하고 분기 결과가 확인되기 전에 예측된 경로를 따라 명령어를 실행하는 추측 실행을 사용합니다.
Spectre v2를 통해 공격자는 CPU의 간접 분기 예측기를 조작하여 프로세서가 공격자가 선택한 위치에서 명령어를 추측 실행하게 할 수 있으며 이 때문에 민감한 데이터가 노출될 수 있습니다.
중화 기반 완화 조치(인텔의 eIBRS 및 AMD의 Safe RET)를 사용할 때 분기 예측기가 격리되는 시점과 피해 분기에 의해 사용되는 시점 사이에 시간적 간격이 발생
능동적 Spectre v2 완화 조치는 공격자가 분기 예측기 상태를 정리하고 이를 사용하기까지의 시간 간격을 악용할 수 없다고 가정
그러나 연구진은 상태가 정리되고 사용되기 전까지 CPU 상태를 다시 오염시킬 수 있는 기법을 도입
MIT 컴퓨터 과학 및 인공지능 연구소(CSAIL)의 박사 과정 학생 다니엘 트루히요(Daniël Trujillo)와 멩지아 얀(Mengjia Yan) 부교수는 이 중화 시점부터 사용 시점까지(TONTOU)의 시간 창을 악용해 민감한 데이터를 추출하는 기법을 발견
공격자가 시스템 내 임의의 메모리(해시된 비밀번호와 같은 민감한 데이터 포함)를 읽을 수 있는 특별한 접근 권한이 없더라도 이 기술을 활용할 수 있다고 설명
연구진은 권한이 없는 사용자 프로그램이 커널 실행 중에 타이머 인터럽트가 발생하도록 스케줄링할 수 있는 인터럽트 주입(Interrupt Injection) 공격 기법을 개발
연구진은 따라서 커널을 인터럽트 핸들러로 강제 전환하고 이 핸들러를 이용해 중화 후 창 내의 마이크로아키텍처 상태를 변조할 수 있다고 설명했습니다.
연구진은 중화 후 창 동안 발생하는 인터럽트를 이용해 프로세서의 간접 분기 예측기를 변조함으로써 모든 유형의 간접 분기에 대한 공격을 가능하게 할 수 있음을 발견했습니다.

Mengjia와 Trujillo는 공격자가 리눅스 대상 시스템에서 임의의 비특권 코드를 실행하여 커널의 데이터를 유출할 수 있다는 가정에 따라 이번 공격을 테스트를 진행
최신 Spectre v2 완화 조치가 적용된 AMD Zen 2 호스트에서 두 연구원은 TONTOU 공격의 모든 단계 즉 중화, 리디렉션, 오염,그리고 오염된 분기 예측기의 활용을 성공적으로 수행했습니다.
해당 취약점을 성공적으로 악용하려면 커널 제어 흐름을 재지정하고 인터럽트를 중화 후 시간 창과 정밀하게 동기화하며 인터럽트 핸들러를 사용하여 대상 간접 분기와 관련된 분기 예측기 항목을 오염시키는 등 여러 가지 장애물을 극복해야 합니다.
연구진은 하드웨어 인터럽트를 트리거하는 타이머를 설치하고 인터럽트를 빈번하게 주입하며 능동적 및 수동적 오염 기법을 통해 이러한 과제를 해결
이번 공격은 인텔 및 AMD 프로세서 모두에서 테스트 되었으며 16GB RAM을 탑재하고 리눅스 버전 6.14.0-37-generic을 실행하는 AMD Zen 2 시스템에서 연구진은 비밀번호 해시 값이 저장된 /etc/shadow의 내용을 포함하여 초당 5.47바이트의 속도와 91.97%의 정확도로 임의의 커널 메모리를 유출할 수 있음을 보여주었습니다.
10회 테스트 실행 중 5건에서 공격이 파일을 성공적으로 찾아내어 추출했으며 각 시도에 평균 18분이 소요
인텔 기반 시스템에서도 공격할 수 있지만, 추가적인 소프트웨어 요구 사항으로 말미암아 작업이 더 복잡해진다고 연구진은 언급
연구진은 인터럽트 주입을 통해 공격자가 리턴 스택 버퍼(RSB)를 조작할 수 있으며 이로 말미암아 리턴 대상에 대한 추측적 오예측이 발생한다고 설명했다.
수동적인 RSB 오염은 신뢰성이 낮아서 연구진은 인터럽트 주입을 다니엘 트루히요(Daniël Trujillo)가 개발에 이바지한 이전에 공개된 공격 기법인 인셉션(Inception)과 결합
AMD는 오늘 발표한 권고문을 통해 이 인터럽트 주입 문제가 잠재적인 정보 유출 공격에 대비한 Safe RET 완화 조치의 리눅스 구현 방식과 관련이 있는 것으로 보인다고 밝혔다.
다니엘 트루히요와 멩지아 얀은 오늘 블랙햇 USA(Black Hat USA) 보안 콘퍼런스에서 연구 결과를 발표 또한 10월 27일부터 29일까지 열리는 USENIX Security 2026에서도 세부 내용을 공유할 예정

공유하기

facebook twitter kakaoTalk kakaostory naver band