اگر از پردازندههای مصرفکننده AMD Ryzen استفاده میکنید، احتمالاً لایهای حیاتی از امنیت سختافزاری خود را بدون اینکه بدانید از دست دادهاید. بررسیهای دقیق یک پژوهشگر حریم خصوصی نشان میدهد که AMD بهصورت بیصدا، قابلیت رمزنگاری شفاف حافظه (TSME) را در پردازندههای غیر-PRO از طریق یک بهروزرسانی سفتافزاری غیرفعال کرده است.
این تغییر عملاً محافظت در برابر حملات Cold Boot و شنود فیزیکی حافظه را برای میلیونها کاربر از بین میبرد. این جابهجایی بهطور پنهانی رخ داده است؛ بهطوری که شناسایی آن برای کاربران ویندوز تقریباً غیرممکن است و کاربران لینوکس نیز برای کشف آن به تلاشهای فنی گستردهای نیاز داشتند.
برای درک اهمیت این موضوع، رم کامپیوتر خود را مانند یک تختهسیاه تصور کنید که سیستم دادههای حساس را روی آن مینویسد. در حالت عادی، TSME — شبیه به نوشتن با کدهایی مخفی که فقط دستگاه میفهمد — تمام محتویات این تخته را رمزنگاری میکند. بنابراین اگر سارقی ماژول حافظه را بدزدد یا با منجمد کردن رم دادهها را حفظ کند، فقط متونی بیمعنی میبیند. بدون TSME، این دادهها بهصورت متن ساده ذخیره میشوند و در برابر اکسپلویتهای فیزیکی آسیبپذیر هستند.
زمینه: تفاوت TSME و SME
برای درک دلیل اهمیت این حذف، باید تفاوت دو نوع رمزنگاری حافظه در AMD را بدانیم. هر دو از دادهها محافظت میکنند اما در سطوح مختلفی از سیستم عمل میکنند.
- رمزنگاری امن حافظه (SME): این ویژگی توسط سیستمعامل مدیریت میشود. SME از یک کلید واحد استفاده میکند و به سیستمعامل اجازه میدهد صفحات حافظه را بهصورت انتخابی رمزنگاری کند. AMD مدتهاست که SME را به سریهای Pro و Epyc محدود کرده است.
- رمزنگاری شفاف حافظه (TSME): برخلاف SME، این قابلیت توسط سفتافزار (Firmware) مدیریت میشود و تمام محتویات رم را بدون دخالت سیستمعامل رمزنگاری میکند.
از آنجا که TSME هنگام فعالسازی در BIOS بهطور خودکار عمل میکند، کاربردیتر است. این ویژگی بهطور خاص در برابر حملات فیزیکی، از جمله شنود رابط DRAM، برداشتن ماژول حافظه و اکسپلویتهای Cold Boot محافظت میکند. همانطور که در تحلیلهای پیشین ما درباره امنیت سختافزاری پردازندهها اشاره کردیم، لایههای حفاظتی که در سطح سفتافزار قرار دارند، معمولاً قابلاعتمادترند چون سیستمعامل نمیتواند آنها را دور بزند.
به نقل از گزارشهای فنی، AMD برای یک دهه این قابلیت را در پردازندههای ردهبالای خود داشت و بهتدریج آن را به تراشههای ارزانتر Ryzen آورد. کاربران این پردازندههای کمهزینهتر به این امنیت اضافه عادت کرده بودند، زیرا این ویژگی بدون نیاز به پرداخت هزینه برای نسخه گرانتر Pro فعال بود و فارغ از مدل پردازنده کار میکرد.
روند کشف و شواهد فنی
در آوریل ۲۰۲۴، بن کیلپاتریک، یک «علاقهمند به لینوکس و حساس به حریم خصوصی»، متوجه تضادی در پردازنده Ryzen 7 9700X خود (معماری Zen 5) شد. او در حین نصب یک سیستمعامل جدید، از ابزار HSI (شناسه امنیت میزبان) استفاده کرد. HSI یک ویژگی حسابرسی است که پیکربندیهای امنیتی سفتافزار و سختافزار را ارزیابی میکند تا اطمینان حاصل شود تمام محافظها فعال هستند.
کیلپاتریک دریافت که HSI گزارش «رم رمزنگاری شده: پشتیبانی نمیشود» (encrypted RAM: not supported) میدهد، در حالی که او TSME را در تنظیمات BIOS فعال کرده بود. این موضوع با بررسیهای قبلیاش که در آن سختافزار مشابه TSME را به عنوان «رمزنگاری شده» نشان میداد، تضاد داشت.
این کشف منجر به یک تحقیق چندماهه شد تا مشخص شود چرا ویژگیای که پیشتر کار میکرد، ناپدید شده است. کیلپاتریک متوجه شد که این تغییر در ماشینهای ویندوزی نامرئی است؛ به این معنی که اکثر مصرفکنندگان اصلاً متوجه نمیشوند که سطح امنیت آنها کاهش یافته است.
او ماهها روی این مسئله تحقیق کرد و در نهایت با مهندسان MSI همکاری نمود. تستهای آنها یک عامل محرک مشخص را شناسایی کرد:
- نسخههای سفتافزار: نسخههای قدیمی سفتافزار از طریق معماری نرمافزاری کپسولهشده عمومی AMD (AGESA) اجازه میدادند TSME روی تراشههای مصرفکننده کار کند.
- نقطه شکست: بهروزرسانی به نسخه AGESA 1.2.7.0 باعث توقف عملکرد TSME در پردازندههای مصرفکننده شد.
- تفکیک ردهها: نسخههای PRO پردازندههای رایزن در تمام مادربردها و نسخههای AGESA پشتیبانی را حفظ کردند.
شواهد بیشتر از کپچرهای حافظه مربوط به بوتلودر AMD (ABL) به دست آمد؛ بخشی از AGESA که سختافزار را پیش از بارگذاری سیستمعامل مقداردهی اولیه میکند. مهندسان MSI یافتند که یک پرچم داخلی AGESA به نام DfIsTsmeEnabled — که کنترل میکند آیا TSME در طول مقداردهی اولیه سفتافزار فعال شود یا خیر — برای پردازندههای مصرفکننده روی مقدار FALSE تنظیم شده است.
این پرچم فارغ از اینکه تنظیمات BIOS روی «AUTO» یا «ENABLED» باشد، FALSE باقی میماند. در مقابل، تست مشابه روی Ryzen 9945 (PRO) مقدار TRUE را بازگرداند که تایید میکرد ویژگی فعال است.
علاوه بر این، تستهای کنترلشده روی یک مادربرد Asus X870E با پردازنده Ryzen 9800X3D (نسخه مصرفکننده) مقدار tsme_status = 0 را نشان داد، در حالی که تراشه PRO مقدار tsme_status = 1 را ثبت کرد. وضعیت ۱ به معنای فعال بودن و وضعیت ۰ به معنای خاموش بودن ویژگی است.
واکنش AMD و دیوار پرداخت سازمانی
وقتی این موضوع در مخزن گیتهاب مهندسی عمومی AMD مطرح شد، مهندسان ابتدا تظاهر به بیاطلاعی کردند. تام لنداکی، مهندس نرمافزار AMD، پاسخ داد که نمیداند چه چیزی باعث این تغییر شده است. او پیشنهاد داد گزینه BIOS را غیرفعال و سپس دوباره فعال کنند و ادعا کرد شاید این یک مشکل BIOS باشد و کیلپاتریک را به تماس با MSI ارجاع داد.
ماریو لیمونسیلو، مهندس ارشد نرمافزار AMD و نگهدارنده نسخه fwupd از ابزار HSI، نیز همین توصیه را تکرار کرد و پیشنهاد داد کاربر موضوع را برای عیبیابی به فروشنده مادربرد گزارش دهد.
اما روایت تغییر کرد وقتی تیم بازاریابی محصول MSI به کیلپاتریک اطلاع داد که AMD رسماً به آنها ابلاغ کرده است که TSME منحصراً توسط پردازندههای سری PRO پشتیبانی میشود. این نخستین بار است که این شرکت این محدودیت را بهطور صریح عمومی میکند.
این ادعا با تاییدیه سال ۲۰۲۰ تام لنداکی تضاد دارد که گفته بود Ryzen 3700X (نسخه مصرفکننده) «باید از TSME پشتیبانی کند». در یک پیگیری سال ۲۰۲۵ در همان رشته گفتگو، لنداکی حتی استفاده از TSME را توصیه کرده بود و اشاره کرد که این یک گزینه BIOS است که باید توسط تامینکننده نمایش داده شود.
وقتی کیلپاتریک بهطور صریح پرسید آیا تنظیم مقدار FALSE برای پرچم DfIsTsmeEnabled یک محدودیت در سطح سیلیکون است یا یک تصمیم سیاستی در سفتافزار، لیمونسیلو بهطور ناگهانی گفتگو را قطع کرد و گفت: «پوزش میخواهم؛ اما اطلاعات بیشتری برای اشتراکگذاری در این مورد ندارم.»
این یک مورد واضح از «حذف ویژگی» (feature stripping) برای سوق دادن کاربران به خرید سختافزارهای سازمانی با حاشیه سود بالاتر است. AMD با قرار دادن یک قابلیت سختافزاریِ موجود و عملیاتی پشت دیواری از سفتافزار، تفکیکی مصنوعی بین رده مصرفکننده و PRO ایجاد کرده است.
برای کاربر عادی، این بدان معناست که سختافزار آنها بهطور عینی نسبت به چند ماه پیش امنیت کمتری دارد. اثر ثانویه این اتفاق، نقض اعتماد است؛ شرکت یک ویژگی امنیتی را بدون ثبت CVE، بدون اطلاعیه و بدون توضیح حذف کرد و یک پسرفت امنیتی (security regression) را به عنوان استراتژی بخشبندی محصول به کار گرفت.
به باور جو فیتزجرالد، متخصص امنیت سیلیکون، مبهم بودن پاسخهای AMD مشکلبرانگیزترین بخش است. فیتزجرالد پیشنهاد کرد که AMD یا متوجه نشده بود این کار را انجام داده یا عمداً سعی کرده بود از زیر بار آن شانه خالی کند.
او استدلال کرد که یک توضیح ساده — حتی اگر میگفت TSME هرگز نباید پشتیبانی میشد و بهاشتباه در سفتافزارهای قبلی فعال بود — پاسخ حرفهایتری میبود. بدون این توضیح، این اقدام شبیه به خیانت به کاربرانی است که به این ویژگی تکیه کرده بودند.
گام بعدی شما
- اگر کاربر لینوکس هستید، با ابزار HSI وضعیت رمزنگاری رم خود را بررسی کنید.
- در انجمنهای سازنده مادربرد خود بهدنبال امکان بازگشت به نسخههای قدیمی سفتافزار (Firmware Rollback) باشید، هرچند این کار بهندرت به دلایل امنیتی پشتیبانی میشود.
- در خریدهای آتی، اگر امنیت فیزیکی دادهها اولویت شماست، مستقیماً به سراغ سری PRO بروید.
اما این تنها بخشی از استراتژی تفکیک سختافزاری AMD است؛ اثر این تصمیم بر قیمتگذاری پردازندههای نسل آینده را در گزارش بعدی بررسی خواهیم کرد.




گفتگو