AMD 在未經通知的情況下從消費級 Ryzen CPU 中移除記憶體加密功能
AMD 在未通知使用者的情況下從消費級 Ryzen CPU 中移除記憶體加密功能
AMD 最近的 AGESA 韌體更新禁用了許多消費級 Ryzen 處理器的 Secure Memory Encryption (SME) 功能,這意味著先前受益於硬體層級 RAM 保護的系統,現在可能在沒有任何廠商通知的情況下變得脆弱。
變更內容:最新的 AGESA 中捨棄了 SME 支援
- AGESA (AMD Generic Encapsulated Software Architecture) 韌體隨主機板 BIOS 一起發佈,現在在多款 Ryzen 5000 及更新的桌上型 CPU 上回報 SME 為不可用。
- 此變更未在版本說明中記錄,AMD 也未發表任何承認移除該功能的公開聲明。
- 現有的 BIOS 版本若仍提供 SME,則可繼續運作,但更新至最新韌體會靜默地禁用該功能。
為什麼 SME 對安全性至關重要
- SME 使用硬體產生的金鑰對整個系統記憶體進行加密,以保護數據免受冷啟動攻擊 (cold-boot attacks)、DMA 利用程序 (DMA exploits) 以及實體記憶體提取。
- 此功能是選用的,且可以在 BIOS 中啟用;當功能存在時,作業系統(例如 Linux)會將其顯示為
/sys/devices/system/edac/memory_encryption並可利用它進行額外的強化。 - 禁用 SME 會在不需要使用者任何操作的情況下移除這層防禦,實際上擴大了依賴此功能的系統的攻擊面。
誰受到影響
- 搭載 AGESA 1.2.x 或更新版本的 Zen 2 (5000 系列) 與 Zen 3 (6000 系列) 系列消費級桌上型 Ryzen CPU。
- 在 AGESA 變更後更新了主機板 BIOS 的使用者,會在 BIOS 設定中看到 SME 被列為「不支援」。
- 企業級或伺服器級 AMD 處理器 (EPYC) 繼續支援 SME,因為此變更似乎僅限於消費級產品線。
如何驗證系統上的 SME 狀態
# Check the kernel flag
cat /sys/devices/system/edac/memory_encryption
# Or query the CPU feature bits
lscpu | grep "SME"
如果輸出顯示 0 或缺少 SME 旗標,則 CPU 的記憶體加密功能已被禁用。
可能的替代方案與緩解措施
- 保持使用舊版 BIOS,只要主機板廠商沒有強制要求更新,且該版本仍回報 SME 支援。
- 使用全磁碟加密 (例如 BitLocker, LUKS) 來保護靜態數據,儘管這並不等同於 SME 提供的執行時保護。
- 監控主機板廠商的溝通內容,以尋找未來可能重新啟用 SME 或提供明確的選擇性停用旗標的韌體更新。
對整體生態系統的影響
- 這種靜默移除的做法損害了 AMD 在安全性功能方面的透明度,特別是對於依賴硬體加密來滿足合規性或威脅模型需求的用戶。
- 以安全性為核心的 Linux 發行版可能會因為自動啟用 SME 而導致發佈的版本中該功能被禁用,進而可能讓使用者暴露在未察覺的風險中。
- 此事件突顯了對更清晰的韌體韌體說明文件與版本控制的功能旗標的需求,以便管理員可以進行更新後的安全性能力審計。
下一步該關注什麼
下一步該關注什麼
- AMD 或主機板製造商針對 SME 移除的原因提供官方澄清。
- 韌體更新能恢復 SME 支援,或是提供 BIOS 設定中的明確切換開關。
- 社群驅動的工具,可以用於在大量機器中檢測並回報 SME 的存在或缺失。
底線: AMD 的最新 AGESA 韌體更新在許多消費級 Ryzen CPU 上靜默地禁用了 Secure Memory Encryption (SME),讓使用者在不知情的情況下失去了一個硬體層級的安全性控制功能。請驗證您的系統 SME 狀態,並考慮在 AMD 提供明確的修復或解釋之前,保持使用保留該功能的韌體版本。