2018年2回目 Intel microcode update用 Windows Update

最終更新日

更新履歴
2018/11/28
KB4346084(Windows 10 1809、Windows Server 2019)を追加。
「Intel Microcode UpdateのためのWindows更新プログラム」の章を、現状に合わせて変更。

2018年8月配布のIntel Microcode Update

CPUの脆弱性への対応としては今年2回目です。

Intel Microcode Update Revision 2018/08/08 [PDFファイル]
https://www.intel.com/content/dam/www/public/us/en/documents/sa00115-microcode-update-guidance.pdf

表の一番右の列、「New Production MCU Rev」が脆弱性対策済みの最新Revisionです。

前回のIntel Microcode Update(2018年3月前後から配布)は、Spectre Variant 2 (CVE 2017-5715: "Branch Target Injection")の緩和策のためのものでした。

参照

  • Intel Microcode Revision Guidance 2018/04/02 [PDFファイル]

    https://newsroom.intel.com/wp-content/uploads/sites/11/2018/04/microcode-update-guidance.pdf

  • Intel 製マイクロコードの更新プログラムの概要 (for Windows10)
    (対象CPU増加に伴い、数回更新されています)

    https://support.microsoft.com/ja-jp/help/4093836

今回のMicrocode Update Revisionには、次の脆弱性への緩和策が追加されています。

  • CVE-2018-3640
    [Rogue System Register Read (RSRE)] Spectre Variant 3a
  • CVE-2018-3639
    [Speculative Store Bypass (SSB)] Spectre Variant 4 (SpectreNG)
  • CVE-2018-3615
    [L1 Terminal Fault (L1TF): SGX] (Foreshadow-SGX)
  • CVE-2018-3620
    [L1 Terminal Fault (L1TF): OS/SMM] (Foreshadow-OS/SMM)
  • CVE-2018-3646
    [L1 Terminal Fault (L1TF): VMM] (Foreshadow-VMM)

参照

  • Rogue System Register Read / CVE-2018-3640 / INTEL-SA-00115

    https://software.intel.com/security-software-guidance/software-guidance/rogue-system-register-read

  • Speculative Store Bypass / CVE-2018-3639 / INTEL-SA-00115

    https://software.intel.com/security-software-guidance/software-guidance/speculative-store-bypass

  • L1 Terminal Fault / CVE-2018-3615 , CVE-2018-3620,CVE-2018-3646 / INTEL-SA-00161

    https://software.intel.com/security-software-guidance/software-guidance/l1-terminal-fault

脆弱性の中には、Microcodeの更新だけではなく、ソフトウェア側の対策が必要なものがあります。

以下、Windows向けの内容です。

Intel Microcode UpdateのためのWindows更新プログラム

Windows 10 (1809)、Windows Server 2019

リリース日 2018/11/26、2018/11/27

詳細 KB4465065

Download KB4465065

[Windows 10 (1803以前)、Windows Server 2016] + [Intel Skylake、Kaby Lake、Coffee Lake]

リリース日 2018/08/20

この更新プログラムに含まれるIntel Microcode Update Revision

  • Intel Skylake、Kaby Lake、Coffee Lakeの場合

    2018年8月のIntel Microcode Update Revision

  • 上記以外のIntel CPUの場合 (Intelのサポートが終了したCPUを除く)

    2018年4月までのIntel Microcode Update Revision

Windows更新プログラムによるIntel Microcode Updateについて

OS上のMicrocode Update Revisionが更新されます。(BIOSのMicrocode Update Revisonは変わりません)

BIOSのMicrocode Update Revisonより新しい場合のみ、Windows起動中だけ適用されます。

Skylake S搭載PCにインストールした結果

(CPU: Intel Core i5-6500 = Skylake S、CPUID 506E3、Platform ID 36)

Windows使用時のMicrocode Update Revision

0xC2 (KB4346085インストール前)

0xC6 (KB4346085インストール後)

レジストリエディター上の(Microcode) Update RevisionがC6

[Windows 10 (1803以前)、Windows Server 2016] + [Intel Skylake、Kaby Lake、Coffee Lake 以外]

最新リリース日 2018/10/09

この更新プログラムに含まれるIntel Microcode Update Revision

  • Intel Skylake、Kaby Lake、Coffee Lakeの場合

    2018年4月までのIntel Microcode Update Revision

  • 次のIntel CPUの場合

    • Broadwell
    • Haswell
    • Ivy Bridge
    • Sandy Bridge
    • Knights Mill
    • Knights Landing

    2018年8月のIntel Microcode Update Revision

