L1 Terminal Fault から保護するための Windows Server 向けガイダンス

適用対象: Windows Server version 1803Windows Server 2016 Version 1709Windows Server 2016 詳細

概要


マイクロソフトは、投機的実行サイドチャネルの脆弱性と呼ばれるクラスの攻撃の新しいバリアントを認識しています新しいバリアントは L1 Terminal Fault (L1TF) と呼ばれています。L1TF の悪用に成功した攻撃者は、信頼境界を越えて、特権で保護されたデータを読み取る可能性があります。    

脆弱性の概要


仮想化ホストなどのリソースが共有される環境では、ある仮想マシンで任意のコードを実行できる攻撃者が、別の仮想マシンまたは仮想化ホストの情報にアクセスできる可能性があります。 

Windows Server リモート デスクトップ サービス (RDS) などのワークロードや、Active Directory ドメイン コントローラーなどの専用ワークロードも危険にさらされます。   (特権レベルにかかわらず) 任意のコードを実行できる攻撃者は、オペレーティング システムやワークロードのシークレット (暗号化キー、パスワード、その他の機密データなど) にアクセスできる可能性があります。

注: この脆弱性は、Intel Core プロセッサおよび Intel Xeon プロセッサに影響します。

緩和策の概要

マイクロソフトは、これらの問題を解決するために Intel と協力し、ソフトウェアの緩和策とガイダンスを開発しています。これらの脆弱性を緩和するためのソフトウェア更新プログラムはリリース済みです。利用できるすべての保護を受けるには、デバイス OEM からリリースされたマイクロコードも含まれる更新プログラムが必要な場合があります。   

この資料では、以下の脆弱性を緩和する方法について説明しています。

  • CVE-2018-3620 – "L1 Terminal Fault – OS、SMM"
  • CVE-2018-3646 – "L1 Terminal Fault – VMM"

L1TF の脆弱性の詳細については、次のセキュリティ アドバイザリを参照してください。

https://portal.msrc.microsoft.com/ja-jp/security-guidance/advisory/adv180018

脅威を緩和するために必要な操作を判断する方法


以下のセクションは、L1TF の脆弱性の影響を受けるシステムを特定し、リスクについて理解して緩和するために役立ちます。 

考えられるパフォーマンスへの影響

マイクロソフトのテストでは、これらの緩和策を適用すると、システムの構成と必要な緩和策によってはパフォーマンスがやや低下することを確認しています。 

一部のお客様は、L1TF のリスクを完全に解決するためにハイパースレッディングを無効にする必要があります。 ハイパースレッディングを無効にすると、パフォーマンスが低下する可能性がある点に注意してください。 この状況は、以下を使用するお客様に適用されます。

影響度は、ハードウェアや、システムで実行されているワークロードによって変わる可能性があります。  最も一般的なサーバー構成では、ハイパースレッディングが有効です。  そのため、ユーザーまたは管理者がシステムでハイパースレッディングを無効にすると、パフォーマンスの影響は緩和されます。 

注意: VBS で保護されたセキュリティ機能がシステムに使用されているかどうか確認するには、次の手順を実行します。

  1. [スタート] メニューで「MSINFO32」と入力します。 

    注: [システム情報] ウィンドウが開きます。
  2. [検索する文字列] ボックスに「セキュリティ」と入力します。
  3. スクリーン ショットで選択されている 2 行を右側のウィンドウから探し、[] 列で仮想化ベースのセキュリティが有効かどうかと、実行されている仮想化ベースのセキュリティ サービスを確認します。  
     

    [システム情報] ウィンドウ


Windows Server 2016 および Windows Server 2019 の Hyper-V コア スケジューラを使用すると、ハイパースレッディングを有効にしたままで、Hyper-V 仮想マシンが L1TF の攻撃対象になる状況を緩和できます。     これで、パフォーマンスへの影響を最小限に抑えられます。

