Meltdown

در اوایل سال جاری، آسیب‌پذیری‌های خطرناک Meltdown و Specter که خانواده بزرگ پردازنده‌های مدرن را تحت تأثیر قرار می‌دادند، کشف شدند[۱] و ثابت کردند حملات اجرای احتمالی(۱) می‌توانند به‌صورت بدیهی برای دسترسی به اطلاعات بسیار حساس مورد بهره‌برداری گیرند.

از آن زمان، چندین نوع از حملات اجرای احتمالی کشف شده است، ازجمله Specter-NG ،SpectreRSB ،Specter 1.1 ،Spectre1.2 ،TLBleed ،Lazy FP ،NetSpectre و Foreshadow که وصله‌های مربوط به آن‌ها توسط سازنده‌های تحت تأثیر به‌موقع منتشر شده‌اند[۲-۶].

اجرای احتمالی یک جزء اصلی از طراحی پردازنده‌های مدرن است که به‌صورت احتمالی دستورالعمل‌هایی را بر اساس فرض‌هایی انجام می‌دهد که احتمالاً درست هستند. اگر معلوم شود که فرضیه‌ها معتبر هستند، اجرا ادامه می‌یابد، در غیر این صورت متوقف می‌شود.

در حال حاضر، گروهی از محققان سایبری که آسیب‌پذیری‌های اصلی Meltdown و Spectre را کشف کرده بودند، ۷ حمله‌ی گذاری(۲) جدید را که بر روی ۳ تولیدکننده پردازنده عمده یعنی اینتل، AMD و ARM تأثیرگذار هستند کشف کرده‌اند.

درحالی‌که بعضی از حملات انجام‌شده‌ی اخیر توسط تکنیک‌های جلوگیری موجود در برابر Spectre و Meltdown متوقف شدند، اما دیگر حملات همچنان به قوت خود باقی هستند.

محققان می‌گویند: “حملات احتمالی گذرا از طریق دستورالعمل‌هایی که هرگز متعهد(۳) نیستند، اطلاعات غیرقابل دسترسی را از طریق حالت میکرو معماری پردازشگر نشت می‌دهند. ما همچنین به‌طور سیستماتیک تمام روش‌های دفاعی را ارزیابی کردیم و کشف کردیم که برخی از حملات احتمالی گذرا با وصله‌های منتشرشده و دیگر راه‌حل‌ها به‌طور موفقیت‌آمیز برطرف نشده‌اند زیرا آن‌ها نادیده گرفته شده‌اند.”

از ۷ حمله جدید کشف شده، همان‌طور که در زیر لیست شد‌ه‌اند، دو نوع Meltdown هستند، به نام‌های Meltdown-PK و Meltdown-BR و ۵ مورد دیگر، از نوع استراتژی‌های mistraining در Spectre هستند.

  1. Meltdown-PK (دور زدن کلید حفاظت) -در پردازنده‌های اینتل، یک مهاجم با توانایی اجرای کد در فرایند مربوطه می‌تواند تضمین‌های جداگانه خواندن و نوشتن را که از طریق کلیدهای حفاظت از حافظه برای فضای کاربری پیاده‌سازی شده‌اند را دور بزند.
  2. Meltdown-BR – (دور زدن بررسی محدودیت‌ها) – پردازنده‌های اینتل و AMD x86 که همراه با eXtension های حفاظت از حافظه(۴) یا IA32 برای محدود کردن بررسی محدوده‌های آرایه‌ی مؤثر(۵) هستند، می‌توانند برای دور زدن موارد مخفی خارج از محدوده استفاده شوند که هیچ‌گاه از نظر معماری قابل‌مشاهده نیستند.
  3. Spectre-PHT-CA-OP (فضای آدرس متقاطعِ خارج از مکان(۶)) – پیاده‌سازی حملات قبلاً افشاء شده از نوع Spectre-PHT در یک فضای آدرس تحت کنترل مهاجم در یک آدرس متجانس(۷) با شاخه قربانیان.
  4. Spectre-PHT-SA-IP (آدرس فضای در محل مشابه(۸)) – پیاده‌سازی حملات Spectre-PHT در فضای آدرس مشابه و محل شاخه مشابه که بعداً مورد بهره‌برداری قرار می‌گیرد.
  5. Spectre-PHT-SA-OP (آدرس فضای خارج از محل مشابه(۹)) – اجرای حملات Spectre-PHT در فضای آدرس مشابه با شاخه‌ متفاوت.
  6. Spectre-BTB-SA-IP (آدرس فضای خارج از محل مشابه) – اجرای حملات Spectre-BTB در فضای آدرس مشابه و محل شاخه مشابه که بعداً مورد بهره‌برداری قرار می‌گیرد.
  7. Spectre-BTB-SA-OP (آدرس فضای خارج از محل مشابه) – اجرای حملات Spectre-BTB در فضای آدرس مشابه و محل شاخه متفاوت.

محققان تمام حملات فوق را در حملات اثبات ادعای عملی علیه پردازنده‌های اینتل، ARM و AMD نشان دادند. برای Specter-PHT، همه فروشندگان دارای پردازنده‌هایی هستند که در برابر هر چهار نوع از mistraining آسیب‌پذیر هستند.

محققان دراین‌باره می‌گویند: “ما یک ارزیابی آسیب‌پذیری برای این شاخص‌های حمله جدید بر روی اینتل، ARM و AMD انجام دادیم. برای اینتل ما اثبات‌های ادعای خود را بر روی پردازنده‌های Skylake i5-6200U و Haswell i7-4790 مورد آزمایش قرار دادیم. ماشین‌های مورد آزمایش برای AMD در حقیقت Ryzen مدل ۱۹۵۰X و یک Ryzen مدل Threadripper 1920X بودند. برای آزمایش در ARM، از یک NVIDIA Jetson TX1 استفاده‌شده است.”

این محققان این یافته‌ها را به اینتل، ARM و AMD گزارش دادند، که اینتل و ARM این گزارش‌ها را تائید کردند. این تیم همچنین گفت که تا زمانی که این فروشندگان برای حل این آسیب‌پذیری‌ها تلاش می‌کنند، تصمیم گرفتند تا بهره‌بردارهای اثبات ادعای خود را در اختیار عموم قرار ندهند.

 برای جزئیات دقیق‌تر در مورد این حملات جدید، شما می‌توانید به مقاله پژوهشی تحت عنوان «یک ارزیابی سیستماتیک از حملات اجرای انتقالی و دفاع‌ها» که توسط تیم پژوهشگران منتشر شده است، مراجعه کنید[۷].

منابع

[۱] https://apa.aut.ac.ir/?p=3397

[۲] https://apa.aut.ac.ir/?p=4130

[۳] https://www.vusec.net/projects/tlbleed

[۴] https://apa.aut.ac.ir/?p=5008

[۵] https://apa.aut.ac.ir/?p=5425

[۶] https://thehackernews.com/2018/08/foreshadow-intel-processor-vulnerability.html

[۷] https://arxiv.org/abs/1811.05441

[۸] https://thehackernews.com/2018/11/meltdown-spectre-vulnerabilities.html


(۱) speculative execution attacks
(۲) transient
(۳) committed
(۴) Memory Protection eXtensions (MPX)
(۵) efficient array bounds
(۶) Cross-Address-space Out of Place
(۷) congruent
(۸) Same Address-space In Place
(۹) Same Address-space Out of Place