サイドチャネル攻撃に対する脆弱性: マイクロアーキテクチャー・データ・サンプリングとトランザクション非同期停止

  • プロセッサー: インテル® Core™ i9-9900K プロセッサー
  • メモリー: 16GB x2
  • ストレージ: インテル® 760p 512GB SSD NVMe*
  • ディスプレイ解像度: 1920x1080
  • OS: Windows* 10、バージョン 1809
  • グラフィックス: インテル® HD グラフィックス 630
  • テスト実施日: 2019年5月7日
  • テスト実施者: Intel Corporation 注: すべてのクライアントでの測定に同じ SKU を使用。MDS の影響を確認するため、マイクロコードと OS のみを変更して複数の構成を用意
  • インテル社内での測定に基づく SPEC* ベンチマークの結果。調査用として提供された割合

  • プロセッサー: 1 ノード、S2600WFT プラットフォーム基盤のインテル® Xeon® Platinum 8180 プロセッサー (28 コア、2.50GHz) x2
  • メモリー: 合計 384GB (12 スロット / 32GB / DDR4-2666)
  • ストレージ: S3710 400G
  • MDS 緩和策適用前:
  • OS: Red Hat* Enterprise Linux* 7.6 3.10.0-957.10.1.el7.x86_64
  • マイクロコード: 0x200005a
  • MDS 緩和策適用後:
  • OS: Red Hat* Enterprise Linux* 7.63.10.0-957.12.2.el7.x86_64
  • マイクロコード: 0x200005e

  • プロセッサー: 1 ノード、S2600WTTS1R プラットフォーム基盤のインテル® Xeon® プロセッサー E5-2699 v4 (22 コア、2.20GHz) x2
  • メモリー: 合計 256GB (8 スロット / 32GB / DDR4-2666 (2400 で実行))
  • ストレージ: S3710 400G
  • MDS 緩和策適用前:
  • OS: Red Hat* Enterprise Linux* 7.6 3.10.0-957.10.1.el7.x86_64
  • マイクロコード: 0xb000030
  • MDS 緩和策適用後:
  • OS: Red Hat* Enterprise Linux* 7.6 3.10.0-957.12.2.el7.x86_64
  • マイクロコード: 0xb000036

トランザクション非同期停止 (TAA) (CVE-2019-11135) は、インテル® トランザクショナル・シンクロナイゼーション・エクステンション (インテル® TSX) に関連する投機的実行のサイドチャネルの問題です。TAA はマイクロアーキテクチャー・データ・サンプリング (MDS) と同じマイクロアーキテクチャーの構造に影響を及ぼします。インテルは引き続き、業界パートナーと連携して TAA に関する情報や緩和策を展開および開示してまいります。

MDS は、すでに公開されている投機的実行のサイドチャネル攻撃のサブクラスです。当初インテル社内の研究員とパートナーによって特定され、外部の研究者からも別途報告を受けた 4 つの密接に関連する CVE で構成されます。

  • マイクロアーキテクチャー・ロード・ポート・データ・サンプリング (MLPDS) - CVE-2018-12127
  • マイクロアーキテクチャー・ストア・バッファー・データ・サンプリング (MSBDS) - CVE-2018-12126
  • マイクロアーキテクチャー・フィル・バッファー・データ・サンプリング (MFBDS) - CVE-2018-12130
  • マイクロアーキテクチャー・データ・サンプリング・アンキャッシャブル・サンプリング (MDSUM) - CVE-2019-11091

管理された研究環境以外で MDS や TAA の脆弱性を突くことは複雑です。インテルでは、これらのセキュリティー問題が実際に悪用されたという報告はまだ受けていません。インテルが公開しているマイクロコード・アップデートを、業界パートナーから入手できるオペレーティング・システムおよびハイパーバイザー・ソフトウェアに対応する更新プログラムと組み合わせることで、通常の使用に必要な防御策が提供されます。一部のユーザー環境では、追加の対策を検討することが適切な場合があります。例えば、システムで動作しているソフトウェアが信頼済みのものであるかどうかの確証がなく、マルチスレッドによる並列処理 (SMT) が実行されている環境です。このような場合、特定のワークロードに対して SMT を利用する方法、OS および VMM ソフトウェア・プロバイダーからのガイダンス、特定環境でのセキュリティー脅威モデルを検討する必要があります。どの場合においても、システムを最新の状態に維持することをお勧めします。

