در کنفرانس بلک هت ۲۰۲۶، یک روش حمله نشان داده شد که از حالت swizzle کنترلکنندههای حافظه AMD برای دور زدن جداسازی حافظه و خواندن یا نوشتن دادههای دلخواه از حافظه، از جمله نواحی حاوی میکروکد CPU و حافظه اختصاص داده شده به پردازنده امنیتی پلتفرم (PSP) استفاده میکند. این روش امکان دور زدن مکانیسمهای رمزگذاری حافظه داخلی (AMD SME/SEV)، نقض جداسازی ماشین مجازی و بازنویسی میکروکد پردازنده را فراهم میکند. دستکاری کنترلکننده حافظه نیاز به اجرای کد در سطح هسته دارد و تهدید ناشی از تکنیک حمله ارائه شده را کاهش میدهد.
حالت Swizzle منطق آدرسدهی RAM را تغییر میدهد تا تداخلهایی را که در طول دسترسی ترتیبی ایجاد میشوند، از بین ببرد. تداخلهایی که میتوانند هنگام خواندن از ردیفهای مختلف در یک بانک حافظه رخ دهند. برای جلوگیری از چنین تداخلهایی در حالت swizzle، کنترلکننده یک عملیات XOR را روی برخی از بیتهای آدرس اعمال میکند تا بلوکهای داده متوالی را در بانکهای حافظه مختلف جدا کند. این حمله شامل دستکاری حالت swizzle روی یک سیستم در حال اجرا برای توزیع مجدد آدرسهای فیزیکی درجا است.
یک حمله نمونه اولیه بر روی پردازندههای سری ۱۶h شرکت AMD که در کنسولهای PS4 و Xbox One استفاده میشوند، نشان داده شد که دارای رجیسترهای پیکربندی آدرس کنترلر حافظه مستند بودند و فاقد مکانیزمی برای قفل کردن آنها پس از بوت سیستم بودند. در پردازندههای سری ۱۷h شرکت AMD و بعد از آن (با شروع از Zen)، شرکت AMD مکانیزمی را برای قفل کردن دسترسی به رجیسترهای پیکربندی کنترلر حافظه پیادهسازی کرد و همچنین محافظت در برابر جعل کپی میکروکد نوشته شده در RAM در حالت خواب پردازنده (C6) را اضافه کرد.
منبع: opennet.ru
