ニュース

ペナルティほぼなしの“Specter V2”緩和策が「Windows 10 バージョン 1809」に導入(3月8日追記)

「Destiny 2」など一部ゲームでパフォーマンスが低下する副作用

「Windows 10 バージョン 1809」および「Windows Server 2019」向けの累積的更新プログラム「KB4482887」

 米Microsoftは3月1日(現地時間)、「Windows 10 バージョン 1809」および「Windows Server 2019」向けの累積的更新プログラム「KB4482887」を公開した。本更新プログラムでは、パフォーマンス劣化なしに“Specter Variant 2”脆弱性(CVE-2017-5715)の影響を緩和できる技術“Retpoline”が導入されている。

 “Spectre”は、現行のCPUアーキテクチャーのほとんどで採用されている高速化技術“投機的実行(speculative execution)”に起因する脆弱性。投機的実行はCPUの空きリソースを活用して、条件分岐の先にある処理を前もって実行する(実際に不要であれば捨てる)が、その挙動を外部から観察(サイドチャネル分析)することで、本来アクセスできないはずのデータを取得できてしまうという。

 “Spectre”脆弱性を緩和するには投機的実行の一部を制限せざるを得ず、パフォーマンス上の問題があった。しかし、Googleのエンジニアが考案した“Retpoline”を利用すれば、“ノイズレベル”のペナルティで“Specter V2”脆弱性の影響を緩和できるという。たとえば、「Office」アプリの起動時間は最大25%短縮可能。“Broadwell”アーキテクチャーCPUの場合で、「Diskspd」(ストレージベンチマーク)および「NTttcp」(ネットワークベンチマーク)で最大1.5~2倍のスループット向上が達成できる。

 “Retpoline”を有効化するには、カーネルモードで動作するバイナリを再コンパイルする必要がある。OSとそれに同梱されているカーネルモードドライバーだけならともかく、サードパーティー製のバイナリすべてにそれを要求するのは不可能なので、導入は一筋縄ではいかない。“Retpoline”非対応バイナリに対しては“Retpoline”ではなく、従来からある緩和策を適用する必要があるためだ。

 同社は64bit版の「Windows 10 バージョン 1903」(19H1、Build 18272以降)で“Retpoline”を試験的に組み込み、テストを進めてきたが今回、ようやく「Windows 10 バージョン 1809」でも利用できるようになった。この改善は段階的に現行のWindows 10に適用される見込みだ。

 「KB4482887」は現在、“Microsoft Update カタログ”などからダウンロード可能。一般環境への配信は、今月の月例アップデートで実施される見込みだ。また、本更新プログラムには2月の月例パッチが原因で発生していたWindowsの元号処理や仮想マシンの復元に関わる問題の修正も含まれている。

編集部追記: 3月8日、Microsoftの情報が更新され、「KB4482887」をインストールすると、「Destiny 2」などいくつかのゲームでグラフィックやマウス操作のパフォーマンスが劣化する問題が判明したため、今後のアップデートで解決する予定とのことです。短期的には「KB4482887」をアンインストールすれば問題は解消できます。