VBS で保護されたセキュリティ機能が L1TF の攻撃対象になる状況は、コア スケジューラでは緩和されません。詳細については、「緩和策 C」と次の仮想化に関するブログの資料を参照してください。     

https://aka.ms/hyperclear (英語情報)

パフォーマンスの影響に関する Intel の詳細情報については、次の Intel Web サイトを参照してください。

www.intel.com/securityfirst (英語情報)

影響を受けるシステムと必要な緩和策の特定

図 1 のフローチャートを利用して、影響を受けるシステムを特定し、正しい一連の操作を判断してください。 

重要: Hyper-V ホストと影響を受ける個々の VM ゲストの両方に緩和策を適用できる場合があるため、両方についてフロー チャートを検討して適用してください。  具体的には、Hyper-V ホスト向けには、フロー チャートの手順には VM 間の保護とホスト内の保護が用意されています。   ただし、これらの緩和策を Hyper-V ホストに適用するだけでは、VM 内を十分に保護できません。 VM 内を保護するには、各 Windows VM にフロー チャートを適用する必要があります。 ほとんどの場合、これはレジストリ キーが VM に設定されていることを確認することを示します。

フロー チャートをたどると、文字が書かれた青い丸を経由します。この文字は、システム構成に固有の L1TF の攻撃対象を緩和するために必要な 1 つまたは一連の操作にマップされています。経由した各操作を適用する必要があります。緑色の線を経由する場合、それは終了に直行する経路であり、追加の緩和手順はないことを示します。    

文字付きの各緩和策の簡単な説明は、右側の凡例に記載されています。段階的なインストール手順と構成手順が記載されている各緩和策の詳細な説明については、「緩和策」セクションを参照してください。    

フローチャート

緩和策


重要: 次のセクションでは緩和策について説明します。この緩和策は、前のセクションの図 1 のフロー チャートで特定された条件下でのみ適用します。フロー チャートで特定の緩和策が必要であると示されていない場合は、その緩和策を適用しないでください。   

特定の保護機能を有効にするには、ソフトウェアとマイクロコードの更新プログラムに加えて、手動の構成変更も必要な場合があります。また、企業のお客様には、内容の変更について通知を受けられるようにセキュリティ通知メーラーに登録することをお勧めします     (「マイクロソフト テクニカル セキュリティ通知のご案内」を参照してください)。
 

緩和策 A

最新の Windows 更新プログラムを入手して適用する

Windows のマンスリー セキュリティ更新プログラムを含め、利用できるすべての Windows オペレーティング システムの更新プログラムを適用します。影響を受ける製品の一覧については、https://portal.msrc.microsoft.com/ja-jp/security-guidance/advisory/adv180018 を参照してください。  

緩和策 B

最新のマイクロコードまたはファームウェアk更新プログラムを入手して適用する

最新の Windows セキュリティ更新プログラムをインストールするだけでなく、プロセッサ マイクロコードの更新プログラムも必要です。 これらの更新プログラムのインストールは、デバイスk OEM から提供されます。

注: 入れ子の仮想化 (ゲスト VM 内で Hyper-V コンテナーを実行する場合を含む) を使用している場合は、ゲスト VM に新しいマイクロコード エンライトメントを適用する必要があります。そのために、必要に応じて VM 構成をバージョン 8 にアップグレードします。    バージョン 8 には、既定でマイクロコード エンライトメントが含まれています。 詳細と必要な手順については、Microsoft Docs の次の資料を参照してください。

入れ子になった仮想化による仮想マシンでの Hyper-V の実行

緩和策 C

ハイパースレッディング (HT) は無効にすべきか

サイドチャネル攻撃を受けると、L1TF の脆弱性によって Hyper-V 仮想マシンの機密性と、Microsoft 仮想化ベースのセキュリティ (VBS) で保守されているシークレットが危険にさらされる可能性があります。 ハイパースレッディング (HT) を有効にすると、Hyper-V と VBS の両方で提供されているセキュリティ境界が弱くなります。

