[Windows][retpoline] Windows10 1809で段階的にロールアウトされるretpolineをすぐに適用する方法

Microsoft、Windows
2019030711432774a

はじめに

去年は主にIntel CPUにおいて見つかった脆弱性、SpectreとMeltdownで大騒ぎになりましたが、その後脆弱性の緩和策がいくつか公表されています。

その中の一つとしてretpolineというものがありますが、こちらの緩和策についてはLinuxではすでに適用が進んでいましたが、Windowsでもようやく修正パッチとして公開されました。
しかし、今のところ修正パッチを適用してもretpoline自体は有効になっておらず、今後段階的にロールアウトされて有効になるようです。

しかし、どうやら手動で有効にする方法があるようです。

前提作業が必要

まず前提としてKB4482887の適用が必要です。

2019 年 3 月 2 日 — KB4482887 (OS ビルド 17763.348)
ペナルティほぼなしの“Specter V2”緩和策が「Windows 10 バージョン 1809」に導入(3月8日追記) – 窓の杜

適用手順

そのあと、Windows 10 1809クライアントについては以下のように、コマンドプロンプト(管理者権限で実行)でコマンドを実行すれば良いようです。

1. reg add "HKLMSYSTEMCurrentControlSetControlSession ManagerMemory Management" /v FeatureSettingsOverride /t REG_DWORD /d 0x400
2. reg add "HKLMSYSTEMCurrentControlSetControlSession ManagerMemory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 0x400
3. Reboot

Mitigating Spectre variant 2 with Retpoline on Windows – Microsoft Tech Community – 295618

確認方法

有効になったか確認する手順も参考先に書いてありますのでご確認ください。
自分の環境では有効になっていることを確認出来ました。

PS C:Windowssystem32> Get-SpeculationControlSettings
For more information about the output below, please refer to https://support.microsoft.com/en-in/help/4074629

Speculation control settings for CVE-2017-5715 [branch target injection]

Hardware support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is enabled: True

Speculation control settings for CVE-2017-5754 [rogue data cache load]

Hardware requires kernel VA shadowing: True
Windows OS support for kernel VA shadow is present: True
Windows OS support for kernel VA shadow is enabled: True
Windows OS support for PCID performance optimization is enabled: True [not required for security]

Speculation control settings for CVE-2018-3639 [speculative store bypass]

Hardware is vulnerable to speculative store bypass: True
Hardware support for speculative store bypass disable is present: True
Windows OS support for speculative store bypass disable is present: True
Windows OS support for speculative store bypass disable is enabled system-wide: False

Speculation control settings for CVE-2018-3620 [L1 terminal fault]

Hardware is vulnerable to L1 terminal fault: True
Windows OS support for L1 terminal fault mitigation is present: True
Windows OS support for L1 terminal fault mitigation is enabled: True

BTIHardwarePresent : True
BTIWindowsSupportPresent : True
BTIWindowsSupportEnabled : True
BTIDisabledBySystemPolicy : False
BTIDisabledByNoHardwareSupport : False
BTIKernelRetpolineEnabled : True
BTIKernelImportOptimizationEnabled : True
KVAShadowRequired : True
KVAShadowWindowsSupportPresent : True
KVAShadowWindowsSupportEnabled : True
KVAShadowPcidEnabled : True
SSBDWindowsSupportPresent : True
SSBDHardwareVulnerable : True
SSBDHardwarePresent : True
SSBDWindowsSupportEnabledSystemWide : False
L1TFHardwareVulnerable : True
L1TFWindowsSupportPresent : True
L1TFWindowsSupportEnabled : True
L1TFInvalidPteBit : 45
L1DFlushSupported : True
POINT

BTIKernelRetpolineEnabledBTIKernelImportOptimizationEnabledが該当します。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました