Fabricked:AMD SEV-SNP を破るために無限ファブリックの設定を誤ること

2026/05/18 7:23

Fabricked:AMD SEV-SNP を破るために無限ファブリックの設定を誤ること

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

最も重要な教訓は、AMD SEV-SNP 機密コンピューティングを完全に侵害する、新しいソフトウェアだけの攻撃「Fabricked」が存在することです。この攻撃は、マルウェア製のハイパーバイザーが内部でコードを実行せずに安全な仮想マシンを完全に制御可能にし、システム起動前に無限ファブリックのルーティング規則への信頼性がない脆弱な UEFI または BIOS 設定から生じます。攻撃者は初期化中に必須のプロセッサ書き込みを停止させることができます。このエクスプロイトは、これらの信頼されていない構成に依存しており、UEFI とハイパーバイザーの特権が必要ですが、非機密の仮想マシンには影響せず、標準的な脅威モデルでは UEFI/ハイパーバイザーが信頼できると仮定されています。BreakFAST(制御ファブリック経由でのトラフィックのリダイレクト)といった過去の中継接続の脆弱性に関連しているものの、Fabricked は IOMS コンポーネントを独自に標的にし、RMP 初期化中に PSP 書き込みを停止させる点で、Intel TDX や Arm CCA および他のアーキテクチャとは異なります。この脆弱性は XCA インスタンスとして分類され、CVE-2025-54510 に割り当てられ、AMD Zen 5 EPYC プロセッサで確認されており、Zen 3、Zen 4、および Zen 4 システムに影響を与えます。同様の内部の脆弱性は Intel システムにも存在します(INTEL-SA-00960)。一般的にハイパーバイザーは信頼できると仮定されていることで AMD システムが保護されていますが、この特定のエクスプロイトは、脆弱なハードウェアに対してその保証を壊します。影響を受けた機器には、デプロイが安全であると見なされるまでにセキュリティの欠陥を修正するための即時のファームウェア更新が必要な勧告書(AMD-SB-3034)が発行されています。公開プロセスには 2026 年 4 月 14 日までのエンバーゴが含まれていました。

本文

Fabricked:Infinity Fabric の誤設定による AMD SEV-SNP の破綻

(USENIX Security 2026)

概要

機密性のあるコンピューティングは、クラウドサービスプロバイダーを信頼する必要なく、センシティブな計算処理とデータを遠隔リソースにオフロードすることを可能にします。AMD SEV-SNP など、ハードウェアベースの安全な実行環境(Trusted Execution Environment)は、機密仮想マシン(CVM:Confidential Virtual Machines)を作成することでこのことを実現しています。Fabricked では、AMD SEV-SNP を損ねるためにメモリーの経路を操作する新しいソフトウェア攻撃手法を提示します。メモリトランザクションの再ルーティングにより、悪意あるハイパーバイザーは安全な共处理器(PSP:Platform Security Processor)を欺き、SEV-SNP の初期化を適切に行わせないように誘導できます。これにより、攻撃者は CVM アドレス空間内で任意の読み書きアクセスを実行することができ、SEV-SNP の核心的なセキュリティ保証を破綻させることになります。

AMD SEV-SNP とは何か

標準的なクラウド環境では、テナントによる計算処理および使用中のデータが、潜在的に信頼できないクラウドサービスプロバイダーに晒されるリスクがあります。機密性のあるコンピューティングは、ホストから完全なデータプライバシーを保証する、アクティブなワークロードを隔離したハードウェアシールドされた環境である「機密仮想マシン(CVM)」を利用することでこの問題を解決します。「Secure Encrypted Virtualization-Secure Nested Paging」(SEV-SNP)は、AMD サーバー CPU 上で CVM を実現するための AMD ハードウェア拡張機能です。

Infinity Fabric とは何か

現代の AMD システムオンチップ(SoC)では、Chiplet アーキテクチャが採用されています。その基本的な概念は、個々の CPU ブロックを別々のダイ(chip die)で製造し、高速なインターコネクトを通じてそれらを連結することにあります。この設計は製造歩留まりを大幅に向上させる一方で、コンポーネント間の通信において複雑性を生じさせます。AMD はこれを解決するため、CPU コア、メモリーコントローラー、および周辺デバイス間での一貫性のあるデータ転送、メモリー経路付け、そしてアドレスマッピングを担当する「Infinity Fabric」を提案しています。プラットフォーム構成はシステムやブートシーケンス間で変化するため、Infinity Fabric は各 CPU のブートシーケンスにおいて動的に設定される必要があります。AMD はこの設定プロセスの一部をマザーボードファームウェア(通称:BIOS または UEFI)に委譲しています。

