نوع جدید حمله Foreshadow که بر پردازنده های Intel، AMD، ARM و IBM تأثیر می گذارد

گروهی از محققان دانشگاه فنی گراتس (اتریش) و مرکز امنیت اطلاعات هلمهولتز (CISPA)، آشکار کرد (PDF) یک بردار جدید برای استفاده از حملات کانال جانبی پیش بینی کنید (L1TF)، که به شما امکان می دهد داده ها را از حافظه محصورهای Intel SGX، SMM (حالت مدیریت سیستم)، مناطق حافظه هسته سیستم عامل و ماشین های مجازی در سیستم های مجازی سازی استخراج کنید. برخلاف حمله اولیه که در سال 2018 پیشنهاد شد پیش بینی کنید نوع جدید مختص پردازنده های اینتل نیست و بر پردازنده های دیگر سازندگان مانند ARM، IBM و AMD تاثیر می گذارد. علاوه بر این، نوع جدید به کارایی بالایی نیاز ندارد و حتی با اجرای جاوا اسکریپت و WebAssembly در مرورگر وب می توان حمله را انجام داد.

حمله Foreshadow از این واقعیت استفاده می کند که وقتی به حافظه در یک آدرس مجازی دسترسی پیدا می شود که منجر به یک استثنا (عیب صفحه ترمینال) می شود، پردازشگر به طور فرضی آدرس فیزیکی را محاسبه می کند و اگر داده ها در حافظه نهان L1 موجود باشد، آن را بارگذاری می کند. دسترسی احتمالی قبل از تکمیل جستجوی جدول صفحه حافظه و بدون توجه به وضعیت ورودی جدول صفحه حافظه (PTE) انجام می شود. قبل از بررسی وجود داده در حافظه فیزیکی و خوانایی آن. پس از تکمیل بررسی در دسترس بودن حافظه، در صورت عدم وجود پرچم موجود در PTE، عملیات کنار گذاشته می‌شود، اما داده‌ها در حافظه پنهان باقی می‌مانند و می‌توان با استفاده از روش‌هایی برای تعیین محتوای کش از طریق کانال‌های جانبی (با تجزیه و تحلیل تغییرات در زمان دسترسی) آن را بازیابی کرد. به داده های کش و کش نشده).

محققان نشان داده‌اند که روش‌های حفاظتی موجود در برابر Foreshadow ناکارآمد هستند و با تفسیر نادرستی از مشکل اجرا می‌شوند. آسیب پذیری
Foreshadow را می توان بدون توجه به مکانیسم های امنیتی هسته که قبلاً کافی در نظر گرفته می شد مورد سوء استفاده قرار داد. در نتیجه، محققان امکان انجام یک حمله Foreshadow را بر روی سیستم‌هایی با هسته‌های نسبتا قدیمی، که در آن همه حالت‌های حفاظتی Foreshadow در دسترس فعال هستند، و همچنین با هسته‌های جدید، که در آن‌ها فقط حفاظت Spectre-v2 غیرفعال است (با استفاده از گزینه هسته لینوکس nospectre_v2).

مشخص شد که اثر پیش بارگذاری به دستورالعمل های پیش واکشی نرم افزار یا جلوه سخت افزاری مربوط نمی شود
واکشی اولیه در هنگام دسترسی به حافظه، اما زمانی اتفاق می‌افتد که ارجاعات گمانه‌زنی فضای کاربر در هسته ثبت می‌شود. این تفسیر نادرست از علت آسیب‌پذیری در ابتدا منجر به این فرض شد که نشت داده در Foreshadow فقط می‌تواند از طریق حافظه پنهان L1 رخ دهد، در حالی که وجود قطعه‌های کد خاص (ابزارهای پیش واکشی) در هسته می‌تواند به نشت داده‌ها در خارج از حافظه پنهان L1 کمک کند. به عنوان مثال، در حافظه نهان L3.

ویژگی شناسایی شده همچنین امکان ایجاد حملات جدید با هدف فرآیندهای ترجمه آدرس های مجازی به آدرس های فیزیکی در محیط های ایزوله و تعیین آدرس ها و داده های ذخیره شده در ثبات های CPU را باز می کند. به عنوان نمونه، محققان امکان استفاده از اثر شناسایی شده را برای استخراج داده ها از یک فرآیند به فرآیند دیگر با عملکرد حدود 10 بیت در ثانیه در سیستمی با پردازنده مرکزی Intel Core i7-6500U نشان دادند. امکان نشت محتویات رجیستر از محفظه Intel SGX نیز نشان داده شده است (32 دقیقه طول کشید تا یک مقدار 64 بیتی نوشته شده در یک ثبات 15 بیتی تعیین شود). برخی از انواع حملات در جاوا اسکریپت و WebAssembly امکان پذیر است، به عنوان مثال، امکان تعیین آدرس فیزیکی متغیر جاوا اسکریپت و پر کردن ثبات های 64 بیتی با مقدار کنترل شده توسط مهاجم وجود داشت.

برای جلوگیری از حمله Foreshadow از طریق حافظه نهان L3، روش حفاظتی Spectre-BTB (Branch Target Buffer) که در مجموعه پچ retpoline اجرا شده است، موثر است. بنابراین، محققان بر این باورند که حتی در سیستم‌هایی با پردازنده‌های مرکزی جدید که از قبل در برابر آسیب‌پذیری‌های شناخته شده در مکانیسم اجرای حدس‌زنی CPU محافظت دارند، لازم است retpoline فعال شود. در همان زمان، نمایندگان اینتل اعلام کردند که قصد ندارند اقدامات حفاظتی اضافی در برابر Foreshadow را به پردازنده‌ها اضافه کنند و شامل محافظت در برابر حملات Spectre V2 و L1TF (Foreshadow) کافی می‌دانند.

منبع: opennet.ru

اضافه کردن نظر