멜트다운과 스펙터, CPU의 보안이 통째로 무너지다

by 낡은이 posted Jan 08, 2018
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄

강일용 

[IT동아 강일용 기자] 현대 CPU 산업의 근간을 뒤흔드는 치명적인 보안 문제가 발견되었다. CPU의 버그를 이용해 해커가 사용자의 암호와 중요한 데이터를 훔칠 수 있다는 사실이다.

발견된 버그는 두 가지다. 이름은 '멜트다운(Meltdown, 붕괴)'과 '스펙터(Spectre, 유령)'다. CPU의 치명적인 보안 결함을 이용해 CPU가 처리하고 있는 응용 프로그램 속 데이터를 낱낱이 훔쳐볼 수 있는 버그다. 암호화되어 있지 않은 일반 데이터뿐만 아니라 웹 브라우저에 저장된 암호, 이메일이나 메신저로 주고받은 내용, 개인의 비밀이 담긴 사진, 중요한 업무용 문서까지 PC와 스마트폰에 담겨있는 모든 중요한 데이터를 탈취할 수 있다.

멜트다운, 스펙터<멜트다운과 스펙터>

멜트다운과 스펙터는 구글 보안기술팀(Google Project Zero) 제인 혼(Jann Horn) 수석연구원과 업계의 보안 전문가들에 의해 발견되었다. 구글은 6개월 전(2017년 6월 1일) 인텔, AMD, ARM 등 주요 CPU 제조사에게 이 버그를 알려주었다. 패치를 통해 문제를 해결할 수 있도록 하기 위함이다. 이어 1월 3일 자사 블로그를 통해 해당 버그 탓에 치명적인 보안 문제가 일어날 수 있음을 사람들에게 공지했다. 이 버그가 구체적으로 어떤 상황에서 일어나는지는 패치가 마무리되는 1월 말 공개할 예정이다.

멜트다운은 인텔 CPU에 적용된 '비순차적 명령어 처리(OoOE)' 기술의 버그를 악용한 보안 취약점이다. 멜트다운을 이용하면 보안을 위해 응용 프로그램이 CPU의 캐시 메모리에 접근하지 못했던 기존 하드웨어 보안 구조가 통째로 무너진다. 버그의 이름을 '붕괴'라고 이름붙인 이유다. 멜트다운 버그를 이용하면 해커가 악의를 가지고 만든 응용 프로그램(해킹 프로그램)이 사용자의 시스템 메모리에 바로 접근할 수 있게 된다. 사용자의 데이터를 훔쳐가라고 대문이 활짝 열리는 것이나 다름 없다. 멜트다운은 이론 상 문제가 되는 비순차적 명령어 처리 기술이 적용된 모든 인텔 CPU에서 발생할 수 있다. 1995년 이후 시중에 판매된 모든 인텔 CPU가 여기에 해당한다(해당 명령어를 쓰지 않는 저사양 아톰 프로세서는 제외). 구글 연구팀은 2011년에 발매된 하스웰 아키텍처 기반의 제온 프로세서에서 멜트다운이 발생함을 확인했다. 멜트다운은 인텔이 이용 중인 비순차적 명령어 처리 기술의 문제 탓에 일어나는 버그라 AMD와 ARM의 CPU에서는 발생하지 않는다.

멜트다운은 일반 사용자용 PC뿐만 아니라 클라우드 컴퓨팅용 인프라스트럭처에서도 일어난다. 인텔 CPU와 시트릭스 젠 하이퍼바이저(가상화 솔루션)를 이용 중인 클라우드 업체가 특히 취약하다. 인텔 CPU의 데이터센터 시장 점유율은 99.8%에 이르고, 젠 하이퍼바이저 역시 VM웨어, 하이퍼-V 등과 함께 가상화 시장을 삼등분하고 있다. 사실상 모든 클라우드 서비스 업체에서 보안 문제가 발생할 수 있는 셈이다. 여기에 리눅스 도커 컨테이너를 쓰는 경우에도 멜트다운의 영향을 받을 수 있다고 알려진 상태다.