はい。インテルが定期的なアップデート・プロセスの一環として公開しているプロセッサーのマイクロコードを、業界パートナーから入手できるオペレーティング・システムおよびハイパーバイザー・ソフトウェアの更新プログラムと組み合わせることで、消費者ユーザー、IT 担当部門、クラウド・サービス・プロバイダーは必要な保護を適用できるようになります。
詳細については、ソフトウェア・セキュリティーのウェブサイトを参照してください。

緩和策に対する方針として、ユーザーの選択によっては 3 つのパターンがあります。

a.緩和策を選択しない。パフォーマンスへの影響はありません。

b.TSX を無効化

  • TSX を使用しないアプリケーションへの影響はありません
  • TSX 対応アプリケーションによりすべてのトランザクションが中止になります。影響は、TSX をどれだけ使用しているか、また同時にアプリケーションのパフォーマンスにおいて TSX トランザクションがどの程度関わっているかによって左右されます。

c.VERW を使用してマイクロアーキテクチャー・バッファーを上書きする。すでに MDS の緩和策をとっているシステムでは、新たな影響はありません。現在 MDS の緩和策をとっていないシステムでは、MDS の緩和策と同様の影響があります。

いいえ。インテルは、これらの脆弱性が実際に悪用されたという報告は受けていません。

はい。一部の第 8 世代および第 9 世代インテル® Core™ プロセッサー・ファミリーと、第 2 世代インテル® Xeon® プロセッサー・スケーラブル・ファミリーでは、ハードウェアの変更によって MDS 脆弱性への対策を実施しています。今後のすべてのプロセッサーに、この脆弱性に対処するためのハードウェア・レベルの緩和策が組み込まれる予定です。

詳細については、こちらを参照してください。

いいえ。インテルは、ユーザーがインテル® ハイパースレッディング・テクノロジー (インテル® HT テクノロジー) を無効化することを推奨していません。インテル® HT テクノロジーを無効にすることだけでは、MDS に対する防御とならない点に注意してください。また、インテル® HT テクノロジーを無効にすると、ワークロードのパフォーマンスやリソース使用率への影響や変動が見られる可能性があります。

脆弱性の協調的な公開 (「CVD」または「責任ある公開」とも呼ばれます) は、セキュリティー上の脆弱性から責任を持って顧客ユーザーを保護する最善の方法として広く認められています。CVD は、次の 2 つの基本概念に基づいています。企業は、セキュリティーの脆弱性が発見された場合、(1) 迅速かつ効果的に協力して脆弱性を緩和する、(2) 緩和策が準備できるまで、漏洩その他によって、情報を悪用する第三者に悪用可能な情報が渡った場合のリスクを最小限に抑える手段を同時に講じる。

この原則については、カーネギーメロン大学ソフトウェア工学研究所のコンピューター緊急対応チーム (CERT) による表現が最も適切と思われます。CERT は次のように述べています。
「一般的な、特に脆弱性のある製品のユーザーは、該当製品に含まれる問題とベンダーがその問題に対処する方法について、当然情報を通知されるべきです。しかし同時に、十分な調査や緩和策が取られないままそのような情報が公開されてしまうと、一般ユーザーが脆弱性を突いた攻撃にさらされるだけです。理想的なシナリオは、一般ユーザーを守ろうという、すべての人による協調と協力で成り立ちます」

協調的な公開とその重要性の詳細については、Guide to Coordinated Vulnerability Disclosure (協調的な脆弱性の公開についてのガイド) を参照してください。