インテルのフライヤーをバッファリング: Chipzilla、マイクロソフト、Linux の世界などが、さらに多くのデータ漏洩プロセッサの欠陥に対する修正を公開

Table of Contents

インテルのフライヤーをバッファリング: Chipzilla、マイクロソフト、Linux の世界などが、さらに多くのデータ漏洩プロセッサの欠陥に対する修正を公開

インテルは火曜日、マイクロアーキテクチャ データ サンプリング (MDS) を可能にする新しい一連のサイドチャネル攻撃に対処するため、Microsoft などのベンダーや Linux および BSD コードを配布しているベンダーからのオペレーティング システムおよびハイパーバイザー パッチと併せて、プロセッサ マイクロコード修正セットをリリースする予定です。

これらのサイドチャネル脆弱性は、悪意のあるソフトウェアや、脆弱なマシンに既に侵入している不正ユーザーによって悪用され、アクセスが許可されていないメモリからパスワードなどの機密情報を抽出する可能性があります。ブラウザ履歴の傍受、仮想マシンのスヌーピング、ディスク暗号化キーの盗難など、様々な被害が発生する可能性があります。

MDSは、ストアバッファ、フィルバッファ、ロードバッファといったプロセッサの内部構造に保持されている機密データを露出させる手段を提供します。昨年SpectreとMeltdownの脆弱性を明らかにした研究者らによって開発された様々なMDS技術は、メモリサイドチャネル攻撃とMeltdownに代表される一時実行攻撃との関連性を示唆しています。

Intelのパッチ公開は、cpu.failとzombieloadattack.comにまとめられているコンピュータ科学者による研究論文の公開とほぼ同時期に行われました。これらの論文では、投機的実行によって脆弱性がどのように発生するかが詳細に説明されています。投機的実行とは、現代のプロセッサがソフトウェア命令を必要になる前に実行するために用いる近道であり、新たな攻撃経路を開拓しています。これらの脆弱性はIntelハードウェアに限定されているようです。研究者らは、ArmやAMD設計のプロセッサでは、攻撃手法を再現することができなかったと述べています。

Chipzilla は、現在公開されている脆弱性は実験環境以外では悪用が難しいと主張しています。

MDSは、データを一度にすべて取得するのではなく、断片的なデータをサンプリングする方法です。これは、金庫破りというよりは、特権通信を盗聴するようなものです。そのため、特定のデータを特定したり、背景のノイズから貴重な情報を区別したりすることは容易ではありません。

このような攻撃をより効率的にするために、攻撃者は、マルウェアの隣接スレッド上で同じ物理コア上で標的のアプリを実行し、ロード操作とフラッシュ操作を繰り返し実行しようとする可能性があります。

チップメーカーは、関連するCVEのうち3つを中程度の深刻度、4つ目を低程度の深刻度に分類しました。数値範囲は6.5から3.8です。同社は、最新モデルのチップにはMDSに対するハードウェア緩和策が講じられていると主張しています。

「MDSは、最近の第8世代および第9世代Intel Coreプロセッサー、さらに第2世代Intel Xeonスケーラブルプロセッサーファミリーの多くにおいて、ハードウェアレベルですでに対処されています」とIntelの広報担当者はThe Registerに宛てた電子メールでの声明で述べた。

「影響を受けるその他の製品については、マイクロコードの更新と、本日より提供開始されるオペレーティング システムおよびハイパーバイザー ソフトウェアの対応する更新を組み合わせることで、緩和策を講じることができます。」

Spectre/Meltdown の再来か?

欠陥を特定した研究者らは、Whiskey LakeおよびCoffee Lake CPUに実装されたMeltdown脆弱性に対するハードウェア修正だけでは不十分であり、パフォーマンスの低下を伴うユーザーおよびカーネル空間のソフトウェアベースの分離を現在のプロセッサでも有効にする必要があると主張している。

Intelは、Whiskey LakeおよびCoffee Lake CPUの最新版では、現行チップセットに必要な変更がすべて施されていると主張しています。しかしながら、一部のワークロードにおいては、マイクロコードの修正によりパフォーマンスが低下する可能性があることも認めています。

Chipzilla は、その開示とともにベンチマークの数値を提供するものと予想されているが、Intel の担当者との話し合いに基づき、The Register は、マイクロコードの緩和策により、WebXPRT 3 ベンチマークではチップのパフォーマンスが約 3 パーセント、Fio ベンチマークでは 8 ~ 9 パーセント低下する可能性があると理解している。

つまり、最新のWhiskey LakeおよびCoffee Lake CPUには緩和策が組み込まれていますが、それ以前のプロセッサではマイクロコード修正をインストールする必要があります。オペレーティングシステムとハイパーバイザーは、マイクロコード更新に対応し、正常に動作するように更新する必要があります。これらのパッチは、Microsoft、Apple、Google、Linuxディストリビューションなどから本日公開されています。