스펙터는 CPU 속에 담겨있는 수 많은 명령어에서 일어나는 버그를 악용한 보안 취약점이다. 이 버그를 이용하면 해킹 프로그램이 다른 응용 프로그램이 담긴 메모리 내부를 들여다볼 수 있게 된다. 멜트다운처럼 보안 구조가 통째로 무너지는 것은 아니지만, 응용 프로그램이 처리하고 있는 데이터 가운데 일부가 해커들에게 노출 될 수 있다. 스펙터는 어떤 상황에서 어떤 명령어를 이용해 버그가 일어나고, 이를 해결하기 위해 어떤 대응을 해야하는지 추적하기 매우 어렵다. 버그의 이름을 '유령'이라고 이름붙인 이유다.

대응이 어렵기 때문에 구글은 스펙터의 원인과 일으키는 방법을 자세히 공개하지 않았다. 다만 하나의 가상머신에서 이뤄진 공격이 해당 가상머신을 유지하는 호스트 머신의 메모리에 바로 접근할 수 있고, 해당 호스트 머신이 구동 중인 다른 가상머신의 메모리에도 접근할 수 있다는 사실이 확인되었다. 이는 현재 클라우드 컴퓨팅을 유지하는 멀티테넌트 구조의 근간을 뒤흔드는 치명적인 버그다. 스펙터는 이론 상 많은 명령어를 보유한 모든 최신 프로세서에서 일어날 수 있다. 인텔, AMD, ARM 등 모든 CPU 제조사의 최신 프로세서가 여기 해당한다. 구글은 인텔, AMD, ARM의 최신 프로세서에서 스펙터 버그가 발견되었다고 공지했다.

아마존, MS, 구글은 이미 해결... 구형 운영체제 사용자는?

워낙 기술적으로 어려운 문제라 길게 설명했지만, 사실 쉽게 요약할 수 있다. 'CPU의 메모리에서 데이터가 줄줄 새고 있었다는 것'이다. CPU(하드웨어)의 문제인 만큼 소프트웨어 기술로 땜질하는 것도 어렵다. 하드웨어 문제 자체를 해결해야만 한다.

구글이 지난 해 6월 1일 CPU 제조사들에게 이 버그를 알린 이후 CPU 제조사들도 이 문제를 해결하기 위해 손을 쓰기 시작했다. 인텔은 아마존웹서비스(AWS), 마이크로소프트(MS), 구글, 레드햇 등과 협력해 멜트다운을 해결할 수 있는 패치를 개발했다. 해결방법은 간단했다. 문제가된 비순차적 명령어 처리 기술을 비활성화한 것이다.

현재 AWS, 마이크로소프트, 구글 등이 제공하는 클라우드 서비스는 패치가 완료되었다. 클라우드 서비스를 이용 중인 기업은 운영체제를 최신 버전으로 업데이트하고 서비스를 재부팅함으로써 이 문제를 해결할 수 있다. 레드햇 리눅스 역시 최신 패치를 내려받으면 멜트다운을 해결할 수 있다.

일반 사용자용 보안 패치도 공개되었다. 윈도우10, 맥OS 하이시에라, 최신 안드로이드 운영체제(12월 보안 패치가 완성되어 제조사에게 전달) 등은 최신 버전으로 업데이트하면 멜트다운 버그를 방지할 수 있다. 스펙터용 보안 패치는 현재 개발 중이다. 하지만 일반 사용자용 보안 패치가 공개된 것은 최신 운영체제에 한정된다. 구형 운영체제 사용자는 여전히 멜트다운과 스펙터에 무방비로 노출될 수밖에 없다.

CPU를 메인보드에 탑재하는 모습<인텔의 CPU>

위기 회피에 급급한 해명... 피해는 사용자의 몫

