New Foreshadow Attack که روی پردازنده های Intel ، AMD ، ARM و IBM تأثیر می گذارد


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

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

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

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

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

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

OpenNET


نظر شما