2018年9月7日金曜日

CVE-2018-3646 : ESXi サイドチャネル対応スケジューラの有効化 とその影響

vCenter を 6.0 U3hまたは6.5 U2c、6.7d 以上にアップグレードした環境では、
ESXiホストに対しCVE-2018-3646の対策(ESXi サイドチャネル対応スケジューラ)が有効化されていない場合に、
「このホストにはCVE-2018-3646で記述されている問題に対する脆弱性があります。 詳細およびVMwareの推奨については、https://kb.vmware.com/s/article/55636を参照してください」
といった警告メッセージがvSphere Client、Web Client上に出力されます。

対策方法は以下KBに記載がありますが、関連KBが複数あること、
全ESXiで「ESXi サイドチャネル対応スケジューラの有効化」する必要があり、
されには、Vmwareはこの設定の有効化でパフォーマンスが数%低下するとの指標を示しています。
※現状でCPU利用率がひっ迫している環境ではパフォーマンス低下が20%を超える可能性もあるようです。

■ 投機的実行に関連して発生するセキュリティ問題の概要

Intel プロセッサの「L1 Terminal Fault」(L1TF) 投機的実行の脆弱性に対する VMware の対応の概要 CVE-2018-3646、CVE-2018-3620、CVE-2018-3615 (55636)
https://kb.vmware.com/kb/55636?lang=ja

■vSphere環境への「ESXi サイドチャネル対応スケジューラの有効化」手順の説明

vSphere 用 Intel プロセッサにおける「L1 Terminal Fault」(L1TF - VMM) 投機的実行の脆弱性に対する VMware の対応 CVE-2018-3646 (55806)
https://kb.vmware.com/kb/55806?lang=ja

■「ESXi サイドチャネル対応スケジューラの有効化」手順
▼WebClient、HostClientで各ホストの詳細設定で変更する場合
VMkernel.Boot.hyperthreadingMitigation  => true に変更(デフォルトはfalse)

▼ESXCLIで設定する場合
確認方法
esxcli system settings kernel list -o hyperthreadingMitigation

設定方法
esxcli system settings kernel set -s hyperthreadingMitigation -v TRUE

▼PowerCLIで設定する場合
※PowerCLIでの設定方法は確認方法と合わせて以下KBで説明されています。

HTAware 軽減策ツールの概要および使用法 (56931)
https://kb.vmware.com/kb/56931?lang=ja

■「ESXi サイドチャネル対応スケジューラの有効化」した場合の性能影響について

「L1 Terminal Fault - VMM」(L1TF - VMM) の軽減策によって VMware が受けるパフォーマンス面の影響の説明 CVE-2018-3646 (55767)
https://kb.vmware.com/kb/55767?lang=ja

CPUに余裕がある環境では影響は数%だが、CPU利用率が70%を超える環境では20%近いアプリケーションの性能低下が見られます。

■ アセスメントについて

上記KB55806の文中に、利用中の環境がどの程度の影響を受けるかアセスメントするツールがKB56931で公開されているので、
事前に調査する場合は以下を参照ください。

HTAware 軽減策ツールの概要および使用法 (56931)
https://kb.vmware.com/kb/56931?lang=ja

※調査と合わせて、「ESXi サイドチャネル対応スケジューラの有効化」をPowerCLIで有効化する手順が説明されています。

このKBに添付されているZIPフィアルを解凍し、PowerCLIのモジュールとして追加する事で実行しますが、色々とソースを読むと勉強になるPowerShellスクリプトなのでお勧めです。