上記で強調したように、ローカル コード実行に依存する以下の欠陥が修正される予定です。

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

この脆弱性は、グラーツ工科大学の研究者 Michael Schwarz、Claudio Canella、Lukas Giner、Daniel Gruss による 2 つの論文「Store-to-Leak Forwarding: Leaking Data on Meltdown-resistant CPUs」と、グラーツ工科大学の Michael Schwarz、Moritz Lipp、Daniel Gruss、ウースター工科大学の Daniel Moghimi、Cyber​​us Technology の Julian Stecklina と Thomas Prescher、KU Leuven の Jo Van Bulck による「ZombieLoad: Cross-Privilege-Boundary Data Sampling」で説明されています。

チップジラは「俺たちが先にそこに着いた」と言う

インテルによると、この調査は、社内の有識者であるKe Sun氏、Henrique Kawakami氏、Kekai Hu氏、Rodrigo Branco氏によって最初に社内で特定され、その後、学術研究者によってそれぞれ独立して報告された手法に関係しているという。同社は開発者向けに、この問題に関する詳細な分析レポートを公開している。

ダニエル・グラス氏はThe Registerへのメールで次のように述べている。「2018年3月にインテルにLFB(ラインフィルバッファ)リークを報告し、インテルもそれを認めたため、調査を続けました。ストア・ツー・リーク攻撃を発見し、2019年1月に報告しました。その後、調査を続け、ゾンビロード攻撃を発見し、2019年4月にインテルに報告しました。」

グルース氏によると、インテルはグラーツ工科大学とルーヴェン・カトリック大学の研究者を後援していたものの、その研究結果を公表したり、公表された技術について研究者らと協力したりはしていなかったという。

Store-to-Leak Forwarding 論文では、ストアバッファを、一連のストア操作をシリアル化されたデータに変換し、メモリへの値の書き込みによる遅延をマスクするマイクロアーキテクチャ要素として説明しています。ストアバッファはデータを非同期に保存するため、CPU はアウトオブオーダー実行が可能です。すべてのデータを正しい順序に再構成する操作により、Meltdown のような不正なメモリ読み取りが可能になります。

研究者らは、アクセス不可能とされるカーネルアドレスにアクセスできる「データバウンス」と呼ばれる手法について説明しています。「データバウンスを用いることで、KASLR(カーネルアドレス空間レイアウトランダム化)を破り、Intel SGXエンクレーブのアドレス空間を明らかにし、さらにはJavaScriptのASLR(アドレス空間レイアウトランダム化)さえも破ることができます」と論文には記されています。

データ バウンスはオペレーティング システムからは見えません。これは、を伴わずsyscall、例外をトリガーしません。

この論文では、ストアバッファとトランスレーション・ルックアサイド・バッファ(TLB)を介してカーネルのアクティビティを監視する「フェッチ+バウンス」と呼ばれる手法についても説明しています。3つ目の手法は、投機的実行とフェッチ+バウンスを組み合わせてメモリから任意のデータをリークするものです。

「投機的フェッチ+バウンスは、Spectreを悪用する斬新な手法です。Spectre攻撃においてキャッシュを隠れチャネルとして利用するのではなく、TLBを利用して漏洩データをエンコードします」と、Store-to-Leak Forwardingの論文では説明されています。「投機的フェッチ+バウンスが従来のSpectre攻撃に比べて優れている点は、ユーザー空間とカーネル空間の間で共有メモリを必要としないことです。」

幽霊

スペクターが復活し、リターンスタックバッファでインテルを攻撃

続きを読む

2つ目の論文「ZombieLoad」は、プロセッサのフィルバッファのロジックを悪用するものです。これは、プロセスバリアや権限レベルを考慮せずに、物理CPU上のメモリロード操作の値を露出させる一時実行攻撃です。

研究者らによると、この攻撃はユーザー空間プロセス、CPU保護リング、仮想マシン、SGXエンクレーブ全体から機密性の高いデータを盗み出す。「ブラウザの動作を監視し、AESキーを抽出し、VM間の秘密チャネルを確立し、SGXシーリングキーを復元することで、その莫大な攻撃能力を実証しました」とZombieLoadの論文は説明している。「最終的に、ハイパースレッディングを無効にすることが、現行のプロセッサでZombieLoadを軽減する唯一の回避策であると結論付けました。」

Gruss 氏によれば、研究者らは、ライン フィル バッファを使用して Foreshadow の緩和策を回避できることも発見したが、その詳細はどちらの論文にも記載されていない。

Intel はハイパースレッディングを無効にする必要性については反対しており、将来のプロセッサにこれらの脆弱性に対処するための追加のハードウェア防御を追加する予定であると述べています。®

Discover More