図 1: Infinity Fabric の概略図

Fabricked の概要

機密コンピューティングにおける脅威モデルでは、UEFI は信頼できず、クラウドプロバイダーによって制御されています。Fabricked ではまず、未信頼な UEFI が Infinity Fabric 設定の一部をロックダウンする役割を担っていることを特定しました。攻撃者として、私たちは UEFI を改変し、これらの API コールを実行しないようにします。これにより、SEV-SNP のマシン上のアクティベーションが行われてからも、無限ファブリック(Infinity Fabric)が攻撃者によって設定可能な状態のままとなります。

したがって、攻撃者すなわち悪意あるハイパーバイザーは、DRAM メモリトランザクションを再ルーティングするために Infinity Fabric を改変することができます。Infinity Fabric は CPU コアだけでなく、安全な共处理器(PSP)も DRAM に接続するため、PSP の DRAM に対する読み書き操作を操作することが可能です。私たちはこの攻撃者の能力を利用して SEV-SNP の初期化を損ねます。具体的には、SEV-SNP の初期化プロセス中に、PSP が CVM メモリのアクセス制御ルールを強制する重要なデータ構造「RMP(Realization of Memory Protection)」を設定していることを見出しました。この設定过程中に、PSP は DRAM に対してメモリー書き込みを実行する必要があります。これらの PSP 書き込みを行う前に Infinity Fabric を誤設定することにより、それらを丢弃(drop)させることが可能になります。その結果として、初期化されていない RMP が得られ、すなわち攻撃者が設置した不安全なデフォルトエントリが保持されたまま完全に変更されない状態になります。つまり、Fabricked を利用することで、攻撃者は SEV-SNP の初期化の一部を迂回し、成功したと錯覚させることができます。その後、被害者がそのプラットフォーム上で CVM を起動する場合、RMP エンフォースメントは実用上意味がないため、ハイパーバイザーはこれらのメモリーにアクセスすることができます。

図 2: Fabricked 攻撃の概要:SNP_INIT において、攻撃者は安全共处理器の DRAM への書き込みを悪意を持って誤経路化します。その結果として、不安全なデフォルトエントリを持つ RMP が得られます。

何が失敗したのか

Fabricked が可能となったのは、以下の 2 つの重大な欠陥によるものです:

  • まず第一に、ハイパーバイザーは悪意を持って Infinity Fabric の経路ルールの一部を破損させることができるからです。
  • 次に、安全共处理器がその後にメモリーリクエストを発行する際、これらの変ったルートルールが正しいルールよりも優先され、RMP の初期化に必要な書き込みを静かに誤誘導してしまうためです。

攻撃の複雑性

Fabricked は、100% の成功率を持つ完全に決定論的で、純粋なソフトウェアによるエクスプロイトとして動作します。これは被害者の CVM 内部で実行されるコードに依存せず、ハードウェアへの物理的なアクセスも必要としません。

影響するハードウェア

私たちは AMD Zen 5 EPYC プロセッサ上で SEV-SNP を動作させた際に脆弱性を確認しました。しかし、AMD の公式アドバisoryでは Zen 3 および Zen 4 プロセッサ向けのファームウェアアップデートも掲載されています。これらのシステムのパッチノートには CVE-2025-54510 の緩和策も記載されているため、Fabricked は Zen 3、Zen 4、および Zen 5 を影響するものと推測しています。

FAQ(よくある質問)

Q:この攻撃は SEV-SNP 以外の影響も持っていますか?
Fabricked は、AMD 内蔵のセキュリティ共处理器である PSP のメモリーアクセスを誤経路化します。私たちは SEV-SNP を超える脆弱性の影響については調査していません。

Q:Fabricked はクラウド上の非機密仮想マシンにも影響しますか?
いいえ。Fabricked は、Infinity Fabric を再設定するために悪意あるハイパーバイザーおよび UEFI を前提としています。非機密 VM の脅威モデルにおいては、ハイパーバイザーと UEFI は信頼できると考えられています。

