ARM 계열 CPU도 '멜트다운' 사정권일까

"코어텍스A75에서만 확인" 타깃 실제품 없어

컴퓨팅입력 :2018/01/13 12:18    수정: 2018/01/14 14:21

구글과 보안전문가의 협력으로 발견된 현대 중앙처리장치(CPU) 보안취약점 중 인텔CPU에만 있다던 '멜트다운(Meltdown)' 결함이 일부 ARM 계열 프로세서에도 존재하는 것으로 확인됐다. 다만 수많은 일반 사용자들이 인텔 CPU처럼 멜트다운 취약점을 해결할 소프트웨어(SW) 업데이트를 서둘러 적용할 필요는 없다.

지난 3일 구글 '프로젝트제로' 팀과 각지 대학 및 보안전문업체 소속 연구원이 작성한 보고서 2건이 공개됐다. 각각 '스펙터(Spectre)'와 멜트다운이라는, 주요 제조사 CPU 하드웨어의 취약점 분석 및 실제 공격 수행 기법을 담고 있었다. 성공한 시스템에선 운영체제(OS) 구별 없이 CPU가 처리 중인 메모리의 내용을 사용자 모르게 공격자에게 유출시키는 결과가 나왔다. 메모리에는 암호화 데이터나 계정의 패스워드를 포함한 사용자의 민감한 정보가 포함될 수 있다. 따라서 취약점은 잠재적으로 수많은 개인과 기업의 프라이버시, 보안에 위협적이다.

멜트다운(Meltdown) 로고.

멜트다운의 발견과 분석에 참여한 이들은 구글 프로젝트제로 팀의 잔 혼(Jann Horn), 사이버러스테크놀로지의 워너 하스(Werner Haas) 및 토마스 프레처(Thomas Prescher), 그라츠공과대학의 다니엘 그루스(Daniel Gruss), 모리츠 립(Moritz Lipp), 스테판 만가드(Stefan Mangard), 마이클 슈워츠(Michael Schwarz) 등이다. 이들은 공격 실행 과정을 설명한 부분에서 "우리는 멜트다운 버그를 몇몇 ARM 및 AMD CPU에도 재현하려 했지만, 양쪽 다 커널 메모리 유출을 성공적으로 유도하지 못했다"고 밝혔다. [☞원문보기(PDF파일)]

스펙터 분석엔 프로젝트제로, 그라츠공과대학, 사이버러스테크놀로지, 램버스 암호연구사업부, 펜실베니아대학 및 메릴랜드대학, 아델라이드대학교 등 소속 연구자와 독립연구자 폴 코처(Paul Kocher)가 참여했다. 이들은 보고서에 "아이비브리지, 하스웰, 스카이레이크 포함 일부 인텔 프로세서에서 스펙터 공격 취약점을 경험적으로 확인했다"며 "AMD 라이젠 CPU에도 적용할 수 있음을 확인했고, 인기 모바일폰에서 볼 수 있는 (ARM 아키텍처를 사용한) 삼성, 퀄컴 프로세서에도 스펙터 공격을 성공적으로 심어넣었다"고 썼다. [☞원문보기(PDF파일)]

■멜트다운 취약점 품은 ARM 프로세서, 실사용자 없어

지디넷을 포함한 다수 매체는 그간 스펙터가 인텔, AMD, ARM CPU에 모두 있다고 확인된 취약점이고, 멜트다운이 인텔CPU만의 취약점이라고 전해 왔다. 하지만 ARM은 지난 3일 연구자들의 보고서 공개 및 구글의 발표 시점에 맞춰 일부 프로세서는 멜트다운 공격에 취약할 수 있음을 확인했다고 밝혔다. [☞원문보기] 이 한 문장만 놓고 보면 기존 보도와 어긋나는 얘기로 비칠 수 있다. ARM이 없는 취약점을 일부러 있다고 밝힐 이유는 없으니, 언론 보도가 잘못됐을 것이라는 의심을 불러일으킬 수도 있다.

