아이티랩 - 인텔 CPU서 정보 유출 보안 취약점 '다운폴' 발견

[지디넷코리아]

인텔 PC·서버용 프로세서에서 비밀번호나 암호화 키 등 민감한 정보를 빼돌릴 수 있는 보안 취약점이 드러났다.

구글 프로젝트 제로 팀 소속 전문가가 최근 발견한 이 문제는 대용량 데이터 처리 전 미리 메모리에서 데이터를 불러오는 명령어 '개더'(Gather) 때문에 발생한다.

프로세서 내 데이터 저장공간인 '레지스터'에 데이터를 전달하기 전 임시로 저장된 데이터를 PC나 서버 내 다른 프로그램이 엿볼 수 있는 것이다.

새로 발견된 보안 취약점 '개더' 영향권 아래 있는 인텔 6세대 코어 프로세서. (사진=인텔)

2015년부터 2021년 사이 출시된 인텔 코어·제온 프로세서가 해당 문제에 노출될 수 있다. 인텔은 PC와 서버 등 제조사 대상으로 해당 취약점을 보완할 수 있는 마이크로코드 업데이트 제공에 나섰다.

■ 대용량 메모리 지연 최소화 위한 명령어 '개더'

이 문제를 처음 발견한 구글 프로젝트 제로 팀 소속 전문가인 다니엘 모기미(Daniel Moghimi)는 8일(미국 현지시간) 공개한 웹사이트를 통해 "해당 문제는 메모리나 프로세서 내 레지스터 등 여러 곳에 흩어진 데이터 접근 속도를 높이는 최적화 기법 때문에 발생한다"고 밝혔다.

인텔 프로세서는 대용량 데이터를 처리하기 위한 AVX2·AVX512 등 명령어를 내장하고 있다. 이 명령어는 메모리 여러 곳에 흩어진 데이터를 불러오게 되는데 이 과정에서 메모리 접근 때문에 지연 현상이 발생할 수 있다.

메모리에 흩어진 데이터를 읽어오기 위한 '개더' 명령어. (자료=인텔)

AVX2·AVX512 명령어 중 '개더'(Gather) 관련 명령어는 AVX2 명령어 처리에 필요한 정수·실수 데이터를 미리 모아 지연 현상을 최소화한다.

다니엘 모기미는 "개더 명령어를 실행하면 메모리에 흩어진 데이터를 모아 레지스터에 전달하기 전 임시 메모리(버퍼)에 저장하는데, 현재 실행되는 프로그램이 아닌 다른 프로그램이 임시 메모리의 데이터를 엿볼 수 있다"고 설명했다.

■ "PC나 서버에 악성코드 심으면 민감한 정보 유출 가능"

다니엘 모가미는 "개인용 PC에 악성 코드를 심을 경우 비밀번호, 암호화 키, 은행 계좌번호를, 클라우드 환경에서 구동되는 서버에서는 같은 서버에서 실행되는 다른 가상머신의 실행 데이터를 실시간으로 훔쳐볼 수 있다"고 우려했다.

실제로 그는 인텔 프로세서 기반 서버에 접속해 다른 이용자의 AES 암호화 키를 빼내거나, 서버에서 실행되는 리눅스 커널의 정보를 빼낼 수 있는 시연 화면과 실증용 코드도 함께 공개했다.

다니엘 모가미가 DALL·E 2로 생성한 '다운폴 공격' 로고.

그는 발견한 문제점에 '다운폴 공격'(Downfall Attacks)이라는 이름을 붙였다. 또 오는 9일과 11일(미국 현지시간) 진행되는 블랙햇 컴퍼런스와 유즈닉스 보안 심포지엄에서 해당 문제를 발표할 예정이다.

■ 2015-2021년 출시 인텔 프로세서 영향권

인텔에 따르면 이 취약점은 2015년 출시된 6세대 코어 프로세서(스카이레이크)부터 2021년 출시된 11세대 코어 프로세서는 물론 해당 코어 프로세서 기반으로 설계된 서버용 제온 프로세서에도 해당된다.

데스크톱용 인텔 11세대 코어 프로세서(로켓레이크). (사진=지디넷코리아)

다니엘 모가미는 "인텔 프로세서 기반 PC를 쓰고 있지 않는다 해도 서버 시장에서 인텔 점유율은 70%가 넘으며 인터넷을 쓰는 거의 모든 사람이 영향을 받고 있다"고 설명했다.

또 "해당 문제를 발견한 후 지난 해 8월 24일 인텔에 통보했으며 해당 문제를 보완하고 공식적으로 공개 가능한 시점이 되기까지 1년이 걸렸다. 많은 이용자들은 최소 9년간 '다운폴'에 노출되어 있었다"고 밝혔다.

■ 인텔 "실제 환경에서 구현 쉽지 않을 것"

인텔 관계자는 "해당 취약점은 통제된 환경에서 '개더' 명령어에 의존하는 소프트웨어를 통해 시연된 것이다. 또 통제된 환경을 벗어나서 실제 환경에서 구현되기는 어렵다"고 답변했다.

이어 "해당 문제에 해당되는 프로세서는 내부 마이크로코드 업데이트를 통해 이를 예방할 수 있으며 고객사는 윈도나 리눅스 운영체제에서 해당 명령어를 비활성화할 수 있는 옵션을 쓸 것인지 검토할 필요가 있다"고 밝혔다.

인텔은 해당 취약점을 지닌 프로세서의 내부 패치에 필요한 마이크로코드를 각 메인보드 제조사와 PC·서버 제조사 등에 공급할 예정이다.

리눅스 운영체제는 8일부터 '개더' 명령어 작동을 멈추는 옵션을 적용할 예정이며 마이크로소프트 윈도 운영체제도 보안 업데이트를 통해 해당 문제를 대응책을 내놓을 예정이다.

■ "벡터 연산 의존 애플리케이션, 패치 후 문제 가능성"

대부분의 보안 취약점은 패치 전후로 성능 저하 문제를 일으킬 수 있다. 인텔 관계자는 "인텔 자체 조사에서 대부분의 작업은 성능 저하를 일으키지 않았지만 벡터 관련 명령어를 집중적으로 쓰는 워크로드는 일부 영향을 받을 수 있다"고 설명했다.

인텔 13세대 코어 프로세서(랩터레이크). (사진=지디넷코리아)

또 "2021년 이후 출시된 12세대 코어 프로세서(엘더레이크), 13세대 코어 프로세서(랩터레이크)와 4세대 제온 스케일러블 프로세서(사파이어래피즈) 등은 해당 문제와 무관하다"고 설명했다.

의견 0 신규등록      목록