Q:攻撃を行うための要件は何ですか?
攻撃者が Fabricked 攻撃を成功させるためには、UEFI およびハイパーバイザーの権限が必要です。

Q:この攻撃シナリオは現実的でしょうか?
私たちは AMD が SEV-SNP に対して定義した脅威モデルで動作しています。AMD は UEFI を明示的に信頼していないため、攻撃者は UEFI を改変することができます。さらに、機密コンピューティングがクラウドプロバイダーからのセンシティブデータの保護を目的としていることは言うまでもなく、クラウドプロバイダーはカスタムの UEFI インプリメンテーションを持っていると考えることができます。

Q:なぜ名前が「Fabricked」なのか?
私たちの攻撃は、SEV-SNP を破壊(brick)するために Infinity Fabric を誤設定します。そのため、この攻撃を「Fabricked」と呼びます。

Q:AMD からの対応は何ですか?
AMD はこの攻撃を確認し、修正をリリースしました。詳細については AMD のアドバisory ページをご覧ください:https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3034.html

Q:これには Arm CCA や Intel TDX への影響がありますか?
現在の手口の攻撃は Intel TDX や Arm CCA では機能しません。ただし、Intel システム内で同様の脆弱性が見つかったことは INTEL-SA-00960 で内部報告されています。

Q:この攻撃は他のバージョンの SEV(例:SEV-ES)にも適用されますか?
いいえ。AMD SEV および SEV-ES はゲストの完全性を保証せず、そのため広範に「設計上の不具合」と考えられています。この理由から、私たちは私たちの攻撃を SEV および SEV-ES に対して評価していません。

Q:Fabricked のロゴを利用できますか?
もちろん、ロゴは自由に使用できます。

Q:なぜ Fabricked は XCA 攻撃クラスの事例なのか?
Fabricked は相互接続(インターコネクト)を誤設定し、機密コンピューティングのセキュリティ保証を破綻させるため、XCA 攻撃に該当します。

Q:BreakFAST とどう違うのですか?
Fabricked と BreakFAST の違いは、Infinity Fabric で再設定するコンポーネントおよびその再設定の結果にあります。Fabricked は IOMS を対象とし、一方 BreakFAST は I/O クロスバーを 대상으로します。Fabricked では DRAM に到達すべき PSP の書き込みを丢弃し、BreakFAST では PSP の読み書きを Control Fabric へ再誘導します。したがって、BreakFAST では攻撃者が Control Fabric の一部を制御することを可能にするのに対し、Fabricked は SEV-SNP の完全性保護を無効にします。

著者

  • Chris Wech(クリス・ウェク)
  • Benedict Schlüter(ベネディクト・シュリュター)
  • Shweta Shinde(シュвета・シンデ)

責任ある公開(Responsible Disclosure)

脆弱性については、2025 年 8 月 3 日に AMD に通知しました。AMD の PSIRT(Product Security Incident Response Team)との議論の後、秘匿期限を 2026 年 4 月 14 日に合意しました。

CVE および AMD からの対応

AMD は脆弱性が対象範囲内であることを確認し、以下のリンクの下にアドバイザリーを発行了:https://www.amd.com/en/resources/product-security/bulletin/amd-sb-3034.html。Fabricked は CVE-2025-54510 に付与されました。

引用

論文を引用する場合は、以下の BibTeX エントリをご利用ください:

@inproceedings{schlueter2026fabricked,
  title={{Fabricked: Misconfiguring Infinity Fabric to Break AMD SEV-SNP}},
  author={Benedict Schlüter and Christoph Wech and Shweta Shinde},
  booktitle={35th USENIX Security Symposium (USENIX Security 26)},
  year={2026},
  month = aug,
  address = {Baltimore, MD},
  publisher = {USENIX Association},
}

同じ日のほかのニュース

一覧に戻る →

2026/05/18 6:40

ジェンケイアド

