محققان دانشگاه بیرمنگام که قبلاً به دلیل توسعه حملات Plundervolt و VoltPillager شناخته میشدند، آسیبپذیری (CVE-2022-43309) را در برخی از مادربردهای سرور شناسایی کردهاند که به CPU اجازه میدهد تا بدون امکان بازیابی بعدی آن، غیرفعال شود. این آسیبپذیری که با نام رمز PMFault شناخته میشود، میتواند برای آسیب رساندن به سرورهایی استفاده شود که مهاجم به آنها دسترسی فیزیکی ندارد، اما دسترسی ممتازی به سیستمعامل دارد، بهعنوان مثال، با بهرهبرداری از یک آسیبپذیری وصلهنشده یا رهگیری اطلاعات کاربری مدیر.
ماهیت روش پیشنهادی استفاده از رابط PMBus است که از پروتکل I2C استفاده می کند تا ولتاژ ارائه شده به پردازنده را به مقادیری افزایش دهد که باعث آسیب به تراشه شود. رابط PMBus معمولاً در یک VRM (ماژول تنظیم کننده ولتاژ) پیاده سازی می شود که از طریق دستکاری کنترلر BMC قابل دسترسی است. برای انجام حمله به بردهایی که از PMBus پشتیبانی می کنند، علاوه بر حقوق مدیر در سیستم عامل، باید به BMC (کنترل کننده مدیریت پایه) نرم افزار دسترسی داشته باشید، به عنوان مثال، از طریق رابط IPMI KCS (سبک کنترل کننده صفحه کلید) از طریق اترنت یا با فلش کردن BMC از سیستم فعلی.
مشکلی که اجازه میدهد حمله بدون اطلاع از پارامترهای احراز هویت در BMC انجام شود، در مادربردهای Supermicro با پشتیبانی IPMI (X11، X12، H11 و H12) و ASRock تأیید شده است، اما سایر بردهای سرور که میتوانند به PMBus دسترسی داشته باشند نیز وجود دارند. متأثر، تحت تأثیر، دچار، مبتلا. در طی آزمایشات زمانی که ولتاژ این بردها به 2.84 ولت افزایش یافت، دو پردازنده زئون اینتل آسیب دیدند. برای دسترسی به BMC بدون اطلاع از پارامترهای احراز هویت، اما با دسترسی ریشه به سیستم عامل، از یک آسیب پذیری در مکانیزم تأیید سیستم عامل استفاده شد که بارگذاری یک به روز رسانی سیستم عامل اصلاح شده را در کنترلر BMC و همچنین امکان دسترسی بدون احراز هویت از طریق IPMI KCS.
روش تغییر ولتاژ از طریق PMBus همچنین می تواند برای انجام حمله Plundervolt استفاده شود، که با کاهش ولتاژ به حداقل مقادیر، اجازه می دهد تا به محتویات سلول های داده در CPU مورد استفاده برای محاسبات در محاصره های جدا شده SGX اینتل آسیب وارد کند. و ایجاد خطا در الگوریتم های اولیه درست. به عنوان مثال، اگر مقدار مورد استفاده در ضرب را در طول فرآیند رمزگذاری تغییر دهید، خروجی یک متن رمز نادرست خواهد بود. با دسترسی به یک کنترل کننده در SGX برای رمزگذاری داده های آن، مهاجم می تواند با ایجاد خرابی، آمار مربوط به تغییرات در متن رمز خروجی را جمع آوری کند و ارزش کلید ذخیره شده در SGX را بازیابی کند.
ابزارهایی برای انجام حمله به بردهای Supermicro و ASRock و همچنین ابزاری برای بررسی دسترسی به PMBus در GitHub منتشر شده است.
منبع: opennet.ru