Linuxの環境構築や検証を日常的に行うユーザーコミュニティにおいて、AMDのコンシューマー向けRyzenプロセッサから重要なセキュリティ機能が突如として消失していることが報告された。この事象の発端となったのは、プライバシー保護を重視するLinuxユーザーであるBen Kilpatrickが、Zen 5アーキテクチャを採用したRyzen 7 9700X搭載システムに新しいオペレーティングシステムをインストールした際の出来事である。彼はシステムの構築において、各種セキュリティ機能が正しく稼働しているかを確認するため、ファームウェアとハードウェアのセキュリティ設定を監査するツール「Host Security ID (HSI)」を実行し、そこで予期せぬ結果に直面した。

以前のハードウェアおよびファームウェア環境下においては間違いなく有効であったはずのメモリ暗号化機能が、HSIの監査結果において「サポートされていない」と明確に表示されたのである。マザーボード側のBIOS設定では該当機能が有効化されたままであるにもかかわらず、オペレーティングシステムや監査ツール側の認識と致命的な不一致が生じていた。この矛盾は、一時的な読み込みエラーやソフトウェアの不具合によるものではなく、システムのより深い階層での仕様変更、すなわちハードウェアに対する制御プロセスの根本的な変更を示唆するものであった。

AD

Transparent Secure Memory Encryption (TSME)の役割

今回の議論の焦点となっているTransparent Secure Memory Encryption (TSME)は、システムメモリに書き込まれるすべてのデータを透過的に暗号化するハードウェアベースの高度なセキュリティ技術である。この機能は、CPU内部に統合された専用のAES暗号化エンジンを利用し、メモリに対するデータの読み書きが行われるたびに、自動的かつ高速に暗号化と復号の処理を実行する。TSMEの最大の特徴は、この処理プロセスがオペレーティングシステムや実行されているアプリケーションから完全に独立して実行される点にある。ソフトウェア側での特別な対応やドライバの追加を一切必要とせず、システム全体のセキュリティレベルを底上げすることが可能である。

TSMEが導入された主要な目的は、悪意のある第三者が物理的な手段を用いてシステムのメモリから機密データを盗み出す手法を防ぐことにある。たとえば、稼働中のマシンから直接メモリモジュールを物理的に引き抜き、急激に冷却することで揮発性メモリのデータを一定時間保持して読み取る「コールドブート攻撃」や、DRAMのバスを直接監視・解析するスヌーピング攻撃に対して、TSMEは極めて強固で有効な防御層を提供する。長年にわたり、この機能は物理的なデバイスへのアクセスリスクが懸念されるビジネス環境や、高度なプライバシー保護を求めるユーザーの間で、信頼性の高いハードウェアセキュリティの基盤を担ってきたのである。

AGESA 1.2.7.0における挙動の変化と検証

事態の全容と機能消失の根本原因を突き止めるため、ユーザーとマザーボードメーカーであるMSIのエンジニアチームが協力し、数ヶ月に及ぶ詳細な検証作業が実施された。多様なハードウェア構成でのテストの結果、コンシューマー向けのRyzenプロセッサにおいて、TSMEの稼働状況が適用されているファームウェアのバージョンに直接依存しているという事実が判明した。具体的には、以前のバージョンのAMD Generic Encapsulated Software Architecture (AGESA)を利用している環境ではTSMEが設計通りに正常に動作する一方、特定のバージョンであるAGESA 1.2.7.0を適用した環境以降では、同機能が完全に無効化されることが確認された。

さらに調査を深めるため、ASUS製のX870Eマザーボードを用いた厳密な比較検証が実施された。全く同一のBIOS設定を適用した環境下で、コンシューマー向けのRyzen 9800X3Dと、エンタープライズ向けのProシリーズであるRyzen PRO 9945の挙動を詳細に観察した。その結果、PROプロセッサではメモリ暗号化機能が正常に初期化され稼働するのに対し、コンシューマー向けモデルではBIOSで機能を有効化しても無効状態のままであることが実証された。この客観的なテスト結果により、問題が特定のマザーボードベンダーの設計やBIOSの実装に起因するものではなく、AMDから各ベンダーへ提供される基盤ファームウェア(AGESA)レベルの制御によるものであることが決定的に裏付けられた。

