Win10チューニング,WindowsUpdate

更新履歴
① 適用対象CPUを加筆。

2019年3月1日にWindowsUpdateに配信されたWindows10 v1809用KB4482887ですが、Microsoftによると、この更新プログラムにはSpectre Variant 2 (CVE-2017-5715)への新たな緩和策として、『Retpoline』と呼ばれるGoogleが開発した技術が含まれており、これを有効にすることでパフォーマンスアップが見込めるとのことです。

これまでのSpectre Variant 2への緩和策だと、酷い場合でストレージに対して約40%ものパフォーマンスダウンが見られました。しかし、『Retpoline』を使用した場合、Googleによれば 「パフォーマンスへの影響は無視できるレベル」 と伝えられており、最大でも1.5%程度のパフォーマンスダウンに留まるそうです。

MicrosoftはKB4482887のページで 「『Retpoline』を有効にすることでパフォーマンスが向上する可能性があります」 と案内していますが、肝心の有効化の方法は書かれていません。Microsoftのブログでは 「現在、『Retpoline』はデフォルトで無効になっています。今後、数ヶ月の間に、クラウド設定を通じて段階的に『Retpoline』を有効にします」 と案内しているため、ユーザー側では制御できないのかもしれません。 (機能自体は実装されているものの無効化されており、今後、Microsoftの判断で有効化される感じでしょうか)

なお、Microsoftによると、『Retpoline』のWindowsへの実装は難しく、Windows10 v1809以降のみが実装対象になるとのことです。また、『Retpoline』の適用対象となるCPUは、全てのAMD CPUと、Broadwell以前のIntel CPUのみとなり、Skylake以降では安全に使用できないことから適用対象外とされています。

2019/3/8追記
KB4482887を適用後、ゲームが重くなるという不具合が発生しています。詳細は下記の記事をご覧くださいませ。

Win10チューニング,WindowsUpdate

更新履歴
①本文を加筆修正。
②v1809 October 2018 Update用KB4465065を追加。

MicrosoftはIntel CPUの脆弱性『L1 Terminal Fault(L1TF)』 (CVE-2018-3615 / CVE-2018-3646)に対応したWindows10用マイクロコードアップデートをMicrosoft Updateカタログにて公開しました。

対象CPUはSkylake (Core i-6000シリーズ) ~ Coffee Lake (Core i-8000シリーズ)となります。より詳細な対象CPUは下記KB情報のリンクよりご確認くださいませ。

MicrosoftによるとこれらのマイクロコードアップデートはWindowsUpdateには降ってこないとのこと。必要な方は上記Microsoft UpdateカタログDLリンクよりダウンロードをどうぞ。

これらのマイクロコードにはこれまでに公開されてきたSpectre Variant 2 (CVE-2017-5715)、Spectre Variant 3a (CVE-2018-3640)、Spectre Variant 4 (CVE-2018-3639)に対する緩和策も含まれています。

以下、これらのパッチとBIOSアップデートとの違いの簡単な説明になります。

CPU


(Source:The Register / SecLists.Org / GitHub)

IntelのCPUに『Portsmash』(CVE-2018-5407)と呼ばれる新たな脆弱性が見つかりました。この脆弱性はハイパースレッティング・テクノロジー(HTT)をサポートするCPUに影響し、特定のデータにアクセスが行われる危険性があるという。

まだ未検証なものの、同時マルチスレッディング(SMT)をサポートするCPUであればIntelのCPUに限らず影響する可能性があるとのこと。

HTT/SMTを無効化することでこの脆弱性を塞げますが、言うまでもなく大幅なパフォーマンスダウンとなります。各社の対応が待たれます。

CPU

海外メディアのANAND TECHの調査によると、Intel Core 9000シリーズはCPUの脆弱性Variant 3および5に対してハードウェアレベルでの緩和策が施されているという。現在の対応状況がこちら。

y
(Source:ANAND TECH)

まだまだハードウェアレベルで対応できていない部分もありますが、対策は順調のようです。

Win10チューニング,WindowsUpdate

Windows10 v1803 April 2018 Update用のIntel CPUマイクロコードアップデートKB4100347を適用すると、Broadwell-E環境でCPUのオーバークロックが効かなくなる場合があるという報告が出ています。

ASUS ROGフォーラムによると、以下のことが判明しています。

CPU

2018年3月、Intelは2018年後半に登場するプロセッサではハードウェアレベルでCPUの脆弱性に対応することを発表しました。では、その対応状況はどんなもんなのか。

海外メディアのANAND TECHの調査よると以下のとおりになります。


(Source:ANAND TECH)

完全とまではいきませんが、対応は着実に進んでいるようです。

そして気になるのがパフォーマンス。これまでのファームウェアでの対応では、ゲームのフレームレートに関しては目立った影響はないものの、ストレージの速度やアプリケーションの起動速度には影響が出ていました。

ファームウェアとハードウェアレベルとではどういった差異が出るのかはまだ未知数ですが、ハードウェアレベルで対応されることで、パフォーマンスへの影響がより少なくなることに期待したいですね。

CPU

