Windows システム上の Spectre および Meltdown に対する緩和策のパフォーマンスへの影響について

本記事は、Microsoft Secure ブログUnderstanding the performance impact of Spectre and Meltdown mitigations on Windows Systems” (2018 1 9 日 米国時間公開) を翻訳したものです。


先週、テクノロジ業界およびお客様の多くは、携帯電話や PC、サーバーに搭載されているハードウェア チップの新しい脆弱性について知りました。マイクロソフト (および業界内の企業) では、数か月前に機密保持契約のもとでこの脆弱性の存在を知り、直ちに緩和策の開発を開始し、クラウド インフラストラクチャの更新に取り掛かりました。本ブログでは、発見された脆弱性についてできる限り明確に説明し、お客様が安全を保つためにできることと、パフォーマンスへの影響について現時点で把握している内容について解説します。

新しい脆弱性について

2018 年 1 3 (米国時間) に、数人のセキュリティ研究者が “Meltdown” “Spectre” と呼ばれる 3 つの潜在的な脆弱性の情報を公開 (英語情報) しました。複数のブログでこれらの脆弱性について詳細な説明が試みられています。明確な解説は、Stratechery (英語情報) に記載されています。

携帯電話や PC では、悪意のあるソフトウェアがシリコンの脆弱性を悪用し、あるソフトウェア プログラムの情報に別のプログラムからアクセスすることが可能になります。これらの攻撃はブラウザーにもおよび、Web ページや広告を介して展開された悪意のある JavaScript が、システム内で実行中の別のソフトウェア プログラムやブラウザー タブの情報 (法的文書や財務情報など) にアクセスすることができるようになります。複数のサーバーが機能を共有している環境 (クラウド サービスの構成によっては存在する環境) では、これらの脆弱性によってある仮想マシンから別の仮想マシン上の情報にアクセスできる可能性があります。

お使いのシステムを保護するために実施できること

現在、3 つの脆弱性の悪用が技術的に可能であることが実証されています。シリコン パートナーとの協業のもと、Windows およびシリコン マイクロコードに変更を加えることによって、これらの脆弱性を緩和しました。

悪用された脆弱性 CVE エクスプロイト名 公開されている脆弱性の名前 Windows への変更 ホスト上のシリコン マイクロコードの更新の要否
Spectre 2017-5753 Variant 1 境界チェックのバイパス コンパイラの変更: Windows 用の更新プログラムの一部のバイナリを再コンパイル

JavaScript を利用した悪用を防止するために Edge および IE11 を機能強化

不要
Spectre 2017-5715 Variant 2 分岐ターゲットのインジェクション リスクのある状況での分岐投機を排除するために、新しい CPU 命令をコール 必要
Meltdown 2017-5754 Variant 3 不正なデータ キャッシュの読み込み カーネル モードおよびユーザー モードのページ テーブルを分離 不要

 

Windows クライアントは、広告やダウンロード アプリを含む Web ページの閲覧など、信頼されていないコードとさまざまな方法で対話するため、Windows の更新プログラムとシリコン マイクロコードの更新ですべてのシステムを保護することをお勧めします。

Windows Server では、サーバー上で実行されている仮想ワークロードを分離できるよう、管理者は物理サーバー レベルでの緩和策を確実に実施してください。オンプレミスのサーバーでは、物理サーバーに適切なマイクロコードの更新を適用することで緩和できます。Hyper-V を実行している場合は、直近にリリースされた Windows 用更新プログラムを使用して更新してください。Azure をお使いのお客様は、マイクロソフトのクラウド上の他のお客様からワークロードが確実に分離されるよう、Azure のすべてのサーバーにインフラストラクチャの更新プログラムを適用済みであるため、仮想分離を実現するための特別な措置を講じる必要はありません。つまり、Azure 上の他のお客様がこれらの脆弱性を悪用して、お使いの仮装マシンやアプリケーションを攻撃することはできません。

オンプレミスまたはクラウド上で Windows Server をお使いのお客様は、Windows Server VM ゲストもしくは物理インスタンスごとに追加のセキュリティ緩和策を適用するかどうかを評価する必要があります。これらの緩和策は、Windows Server インスタンス内で信頼されていないコードを実行しており (たとえば、特定のお客様が Windows Server インスタンス内で実行するバイナリまたはコード スニペットのアップロードを許可している場合など)、許可のない Windows Server インスタンス内のメモリへのアクセスを確実に防ぐためにアプリケーション バイナリやコードを分離したい場合に必要です。これらの緩和策は、仮想サーバー上の Windows Server VM を他の VM から分離するためには必要ありません。特定の Windows Server インスタンス内で実行中の信頼されていないコードを分離する場合のみ必要です。

