새해가 밝으면 새로운 시작을 기대하게 되기 마련입니다. 하지만 2017년에는 워너크라이(WannaCry) 랜섬웨어와 Equifax 해킹 사건 같은 보안 위협이 연이어 터졌고, 2018년의 시작 역시 순탄하지 않았습니다.
새해 인사가 끝나기 무섭게 다음 보안 폭탄이 헤드라인을 장식했습니다. 게다가 하나가 아니라 두 개였습니다. 멜트다운(Meltdown)과 스펙터(Spectre)로 불리는 이 취약점은 컴퓨터 마이크로프로세서에서 비롯된 것으로, 그 심각성과 잠재적 피해 규모 면에서 전문가들은 2014년의 하트블리드(Heartbleed) 버그에 비유하기도 했습니다.
이 버그는 모든 데스크톱 운영체제를 공격할 수 있지만, 이 글에서는 윈도우에 초점을 맞춰 살펴보겠습니다. 취약점이 어떤 원리로 작동하는지, 그리고 내 시스템이 영향을 받았는지 확인하는 방법까지 자세히 알아보겠습니다.
멜트다운과 스펙터, 좀 더 자세히 들여다보기
내 시스템에서 두 취약점을 점검하는 방법을 설명하기 전에, 먼저 이 취약점이 정확히 무엇인지, 어떻게 작동하는지 이해할 필요가 있습니다.
두 문제는 모두 같은 보안 연구진이 발견했습니다. 본질적으로 이것은 프로세서 아키텍처, 즉 트랜지스터, 논리 유닛 등 프로세서가 작동하도록 함께 움직이는 미세 부품들에 존재하는 결함입니다.
이 결함을 악용하면 공격자는 컴퓨터가 처리하는 거의 모든 데이터를 노출시킬 수 있습니다. 비밀번호, 암호화된 메시지, 개인 정보 등 상상할 수 있는 모든 데이터가 해당됩니다.
멜트다운은 인텔 프로세서에만 영향을 미칩니다. 우려스럽게도 이 버그는 2011년부터 존재해 왔습니다. 멜트다운은 비순차 실행(Out-of-Order Execution, OOOE) 과정의 일부를 이용해 CPU의 캐시 상태를 변경한 뒤, 평소에는 접근할 수 없어야 할 메모리 내용을 덤프할 수 있습니다.
스펙터는 인텔, AMD, ARM 프로세서를 모두 공격할 수 있으므로 스마트폰, 태블릿, 각종 스마트 기기에도 영향을 줄 수 있습니다. 스펙터는 프로세서의 추론 실행(speculative execution)과 분기 예측(branch prediction)을 캐시 공격과 결합해, 보호된 메모리 영역 안에 숨겨져 있어야 할 정보를 앱이 노출하도록 속입니다.
스펙터 공격은 대상마다 개별적으로 맞춤화해야 하므로 실행 난이도가 높습니다. 하지만 업계의 오랜 관행에 기반하고 있어서 오히려 수정하기가 더 어렵다는 것이 문제입니다.
내 윈도우 10 PC는 멜트다운에 취약한가?
다행히 마이크로소프트는 시스템에서 실행할 수 있는 편리한 PowerShell 스크립트를 공개했습니다. 아래 단계를 따라 추가 모듈을 설치하고 활성화하면, 결과를 통해 추가 조치가 필요한지 확인할 수 있습니다.
먼저 PowerShell을 관리자 권한으로 실행합니다. 윈도우 키 + Q를 누르거나 시작 메뉴를 열고 PowerShell을 입력한 뒤, 첫 번째 결과(Windows PowerShell, 데스크톱 앱)를 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택합니다.
PowerShell이 로드되면 다음 단계에 따라 PC가 멜트다운에 취약한지 확인합니다. 명령어는 복사해서 붙여넣을 수 있습니다.
- Install-Module SpeculationControl을 입력하고 Enter 키를 눌러 명령을 실행합니다.
- NuGet 공급자 프롬프트가 나타나면 Y(예)를 입력하고 Enter를 누릅니다.
- 신뢰할 수 없는 리포지토리(Untrusted repository) 프롬프트에도 같은 방식으로 응답합니다.
- 다음으로 Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser를 입력하고 Enter를 누릅니다.
- 설치가 완료되면 Import-Module SpeculationControl을 입력하고 Enter를 누릅니다.
- 마지막으로 Get-SpeculationControlSettings를 입력하고 Enter를 누릅니다.
명령 실행이 끝나면 출력 결과를 확인합니다. 결과는 True 또는 False로 표시됩니다.
True만 표시된다면 이미 보호 상태이므로 추가 조치가 필요하지 않습니다. 반면 False가 나타난다면 시스템이 취약하다는 뜻이며 추가 조치가 필요합니다. 결과에 표시된 권장 조치(suggested actions) 항목을 반드시 확인하세요. 위 스크린샷의 테스트 PC처럼 BIOS/펌웨어 업데이트가 필요하거나, Windows Update 패치가 아직 설치되지 않은 경우가 있을 수 있습니다.
멜트다운으로부터 자신을 보호하는 방법
마이크로소프트는 멜트다운 발표 직후 신속하게 패치를 배포했습니다. Windows Update 도구(설정 > 업데이트 및 보안 > Windows Update > 업데이트 확인)에서 찾을 수 있습니다. 빌드 16299용 패치 KB4056892를 내려받아 설치하면 됩니다.
문제는 일부 백신 프로그램과 호환되지 않는다는 점입니다. 보안 소프트웨어 제조사(ISV)가 윈도우 레지스트리의 ALLOW REGKEY 값을 업데이트하기 전까지는 패치가 적용되지 않습니다.
브라우저도 최신 버전으로 업데이트해야 합니다. 구글은 크롬 64에서, 모질라는 파이어폭스 57(Quantum)에서 멜트다운을 패치했으며, 마이크로소프트 역시 최신 버전의 Edge를 패치했습니다. 주류 외 브라우저를 사용한다면 해당 개발사에 직접 확인해 보세요.
마지막으로 시스템의 BIOS와 펌웨어를 업데이트해야 합니다. 일부 PC 제조사는 윈도우 안에서 업데이트를 빠르게 확인할 수 있는 전용 앱을 제공합니다. 만약 제조사 앱이 없거나 삭제했다면 제조사 웹사이트에서 업데이트를 찾으면 됩니다.
스펙터로부터 자신을 보호하는 방법
멜트다운이 더 즉각적인 위협이며 해커가 악용하기도 더 쉽습니다. 하지만 스펙터는 수정이 더 어렵습니다.
스펙터의 작동 방식 특성상 이를 완전히 해결하려면 기업들이 프로세서 제조 방식 자체를 재설계해야 합니다. 그 과정은 몇 년이 걸릴 수 있고, 현재 세대의 프로세서가 시장에서 완전히 사라지기까지는 수십 년이 걸릴 수도 있습니다.
물론 인텔도 고객에게 보호 수단을 제공하려고 노력했습니다. 불행히도 그 대응은 상당히 혼란스러웠습니다.
1월 중순 인텔은 스펙터 패치를 출시했습니다. 그러자 곧바로 윈도우 사용자들이 패치에 버그가 있다고 불만을 제기하기 시작했습니다. 패치가 설치된 컴퓨터가 예기치 않은 시점에 무작위로 재부팅되는 문제였습니다. 인텔은 두 번째 패치를 내놓았지만 문제는 해결되지 않았고, 재부팅 오류는 계속됐습니다.
이 시점에 이미 수백만 명의 사용자가 패치를 설치한 상태였습니다. 인텔은 문제를 수정할 때까지 어느 패치도 내려받지 말라고 고객에게 통보했습니다. 그런데 윈도우 사용자에게는 함정이 있었습니다. 인텔 패치는 Windows Update 앱을 통해 배포되고 있었고, 사용자들은 알지 못한 채 계속 설치하고 있었던 것입니다. 요즘 윈도우 업데이트 과정이 얼마나 불투명한지 우리 모두 잘 알고 있죠.
무작위 재부팅 자체는 분명 짜증스럽지만, 결함 있는 패치에서 가장 걱정스러운 부분은 데이터 손실 가능성이었습니다. 인텔의 설명에 따르면 "예상보다 많은 재부팅과 기타 예측할 수 없는 시스템 동작이 발생해 데이터 손실 또는 손상으로 이어질 수 있다"고 했습니다.
1월 말이 되자 마이크로소프트가 직접 나설 수밖에 없었습니다. 회사는 매우 드문 조치를 취했습니다. 윈도우 7, 8.1, 10용 긴급 보안 업데이트(out-of-band)를 배포해 인텔의 패치를 완전히 비활성화한 것입니다.
마이크로소프트 수정 패치 설치 방법
아쉽게도 새 패치는 Windows Update 앱을 통해 제공되지 않습니다. 직접 설치해야 합니다.
먼저 Microsoft Update Catalog로 이동해 Update for Windows (KB4078130)를 찾습니다. 준비가 되면 Download를 클릭합니다.
다음으로 .EXE 파일을 클릭합니다.
파일 용량이 매우 작아 내려받는 데 몇 초밖에 걸리지 않습니다. 내려받기가 끝나면 EXE 파일을 더블클릭하고 화면의 지시에 따라 진행하면 됩니다.
그렇다면 앞으로는 어떻게 될까요? 여기까지 따라오셨다면 눈치채셨겠지만, 영향을 받은 사용자는 결국 처음 상태로 돌아갔습니다. 즉, 여전히 노출되어 보호받지 못하는 상황입니다.
인텔이 앞으로 몇 주 안에 더 성공적인 패치를 내놓기를 바랄 뿐입니다. 그때까지는 조금 더 지켜볼 수밖에 없습니다.
멜트다운과 스펙터가 당신을 불안하게 만드는가?
걱정되는 것은 당연합니다. 어쨌든 컴퓨터는 문자 그대로 우리 삶의 열쇠를 쥐고 있으니까요.
하지만 사실에서 위안을 얻는 것도 중요합니다. 스펙터 공격의 희생자가 될 가능성은 극히 낮습니다. 공격자 입장에서 확실한 보상 없이 투입해야 하는 시간과 노력을 생각하면, 일반 개인은 매력적인 표적이 아닙니다.
또한 주요 기술 기업들은 2017년 중반부터 두 문제를 알고 있었습니다. 패치를 준비하고 최선의 방식으로 대응할 충분한 시간이 있었다는 뜻입니다.
사실을 알고도 멜트다운과 스펙터 위협이 여전히 걱정되시나요? 아래 댓글로 여러분의 생각과 의견을 알려주세요.