Windows Server 2016 および Windows Server 2019 の Hyper-V コア スケジューラを使用すると、ハイパースレッディングを有効にしたままで、Hyper-V 仮想マシンが L1TF の攻撃対象になる状況を緩和できます。 これで、パフォーマンスへの影響を最小限に抑えられます。

Windows Server 2016 および Windows Server 2019 の Hyper-V コア スケジューラを使用しても、VBS で保護されたセキュリティ機能が L1TF の攻撃対象になる状況は緩和されません。 L1TF の脆弱性によって、ハイパースレッディング (HT) が有効なときに VBS シークレットの機密性がサイドチャネル攻撃に侵害され、VBS が提供するセキュリティ境界が弱体化される可能性があります。 このようにリスクが増加しても、VBS には重大なセキュリティ上のメリットがあり、HT を有効にした場合のさまざまな攻撃を緩和できます。 そのため、VBS は HT 対応システムで引き続き使用することをお勧めします。 VBS の機密性に関する L1TF の脆弱性の潜在的なリスクを排除したい場合は、この追加のリスクを緩和するために HT の無効化を検討する必要があります。 

L1TF の脆弱性が Windows Server 2016 より前の Hyper-V バージョンの機密性を損ねるリスク、または VBS セキュリティ機能に対するリスクを排除したい場合は、その決定を重視し、HT を無効にしてリスクを緩和することを検討する、必要があります。 一般的に、以下のガイドラインに基づいてこのような判断を下すことができます。

HT を無効にするために必要な手順は、OEM によって異なります。 ただし、通常、HT は BIOS またはファームウェアのセットアップおよび構成ツールの一部です。

緩和策 D

Hyper-V コア スケジューラを有効にし、コアあたりの VM ハードウェア スレッド数を 2 に設定する 

注: これらの緩和手順は、Windows Server 2016 にのみ適用されます。Windows Server 2019 では、コア スケジューラは既定で有効です。  

コア スケジューラを使用するには 2 段階のプロセスがあります。まず、Hyper-V ホストでスケジューラを有効にしてから、コアごとのハードウェア スレッド数を 2 に設定して活用するように各 VM を構成します。

Windows Server 2016 で導入された Hyper-V コア スケジューラは、従来のスケジューラ ロジックの新しい代替機能です。コア スケジューラは、HT 対応の Hyper-V ホスト上で実行されている VM 内のワークロードについて、パフォーマンスのばらつきを減らします。    

Hyper-V のコア スケジューラとそれを有効にする手順の詳細については、次の Windows IT Pro Center の資料を参照してください。 

Understanding and using Hyper-V hypervisor scheduler types (英語情報)

Windows Server 2016 で Hyper-V コア スケジューラを有効にするには、次のコマンドを入力します。

bcdedit /set HypervisorSchedulerType core

次に、コアあたりの VM のハードウェア スレッド数を 2 に構成するかどうかを決定します。仮想プロセッサがゲスト仮想マシンにハイパースレッディングされていることがわかった場合は、VM オペレーティング システムのスケジューラと VM ワークロードで独自の作業スケジュールで HT を使用できるようにします。この操作を行うには、次の PowerShell コマンドを入力します。この <VMName>は仮想マシンの名前です。       

Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2


緩和策 E

アドバイザリ CVE-2017-5715 および CVE-2017-5754 の緩和策を有効にする

注: Windows Server 2019 では、これらの緩和策は既定で有効です。

アドバイザリ CVE-2017-5715 および CVE-2017-5754 の緩和策を有効にするには、次の Office 資料のガイダンスを参照してください。 

Windows Server を投機的実行のサイドチャネルの脆弱性から保護するためのガイダンス

注: これらの緩和策には、Windows カーネルに対するセーフ ページ フレーム ビットの緩和策と、CVE-2018-3620 で説明されている緩和策も含まれており、自動的に有効になります。  セーフ ページ フレーム ビットの詳細については、次の Security Research & Defense ブログの資料を参照してください。 

Analysis and mitigation of L1 Terminal Fault (L1TF) (英語情報)