現在、マイクロソフトでは 45 Windows エディションをサポートしています。そのうちの 41 のエディション用の修正が Windows Update から利用可能です。残りのエディションについても、近いうちに公開予定です。エディションごとの更新プログラムのリリース予定については、Windows のお客様ガイダンスでお知らせしています。

シリコン マイクロコードは、シリコン ベンダーによってシステム OEM へ配布され、その後 OEM でお客様へのリリースが決定されます。Windows Update を使用してマイクロコードを配布するシステム OEM もあれば、独自の更新プログラムのシステムを使う OEM もあります。システム マイクロコードの更新プログラムの情報については、こちらでお知らせしています。Surface については、本日より Windows Update を通じて更新が行われます。

 

これらの緩和策を確認し、有効 / 無効にする方法のガイダンスは、以下を参照してください。

パフォーマンスへの影響について

これらすべての修正に対する質問としてよく挙げられるのは、PC およびサーバーの両方に対するパフォーマンスへの影響です。現時点で公開されているベンチマークのほとんどは、OS とシリコンの両方に関する更新プログラムを含まないことにご留意ください。マイクロソフトでは独自のベンチマークを実施し、完了した時点でその結果を公開する予定です。同時にパフォーマンス チューニングをさらに改善するための取り組みも進めています。一般に、Variant 1 Variant 3 の緩和策のパフォーマンスへの影響はごくわずかで、OS およびマイクロコードを含むVariant 2 の緩和策はパフォーマンスに影響があることが分かっています。

現時点で把握している影響の概要は、以下のとおりです。

  • 新しいシリコン (SkylakeKabylake またはそれ以降の CPU が搭載されている 2016 世代の PC) 上の Windows 10 のベンチマークでは 1 桁台の遅延が見られましたが、ミリ秒単位の割合であるため、多くのユーザーはその変化に気づかないと考えられます。
  • 古いシリコン (Haswell またはそれ以前の CPU が搭載されている 2015 世代の PC) 上の Windows 10 のいくつかのベンチマークでは、もう少し顕著な遅延が見られ、システム パフォーマンスの低下に気づくユーザーがいると予測しています。
  • 古いシリコン (Haswell またはそれ以前の CPU が搭載されている 2015 世代の PC) 上の Windows 8 Windows 7 では、大半のユーザーがシステム パフォーマンスの低下を感じると予測しています。
  • すべてのシリコン上の Windows Server、特に IO 集約型のアプリケーションでは、Windows Server インスタンス内の信頼されていないコードを分離する緩和策を有効にした場合、より著しいパフォーマンスへの影響がみられます。そのため、各 Windows Server インスタンスの信頼されていないコードのリスクを慎重に評価し、お使いの環境において、トレードオフともなるセキュリティとパフォーマンスのバランスを取ることが重要です。

Skylake 以降などの新しい CPU について、Intel 社は分岐投機を無効にする命令を改良して間接的な分岐に限定することで、Spectre に対する緩和策の包括的なパフォーマンスへの影響を減らしています。Windows の古いバージョン、つまり Windows 7 および Windows 8 では、すべてのフォントのレンダリングがカーネルで行われるなど、レガシの設計決定によってユーザーとカーネル間のトランザクションが多いため、より大きなパフォーマンスへの影響があります。数週間先にベンチマーク パフォーマンスのデータを公開する予定です。

結論

お察しのとおり、サイドチャネル攻撃の手法について対処すべきことがたくさんあります。このような新しいエクスプロイトに対しては、業界全体で取り組み、お客様にとって最良のソリューションを提供することが求められます。お客様が信頼して使用できるシステムのセキュリティ確保は、マイクロソフトにとって最優先のテーマです。また、私たちはできる限り透明性を保ち事実に即することで、お客様が組織を運営するために世界中でお使いのデバイスとシステムに対して、最良の選択を可能にするご支援をします。それが、1 3 日に迅速に更新プログラムと緩和策をリリースし、本日追加の状況説明と情報を公開した理由です。今後も引き続き信頼できるテクノロジを提供し、可能な限りのパフォーマンス最適化に取り組むことにコミットし、新しい情報を入手した際にはお知らせします。

-Terry

Executive Vice President, Windows and Devices Group in Security Development, Security Strategies, Industry Trends

Share