
마이크로소프트는 Meltdown(멜트다운)과 Spectre(스펙터) 취약점에 대한 긴급 보안 업데이트를 이미 배포했습니다. 하지만 이 취약점들은 구조적으로 매우 복잡하고, 일부 백신 프로그램과의 호환성 문제까지 겹쳐서 여러분의 Windows 시스템이 완전히 패치되지 않은 상태일 가능성도 있습니다. 일반적인 Windows 업데이트 화면에서는 패치 적용 수준에 대한 세부 정보를 확인할 수 없지만, 다행히 마이크로소프트가 공개한 간단한 PowerShell 스크립트를 사용하면 시스템이 제대로 패치되었는지 쉽게 알아볼 수 있습니다. 아래에서 그 사용 방법을 단계별로 살펴보겠습니다.
먼저 Windows를 최신 상태로 업데이트하세요
시스템 점검에 앞서 Windows 업데이트를 먼저 확인하고 설치하는 것이 좋습니다. 키보드 단축키 Win + I를 눌러 설정 앱을 연 다음 "업데이트 및 보안" 메뉴로 이동합니다.
"업데이트 확인" 버튼을 클릭하여 사용 가능한 업데이트가 있다면 모두 설치하세요. 업데이트를 마친 후에는 다음 단계로 넘어가 시스템이 완전히 패치되었는지 확인할 수 있습니다.
PowerShell로 시스템 패치 여부 확인하기
마이크로소프트는 시스템이 Meltdown과 Spectre에 대한 방어 패치를 갖추고 있는지 알려주는 간단한 PowerShell 스크립트를 배포했습니다. 스크립트를 내려받아 PowerShell에서 실행하기만 하면 됩니다. 참고로 아래 과정은 Windows 7과 8에서도 동일하게 적용됩니다.
Windows의 대부분 기능이 그렇듯이, 스크립트 실행에는 관리자 권한이 필요합니다. 시작 메뉴에서 PowerShell을 검색한 뒤 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택하세요.
그런데 관리자 권한이 있더라도 PowerShell은 기본적으로 외부에서 내려받은 스크립트의 직접 실행을 허용하지 않습니다. 이는 PowerShell이 기본적으로 제한 모드(restricted mode)로 설정되어 있기 때문입니다. 현재 실행 정책(execution policy)을 확인하려면 아래 명령어를 입력하세요.
Get-ExecutionPolicy

스크립트를 내려받고 실행하려면 실행 정책을 변경해야 합니다. 다음 명령어를 입력하세요.
Set-ExecutionPolicy RemoteSigned
변경 여부를 묻는 메시지가 나타나면 A를 입력하고 Enter 키를 눌러 확인합니다. 그러면 실행 정책이 "RemoteSigned"로 변경됩니다. 걱정하지 않으셔도 됩니다. 작업이 끝난 후 언제든 원래 상태로 되돌릴 수 있습니다.

실행 정책을 변경한 후에는 아래 명령어로 검증 스크립트를 내려받아 설치합니다.
Install-Module SpeculationControl
설치 중 NuGet 업데이트 여부를 묻는다면 Y를 입력해 계속 진행하세요. 신뢰할 수 없는 리포지토리(untrusted repository) 경고가 표시될 수도 있는데, 이 경우 무시하고 A를 입력한 뒤 Enter 키를 눌러 설치를 계속하면 됩니다.

참고: "명령을 인식할 수 없습니다(command not recognized)" 오류가 발생하는 경우, "Speculation Control Validation PowerShell Script"를 직접 내려받아 바탕화면의 폴더에 압축을 해제하세요. 해당 폴더를 연 후 Shift + 오른쪽 클릭을 하고 "여기서 PowerShell 창 열기"를 선택하면 됩니다.
설치가 완료되면 아래 명령어로 스크립트를 불러옵니다.
Import-Module SpeculationControl

스크립트가 성공적으로 설치되고 PowerShell에 로드되었다면, 이제 시스템 점검에 사용할 수 있습니다. 다음 명령어를 실행하세요.
Get-SpeculationControlSettings

명령어를 실행하는 즉시 스크립트가 시스템을 자동으로 스캔하고 아래 이미지와 비슷한 결과를 출력합니다.

위 이미지와 같은 결과가 나타난다면 Meltdown 취약점으로부터는 보호받고 있지만, Spectre 취약점에 대한 패치는 불완전하다는 의미입니다.
그 이유는 프로세서의 동작 구조상 이 취약점이 패치하기 매우 까다롭기 때문입니다. 운영체제 수준의 패치만으로는 부족하고, 칩셋 펌웨어 업데이트가 함께 필요합니다. 이 업데이트는 보통 시스템 제조사의 공식 웹사이트에서 직접 내려받을 수 있습니다.
칩셋 펌웨어를 업데이트하면 Windows가 자동으로 전체 패치를 설치합니다. 시스템이 완전히 패치되면 PowerShell 창에서 빨간색 항목 하나 없이 모든 결과가 초록색으로 표시됩니다.
다만 시스템의 연식과 제조사에 따라 칩셋 펌웨어 업데이트가 제공되지 않을 수도 있습니다. 그렇다고 지나치게 걱정할 필요는 없습니다. Spectre 취약점은 실제로 악용 난이도가 높으며, Chrome, Firefox, Edge, Internet Explorer 등 대부분의 주요 응용 프로그램 역시 공격 위험을 최대한 줄이기 위해 지속적으로 업데이트되고 있습니다.
따라서 더 안전한 환경을 위해 Windows 시스템뿐 아니라 사용 중인 모든 응용 프로그램도 함께 최신 버전으로 유지하는 것을 잊지 마세요.
모든 작업을 마쳤다면 아래 명령어로 실행 정책을 다시 제한 모드로 되돌리는 것이 좋습니다.
Set-ExecutionPolicy Restricted
참고로, 시스템이 완전히 패치되었는지 단순히 확인하는 용도라면 실행 정책을 굳이 "RemoteSigned"로 유지해 둘 필요는 없습니다. 이 정책은 주로 서드파티 PowerShell 스크립트를 설치할 때만 필요합니다.
이미지 출처: Binary code