Retbleed:IntelとAMDを攻撃する新しい投機的実行攻撃

最近のニュースはそれを壊したeETHチューリッヒの研究者グループが新たな攻撃を特定しました CPUの間接ジャンプの投機的実行メカニズムに移行します。これにより、カーネルメモリから情報を抽出したり、仮想マシンからホストシステムへの攻撃を整理したりできます。

脆弱性はコードネームRetbleedでした (CVE-2022-29900、CVE-2022-29901ですでにカタログ化されています)および Spectre-v2攻撃と性質が似ています.

違いは、「jmp」命令を使用して間接的にジャンプしたり、メモリからアドレスをロードしたり、またはCPUレジスタ。

新しい攻撃については、 攻撃者はフォーク予測の条件を作成できます プログラムの実行ロジックによって意図されていないコードのブロックへの意図的な投機的ジャンプを誤って整理します。

結局、 プロセッサは、分岐予測が正当化されなかったと判断し、操作をロールバックします 元の状態に、 しかし、処理されたデータ 投機的実行中 彼らはキャッシュに座ります およびマイクロアーキテクチャバッファ。 誤って実行されたブロックがメモリアクセスを実行した場合、その投機的実行により、一般キャッシュにインストールされ、メモリからデータが読み取られます。

投機的操作の実行後にキャッシュに残っているデータを特定するために、攻撃者はメソッドを使用して、サードパーティのチャネルを介して残りのデータを特定できます。たとえば、キャッシュされていないデータのアクセス時間の変化を分析します。

異なる特権レベルの領域(カーネルメモリなど)から意図的に情報を抽出するために、「デバイス」が使用されます。カーネルに存在するスクリプトで、外部条件に応じて、影響を受ける可能性のあるメモリからのデータの投機的読み取りに適しています。攻撃者による。

間接分岐命令と条件分岐命令を使用する従来のSpectreクラスの攻撃から保護するために、ほとんどのオペレーティングシステムは、間接分岐操作を「ret」命令に置き換えることに基づく「retpoline」手法を使用します。これには、個別のスタック状態予測が必要です。ユニットはプロセッサで使用され、分岐予測ブロックを使用しません。

2018年にretpolineが導入されたとき、Spectreのようなアドレス操作は、「ret」命令を使用した投機的なフォークには実用的ではないと考えられていました。

攻撃方法を開発した研究者 Retbleedは、マイクロアーキテクチャ条件を作成する可能性を示しました 「ret」命令を使用して投機的移行を開始し、そのような状態が発生するLinuxカーネルの脆弱性を悪用する適切な命令シーケンス(ガジェット)を特定するための既製のツールキットをリリースしました。

研究の過程で、 実用的なエクスプロイトが準備されました これにより、Intel CPUを搭載したシステムでは、ユーザースペースの非特権プロセスから、カーネルメモリから毎秒219バイトの速度で98%の精度で任意のデータを抽出できます。

En プロセッサ AMD、エクスプロイトの効率ははるかに高いです、 リークレートは毎秒3,9KBであるため。 実際の例として、提案されたエクスプロイトを使用して/ etc/shadowファイルの内容を判別する方法を示します。 Intel CPUを搭載したシステムでは、ルートパスワードハッシュを決定する攻撃が28分で実行され、AMDCPUを搭載したシステムでは6分で実行されました。

攻撃は、6〜8世代のIntelプロセッサで確認されました 2019年第1四半期より前にリリースされたもの(Skylakeを含む)、および1年第2四半期より前にリリースされたZen 2021、Zen XNUMX+、およびZenXNUMXマイクロアーキテクチャに基づくAMDプロセッサ。 新しいプロセッサモデルの場合、AMDZen3やIntelAlder Lake、ARMプロセッサなど、 問題は既存の保護メカニズムによってブロックされます。 たとえば、IBRS(Indirect Branch Restricted Speculation)命令を使用すると、攻撃から保護するのに役立ちます。

LinuxカーネルとXenハイパーバイザーの一連の変更を準備しました、古いCPUでプログラムによって問題をブロックします。 提案されたLinuxカーネルパッチは68ファイルを変更し、1783行を追加し、387行を削除します。

残念ながら、保護にはかなりのオーバーヘッドコストがかかります。AMDおよびIntelプロセッサで作成されたテキストでは、パフォーマンスの低下は14%から39%の間であると推定されています。 新世代のIntelCPUで利用可能で、Linuxカーネル4.19以降でサポートされているIBRS命令に基づく保護を使用することをお勧めします。

最後に、それについてもっと知りたい場合は、 詳細は次のリンクをご覧ください。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:AB Internet Networks 2008 SL
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。