스펙터와 멜트다운이라는 별명으로 유명해진 3건의 취약점 정보와 대응 방안 정리 표. 2018년 1월 3일 이후 발표된 구글 프로젝트제로 팀과 협력 연구자의 보고서, 인텔의 설명을 종합했다.

그간의 보도가 '모든 사실'을 다루지 않은 건 맞다. 연구자들이 취약점 공격을 성공시킨 사례에 초점을 맞춘 보고서 내용을 인용한 것이기 때문이다. 그러나 '인텔과 ARM CPU 컴퓨터 사용자가 모두 스펙터, 멜트다운 취약점에 노출됐다'고 표현할 수도 없다. 인텔과 ARM CPU기반 컴퓨터 사용자들이 동일한 수준으로 멜트다운 취약점에 노출된 건 아니라서다. 인텔에 비해 ARM의 멜트다운 취약점 관련 위협은 미미한 수준이다. 이에 대한 근거 또한 ARM의 1주 전 발표에서 확인 가능하다.

일단 멜트다운 공격에 취약하다고 확인된 ARM 프로세서는 기존 '코어텍스A73'의 역할을 계승하는 '코어텍스(Cortex)A75' 뿐이다. 코어텍스A75는 ARM이 지난해(2017년) 3월 발표한 다이내믹(DynamIQ) 기술을 기반으로 설계한 첫 프로세서 제품군이다. 지난해 5월말 컴퓨텍스 행사장에서 인공지능(AI) 개발에 최적화된 차세대 CPU코어로 등장했다. 당시 ARM은 코어텍스A75는 멀티코어 기능, 유연성을 개선하고 트러스트존 보안기술을 탑재해 운전자보조시스템(ADAS) 및 자율주행을 위한 기능을 지원한다고 묘사했다. [☞관련기사]

그리고 코어텍스A75는 아직 일반 소비자와 접점이 없다. ARM이 구현한 프로세서 디자인일 뿐, 실제 출시된 단말기에 탑재된 게 아니기 때문이다. 그전까지 ARM의 멜트다운 취약점은 실질적인 보안위협이라 표현하기 애매하다. 최근 퀄컴이 코어텍스A75를 채택한 칩 상용화를 선언하긴 했다. 지난해(2017년) 12월 '스냅드래곤845'를 공개하면서다. 스냅드래곤845는 코어텍스A75 기반의 '크리오385(Kryo)'라는 퀄컴 커스텀 아키텍처 시스템온칩(SoC)으로 소개됐다. [☞원문보기] 아직 이를 탑재한 기기가 시판되긴 이르다.

스냅드래곤845를 만든 퀄컴이나 이를 사용해 단말기를 만드는 제조사가 멜트다운 취약점을 무시하고 제품을 만들지 않는한, 출시 전에 해결될 문제라 봐야 한다. 12일 현재 퀄컴 스냅드래곤845 SoC를 탑재할 몇몇 스마트폰 제품 출시 일정이 공개된 상태다. 삼성전자 갤럭시S9와 갤럭시S9 플러스, 샤오미 미(Mi) 7 등이다. [☞참조링크] 11일(현지시간) 미국 씨넷 보도에 따르면 원플러스도 최근 신제품에 스냅드래곤845 탑재 계획을 밝혔다. [☞원문보기]

■실제 위협은 스펙터…"멜트다운 변형 취약점은 대책 불필요"

모든 ARM 기기 환경이 이번 보안취약점 사태에서 마냥 안전한 것은 아니다. 이미 알려졌듯 현재 상용화된 컴퓨터에 탑재됐고 스펙터 공격에 취약한 것으로 파악된 ARM 프로세서가 있다. 코어텍스R7, R8, A8, A9, A15, A17, A57, A72, A73, A75가 해당된다. 지난 2005년 이후 출시된 일부 제품군이다. 이런 프로세서를 탑재한 개인 및 산업용 스마트기기와 임베디드장치에 보안패치가 적용돼야 한다. 적용 요령은 기기 OS에 따라 다르다. 아래 ARM이 제시하는 조치 요령은 모두 일반 사용자가 아니라 임베디드 개발자와 하드웨어 제조사를 위한 것이다.

