AMD、コンシューマー向けRyzen CPUからメモリ暗号化をひそかに削除
(tomshardware.com)- コンシューマー向けRyzen CPUで Transparent Secure Memory Encryption(TSME) のサポートが新しいAGESAファームウェア以降で消え、ユーザーがメモリ暗号化保護の状態変化に気づきにくい状況となっている
- TSMEはOSの介入なしにRAM全体を暗号化し、cold-boot exploit、DRAMインターフェースのスヌーピング、メモリモジュールの取り外しといった物理攻撃を防ぐ機能である
- Ben KilpatrickのGitHubでの調査とMSIの対照テストでは、コンシューマー向けRyzenチップが旧ファームウェアではTSMEを有効化していた一方、AGESA 1.2.7.0 では「not supported」と表示されることが確認された
- AMDはTSMEについて「AMD PRO Technologiesの一部としてPRO CPUにのみ適用されるセキュリティ機能」と回答し、AMDエンジニアは追加の質問に対して これ以上共有できる情報はない と述べた
- 物理アクセス攻撃を懸念するユーザーは、AMDがサポート範囲を明確化するか機能を復元しない限り、Ryzen ProまたはEPYC システムを選ぶ必要がある
コンシューマー向けRyzenから消えたTSME
- AMDがコンシューマー向けRyzen CPUから Transparent Secure Memory Encryption(TSME) のサポートをひそかに削除し、一部ユーザーは物理攻撃に対してより脆弱になる可能性がある
- TSMEは、接続されたメモリチップからデータを抜き取る物理攻撃を防ぐための機能である
- AMDは当初この機能を上位CPUに搭載した後、コンシューマー向けCPUへと拡大しており、該当チップのユーザーはTSMEをチップパッケージの一部と見なしてきた
- 変化は新しい AGESAファームウェア 以降に発生したことが確認されている
Kilpatrickの発見と検証
- Ben Kilpatrickは自らを privacy-conscious Linux hobbyist と紹介しており、Zen 5アーキテクチャのRyzen 7 9700Xシステムに新しいOSをインストールしていた際にHost Security ID(HSI)を実行した
- HSIはシステムのファームウェアおよびハードウェアのセキュリティ構成を評価する監査機能である
- BIOS設定ではTSMEが引き続き有効になっていたが、HSIはもはやTSMEがサポートされていないと報告した
- Kilpatrickは当初、マザーボードメーカー MSI に問い合わせたものの明確な説明を得られず、その後AMDの公開エンジニアリングGitHubリポジトリにバグ報告を提出した
AGESA 1.2.7.0で変わった挙動
- AMDのTom LendackyとMario LimoncielloがGitHubで応答したが、機能が消えた理由を明確には説明しなかった
- AMDエンジニアは、BIOSでオプションをオフ・オンしてみて、それでも解決しなければマザーボードメーカーと協議するよう案内した
- KilpatrickがMSIにさらに強く要請した後、MSIエンジニアが対照テストを実施した
- コンシューマー向けRyzenチップでは 旧ファームウェア でTSMEが有効化される
- AGESA 1.2.7.0 では「not supported」と表示される
- Pro版CPUはファームウェアやマザーボードに関係なくTSMEをサポートする
- 起動時のTSME有効化を制御する内部AGESAフラグは、BIOS設定に関係なくコンシューマー向けチップではFALSEを返し、Proプロセッサでは機能が有効なときTRUEを返した
AMDの立場と残る疑問
- AMDの唯一の公式反応は、TSMEが「AMD PRO Technologiesの一部としてPRO CPUにのみ適用されるセキュリティ機能」というメール回答だった
- この回答は、この機能が長年コンシューマー向けチップで動作してきた後に初めて公に示された制限である
- TSMEが消えた原因が、AMDがProチップにのみ機能を残そうとする 意図的な方針決定 なのか、AGESA 1.2.7.0で生じた意図しないリグレッションなのかは不明である
- KilpatrickはMSIのテスト結果をAMDエンジニアに再度伝え、6週間後に議論を再開した
- Kilpatrickによれば、MSIの製品マーケティングチームはAMDから、TSMEがProシリーズのプロセッサでのみ独占的にサポートされると直接聞いたという
- コンシューマー向けチップでフラグがFALSEに設定される理由が、シリコンレベルの制限なのかファームウェア方針による決定なのかを問われると、Limoncielloは「この件についてこれ以上共有できる情報はない」と答えた
TSMEとSMEの違い
- AMDがTSMEをコンシューマー向けRyzenの機能として明確に宣伝していた兆候はない
- AMDは、関連するメモリ保護機能である Secure Memory Encryption(SME) がProおよびEPYC CPUティアでのみ提供されることを以前から明らかにしている
- SMEはOSが管理し、単一のキーを使用して、OSが個々のメモリページを選択的に暗号化できるようにする
- TSMEはファームウェアが管理し、OSの介入なしにRAM全体を暗号化する
- BIOSでTSMEを有効にすると、追加のOS設定なしに動作し、cold-boot exploit、DRAMインターフェースのスヌーピング、メモリモジュールの取り外しといった物理攻撃を防ぐ
ユーザーへの影響
- この機能削除はWindowsシステムでは検知しにくく、Linuxでも確認にはかなりの技術的作業が必要となる
- 大半のコンシューマー向けRyzenユーザーにとって、実際の影響は限定的である
- TSMEは、誰かがマシンやメモリハードウェアに物理的にアクセスしてRAMから秘密情報を直接抽出しようとするシナリオを防ぐ機能である
- 機密性の高いノートPCを持ち運ぶ場合、機密業務を扱う場合、フルディスク暗号化に依存する場合、あるいは押収・盗難・ハードウェア改ざんが現実的な懸念となる環境では、TSMEの重要性はより高い
- AMDが状況を明確化するかサポートを復元しない限り、AMDハードウェアで実際にメモリ暗号化が必要なユーザーには Ryzen ProまたはEPYC システムが必要となる
1件のコメント
Hacker Newsの反応
これはコンシューマ向けCPUの機能として宣伝されていたわけではないし、悪意ある誰かが私のコンシューマ向けハードウェアに物理的にアクセスできたなら、RAMを極低温に冷やしてバイトを読み出されることは、心配事の中でそこまで上位ではない
スクランブリングによってホストカーネルやアプリケーションはチップ上の実際の物理ビット配置を把握できず、特定のビットを反転させるためのレイアウトを突き止めにくくなる。依然として可能ではあるかもしれないが、メモリ関連のセキュリティ問題に対するもう一つの防御層になる
https://youtu.be/5etwHVarNgI?t=256
https://github.com/amd/firmware_binaries/blob/main/cezanne/P...
私には、そもそもこれらのコンシューマ向け部品では有効になっているべきではなかった機能だった、という状況に近く見える
昨日投稿された記事: “Users cry foul after AMD stripped memory crypto from its consumer CPUs”, https://arstechnica.com/security/2026/06/users-cry-foul-afte...
(https://news.ycombinator.com/item?id=48559827)
企業がこれといった理由もなく平均的なユーザー向けに機能を人為的に制限し、価格をつり上げるための機能群を丸ごと持っているのはかなり奇妙だ。GPU仮想化もそうした機能の別の例だ
市場細分化の論理もしっくりこない。企業はこうした単独機能がいくつかあるだけで大金を払っている
サブスクリプションはとても嫌いだ。継続コストが発生する機能なら例外はあり得るが、一度きりのアンロックならサブスクであるべきではない。ただ、全バージョンに機能を入れて購入で有効化する方式は、条件が合えば消費者に有利になり得るし、製品価格をさらに下げる余地もある
そうすれば、お金を払う人は得をし、今すぐ払わない人も後から少額で気が変わったときの選択肢を残せて、企業も少し多く利益を得られる
ただし条件が必要だ。一度きりのアンロックにサブスク禁止、そして顧客が購入せず自力でアンロック方法を見つけることが合法で保護されるべきだ
機能は存在するのに、どんな費用を払ってもアンロック手段が提供されない状況についてはさらに考える必要があるが、顧客が自分で有効化する行為は法的に強く保護されるべきだと思う
RAMbleedやECCエラーへの保護になるのでこの機能を有効にしていた。だから物理攻撃だけに限られる話ではない
これがどう動くのかは分からないが、誰かがロックされた状態で動作中のコンピュータに物理的にアクセスできると、暗号化されたドライブ全体とディスク上の内容にアクセスできるということか?
起動時に入力した復号鍵がその起動中はメモリに保存されるはずなので、そう推測している
もしそうならかなり驚きだ。誰かが家に侵入したとき、コンピュータが起動したままロックされていたら、あらゆる種類のディスク暗号化を回避できるということになる。コンシューマ向けハードウェアでもディスク暗号化を求めるのは十分あり得る
マシンが起動した後の安全を担保する機能ではない。動作中の防御として適切なのはMACとユーザーパスワードだ
私の経験ではVFIO、NVIDIAドライバ、amdgpuなどで安定性の問題をかなり引き起こしていた
攻撃自体も高度だ。普通の人は高価な極低温攻撃を心配する必要はまずなく、三文字機関ならレンチで鍵を吐かせるだろう
今回の変更が問題ないという意味ではない。すでに損なわれた信頼をさらに削るものだが、平均的なユーザーが直接影響を受ける可能性は極めて低い
鍵を出させるもっと安くて簡単な方法はいくらでもある
もしひっそり削除できるなら、それは本当にセキュリティ機能だったのか?
企業が市場細分化のためにエンジニアへ金を払い、製品をわざわざ劣化させるのは嫌だが、データセンターの外でこの機能がそこまで重要には見えない。evil-maidがハードウェアへのアクセス権を得たなら、RAMではなくUSBやPCIをいじるのではないか
記憶が正しければ、この機能はAMDがそのCPU向けに宣伝したことはなく、安定してもいなかった
AMDの唯一の潜在的なミスは、なぜ無効化したのかを透明性を持って説明しなかったことだ
正直、この機能はあまりまともに動いたことがない。VFIO、NVIDIAドライバ、amdgpuで主にフリーズのような問題が多かった
こういうふざけたことがあるからCPU市場の競争は重要だ
私たちは皆、Blu-rayバーナーと暗室設備くらいの価格で、自宅で小さな300nm級集積回路を焼いて作れていたかもしれない。シリコンの限界はハードウェア不足ではなく自由不足から来ている
これでCPUが少しでも安くなるなら構わないが、そうならないのは分かっている
いわゆるAI企業も「パーソナルエージェント型エージェント」のせいでCPUをより多く使い始めるという話もあるので、人間までCPU価格で締め出されないでほしい