Archives
Today
468
Total
7,220,657
관리 메뉴

꿈을꾸는 파랑새

윈도우에서 멜트다운 버그와 스펙터 버그 확인 하는 방법 본문

보안

윈도우에서 멜트다운 버그와 스펙터 버그 확인 하는 방법

Sakai 2018.01.08 00:01

오늘은 윈도우에서 멜트다운 버그와 스펙터 버그 확인하는 방법에 대해 알아보는 방법에 대해 알아보겠습니다. 오늘은 구글 크롬에서는 멜트다운 버그와 스펙터 버그 임시 대처 방법에 대해 알아보는 시간을 가져 보겠습니다. 먼저 멜트다운 버그와 스펙터 버그는 2018년 1월 3일 구글에서 가장 먼저 발견을 하고 발표를 했으며 특정 CPU 아키텍처에서 발견된 중대한 보안 취약점에 대한 보안 취약점입니다.

원래는 해당 버그는 구글 측에서 2017년경 발견을 하게 되고 마이크로소프트와 리눅스 개발진 등에게 알려 보안 패치 등 필요한 조치를 하고 나서 2018년 1월 9일 공개할 예정이었지만 리눅스 패치를 지켜보던 사람들이 무엇가 이상함을 느끼게 되고 2018년 1월 초쯤에 무슨 버그인지는 정확히 모르겠지만, 인텔 CPU에 심각한 버그가 있다는 사실이 개발자들 사이에서 수상하게 생각을 하게 되고 결국은 2018년1월3일에 발표를 하게 된 버그입니다. 해당 버그들인 멜트다운은 사용자 프로그램이 운영체제 권한 영역을 훔쳐보는 버그이고 스펙터 는 한 사용자 프로그램이 다른 사용자 프로그램 메모리를 훔쳐보는 버그입니다.
멜트다운과 스펙터 취약점은 현대 CPU에서 사용하는 최적화 기법인 비순차적 실행(Out of Order Execution)과 투기적 실행(Speculative Execution)의 결과로 나타나는 프로세서의 상태 변화에 대한 부 채널 공격이며 CPU 명령어는 사용자에게는 차례로 실행되는 것처럼 보이지만, 내부적으로는 최적화를 위해 뒤쪽 명령어를 미리 실행한다든지 조건에 따라 분기되는 부분에서 가정을 세워 실행하는 등의 최적화를 수행하게 됩니다.

이렇게 미리 계산한 값이 맞으면 해당 값을 실제로 적용해 사용자에게 보여주지만 다르다면 해당 계산을 파기하는데 두 가지 취약점은 실제로는 실행되지 않는 파기된 계산에서 정보를 누출하는 공격을 수행할 수가 있는 버그입니다.

그리고 스펙터는 이보단 덜 심각하지만 그리고 구현하기도 어렵지만, 반대로 막기도 어렵다는 유령 같은 특징과 투기적 실행(speculative execution)의 어감을 살려 스펙트라는 이름이 붙여졌습니다. 그리고 인텔만 취약하다고 하지만 현재는 IBM POWER CPU, ARM 기반 프로세서를 쓰는 애플 기기들과 닌텐도 스위치도 취약한 부분도 있습니다.

컴퓨터를 사용하는 사람 대부분은 Spectre and Meltdown CPU 취약점에 대해 알고 있어야 하면 이러한 CPU 취약점으로부터 자신을 보호하기 위해 해야 ​​하는지도 알아야 할 것입니다. 마이크로소프트는 윈도우 컴퓨터가 Meltdown and Spectre CPU 취약점에 의해 영향을 받는지 알아볼 수있는 PowerShell cmdlet을 출시했으며 이를 통해 시스템을 시스템에서 보호하는 방법을 제안했습니다.

Windows가 Meltdown & Specter의 영향을 받는 방법은 다음과 같습니다. 먼저 PowerShell을 관리자 권한으로 실행하고 다음 명령을 차례로 실행합니다.
PS> # Save the current execution policy so it can be reset
PS> $SaveExecutionPolicy = Get-ExecutionPolicy
PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser
PS> CD C:\ADV180002\SpeculationControl
PS> Import-Module .\SpeculationControl.psd1
PS> Get-SpeculationControlSettings
PS> # Reset the execution policy to the original state
PS> Set-ExecutionPolicy $SaveExecutionPolicy -Scope Currentuser
이렇게 조치를 하면 추가 모듈이 설치되고 활성화되며 보호가 활성화됩니다. 그리고 출력을 확인하고 모든 요소가 True 값을 표시하는지 확인하고 즉, Windows가 보호되고 있음을 알 수 있습니다. 그리고 False로 표시되면 시스템이 취약하고 이러한 문제를 해결해야 함을 의미하며 나중에 Set-ExecutionPolicy Default 명령을 실행하여 기본 ExecutionPolicy 설정을 복원할 수 있습니다. 그리고 US-CERT에서는 CPU 하드웨어를 교체해야 한다고 합니다. 즉 근본적인 취약점은 주로 CPU 아키텍처 설계 선택에 기인하고 해당 취약점을 완전히 제거하려면 취약한 CPU 하드웨어를 교체해야 합니다. 그러나 Meltdown and Specter CPU 취약점으로부터 Windows를 보호하기 위해 취할 수 있는 기본적인 예방 조치가 있습니다.
장치 펌웨어 및 운영 체제가 사용 가능한 최신 업데이트로 완전히 패치
설치된 모든 소프트웨어, 특히 웹 브라우저가 최신 버전으로 업데이트되었는지 확인하고 소프트웨어 업데이트 검사기를 사용할 수 있습니다.
Chrome에서 Strict site isolation를 사용 설정하고 브라우저에서 자바 스크립트가 로드되지 않도록 합니다. 일단 해당 대부분 CPU에서 문제가 있으니까 하루빨리 보안 업데이트를 하는 것이 제일 좋은 방법일 것입니다.



Tag
, , , , , , , , , , , , , , , , , , , , , ,
8 Comments
댓글쓰기 폼