Windows 8.1、Windows 7 SP1、Windows Server 2012 R2、Windows Server 2008 R2 SP1

2018年8月までの定例 Windows Update (Securityのみの更新プログラムの方)に、Intel Microcode Updateが含まれています。

参照

緩和策が有効にするために必要なこと

Windowsマシンでは、最新のMicrocode Updateと最新のWindowsの累積更新プログラムを適用します。

ただし、次の2つに対する緩和策を有効にするには、追加の作業が必要です。

  • CVE-2018-3639
    Spectre Variant 4 (SpectreNG)
  • CVE-2018-3646
    L1 Terminal Fault: VMM (Foreshadow-VMM)
参照

スペクターとメルトダウンから Windows デバイスを保護する - Windows Help
https://support.microsoft.com/ja-jp/help/4073757/

Spectre Variant 4 の緩和策を有効にする設定

レジストリを次のように変更します。

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

FeatureSettingsOverride (DWORD) 8
FeatureSettingsOverrideMask (DWROD) 3

レジストリエディター画面 FeatureSettingsOverride=8、FeatureSettingsOverrideMask=3

ここの数値による違いについては、次の記事のFeatureSettingsOverrideの数値でどう変わるのか。をご覧ください。

参照
  • Windows client guidance for IT Pros to protect against speculative execution side-channel vulnerabilities

    https://support.microsoft.com/en-us/help/4073119/

  • Windows Server guidance to protect against speculative execution side-channel vulnerabilities

    https://support.microsoft.com/en-us/help/4072698/

L1 Terminal Fault: VMMの緩和策に必要かもしれない、追加の措置

  • 仮想マシン管理ソフトの修正パッチの適用
  • ハイパースレッディング(HT)の無効化
    (環境によっては無効化しなくてもよい場合がある)

ハイパースレッディングテクノロジーをサポートしているIntel CPUのリスト (ark.intel.comの検索ページ)
https://ark.intel.com/ja/Search/FeatureFilter?productType=processors&HyperThreading=true

注意
ハイパースレッディング(HT)を無効にすると、パフォーマンスが大幅に低下する可能性があります。

ハイパースレッディングの有効(Enabled)/無効(Disabled)の切り替えについて

UEFI/BIOS設定画面から行います。CPU関連の項目の所にHTも表示されています。

HTの項目名の例 (Intel CPU用マザーボードの場合)

  • Intel(R) HT Technology
  • Intel(R) Hyper-Threading Technology
  • Hyper-Threading
  • Hyper-Threading Technology

搭載CPUがHT非対応の場合は、HTの項目が表示されないことがあります。

HTを無効化しなくても良いケース

  • 搭載CPUがハイパースレッディング(HT)をサポートしていない。(元々HTが無効のため)
  • Hyper-V、その他の仮想マシン管理ソフトを使用していない。(Windows 10以前、Windows Server 2012 R2以前の場合)

Windows Server 2016(以降)で、HTを無効化すべきか否か

L1 Terminal Fault から保護するための Windows Server 向けガイダンス
https://support.microsoft.com/ja-jp/help/4457951/

上記URLの内容(の一部)をまとめると、こんな感じ?

Windows Server 2016以降において、HTを無効する必要があるケース

  • VBSに依存する機能 使用 + Hyper-V 有効
  • VBSに依存する機能 使用 + Hyper-V 無効
  • VBSに依存する機能 不使用 + Hyper-V 有効 + Hyper-V core scheduler 無効

Windows Server 2016以降において、HTを無効する必要がないケース

  • VBSに依存する機能 不使用 + Hyper-V 無効
  • VBSに依存する機能 不使用 + Hyper-V 有効 + Hyper-V core scheduler 有効 & コアあたりのVMハードウェアスレッド数を2に設定

※ VBS = Virtualization-based security (VBScriptではありません)

※ Hyper-V hypervisor scheduler typeのデフォルト設定
Windows Server 2016以前とWindows Client: The classic scheduler
Windows Server 2019: The core scheduler (予定)

参照

https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/manage-hyper-v-scheduler-types#the-core-scheduler

Hyper-V hypervisor scheduler typeがcoreであれば、Hyper-Vが有効の時でも脆弱性が緩和されるとのことです。しかし、サードパーティ製仮想マシン管理ソフトを使っている場合はどうなるのかわかりません。

関連記事