[보안뉴스 문가용 기자] IBM과 암스테르담자유대학교의 연구원들이 공동으로 새로운 부채널 공격 기법을 개발했다. 현존하는 거의 모든 컴퓨터 프로세서들에 적용이 되는 기법이라고 하며, 성공할 경우 OS의 ‘경합 조건’ 관련 확인 장치들을 피해갈 수 있다고 한다.

[이미지 = gettyimagesbank]
이 공격에 연루된 취약점은 CVE-2024-2193이다. 인텔, AMD, ARM, IBM의 프로세서 모두에서 발견되고 있다고 한다. 또한 어떤 종류의 OS나 하이퍼바이저에서도 익스플로잇이 가능한 것으로 분석됐다. 경합 조건을 제어하는 여러 가지 장치들을 무력화할 수 있다는 게 이 취약점의 핵심 내용이다. 연구원들은 자신들이 개발한 공격 기법에 고스트레이스(GhostRace)라는 이름을 붙였다.
“기본적으로 OS가 동기화를 위해 제공하는 소프트웨어 메커니즘들을 추측 실행 과정 가운데 공략할 수 있다는 것을 발견한 게 이번 연구의 가장 큰 성과입니다. 구조적으로 경합이 발동하지 않는 중요 영역 모두에서 추측 경합 조건을 발동시킬 수 있었습니다.” 연구원들의 설명이다.
잊을만 하면 문제가 되는 추측 실행 오류
경합 조건(race condition)이란 무엇일까? “두 개 이상의 프로세스나 스레드들이 공유된 컴퓨터 자원(메모리 영역이나 파일 등)에 동시에 접근하려 할 때 나타나는 현상입니다. 데이터 변형 등이 유발될 수 있는데, 꽤나 흔하게 일어나는 일입니다. 이를 노려 취약점 익스플로잇 공격을 실시하면 메모리 속 정보를 훔치거나 비정상적인 접근을 할 수 있게 됩니다. 디도스 공격도 가능합니다.”
이 문제를 해결하기 위해 OS 개발사들은 ‘추측 원시함수(speculative primitives)’라는 장치를 만들어 구축하고 있다. 공유된 자원으로의 접근을 제어하기 위한 간단한 장치라고 할 수 있다. 한 번에 하나의 스레드만 특정 자원에 접근할 수 있도록 한 것으로, 두 개가 동시에 경합을 벌이는 현상이 나타나지 않도록 한다. IBM과 암스테르담자유대학 연구원들은 바로 이 장치들을 무력화시키는 법을 발견한 것이라고 할 수 있다.
여기서 중요한 또 다른 개념은 ‘추측 실행’이다. 현대 프로세서들에 대부분 갖춰진 기능으로, 프로세서가 사용자의 명령을 입력된 순서대로 실행하는 게 아니라, 명령들을 미리 예측해 실행하는 것을 말한다. 이렇게 했을 때의 장점은 프로세서의 일 처리 속도가 빨라진다는 것이다. 프로세서들의 속도를 높이려 하는 제조사들 입장에서는 포기하기 힘든 기능이기도 하다.
이 ‘추측 실행’이 큰 문제가 된 것은 2017년이다. 시스템 메모리에서 민감한 정보를 빼돌리는 기법 두 개가 발견됐기 때문이다. 스펙터(Spectre)와 멜트다운(Meltdown)이라고 불리는 이 기법들은 현대 프로세서들에 존재하는 고질적인 취약점들의 이름이 되기도 했다. 아직도 스펙터와 멜트다운은 상위 경계 대상이고, 지금까지도 연구되고 있다. 그래서 각종 변종 공격들이 탄생하는 중이다.
그래서 마이터(MITRE)는 2024년 2월 마이크로프로세서들에서 발견되는 네 가지 취약점 관련 문서들을 발표했다. 이를 통해 프로세서 개발자들이 스펙터와 멜트다운으로부터 좀 더 안전할 수 있도록 하겠다는 것이 마이터의 설명이다.
이미 알려진 익스플로잇이지만
IBM과 암스테르담자유대학의 전문가들이 이번에 개발해 발표한 공격 기법은 일종의 스펙터 공격이라고 볼 수 있다. “모든 원시함수들은 분명한 직렬화 과정을 가지고 있지 않고, 조건부 갈림(conditional branch)이라는 것으로 중요한 영역을 보호한다는 특징을 가지고 있습니다. 무슨 말이냐면, 동기화 과정에서 공유된 자원에 접근하는 순간 조건부 if 구문이 사용될 경우 추측 실행 공격에 취약하게 된다는 의미가 됩니다.”
그렇기 때문에 스펙터를 잘 아는 공격자가 조건부 갈림을 자신의 뜻대로 잘못 활용할 경우 추측 실행을 하는 원시함수들이 사실상 존재하지 않는 것처럼 된다는 게 연구원들의 설명이다. “일종의 공명령이 되는 것이죠. 이랬을 때 보안에 미치는 영향은 매우 심각해질 수 있습니다. 피해자 소프트웨어의 동기화가 제대로 되지 않아 여기 저기서 경합 조건을 만들어낼 수 있게 되거든요.”
현재 이 연구 결과는 주요 하드웨어 제조사들에 모두 전달이 된 상황이다. 제조사들은 이를 접수하고 OS 업체들과 하이퍼바이저 개발사들에 알렸다. 모든 벤더들은 상황을 이해했고, 현재 문제를 해결하기 위해 연구를 진행하고 있다고 한다. AMD의 경우 소프트웨어 개발자들에게 여러 가지 권고 사항을 전달하고 있기도 하다.
글 : 자이 비자얀(Jai Vijayan), IT 칼럼니스트
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>