最新の CPU に新たなサイドチャネル脆弱性:Collide+Power/Downfall/Inception とは?

Collide+Power, Downfall, and Inception: New Side-Channel Attacks Affecting Modern CPUs

2023/08/09 TheHackerNews — サイバー・セキュリティ研究者たちが、最新の CPU からの機密データ漏えいに悪用される可能性のある、3件のつのサイドチャネル攻撃の詳細を公開した。それらの新たな手法は、Collide+Power (CVE-2023-20583)/Downfall (CVE-2022-40982)/Inception(CVE-2023-20569) として追跡されている。先日には、Zenbleed (CVE-2023-20593) として知られる、AMD Zen 2 アーキテクチャー・ベースのプロセッサーに影響を与える、別のセキュリティ脆弱性の公開に続くものである。


Google の Senior Research Scientist である Daniel Moghimi は、「Downfall 攻撃は、パーソナル・コンピュータやクラウド・コンピュータに使用されている、何十億もの最新プロセッサに存在する深刻な弱点を狙ったものだ。この脆弱性の悪用に成功した攻撃者は、同じコンピュータを共有している他のユーザーの、データにアクセスして盗み出すことができる」と述べている。

ある攻撃シナリオの例では、デバイスにインストールされた悪意のアプリが、パスワードや暗号化キーのような機密情報を盗むために、この方法を武器にすることができるという。そのため、Intel SGX (Software Guard eXtensions) 保護機能を、効果的に弱体化させることが可能になる。

この問題は、Intel がプロセッサーに導入したメモリ最適化機能である、AVX2 および AVX-512 命令セットに起因しており、それにより信頼できないソフトウェアが分離バリアを通過し、他のプログラムが保存したデータにアクセスできるようになるという。

それは、Gather Data Sampling (GDS) と Gather Value Injection (GVI) と呼ばれる、2つの過渡実行攻撃技術により実現されるものであり、後者は GDS と Load Value Injection (LVI) を組み合わせたものである。

Tavis Ormandy と Moghimi は、「Downfall と Zenbleed は、最新のプロセッサで確立されたソフトウェアとハードウェアの境界を、攻撃者が侵害することになる。具体的に言うと、異なる仮想マシンや異なるプロセス間で、システム上の他のユーザーの情報を保持する内部ハードウェア・レジスタのデータに、攻撃者がアクセスできるようになる可能性がある」と指摘している。

Intel は Downfall (別名 GDS) について、情報漏洩につながる可能性のある、Medium 程度の欠陥であると説明している。また、パフォーマンスを 50% ほど低下させる可能性はあるが、問題を軽減するためのマイクロコード・アップデートもリリースしている。影響を受けるモデルの全リストは、ココで入手できる。

Downfall の発見が示すのは、セキュリティとパフォーマンスの最適化要求のバランスをとる必要性である。Ormandy と Moghimi は、「計算を高速化するはずの最適化機能は、セキュリティと密接に関係しており、適切に実装されていなければ、新たな脆弱性をもたらす可能性がある」と述べている。

それに関連して Intel は、不適切な入力検証の結果として発生する、一部の Intel プロセッサー用 BIOS ファームウェアに存在する、特権昇格バグ (CVE-2022-44611) などの多数の欠陥にも対処し始めている。

NCC Group のセキュリティ研究者である Jeremy Boone は、「被害者のデバイス にBluetooth で近接するリモートの攻撃者は、不正な [Human Interface Device] Report 構造を送信することで、BIOS メモリを破損させることが可能だ」と述べている。

この攻撃は、最新の Zen 4 プロセッサーを含む、すべての AMD Zen CPU 上で、39 Byte/秒の速度で、任意のカーネル・メモリーをリークするという。

チューリッヒ工科大学の研究者たちは、「同名の映画のように、Inception は CPU がある意味で “夢を見ている” 間に、CPUに “アイデア” を植え付け、自己の経験に基づく間違った行動を取らせる」と述べている。このアプローチを用いる Inception は、すべての AMD Zen CPU のリターン命令の過渡制御フローをハイジャックする。

このアプローチは、Phantom Speculation (CVE-2022-23825) と Training in Transient Execution (TTE) を融合させたものであり、Spectre-V2 や Retbleed のような分岐予測ベース攻撃に沿った、情報漏洩を可能にする。

研究者たちは、「Inception は、XOR 命令が再帰呼び出し命令であると、CPU に信じ込ませ、攻撃者が制御するターゲットでリターン・スタック・バッファをオーバーフローさせる」と説明している。

AMD は、「マイクロコード・パッチなどの緩和策を提供する。それに加えて、この脆弱性はダウンロードしたマルウェア経由などで、ローカルでのみ悪用される可能性がある。したがって、最新のソフトウェアやマルウェア検出ツールの実行などの、セキュリティのベストプラクティスを採用することを推奨する」と述べている。

なお、脆弱性 CVE-2022-23825 に対する修正プログラムは、Microsoft が 2022年7月の Patch Tuesday で配布している。また、脆弱性 CVE-2023-20569 に関しては、Microsoft の 2023年8月の Security Update で対処されている。

一連のサイドチャネル攻撃の最後を飾るのは、Collide+Power と名付けられた、まったく新たなソフトウェア・ベースの手法であり、すべてのプロセッサに対して機能するものだ。その悪用に成功した攻撃者は、最大 188.8 Bit/時間の速度で、任意のセキュリティ・ドメインからだけでなく、プログラム全体から、任意のデータ漏えいを可能性にする。

グラーツ工科大学と CISPA Helmholtz Center for Information Security は、「問題の根源は、内部メモリ・システムのような共有 CPU コンポーネントが、攻撃者のデータと他のアプリケーションのデータを結合することで、消費電力に複合的なリーク信号が生じる点にある」と述べている。

つまり攻撃者は、自分自身のデータを知ることで、他のアプリケーションで使用されている正確なデータ値を特定することが可能になる。言い換えれば、標的となるデバイスに仕込まれたマルウェアを介して、攻撃者が制御するデータと、共有 CPU キャッシュ・メモリ内の被害者の秘密情報を、強制的に衝突させることである。

現在の最先端技術では比較的低く、エンドユーザーとして Collide+Power 攻撃の標的になる可能性は極めて低い。Collide+Power は電力関連信号に依存しない技術であるため、悪用されるデータの衝突をハードウェア・レベルで防ぐ必要がある。あるいは、攻撃者が電力関連信号を観測できないようにするために、可能な緩和策をソフトウェア/ハードウェア・レベルで展開する必要がある」と指摘している。