CentOS 6.9でSpectre亜種2を軽減する方法は?

CentOS 6.9でSpectre亜種2を軽減する方法は?

~によるとIntelマイクロコードアップデートCentOS 6とのマイクロコード非互換性であるSpectre/Meltdownを解決するため、2018年3月12日に発売されました。

その結果、CentOS 6を実行しているシステムは依然としてSpectre Variant 2に対して脆弱です。これは、CentOS管理者がこのパッチの責任をアップストリームベンダー(Intelとも呼ばれる)に委任したためです。

利用可能なすべてのオペレーティングシステムアップデートをインストールし、CentOS 6システムにSpectre Variant 1とMeltdownを正常にパッチしました。

出力の実行https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh:

Spectre and Meltdown mitigation detection tool v0.35

Checking for vulnerabilities on current system
Kernel is Linux 2.6.32-696.23.1.el6.x86_64 #1 SMP Tue Mar 13 22:44:18 UTC 2018 x86_64
CPU is Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10GHz

Hardware check
* Hardware support (CPU microcode) for mitigation techniques
  * Indirect Branch Restricted Speculation (IBRS)
    * SPEC_CTRL MSR is available:  NO
    * CPU indicates IBRS capability:  NO
  * Indirect Branch Prediction Barrier (IBPB)
    * PRED_CMD MSR is available:  NO
    * CPU indicates IBPB capability:  NO
  * Single Thread Indirect Branch Predictors (STIBP)
    * SPEC_CTRL MSR is available:  NO
    * CPU indicates STIBP capability:  NO
  * Enhanced IBRS (IBRS_ALL)
    * CPU indicates ARCH_CAPABILITIES MSR availability:  NO
    * ARCH_CAPABILITIES MSR advertises IBRS_ALL capability:  NO
  * CPU explicitly indicates not being vulnerable to Meltdown (RDCL_NO):  NO
  * CPU microcode is known to cause stability problems:  NO  (model 58 stepping 9 ucode 31)
* CPU vulnerability to the three speculative execution attacks variants
  * Vulnerable to Variant 1:  YES
  * Vulnerable to Variant 2:  YES
  * Vulnerable to Variant 3:  YES

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Mitigated according to the /sys interface:  YES  (kernel confirms that the mitigation is active)
* Kernel has array_index_mask_nospec:  NO
* Kernel has the Red Hat/Ubuntu patch:  YES
> STATUS:  NOT VULNERABLE  (Mitigation: Load fences)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigated according to the /sys interface:  NO  (kernel confirms your system is vulnerable)
* Mitigation 1
  * Kernel is compiled with IBRS/IBPB support:  YES
  * Currently enabled features
    * IBRS enabled for Kernel space:  NO
    * IBRS enabled for User space:  NO
    * IBPB enabled:  YES
* Mitigation 2
  * Kernel compiled with retpoline option:  YES
  * Kernel compiled with a retpoline-aware compiler:  UNKNOWN
> STATUS:  VULNERABLE  (Vulnerable: Retpoline with unsafe module(s))

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Mitigated according to the /sys interface:  YES  (kernel confirms that the mitigation is active)
* Kernel supports Page Table Isolation (PTI):  YES
* PTI enabled and active:  YES
* Running as a Xen PV DomU:  NO
> STATUS:  NOT VULNERABLE  (Mitigation: PTI)

A false sense of security is worse than no security at all, see --disclaimer

これは、CentOS 6.9を実行している複数のシステムでも同じです。

Spectreバリアント2用のCentOS 6を実行しているシステムにどのようにパッチを適用しますか?

答え1

少なくともマイクロコード展開については、インテルダウンロードセンターのオペレーティングシステムの互換性リストを完全に無視できます。それはまったく価値がありません。

マイクロコードアップデートパッケージは、Intelマイクロコードアップデートを使用するすべての製品と互換性があります。そのABIは約15年の間変更されませんでした。

CentOS 6.9のカーネルがマイクロコードアップデートで導入された新機能を利用するかどうかは別の問題であり、そうでなくてもマイクロコードアップデートと互換性がないわけではありません。

そのため、マイクロコードをプロセッサにアップロードする方法に関するガイダンスも完全に間違っています(カーネルはテキストベースの形式を処理できません)。

CentOSの他の四半期からIntel Microcode Update SRPMを入手して再構築できないと仮定すると、以前のバージョンをインストールし、RPMにインストールされたマイクロコードデータファイルをIntel Tarballの対応するファイルに置き換えることができます。 できるだけ早くアップデートを適用するには、initramfs/initrdを再構築して再起動することを忘れないでください。

それとも待つと、CentOSは最終的にアップデートをリリースし、他のすべての人も同じでしょう。ほとんどの(すべて?)ディストリビューションは既に不安定バージョンまたはベータ版でこれらのアップデートを使用でき、最終的には安定したバージョンに移行されます(タイミングはディストリビューションによって異なります)。

関連情報