AMD

研究者らは、最新モデルを含むすべての AMD Zen CPU 上の非特権プロセスを使用して特権シークレットとデータを漏洩する可能性がある、「インセプション」と呼ばれる新しくて強力な一時実行攻撃を発見しました。

一時実行攻撃は、最新のすべてのプロセッサに存在する投機的実行と呼ばれる機能を悪用します。この機能は、処理が遅くなる前に次に何を実行するかを推測することで、CPU のパフォーマンスを大幅に向上させます。

推測が正しければ、CPU は操作の終了を待たずにパフォーマンスを向上させます。推測が間違っていた場合は、単純に変更をロールバックし、新しい結果を使用して操作を続行します。

投機的実行の問題は、攻撃者が保護されるべき貴重なデータを取得するために観察または分析できる痕跡が残る可能性があることです。

チューリッヒ工科大学の研究者らは現在、「ファントム投機」(CVE-2022-23825)と呼ばれる古い手法と「一時的実行のトレーニング」(TTE)と呼ばれる新しい一時的実行攻撃を組み合わせて、さらに強力な「インセプション」攻撃を作成した。

ファントム投機を使用すると、攻撃者は誤予測ソースでの分岐を必要とせずに誤予測をトリガーできます。つまり、任意の XOR 命令で投機実行期間 (「一時ウィンドウ」) を作成できます。

TTE は、分岐予測子に新しい予測を注入して、悪用可能な投機的実行を作成することにより、将来の予測ミスを操作することです。

CVE-2023-20569 として追跡される Inception 攻撃は、上記の概念を組み合わせた新しい攻撃で、攻撃者が CPU に XOR 命令 (単純なバイナリ演算) が再帰呼び出し命令であると信じ込ませることができます。

これにより、攻撃者が制御するターゲット アドレスでリターン スタック バッファがオーバーフローし、AMD Zen CPU 上で実行されている特権のないプロセスから任意のデータが漏洩する可能性があります。

インセプションロジック図
インセプションロジック図(チューリッヒ工科大学)

Spectre や自動 IBRS などの一時的な制御フロー ハイジャックなどの既知の投機的実行攻撃に対するすべての緩和策がすでに適用されている場合でも、漏洩の可能性があります。

また、Inception によって達成されるデータ漏洩率は 39 バイト/秒で、16 文字のパスワードを盗むのに約 0.5 秒、RSA キーの場合は 6.5 秒かかります。

チューリッヒ工科大学のチームは、攻撃の詳細をさらに詳しく知りたい人のために、 インセプションファントムに関する個別の技術文書を発行しました。

インセプション攻撃の防止

研究者らは、Zen 1 から Zen 4 までのすべての AMD Zen ベースの Ryzen および EPYC CPU が Phantom と Inception に対して脆弱であると述べています。

特定の TTE バリアントは Intel CPU に影響を与える可能性がありますが、eIBRS 緩和策のおかげで、Phantom を Intel 上で悪用することは困難です。

最新の CPU モデルに対する特定の TTE バリアントの影響
最新の CPU モデルに対する特定の TTE バリアントの影響(ETH Zurich)

ETH Zurich チームが作成した概念実証は Linux 上で実行されることを意図していますが、これはソフトウェアの問題ではなくハードウェアの欠陥であるため、攻撃は脆弱な AMD CPU を使用するどのオペレーティング システムでも機能するはずです。

この問題を軽減する戦略は、信頼できないコンテキストを切り替えるときに分岐予測子の状態を完全にフラッシュすることです。ただし、これにより、古い Zen 1(+) および Zen 2 CPU では 93.1% ~ 216.9% のパフォーマンス オーバーヘッドが発生します。

Zen 3 および Zen 4 CPU の場合、当初はこの軽減戦略に対する適切なハードウェア サポートがありませんでしたが、その後、AMD はこの機能を有効にするマイクロコード アップデートをリリースしました。

Zen ベースの AMD プロセッサの所有者は、最新のマイクロコード アップデートをインストールすることをお勧めします。これは、コンピュータ ベンダーやオペレーティング システムのセキュリティ アップデートの一部として提供される場合もあります。

Phantom の欠陥CVE-2022-23825の修正は、 Windows July 2022 Updateでリリースされました。

影響を受けるチップ アーキテクチャのマイクロコード リリース スケジュールについて詳しく知るために AMD に問い合わせましたが、公開時点までに返答はまだありません。


8/8 更新– AMD の広報担当者は、Inception に関して次のコメントを送信しました。

AMDは、新たな投機的なサイドチャネル攻撃について説明する「INCEPTION」というタイトルの外部レポートを受け取りました。 AMDは、「Inception」が悪用される可能性があるのは、ダウンロードしたマルウェアなどを介してローカルでのみ可能であると考えており、最新のソフトウェアやマルウェア検出ツールを実行するなど、セキュリティのベストプラクティスを採用することを顧客に推奨している。 AMD は現時点で、研究環境外での「Inception」の悪用を認識していません。

AMD は、「Zen 3」および「Zen 4」CPU アーキテクチャに基づく製品に適用されるμcode パッチまたは BIOS アップデートを適用することをお客様にお勧めします。 「Zen」または「Zen 2」CPU アーキテクチャに基づく製品には、μcode パッチや BIOS アップデートは必要ありません。これらのアーキテクチャは、分岐予測器から分岐タイプの予測をフラッシュするようにすでに設計されているためです。

AMD は、 AMD セキュリティ情報に記載されている相手先商標製品製造業者 (OEM)、オリジナル設計製造業者 (ODM)、およびマザーボード メーカーに AGESA™ の更新バージョンをリリースする予定です。製品固有の BIOS アップデートについては、OEM、ODM、またはマザーボードのメーカーにお問い合わせください。