2018. 1. 17. 17:56ㆍIT 이슈를 파헤치다
Key Point
- 인텔 멜트다운 사건은 무엇인가?
- 어떤 피해가 예상되는가?
- 버그에 대한 제조사의 대응
인텔 멜트다운 사건은 무엇인가?
인텔 멜트다운 사건은 2018년 1월 3일 구글의 발표로 알려지게 되었습니다.
AMD, 인텔, ARM과 같은 메이저 CPU 아키텍처에서 발견된 2가지 크리티컬한 보안 취약점을 통칭하여 멜트다운 사건으로 알려지게 되었습니다.
특히 인텔 CPU의 경우, 사람들이 사용하고 있는 대부분의 제품이 버그 위험에 노출되어 사상 최악의 위기를 겪고 있는 상황입니다.
또한 버그 보완 패치의 부작용으로 시스템 콜 성능이 심각하게 저하되어 더 논란이 일게 되었습니다.
이 버그는 원래 구글측에서 2017년에 발견하여 필요한 조치를 취한 뒤, 2018년 1월 9일에 공개할 예정이었습니다. 하지만 리눅스 패치를 지켜보던 사람들이 이상한 낌새를 눈치채 인텔 CPU에 심각한 버그가 있음이 알려지자 구글이 예정보다 빠른 1월 3일에 공개하게 된 것입니다.
미국의 대형 소셜 뉴스 커뮤니티인 Reddit을 통해 인텔 CPU 버그관련 내용이 최로 공개되었습니다.
이 두가지 버그의 이름은 다음과 같습니다.
- 멜트다운 → 기존 운영체제의 모든 보안 정책을 붕괴시키기 때문에 붙여진 이름입니다.
- 스펙터 → 멜트다운보다는 덜 위협적이지만 스펙터를 이용해 공격을 해올 경우 유령이 공격하는 것처럼 방어가 굉장히 어렵기 때문에 붙여진 이름입니다.
어떤 피해가 예상되는가?
멜트다운
멜트다운 버그가 이토록 엄청난 이슈로 다가온 것에는 다 이유가 있습니다.
CPU가 작동하는 원리에 치명적인 보한 결함이 존재하고, 이를 해커가 악용할 수 있기 때문입니다.
이것이 의미하는 것은 지금까지 운영체제에서 이루어졌던 모든 보안 정책이 먹히지 않는다는 것입니다.
인텔의 칩에서 발견된 멜트다운 취약점은 커널 메모리에 들어있는 정보를 유출시킬 수 있습니다.
커널에 대한 자세한 설명인 지난 포스팅을 참조하세요.
2018/01/08 - [IT 이슈를 파헤치다] - 커널을 파헤치다
지금까지의 바이러스나 랜섬웨어같은 경우 대부분 운영체제의 핵심 부분을 감염시켜 오작동 하도록 만들었습니다.
하지만 컴퓨터의 핵심 하드웨어인 CPU 자체의 결함을 통해 해커가 접근한다면 막을 방법이 없다는 것이 멜트다운 취약점이 큰 이슈가 된 이유입니다.
심지어 인텔의 CPU는 대부분의 개인 및 기업이 사용하고 있습니다. 그래서 파장이 만만치 않은 것입니다. 그리고 최신 기종 뿐만 아니라 거의 대부분의 인텔 CPU가 멜트다운 공격의 대상이 될 수 있다는 점이 이번 이슈가 IT업계를 뒤흔든 최대의 이슈가 된 이유입니다.
멜트다운은 굉장히 심각한 보안 취약점입니다. 운영체제의 모든 보안 정책을 무력화하는 공격을 행할 수 있기 때문입니다.
컴퓨터는 운영체제가 꼭 필요합니다. 운영체제의 핵심이라고 할 수 있는 커널에서 컴퓨터 하드웨어 자원을 조율하여 응용프로그램들이 돌아갈 수 있도록 해주기 때문입니다.
이때 커널에서는 매우 중요한 작업들이 진행되므로 응용프로그램과 커널의 영역을 철저히 분리해 놓고 있습니다. 하지만 멜트다운 취약점을 이용해 공격하면 유저 프로그램이 커널이 지키고 있는 영역을 훔져보는 것이 가능해지게 됩니다.
CPU는 명령어 처리기이빈다. CPU가 명령어를 처리하는 것이 곧 컴퓨터가 정상적으로 돌아간다는 것을 의미하기도 합니다.
명령을 더 빠르고 효율적으로 처리하기 위해서 내부적으로 명령어의 실행 순서를 바꾸는등의 최적화 작업이 수행됩니다. 뒤쪽 명령어를 미리 실행한다든지 조건에 따라 분기되는 부분에서 가정을 세워 실행하는 등의 최적화를 수행합니다. 이렇게 미리 계산한 값이 맞을 경우 해당 값을 실제로 적용해 사용자에게 보여주고, 틀리면 그 계산을 파기하는데 위의 두 가지 취약점 모두 실제로는 실행되지 않는 파기된 계산에서 정보가 누출되어 발생하는 것입니다.
현재 알려진 바로는 멜트다운은 거의 대부분의 인텔 프로세서와 ARM Cotex-A 시리즈 기종에서 발생한다고 알려져 있습니다.
멜트다운 취약점을 이용하면 해커가 커널의 메모리를 훔쳐볼 수 있기 때문에 각종 개인정보가 유출될 가능성이 큽니다. 물론 메모리에 기록은 할 수 없기 때문에 시스템을 직접적으로 붕괴시키거나 할 수는 없습니다. 하지만 컴퓨터에는 포털 아이디 및 비번부터 공인인증서 전자서명까지 정말 다양한 개인정보들이 들어가 있습니다. 이것을 모두 공격자가 알 수 있으므로 어떤 피해가 발생할지 섣불리 판단할 수 없습니다.
이 취약점이 운영체제의 보안 자체를 무력화 시킨다고 하는 것에는 다음과 같은 이유가 있습니다. 데이터 유출을 피하기 위해 데이터를 암호화한다고 해도, 그 암호를 해독하는 복호화키가 메모리 어딘가에 존재하는 한 그 키 역시 유출될 수 있기 때문에 근본적으로 공격을 막을 수 없습니다. 운영체제의 핵심인 커널의 정보가 담긴 커널 메모리를 모두 볼 수 있다는 점이 바로 운영체제 보안 전체가 붕괴되는 이유입니다.
멜트다운 취약점은 하드웨어의 구조적인 결함을 활용하고 스펙터에 비해 구현도 그렇게까지 어렵지 않기 때문에 매우 심각한 문제입니다. 특히, 전세계에 이슈가 된 이유는 인텔 CPU가 대부분의 개인 및 기업에서 사용되기 때문입니다.
커널 메모리를 쉽게 읽을 수 있다는 것이 멜트다운의 핵심 취약점입니다. 즉, 유용한 정보가 커널 메모리의 어디에 있는지까지는 알아내는데 시간이 걸린다는 의미입니다. 그렇기 때문에 개인의 경우 공격자가 특별한 이유 없이는 굳이 고생해가면서 공격할 이유가 없을 수도 있습니다. 하지만 기업의 경우라면 얘기가 다릅니다. 이는 정말 심각한 문제를 발생시킬 수 있습니다. 기업의 신제품 설계도, 메인 서버 접근 개인키 유출같은 상황이 발생할 수 있는 것입니다.
현재 패치가 나와있지만 근본적인 해결이 안될 뿐더러 성능저하 이슈가 있기 때문에 기업입장에서는 낭패입니다. 결국 CPU를 바꿔야 하는데 대부분이 인텔의 CPU 모델이라 선택지가 AMD 밖에 없는 실정입니다. 하지만 CPU를 바꾸는 것도 이는 아키텍처가 다르기 때문에 기업의 입장에서는 상당히 심각한 시간적, 금전적 피해가 따르게 됩니다.
개인의 입장에서도 PC 뿐만 아니라 ARM 프로세서를 사용하는 스마트폰에서도 이와 같은 버그가 악용될 수 있기 때문에 매우 심각한 피해를 입을 가능성이 있습니다.
스펙터
스펙터는 멜트다운과는 달리 한 유저 프로그램이 다른 유저 프로그램의 메모리를 훔져보는 취약점입니다. 스펙터는 멜트다운처럼 모든 보안체제가 붕괴되는 것 까지는 아닙니다. 또한, 구현자체도 굉장히 까다롭습니다. 하지만 반대로 막는 것도 정말 어렵기 때문에 스펙터(유령)라는 이름이 붙은 것입니다.
스펙터 취약점은 다음의 CPU 제품군에서 나타날 수 있습니다.
- 인텔
- AMD
- ARM Cotex 제품군
스펙터는 여러 명령어를 동시에 실행하는 최적화가 적용된 거의 대부분의 현대 프로세서에 적용되는 취약점입니다.
스펙터가 구현이 어려운 이유는 다음과 같습니다.
스펙터는 앞서 말했듯이 유저 프로그램간 메모리 훔쳐보기가 가능한 버그입니다. 하지만, 기본적으로 대상 프로그램에서 문제가 존재하는 코드의 투기적 실행(Speculative Execution)이 일어나야 합니다.
투기적 실행은 CPU가 명령어를 처리할 때 뒤의 명령어를 미리 실행하는 것입니다. 이렇게 하는 이유는 CPU가 명령어 수행을 멈추지 않고 계속 하기 위함입니다. 효율성을 극대화하는 최적화 기법입니다.
이러한 투기적 실행이 프로그램에서 일어나는지 알려면 대상 프로그램을 세세하게 분석해야 하고 프로그램이 돌아가는 CPU와 운영체제에 대해서도 매우 자세히 알아야 합니다. 즉, 컴퓨터 전반에 대해 깊은 이해가 된 사람만이 공격을 할 수 있다는 얘기가 됩니다.
다만, 어느 프로그램에서나 이 문제가 존재할 가능성을 배제할 수 없기 때문에 능력만 있다면 어떤 프로그램이든 스펙터 공격으로부터 자유로울 수 없습니다.
스펙터 버그 역시 수십년간 사용하던 프로세서 설계에 존재하는 결함이기 때문에 설계 아키텍처가 바뀌지 않는 한 근본적인 해결방법이 나오기 힘들다고 스펙터 버그 공동 발견자인 Paul Kocher가 언급한 바 있습니다.
버그에 대한 제조사의 대응
인텔
인텔은 이번 보안 이슈가 해결 불가능한 문제가 아니기 떄문에 리콜은 없을 것이라고 발표했습니다.
멜트다운을 방어할 수 있는 커널 보안 패치를 내놓았습니다.
더불어 개인 및 기업이 준수할 수 있는 보안 수칙들을 발표했습니다.
- 컴퓨터 업데이트를 주기적으로 확인하고 수행할 것
- 하드웨어, 소프트웨어 방화벽을 사용할 것
- 사용하지 않는 서비스를 끌 것
- 사용자 권한에 신경쓸 것
- 보안 소프트웨어를 최신으로 유지할 것
- 알지 못하는 링크를 클릭하지 말 것
하지만 보는 바와 같이 위와 같은 수칙들은 기본적인 보안 수칙에 해당됩니다.
보안 패치가 나왔지만 성능 저하 이슈때문에 골치를 겪었습니다. 인텔측에서는 성능 저하는 작업량에 따라 다르며 개인 사용자들의 경우는 큰 영향이 없을 것이라고 발표했습니다.
인텔의 대응이 논란이 된 이유는 CPU의 결정적인 결함으로 인해 큰 이슈가 되고 수 많은 기업 및 개인들이 피해를 볼 수 있는 위험에 처해있음에도 공식적인 사과보다는 대처는 이루어졌고 앞으로 좋아질 것이라는 뉘앙스를 풍겼기 때문입니다.
구글, 애플, 아마존등 글로벌 기업들은 자신들이 피해를 보지 않기 위해 인텔에 협력할 수 밖에 없는 입장일 것입니다. 어쩌면 인텔은 CPU 시장에서 자신이 독점적인 위치에 있다는 것을 알고 이러한 태도를 보이는 것일지도 모르겠습니다.
AMD
AMD는 스펙터 버그에 대해서 OS/소프트웨어 업데이트를 통해 해결이 되었으며 업데이트로 인한 성능저하는 무시할 수 있는 수준이라고 발표했습니다. 또한, 멜트다운 취약점에 대해서는 CPU 아키텍처 구조의 차이로 문제가 발생하지 않을 것이라고 발표한 바 있습니다.
'IT 이슈를 파헤치다' 카테고리의 다른 글
안드로이드 생태계의 핫 이슈, 코틀린(Kotlin) (0) | 2018.01.19 |
---|---|
4차 산업혁명안에서 직업을 파헤치다 (0) | 2018.01.18 |
새로운 컴퓨터 패러다임, 양자 컴퓨터 (2) | 2018.01.15 |
서버 아키텍처의 새로운 패러다임 - 서버리스 아키텍처(Serverless Architecture) (0) | 2018.01.05 |
스마트폰을 고이 접다 - 폴더블 디스플레이 (0) | 2018.01.04 |