この推測をさらに確固たるものにしたのが、システムの起動シーケンスの極めて初期段階を担うAMD Boot Loader (ABL)のメモリダンプ出力解析である。ファームウェアの初期化プロセスにおいて、TSMEを有効化するかどうかを内部的に判定するフラグ「DfIsTsmeEnabled」が存在する。解析の結果、コンシューマー向けCPU環境下では、ユーザーがBIOSの設定でTSMEを有効に指定しているかどうかにかかわらず、このフラグが強制的に「FALSE」を返す仕様へと変更されていることが明らかになった。

AD

AMDエンジニアの反応と製品セグメンテーションの境界

この一連の事象に関するGitHub上でのバグレポートと技術的な議論は、AMDのソフトウェアエンジニアが直接参加したことで大きな注目を集めた。しかし、議論の初期段階において、AMDのエンジニア側も機能消失の正確な原因を把握していないような反応を見せていた。彼らはユーザーに対し、BIOSでの設定の無効化と再有効化を試すことや、解決しない場合はマザーボードベンダーへ直接問い合わせてデバッグを依頼することを推奨するにとどまっていた。その後、ユーザーがMSIによる詳細な検証結果や内部フラグの強制的な挙動変更に関する具体的な証拠を提示すると、事態は極めて不透明な結末を迎えることとなる。ユーザーからの「これは修正不可能なシリコンレベルの物理的な制約なのか、それともファームウェア内における意図的なポリシーの変更なのか」という事態の核心を突く質問に対し、担当エンジニアは「これ以上共有できる情報はない」と回答し、一方的に議論の幕引きを図ったのである。

一部の海外メディアからの問い合わせに対し、AMDは電子メールを通じて「TSMEはAMD PRO Technologiesの一環として、PRO CPUにのみ適用されるセキュリティ機能である」という簡潔な公式見解を示している。これは、これまで長年にわたってコンシューマー向けRyzen製品で同機能が実際に利用可能であったという事実とは真っ向から矛盾する声明である。AMDは以前より、オペレーティングシステムが管理する高度なメモリ暗号化機能であるSecure Memory Encryption (SME)については上位モデル(ProシリーズおよびEPYC)限定の機能であると明言していた。しかし、ハードウェアベースで全自動実行されるTSMEに関して、このような明確な製品セグメンテーションの制限を公にしたのは今回が初めてのケースとなる。

過去のフォーラムの記録などを紐解くと、2020年の時点でAMDのエンジニア自身が、コンシューマー向けモデルであるRyzen 3700XでのTSMEサポートを肯定し、使用を推奨するような発言を残している事実が確認されている。こうした経緯から、ユーザーコミュニティはTSMEをプロセッサが提供する標準的な機能の一部として自然に認識し、自身のシステムのセキュリティ要件や組織の脅威モデルの構築に組み込んできた。今回の事象が、意図的な製品の差別化による機能制限なのか、あるいは過去に誤って解放されていた機能を今になって密かに修正したのか、メーカー側からの技術的な詳細を伴う透明性の高い説明が強く求められている状況である。

エンドユーザーへの影響と今後のセキュリティ戦略

今回の予期せぬ仕様変更および機能の削除が、一般的なデスクトップユーザーの日常的なコンピューティングやゲームプレイといった使用体験に直接的な悪影響を与える可能性は極めて低い。一般的な家庭やオフィス環境において、攻撃者が物理的なメモリアクセスを前提とした高度な手法を用いてシステムを攻撃するリスクが顕在化するケースは稀だからである。しかしながら、機密データを扱う学術機関や企業、そしてシステムに対する物理的なアクセスリスクを想定して高度なセキュリティ環境を構築するLinuxユーザーなどにとっては、システムの防御を担うハードウェアレベルの重要な保護層が一つ失われたことを意味し、その影響は決して小さくない。

ハードウェアレベルの強力なメモリ暗号化を前提とした厳格なセキュリティ運用を行う場合、システム管理者やユーザーは今後のハードウェア選定において大きな方針転換を迫られることになる。TSMEによる確実な保護が必要なシステムを構築・維持するためには、今後Ryzen PROシリーズやサーバー向けのEPYCプロセッサなど、明確に機能が保証されている上位のエンタープライズ向けハードウェアの導入を検討せざるを得ない。AMDが今後この決定を何らかの形で撤回するか、あるいは将来的なファームウェアのアップデートを通じてコンシューマー向けCPUでのサポートを再開しない限り、一般的なプラットフォームにおける物理的セキュリティの担保は、ファイルシステムやディスク全体の暗号化といったソフトウェアレベルの対策に大きく依存することになる。