## 日本語訳: GenCAD は、画像から直接編集可能な 3D CAD デザインを生成する AI モデルを作成することで、エンジニアリング分野における画期的な突破を遂げています。以前の方法は複雑なデータ構造に苦戦していましたが、この新しいアプローチは Boundary Representation(B-rep)形式に関連する精度上の課題を克服します。これは、latent command representations と diffusion modeling を含む独自の 4 つのステップのプロセスを通じて実現されており、結果を静的な形状ではなく、実行可能なパラメトリックコマンドとしてデコードします。 この技術は、製造業者やエンジニア向けに設計ワークフローを変革し、完全にモディフィ可能で高精度なモデルを瞬時に作成することを可能にしています。以前は、簡易的な 3D ビジュアルを調整可能なエンジニアリングファイルに変換するには、きつ手間のかかる手作業が必要でしたが、GenCAD はこの障壁を取り除き、ユーザーが設計を容易に反復して改善できる完全な CAD プログラムへの即座のアクセスを提供します。その結果、産業全体が大幅な効率向上を実感し、自律的なツールによって現在、さらなる開発に必要な柔軟性を備えた洗練された編集可能な幾何形状が生成されています。

2026/05/18 6:56

ThinkPad:IBM の弁当箱から、レノボの AI ワークステーションへ

## Japanese Translation: ThinkPad ノートパソコンファミリーは、IBM での公式発売(1992 年 10 月 5 日)以降、同社の所有期間(1992–2005 年)および Lenovo による継承期間(2005 年〜現在)にわたり、連続した納品を実現している長年のエンジニアリングの遺産です。当初は 700C カップシェルとして発表され、Richard Sapper の象徴的なマットブラックケース、10.4 インチの有源マトリックスカラー TFT ディスプレイ、そして Ted Selker の開発した TrackPoint II——ホームROWから指を動かす時間を短縮するポインティングスティック——を搭載していました。2010 年までには納品台数が 6000 万台を超え、買収後のブランドの存続と IBM の元々のエンジニアリング原則の維持を証明しました。デザインは 30 年にわたり大きく進化しましたが、1992 年の時代から現代のモデルである 2025/2026 年製の P14s Gen 6 や X1 Carbon に至るまで視覚的な連続性を保ち続けています。これらの現行モデルは「Strix Point」CPU を採用し、高度な NPU とプレミアム OLED ディスプレイを備えています。初期モデルでは 2012 年まで 7 レーキストANDARD化されており、その後は Precision キーボードに置き換えられましたが、後期の世代では 2012 年から開始されたハンダ付けメモリ制限などの課題もありました。一方、近年の傾向としては、薄い筐体にユーザー交換可能な DDR5 SODIMM を採用するなど、修理可能性への再注力が進んでいます。また、専用ドックから汎用的な USB-C/Thunderbolt 規格へも円滑に移行しています。結局のところ、ThinkPad の成功は、元々のデザイン哲学を尊重しつつ最新技術を統合することで、長期的な市場優位性を維持できることを示しています。

2026/05/18 6:15

プロログによるコーディング・ホラー。

## Japanese Translation: 本記事は、純粋で単調なコーディング慣行への厳格な遵守が、堅牢な Prolog プログラムにとって不可欠であるという主張を展開している。一般的な産業パターンへ偏离することは、言語の述語論的性質を破損させ、高価な欠陥をもたらす。`!/0`、`(->)/2`、および `var/1` などの非単調な構造は、意図された解の喪失か不適切な結果を生じる。`assertz/1` および `retract/1` でグローバルデータベースを改変することは、隠れた依存関係を創出し予期せぬ失敗を引き起こすため、状態は世界の改変を通じてではなく述語の引数を通じて伝達されるべきである。`(is)/2`、`(=:=)/2`、および比較演算子のような低水準のアリティム操作は、開発者に矛盾する述語論的および操作的意味を両立させるよう迫り、プログラムを理解しやすくし、学習・テスト・推論を行うことを難しくする。不純な出力操作もまた、解答を Prolog タームとして記号論的に考察することを阻止する。純粋で単調な Prolog 部分集合を採用し、`dif/2` のような近代の述語論的ツール、`if_/3` のようなメタ述語、およびクリーンなデータ構造を活用することで、開発者はパフォーマンスを維持しつつ一般性・柔軟性・厳格なテスト可能性を取り戻し、プロフェッショナル環境での利用を制限するレガシーの負担から Prolog を解放することができる。

Fabricked:AMD SEV-SNP を破るために無限ファブリックの設定を誤ること | そっか~ニュース