멜트다운과 스펙터가 공개된 이후 인텔과 AMD는 공식 성명을 통해 자사의 입장과 보안 업데이트 등의 내용이 담긴 향후 대책을 발표했다. 하지만 사용자의 피해를 해결할 수 있는 방안보다 해명에 급급한 내용을 담고 있어 논란이 일고 있다. 인텔의 경우 자사뿐만 아니라 경쟁 CPU 제조사에서도 함께 발견된 문제라고 밝혔으나, 사안의 중요성은 인텔 CPU에서만 발견된 멜트다운이 스펙터보다 훨씬 크다. AMD의 경우 문제가 되는 비순차적 명령어 처리 기술을 쓰지 않기 때문에 AMD CPU에서는 문제가 발생하지 않는다고 밝혔다. 멜트다운만 보면 '팩트'이지만, 스펙터에 대한 언급은 어디에도 없다.

특히 인텔의 경우 멜트다운 문제 해결을 위해 해당 비순차적 명령어 처리 기술을 비활성화함에 따라 CPU의 성능이 저하되는 문제가 발생했다. 비순차적 명령어 처리는 현대 CPU 기술의 핵심이다. 영국의 IT전문지 레지스터에 따르면 이 명령어를 비활성화함으로써 인텔 CPU는 최대 30%까지 성능이 저하될 수 있다.

이러한 성능 저하는 일반 사용자보다 클라우드 컴퓨팅과 서비스 호스팅 업체에 더욱 치명적이다. 클라우드 컴퓨팅은 앱을 분할한 후 여러 인프라에서 처리하는 가상화 기술을 이용해 CPU의 성능을 상시 100% 가까이 활용하고 있다. 조금만 CPU의 성능이 떨어져도 전체 퍼포먼스가 크게 하락할 수밖에 없다. 서버 및 데이터센터 시장에서 99%가 넘는 점유율을 확보한 인텔의 CPU에서 이러한 문제가 발생한 만큼 클라우드 컴퓨팅 업체가 제공하는 하드웨어의 퍼포먼스(성능)는 급격히 하락할 수밖에 없다. 클라우드 업체는 서비스 수준 협약을 통해 고객에게 일정한 퍼포먼스를 제공하겠다고 약정한다. 보안 패치 이후 협약을 지키는 방법은 추가로 인프라를 투입하는 방법밖에 없다. 추가 인프라 비용은 모두 클라우드 업체의 부담으로 돌아올 전망이다.

멜트다운용 보안 패치로 인해 일반 사용자용 PC의 성능이 어느 정도 저하될지 공식적으로 발표된 것은 없다. 일단 시스마크 등 벤치마크 프로그램을 통해 확인된 바에 따르면 아주 미세한 성능 저하만이 있을 뿐이다. 하지만 실제 프로그램 실행시 어느 정도의 손실이 있을지는 미지수다. 패치가 완료된 이후 올라오는 사용자들의 경험담을 관심있게 지켜봐야 한다.

인텔 CEO의 부적절한 처신도 도마에 오르고 있다. 브라이언 크르자니크 인텔 CEO는 지난 해 11월 29일 인텔 CEO가 반드시 보유해야 하는 최소 주식인 25만 주를 제외한 나머지 보유 주식 88만 9878주를 매도했다. 멜트다운과 스펙터가 공개된 이후 인텔의 주식은 46.5 달러에서 43.9 달러로 급락했다. 향후 사건 전개에 따라 주식 가치가 더 떨어질 가능성도 있다. 크르자니크 CEO는 인텔 최고경영자로서 멜트다운과 스펙터에 대해 누구보다 잘 아는 인물이다. 그런 인물이 회사의 악재를 앞에 두고 주식을 매도한 것은 '내부자거래(Insider Trading)'라는 의심을 피하기 힘든 처사다. 내부자거래란 기업의 임직원이나 주요주주가 일반인에게 공개되지 않은 기업의 중요한 정보를 이용해 해당 기업의 주식을 거래하는 것을 뜻한다.

글 / IT동아 강일용(zero@itdonga.com)

http://it.donga.com/27265/

TAG •

Articles

1 2 3 4