Intel CPUの脆弱性を緩和するマイクロコードのソフトウェア使用許諾契約に、とんでもない一文があることが判明しました。その内容がこちら。

    3. LICENSE RESTRICTIONS.
    (中略)
    Unless expressly permitted under the Agreement, You will not, and will not allow any third party to
    (i) use, copy, distribute, sell or offer to sell the Software or associated documentation;
    (中略)
    (v) publish or provide any Software benchmark or comparison test results.


    3. ライセンスの制限事項
    (中略)
    明示的に許可されている場合を除き、お客様は第三者に対して以下のことを禁止します。
    (i) 本ソフトウェアまたは関連文書の使用、複製、頒布、販売、または販売すること。
    (中略)
    (v) ソフトウェアベンチマークまたは比較テストの結果を公開または提供すること。

おわかりいただけたでしょうか。Intelはセキュリティを盾に 「マイクロコードを使用したくばベンチマークや比較した結果は公開するな」 と口封じしようとしているわけです。

CPU


(Source:Intel 12 / Microsoft)

2018年8月15日、Intelは同社のCore / Xeonプロセッサに『L1 Terminal Fault(L1TF)』と呼ばれる脆弱性があることを発表しました。L1TFもMeltdownやSpectreと同様に特定のデータにアクセスが行われる危険性があります。

公開されたL1TFの種類は以下の3点。

CPU


(Source:Ars Technica)

Meltdownの発見者の一人、Daniel Gruss氏は、Spectreを利用した新たな攻撃方法『NetSpectre』を発表しました。NetSpectreはJavaScriptを用いてSpectre攻撃を行い、Spectreと同様に特定のデータにアクセスが行われる危険性があります。

しかし、NetSpectreの動作は非常に遅く、Intelベースのシステムとギガビットネットワークを使用してもデータ抽出は30分に1バイト、AVX2を使用しても8分に1バイト、場合によっては数時間ごとにさらに速度が低下します。最速で抽出を行えたとしても1MBのデータを読み取るのに約15年を必要とします。

非常に低速なのがネックですが、特定の暗号化キーだけにターゲットを絞り込めばデータ抽出は可能とも言われています。

NetSpectreに対してIntelは 「NetSpectreはCVE-2017-5753(Bounds Check Bypass Store(BCBS))を利用したアプリケーションであり、既に公開しているソフトウェア側の変更による緩和策が有効です」 と述べています。

CPU


(Source:SpectreRSB / BleepingComputer / Intel)

Spectreに関連する新たなCPUの脆弱性『SpectreRSB』がカリフォルニア大学リバーサイド校(UCR)のセキュリティ研究チームよって発表されました。攻撃手法にはReturn Stack Buffer (RSB)を悪用し、SpectreRSBもSpectreと同様に特定のデータにアクセスが行われる危険性があります。

SpectreRSBは現在IntelのCPUで実証されています。AMDとARMのCPUではテストされていませんが、どちらもRSBを使用するため両社にも報告されました。

SpectreRSBの厄介な点として、UCRの研究者は 「これまでに公開されたマイクロコードなどの既知の緩和策では全てのSpectreRSB攻撃を止めることはできない」 と伝えています。しかし、IntelはUCRの研究者とは反対に、SpectreRSBに対しても既知の緩和策が有効との見解を示しました。

CPU


(Source:Intel / ARM / AMD / Microsoft / MIT)

IntelはSpectre Variant 1 CVE-2017-5753の亜種となる新たなCPUの脆弱性、CVE-2018-3693(Bounds Check Bypass Store(BCBS))を発表しました。CVE-2018-3693もこれまでのSpectreと同様に、特定のデータにアクセスが行われる危険性があるとのことです。

CPU


(Source:Intel / Microsoft / Red Hat / CVE)

Intelのプロセッサに『Lazy FP state restore』と呼ばれる投機的実行を利用した脆弱性(CVE-2018-3665)が見つかり、公表されました。この脆弱性もMeltdownやSpectreと同様に、サイドチャネル攻撃で特定の値を読み取られる危険性があります。しかし、悪用は難しいため、Intelによると脅威は中程度とされています。

この脆弱性の修正にマイクロコードは必要としておらず、OS側での対応が必要になります。Linuxはカーネルアップデートで対応が予定されているため、詳細はお使いのディストリビューションのアナウンスをご確認ください。Red Hatによると、同社のOSはアップデートしてもパフォーマンスに悪影響はないとのことです。

Microsoftもこの件について発表していますが、2018年6月14日時点では脆弱性の影響を受ける製品リストおよび緩和策や回避策は提示されていません。Q&Aでは 「Lazy restoreはWindowsではデフォルトで有効になっており、無効にはできません」 と回答しているため、Windowsは影響を受けるようです。Azure VMに関しては影響を受けないとのことです。

< Update 1: MSが緩和策を公開 >
Microsoftがこの脆弱性の緩和策を公開しました。緩和策は各KBに同梱されており、デフォルトで有効になります。無効化方法は案内されていません。

[ 緩和策が実装されたKB ]
Win7: 2018年7月度 KB4338823(セキュリティのみ) / 2018年7月度 KB4338818(ロールアップ)
Win8.1: 2018年7月度 KB4338824(セキュリティのみ) / 2018年7月度 KB4338815(ロールアップ)
Win10: 2018年7月11日現在なし(v1803 A2U) / 2018年7月11日現在なし(v1709 FCU) / 2018年7月11日現在なし(v1703 CU) / 2018年7月11日現在なし(v1607 AU) / 2018年7月度 KB4338829(v1507 TH1)
(※Win7/8.1のロールアップとWin10は累積されるため、これら以降のパッチも対象となります。セキュリティのみは累積されません)