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

適用先
Exchange Server 2016 Standard Edition Exchange Server 2016 Enterprise Edition Exchange Server 2013 Standard CAL Exchange Server 2013 Enterprise Edition Exchange Server 2010 Standard Exchange Server 2010 Enterprise

概要

Microsoft は、"投機的実行サイド チャネル攻撃" と呼ばれる、一般に公開された新しい脆弱性クラスを認識しています。 これらの脆弱性は、多くの最新のプロセッサとオペレーティング システムに影響します。 これには、Intel、AMD、ARM のチップセットが含まれます。

これらの脆弱性が顧客を攻撃するために使用されたことを示す情報はまだ受け取っていません。 私たちは、お客様を保護するために、業界パートナーと緊密に協力し続けています。 これには、チップメーカー、ハードウェア OEM、アプリケーション ベンダーが含まれます。 使用可能なすべての保護を取得するには、ハードウェアまたはファームウェアとソフトウェアの更新プログラムが必要です。 これには、デバイス OEM のマイクロコードや、場合によっては、ウイルス対策ソフトウェア用の更新プログラムが含まれます。 マイクロソフトでは、すでにこれらの脆弱性を軽減するのに役立つ更新プログラムをいくつかリリースしています。 脆弱性の詳細については、「Microsoft セキュリティ アドバイザリ ADV180002」を参照してください。 一般的なガイダンスについては、「 投機的実行サイドチャネルの脆弱性を軽減するためのガイダンス」も参照してください。 また、クラウド サービスのセキュリティ保護に役立つアクションも実行しました。 詳細については、以下のセクションを参照してください。

影響を受けるExchange Serverバージョン

これらは x64 ベースおよび x86 ベースのプロセッサ システムを対象とするハードウェア レベルの攻撃であるため、サポートされているすべてのバージョンのMicrosoft Exchange Serverがこの問題の影響を受けます。

推奨事項

次の表では、Exchange Server顧客に推奨されるアクションについて説明します。 現在必要な特定の Exchange 更新プログラムはありません。 ただし、お客様は常に最新のExchange Server累積的な更新プログラムと必要なセキュリティ更新プログラムを実行することをお勧めします。 運用環境に展開する前に、ususal プロシージャを使用して新しいバイナリを検証して修正プログラムをデプロイすることをお勧めします。

シナリオ 説明 推奨事項
1 Exchange Serverはベア メタル (仮想マシンなし) で実行され、同じベア メタル マシンで他の信頼されていないアプリケーション ロジック (アプリケーション層) は実行されません。 通常の運用前検証テストの後に、すべてのシステム更新プログラムとExchange Server更新プログラムを適用します。
カーネル仮想アドレス シャドウ (KVAS) を有効にする必要はありません (この記事の後半の関連セクションを参照してください)。
2 Exchange Serverは、パブリック ホスティング環境 (クラウド) 内の仮想マシンで実行されます。 Azure: Microsoft は、Azureの軽減策に関する詳細を投稿しました (詳細については、「KB 4073235」を参照してください)。
他のクラウド プロバイダーの場合: ガイダンスを参照してください。
ゲスト仮想マシン (VM) にすべての OS 更新プログラムをインストールすることをお勧めします。
KVAS を有効にするかどうかについては、この記事の後半のガイダンスを参照してください。
3 Exchange Serverは、プライベート ホスティング環境の仮想マシンで実行されます。 セキュリティのベスト プラクティスについては、ハイパーバイザーのセキュリティ ドキュメントを参照してください。 Windows Serverと Hyper-V については、「KB 4072698」を参照してください。
ゲスト VM にすべての OS 更新プログラムをインストールすることをお勧めします。
KVAS を有効にするかどうかについては、この記事の後のガイダンスを参照してください。
4 Exchange Serverは、物理マシンまたは仮想マシン上で実行され、同じシステムで実行されている他のアプリケーション ロジックから分離されません。 すべての OS 更新プログラムをインストールすることをお勧めします。
お客様は、利用可能な最新の製品更新プログラムと関連するセキュリティ更新プログラムを展開することをお勧めします。
KVAS を有効にするかどうかについては、この記事の後半のガイダンスを参照してください。

パフォーマンス アドバイザリ

更新プログラムを適用するときに、特定の環境のパフォーマンスを評価することをお勧めします。

ここで説明する脆弱性の種類について Microsoft によって提供されるソリューションでは、ソフトウェア ベースのメカニズムを使用して、データへのプロセス間アクセスから保護します。 すべてのお客様に、更新されたバージョンのExchange Serverと Windows をインストールすることをお勧めします。 これは、Exchange ワークロードの Microsoft テストに基づいて、パフォーマンスへの影響を最小限に抑える必要があります。

カーネル仮想アドレス シャドウ (KVAS) がさまざまなワークロードに及ぼす影響を測定しました。 一部のワークロードでパフォーマンスが大幅に低下することがわかりました。 Exchange Serverは、KVAS が有効になっている場合に大幅に減少する可能性があるワークロードの 1 つです。 CPU 使用率が高いサーバーや I/O 使用率の高いパターンを示すサーバーは、最大の効果を示す必要があります。 運用環境にデプロイする前に、運用環境のニーズを表すラボでテストを実行して、KVAS を有効にすることのパフォーマンス効果を最初に評価することを強くお勧めします。 KVAS を有効にした場合のパフォーマンス効果が高すぎる場合は、同じシステムで実行されている信頼されていないコードからExchange Serverを分離することが、アプリケーションの軽減策として優れているかどうかを検討してください。

KVAS に加えて、ブランチ ターゲット インジェクション軽減ハードウェア サポート (IBC) からのパフォーマンス効果に関する情報については、 こちらを参照してください。 Exchange Serverを実行しており、IBC ソリューションがデプロイされているサーバーでは、IBC が有効になっている場合、パフォーマンスが大幅に低下する可能性があります。

