Intelは、プロセッサの新しいクラスの脆弱性に関する情報をリリースしました:MDS(Microarchitecture Data Sampling)、 とりわけZombieLoad。
上記のスペクタークラスの攻撃のように、 新しい問題は、クローズドオペレーティングシステムデータのリークにつながる可能性があります。 仮想マシンと外部プロセス。 問題は、内部監査中にIntelの従業員とパートナーによって最初に特定されたと主張されています。
識別された問題に基づいて、グラズ工科大学(オーストリア)の研究者は、サードパーティのチャネルを介していくつかの実際的な攻撃を開発しました。
識別された脆弱性
ZombieLoad (PDF、LinuxおよびWindowsのプロトタイプを活用する):le 他のプロセスから機密情報を抽出できるようにし、 オペレーティングシステム、仮想マシン、および保護されたエンクレーブ(TEE、信頼できる実行環境)。
たとえば、別の仮想マシンで実行されているTorブラウザーでページを開いた履歴を判別したり、アプリケーションで使用されているアクセスキーとパスワードを取得したりする機能が実証されています。
リドル (PDF、検証用コード):le Intelプロセッサ上の異なる隔離された領域間の情報漏えいを整理できます。 フィルバッファ、ストレージバッファ、充電ポートなど。
攻撃の例は、他のプロセス、オペレーティングシステム、仮想マシン、および保護されたエンクレーブのリーク編成について示されています。 たとえば、定期的な認証試行中に/ etc / shadowのルートパスワードハッシュの内容を見つける方法を示しています(攻撃には24時間かかりました)。
さらに、 SpiderMonkeyエンジンで悪意のあるページを開くと、JavaScript攻撃を実行する方法の例が示されます (最新の完全なブラウザーでは、このような攻撃は、タイマーの精度とSpectreから保護するための手段が限られているために発生する可能性はほとんどありません。)
Fallout (PDF):ル オペレーティングシステムによって最近記録されたデータを読み取ることができます 他の攻撃を容易にするためのオペレーティングシステムメモリの設計を決定します。
ストアからリークへの転送: ストレージバッファ最適化CPUを活用 また、カーネルアドレススペースランダム化(KASLR)メカニズムをバイパスしたり、オペレーティングシステムの状態を監視したり、Spectreベースのデバイスと組み合わせてリークを整理したりするために使用できます。
CVE-2018-12126-MSBDS (マイクロアーキテクチャバッファデータサンプリング)。ストレージバッファの内容を復元します。 フォールアウト攻撃で使用されます。 重大度は6.5ポイント(CVSS)で定義されます
CVE-2018-12127-MLPDS (マイクロアーキテクチャの充電ポートデータサンプリング)。これにより、充電ポートの内容が復元されます。 RIDL攻撃で使用されます。 CVSS 6.5
CVE-2018-12130-MFBDS (マイクロアーキテクチャパディングバッファデータサンプリング)。パディングバッファの内容を復元します。 ZombieLoadおよびRIDL攻撃で使用されます。 CVSS 6.5
CVE-2019-11091-MDSUM (マイクロアーキテクチャデータサンプリングの修正不可能なメモリ)、保存不可能なメモリの内容を復元します。 RIDL攻撃で使用されます。 CVSS 3.8
識別された問題の本質は、アプリケーションが直接アクセスできないマイクロアーキテクチャ構造のデータに、サードパーティのチャネルを介して分析方法を適用する可能性です。
ソリューションはすでに利用可能になっています
En Linuxカーネル、MDS保護が本日のアップデート5.1.2、5.0.16に追加されました。 4.19.43、4.14.119、および4.9.176。
保護方法は、カーネルからユーザースペースに戻るとき、またはVERW命令が使用されるホストシステムに制御を移すときに、マイクロアーキテクチャバッファの内容をクリアすることに基づいています。
パッケージアップデートはすでにリリースされています RHELおよびUbuntuの場合ですが、Debian、Fedora、およびSUSEではまだ使用できません。
XenハイパーバイザーとVMware向けに、仮想マシンのデータ漏洩をブロックするソリューションが作成されました。
別の仮想マシンに制御を移す前にL1D_FLUSHコマンドを実行する仮想化システムを保護し、Intel SGXエンクレーブを保護するには、マイクロコードを更新するだけです。
パッチは、NetBSD、FreeBSD、ChromeOS、Windows、およびmacOSでも利用できます(OpenBSDの修正はまだありません)。