Windows 10에서 Retpoline 보호를 활성화하는 방법

과거와 달라진 보안 위협

과거에는 악성 애플리케이션 설치, 잘못된 링크 클릭, 피싱 공격 등이 주요 보안 문제였습니다. 하지만 이제는 상황이 달라졌습니다. CPU 자체에 시스템 데이터를 탈취하는 데 악용될 수 있는 취약점이 존재합니다. 이러한 취약점은 최근에 발견된 것이 아니라 꽤 오랫동안 잠재되어 있었습니다. 스펙터(Spectre)는 마이크로소프트와 인텔이 모두 패치한 취약점 중 하나이지만, 이 패치로 모든 문제가 해결되지는 않으며 오히려 구형 CPU를 사용하는 시스템의 성능을 저하시키는 경향이 있습니다.

마이크로소프트는 스펙터 취약점을 완화하는 방법 개선에 지속적으로 노력해 왔습니다. 그 결과, 리트폴린(Retpoline)이라는 새로운 기술이 개발되었습니다. Windows 10을 최신 상태로 유지하고 있다면, 월별 업데이트를 통해 이미 이 기술이 적용되어 있을 것입니다. 리트폴린은 KB4482887 업데이트와 함께 제공되지만, 수동으로 활성화해야 합니다.

KB4482887 업데이트 설치 여부 확인

먼저, 시스템에 KB4482887 업데이트가 설치되어 있는지 확인해야 합니다. 설정 앱을 열고 ‘업데이트 및 보안’ 설정 그룹으로 이동한 후, ‘Windows 업데이트’ 탭을 선택하십시오.

‘Windows 업데이트’ 탭에서 ‘업데이트 기록 보기’를 클릭합니다. KB4482887 업데이트는 품질 업데이트 목록에서 찾아볼 수 있습니다. 만약 업데이트가 없다면, ‘Windows 업데이트’ 탭으로 돌아가서 ‘업데이트 확인’을 클릭하여 업데이트를 설치하십시오.

리트폴린 보호 활성화 방법

리트폴린 보호를 활성화하려면 관리자 권한으로 Windows 레지스트리를 수정해야 합니다. 레지스트리에서 두 가지 값을 변경해야 합니다. KB4482887 업데이트가 설치되어 있지 않다면, 변경 작업을 수행하기 전에 반드시 업데이트를 먼저 설치하십시오.

Windows 레지스트리 편집기를 열고 다음 경로로 이동합니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

‘메모리 관리’ 키를 마우스 오른쪽 버튼으로 클릭하고 ‘새로 만들기’ > ‘DWORD(32비트) 값’을 선택합니다. 새로 생성된 값의 이름을 ‘FeatureSettingsOverride’로 지정합니다. 해당 값을 더블클릭하고 값 데이터 필드에 ‘400’을 입력합니다.

다시 한번 ‘메모리 관리’ 키를 마우스 오른쪽 버튼으로 클릭하고 ‘새로 만들기’ > ‘DWORD(32비트) 값’을 선택합니다. 이번에는 새로 생성된 값의 이름을 ‘FeatureSettingsOverrideMask’로 지정합니다. 해당 값을 더블클릭하고 값 데이터 필드에 ‘400’을 입력합니다.

작업이 완료되면 PC를 재시작합니다. 파일 탐색기는 재시작할 필요가 없습니다.

리트폴린 활성화 검증

리트폴린이 올바르게 활성화되었는지 확인하기 위해 PowerShell에서 Get-SpeculationControlSettings cmdlet을 사용할 수 있습니다.

Technet 갤러리에서 다운로드하여 압축을 풀고, 관리자 권한으로 PowerShell을 실행한 다음, 다음 두 명령을 한 번에 하나씩 실행합니다.

$SaveExecutionPolicy = Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned -Scope Currentuser

그런 다음, 다음 명령을 사용하여 cmdlet을 가져옵니다. 이 때, 압축을 푼 폴더와 그 안의 PSD1 파일의 전체 경로를 입력해야 합니다.

Import-Module .SpeculationControl.psd1

예시:

Import-Module C:\SpeculationControl\SpeculationControl.psd1

cmdlet이 설치되면, 다음 명령을 실행하여 리트폴린이 활성화되었는지 확인합니다.

Get-SpeculationControlSettings

결과를 여기에 게시된 내용과 비교해 보세요.