ハードウェア サプライヤーは、マイクロコード更新プログラムの形式で製品の更新プログラムを提供する予定です。 Exchange のエクスペリエンスは、マイクロコードの更新によってパフォーマンスの低下が増加することを示しています。 これが発生する範囲は、コンポーネントとそれらが適用されるシステムの設計に大きく依存します。 ソフトウェアベースでもハードウェアベースでも、この種の脆弱性だけに対処するのに十分なソリューションはないと考えています。 運用環境に移行する前に、システム設計とパフォーマンスのばらつきを考慮して、すべての更新プログラムのパフォーマンスを評価することをお勧めします。 Exchange チームは、現在、パフォーマンスの違いを考慮するために顧客が使用するサイズ変更計算ツールを更新する予定はありません。 このツールによって提供される計算では、これらの問題の修正に関連するパフォーマンスの変更は考慮されません。 このツールと、必要と考えられる調整は、引き続き、当社独自の使用状況とお客様の調整に基づいて評価します。

詳細については、このセクションを更新します。

カーネル仮想アドレスシャドウの有効化

Exchange Serverは、物理システム、パブリックおよびプライベート クラウド環境の VM、Windows オペレーティング システムなど、多くの環境で実行されます。 環境に関係なく、プログラムは物理システムまたは VM 上にあります。  この環境は、物理環境でも仮想環境でも、セキュリティ 境界と呼ばれます。

境界内のすべてのコードがその境界内のすべてのデータにアクセスできる場合、アクションは必要ありません。 そうでない場合、境界は マルチテナントと言われます。 検出された脆弱性により、その境界内の任意のプロセスで実行されているコードが、その境界内の他のデータを読み取る可能性があります。 これは、アクセス許可が減った場合でも当てはまります。 境界内のプロセスで 信頼されていない コードが実行されている場合、そのプロセスはこれらの脆弱性を使用して他のプロセスからデータを読み取る可能性があります。

マルチテナント境界内の信頼されていないコードから保護するには、次のいずれかの操作を行います。

  • 信頼されていないコードを削除します。
  • KVAS を有効にして、プロセス間の読み取りから保護します。 これはパフォーマンスの影響を与えます。 詳細については、この記事の前のセクションを参照してください。

Windows 用 KVAS を有効にする方法の詳細については、「 KB 4072698」を参照してください。

シナリオ 1

Azure VM は、信頼されていないユーザーが制限されたアクセス許可を持つことによって実行される JavaScript コードを送信できるサービスを実行します。 同じ VM で、Exchange Serverは、それらの信頼されていないユーザーがアクセスできないデータを実行して管理しています。 このような状況では、2 つのエンティティ間の開示から保護するために KVAS が必要です。

シナリオ 2

Exchange Serverをホストするオンプレミスの物理システムでは、信頼されていないサード パーティのスクリプトまたは実行可能ファイルを実行できます。 スクリプトまたは実行可能ファイルへの Exchange データの開示から KVAS を保護できるようにする必要があります。

メモExchange Server内の機能拡張メカニズムが使用されているからといって、自動的に安全ではなくなります。 これらのメカニズムは、各依存関係が理解され、信頼されている限り、Exchange Server内で安全に使用できます。 さらに、機能拡張メカニズムを正しく動作させる必要がある可能性があるExchange Server上に構築されたその他の製品もあります。 代わりに、最初のアクションとして、各用途を確認して、コードが理解され、信頼されているかどうかを判断します。 このガイダンスは、パフォーマンスへの影響が大きいため、KVAS を有効にする必要があるかどうかを判断するのに役立ちます。

ブランチ ターゲット インジェクション軽減 (IBC) ハードウェア サポートの有効化

IBC では、CVE 2017-5715 (GPZ 開示では Spectre の半分または "バリアント 2" とも呼ばれます) に対して軽減されます。

Windows で KVAS を有効にする手順では、IBC を有効にすることもできます。 ただし、IBC では、ハードウェアの製造元からのファームウェア更新も必要です。 Windows で保護を有効にする KB 4072698 の手順に加えて、お客様はハードウェアの製造元から更新プログラムを入手してインストールする必要があります。

シナリオ 1

Exchange Serverをホストしているオンプレミスの物理システムでは、信頼されていないユーザーが任意の JavaScript コードをアップロードして実行できます。 このシナリオでは、プロセス間の情報漏えいから保護するために IBC を強くお勧めします。

IBC ハードウェアサポートが存在しない状況では、信頼されていないプロセスと信頼されたプロセスを異なる物理マシンまたは仮想マシンに分離することをお勧めします。

信頼されていないExchange Server機能拡張メカニズム

Exchange Serverには、機能拡張機能とメカニズムが含まれています。 これらの多くは、Exchange Serverを実行しているサーバーで信頼されていないコードの実行を許可しない API に基づいています。 トランスポート エージェントと Exchange 管理シェルを使用すると、特定の状況でExchange Serverを実行しているサーバーで信頼されていないコードを実行できます。 トランスポート エージェントを除くすべての場合で、機能拡張機能を使用するには認証が必要です。 必要に応じて、バイナリの最小セットに制限される機能拡張機能を使用することをお勧めします。 また、お客様は、Exchange Serverと同じシステムで任意のコードを実行しないようにサーバー アクセスを制限することをお勧めします。 各バイナリを信頼するかどうかを判断することをお勧めします。 信頼されていないバイナリを無効または削除する必要があります。 また、管理インターフェイスがインターネット上で公開されていないことも確認する必要があります。

サード パーティの免責事項

この記事で説明するサード パーティ製品は、Microsoft から独立した企業によって製造されています。 明示または黙示にかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。