구글 안드로이드를 구동하는 기기는 취약점을 가진 프로세서를 탑재한 제품이라 해도 ARM이 직접 지원하지 않는다. 회사는 "안드로이드를 구동한다면 (보안업데이트가) 지원되는 커널 버전 세부내용을 구글 측에 문의하라"고 안내 중이다. 즉 안드로이드를 사용하는 셋톱박스, 스마트TV 등 가정용 기기, 차량용 인포테인먼트 등 산업용 기기 사용자와 관리자는 구글이나 해당 기기를 만든 제조사에 문의해야 한다. 일반적인 소비자용 스마트폰, 태블릿 등 모바일 기기 구매자 역시 삼성전자 등 개별 제조사에 문의해야 한다.

리눅스 기기라면 취약점 유형에 따라 요령이 달라질 수 있다. 스펙터 취약점 중 하나(Variant 1: 경계검사 우회)에 대해 조치하려면 ARM이 공개한 백서(Cache Speculation Side-channels whitepaper) 내용을 참고로 임베디드 기기의 코드를 업데이트한 뒤 최신 컴파일러로 재컴파일을 해야 한다. [☞원문보기(PDF파일)] 또다른 스펙터 취약점(Variant 2: 분기표적 주입)을 해결하려면 ARM이 배포한 커널 패치 및 펌웨어 업데이트를 적용해야 한다. [☞참조링크(ARM기반 리눅스 커널 깃 소스코드)] [☞참조링크(ARM 신뢰 펌웨어 배포 깃허브)]

물론 ARM은 코어텍스A75 기반의 제품화를 진행하고 있는 제조사나 임베디드 개발자를 위해 멜트다운(Variant 3: 불량데이터캐시 적재) 취약점을 포함한 커널 패치도 제공 중이다. 코어텍스A75 프로세서가 들어간 스냅드래곤845를 차세대 기기에 채택한 삼성전자, 샤오미, 원플러스 등이 이를 활용할 것으로 보인다.

■"멜트다운 유사 취약점도 발견…SW패치 불필요"

일부 ARM 프로세서에는 사실 구글 프로젝트제로 팀과 협력 전문가의 보고서에 언급되지 않은 새로운 보안취약점이 있었다. 인텔과 AMD CPU에선 발견되지 않은 취약점이다. 다만 멜트다운과 유사한 측면이 있는 것으로 파악됐다. ARM은 해당 취약점을 멜트다운 취약점 부호(Variant 3)에 a라는 문자 하나를 추가해 'Variant 3a'라고 표기했다. 이 취약점은 코어텍스A15, A57, A72 프로세서에 있었다. 그런데 ARM 측은 이를 설명하면서 "일반적으로 이 문제를 위한 SW 차원의 대책은 불필요하다"고 밝혔다. 굳이 해결할 필요가 없다는 뉘앙스다.

관련기사

2018년 1월 3일 ARM에서 스펙터(Variant 1 및 Variant 2), 멜트다운(Variant 3), 유사 멜트다운(Variant 3a) 취약점에 노출됐다고 확인한 프로세서 제품군 현황표.

왜일까. 일부 ARM 프로세서의 멜트다운 유사 취약점은 CPU 레지스터상의 '내용'을 노출한다. 실제 멜트다운 취약점은 그 자체로 유의미한 메모리상의 '데이터'를 유출하는 반면, 유사 취약점은 공격자에게 당장 이용가치가 있는 정보를 노출하는 게 아니다. 그래서 ARM은 "낮은 (권한) 레벨에서 이 값에 액세스할 수 있는 건 부적절하지만, 시스템레지스터의 정보 유출은 대개 중요치 않다"고 표현했다.

이어 "키(keys)를 시스템레지스터에 두는 ARM v8.3-A의 일부로 도입된 포인터인증 메커니즘을 구현하면서 이 공격에 취약하기도 한 ARM 프로세서 구현은 없다"며 "특정 예외 레벨에서 사용되지 않고 민감한 시스템레지스터는 그 내용을 더 높은 레벨의 SW가 실행되는 동안 형식적인 값(dummy values)으로 대신케할 수 있다"고 덧붙였다.