Windows 10 バージョン1809、Spectre 2対策でRetpolineのサポートを追加
2019年3月7日 22:29
headless曰く、 Microsoftが1日にリリースしたWindows 10バージョン1809/Server 2019向けの累積更新プログラムKB4482887(ビルド17763.348)では、パフォーマンス低下の少ないSpectre Variant 2(CVE-2017-5715)緩和策「Retpoline」が一部のデバイスで有効化されたという(Windows Kernel Internals、Phoronix)。
Googleが開発したRetpoline(return+trampoline)は、間接的なブランチを投機実行から分離することでSpectre Variant 2(ブランチターゲットインジェクション)の影響を緩和するというものだ。CPUのマイクロコードアップデートによる新機能を用いてカーネルモードでの間接的な分岐予測を制限する、というMicrosoftの緩和策と比べてパフォーマンス低下が大幅に小さくなるとされ、Linuxでは1年以上前から採用されていた。
MicrosoftはRetpolineをWindows 10 19H1で導入する計画を示し、64ビット版のWindows 10 Insider Previewビルド18272以降で利用可能となっていたが、バージョン1809にもRetpolineのサポートに必要なOSの変更がバックポートされたという。ただし、バージョン1809のRetpolineはデフォルトで無効になっており、ビルド17763.348では一部のデバイスのみ有効化されたということのようだ。他のデバイスでも、今後数か月のうちに順次有効化していくとのこと。なお、実装と変更が複雑なことから、Retpolineはバージョン1809以降のみの提供になるとのことだ。