Intel プロセッサに対する Zombieload 攻撃の新たな亜種が特定されました

グラーツ工科大学(オーストリア)の研究者 覆われていない サードパーティのチャネルを介した新しい攻撃方法に関する情報 ゾンビロード2.0 (CVE-2019-11135) を使用すると、他のプロセス、オペレーティング システム、仮想マシン、保護されたエンクレーブ (TEE、信頼できる実行環境) から機密情報を抽出できます。この問題は Intel プロセッサにのみ影響します。問題をブロックするコンポーネント 提案 昨日に マイクロコードの更新.

この問題は MDS (マイクロアーキテクチャ データ サンプリング) クラスに属し、最新化されたバージョンです。 公開 2.0 月には ZombieLoad 攻撃が発生。 ZombieLoad XNUMX は、他の MDS 攻撃と同様に、プロセスで使用されるデータを一時的に保存するマイクロアーキテクチャ構造 (たとえば、ライン フィル バッファーやストア バッファー) 内のデータに対するサイドチャネル分析手法の適用に依存しています。ロードおよびストア操作を実行します)。 。

新しい Zombieload 攻撃の亜種 ベースの TSX (Transactional Synchronization Extensions) 拡張機能に実装された、操作の非同期中断メカニズム (TAA、TSX Asynchronous Abort) の操作中に発生するリークについて。これにより、トランザクション メモリを操作するためのツールが提供され、パフォーマンスを向上させることができます。不要な同期操作 (受け入れまたは中止できるアトミック トランザクションをサポート) を動的に排除することで、マルチスレッド アプリケーションを実現します。中断された場合、トランザクション メモリ領域で実行された操作はロールバックされます。

トランザクションの中止は非同期で発生し、この間、他のスレッドはキャッシュにアクセスできます。このキャッシュは、破棄されたトランザクション メモリ領域でも使用されます。非同期トランザクション アボートの開始から実際の完了までの間に、プロセッサが操作の投機的実行中に内部マイクロアーキテクチャ バッファからデータを読み取り、それを投機的操作に転送できる状況が発生する可能性があります。その後、競合が検出され、投機的操作が破棄されますが、データはキャッシュ内に残り、サイドチャネル キャッシュ回復技術を使用して取得できます。

この攻撃は要約すると、TSX トランザクションを開き、その非同期割り込みの条件を作成します。その間に、同じ CPU コアで実行されたメモリ読み取り操作からのデータで投機的に満たされた内部バッファの内容が漏洩する条件が発生します。リークは現在の物理 CPU コア (攻撃者のコードが実行されている) に限定されますが、マイクロアーキテクチャのバッファーはハイパー スレッディング モードの異なるスレッド間で共有されるため、他の CPU スレッドで実行されるメモリ操作がリークされる可能性があります。

攻撃 の対象 第 5000 世代、第 2.0 世代、および第 XNUMX 世代のインテル Core プロセッサーの一部のモデル、インテル Pentium Gold、インテル Celeron XNUMX、インテル Xeon E、インテル Xeon W、および第 XNUMX 世代インテル Xeon スケーラブル。 XNUMX 月に導入された Cascade Lake マイクロアーキテクチャに基づく新しい Intel プロセッサは、当初は RIDL および Fallout 攻撃の影響を受けませんでしたが、攻撃の影響も受けやすくなります。 Zombieload XNUMX に加えて、研究者らは、カーネルからユーザー空間に戻るとき、またはカーネルからユーザー空間に制御を移すときに、マイクロアーキテクチャ バッファの内容をクリアする VERW 命令の使用に基づいて、以前に提案された MDS 攻撃に対する保護方法をバイパスする可能性も特定しました。ゲストシステム。

Intel のレポートでは、異種負荷のシステムでは、マイクロアーキテクチャ構造からの漏洩がシステム内のすべてのアクティビティをカバーし、攻撃者は抽出されたデータのソースに影響を与えることができないため、攻撃を実行するのは困難であると述べています。特定のメモリ アドレスに関連付けられたデータを意図的に傍受する機能はなく、リークの結果として出現した情報を蓄積し、このデータの中から有用な情報を特定しようとすることしかできません。しかし、研究者らは、 エクスプロイトプロトタイプは、Linux および Windows 上で実行され、攻撃を使用して root ユーザーのパスワード ハッシュを特定する機能を実証しました。
多分 ゲスト システムから攻撃を実行して、他のゲスト システム、ホスト環境、ハイパーバイザー、インテル SGX エンクレーブの動作に現れるデータを蓄積します。

脆弱性をブロックするための修正 含まれた Linux カーネル コードベースに組み込まれ、リリースに組み込まれます 5.3.11、4.19.84、4.14.154、4.9.201、4.4.201。カーネルとマイクロコードのアップデートも、メジャー ディストリビューション向けにすでにリリースされています (Debianの, SUSE/openSUSE, Ubuntu, RHEL, フェドーラ, FreeBSDの)。この問題は XNUMX 月に特定され、インテルとオペレーティング システム開発者の間で修正が調整されました。

Zombieload 2.0 をブロックする最も簡単な方法は、CPU の TSX サポートを無効にすることです。 Linux カーネルに対して提案されている修正には、いくつかの保護オプションが含まれています。最初のオプションは、CPU 上で TSX 拡張機能を有効にするかどうかを制御する「tsx=on/off/auto」パラメータを提供します (auto 値は、脆弱な CPU に対してのみ TSX を無効にします)。 XNUMX 番目の保護オプションは、「tsx_async_abort=off/full/full,nosmt」パラメーターによって有効になり、コンテキスト切り替え中のマイクロアーキテクチャ バッファーのクリアに基づいています (nosmt フラグはさらに SMT/ハイパースレッドを無効にします)。システムが脆弱性の影響を受けやすいかどうかを確認するために、sysfs は「/sys/devices/system/cpu/vulnerabilities/tsx_async_abort」パラメーターを提供します。

また、で 更新する マイクロコード 排除された もう一つ 脆弱性 (CVE-2018-12207) Intel プロセッサではこれもブロックされています 更新する Linux カーネル。脆弱性 許可する 権限のない攻撃者がサービス妨害を開始し、システムが「マシン チェック エラー」状態でハングアップする可能性があります。
攻撃も含めて コミットされるかもしれない ゲストシステムから。

出所: オープンネット.ru

コメントを追加します