SLAMمحققان Vrije Universiteit Amsterdam یک حمله کانال جانبی جدید به نام SLAM را فاش کرده‌اند که می‌تواند برای نشت اطلاعات حساس از حافظه هسته در پردازنده‌های فعلی و آینده اینتل، AMD و Arm مورد بهره‌برداری قرار گیرد.

این حمله یک بهره‌بردار end-to-end برای Spectre است که بر اساس یک ویژگی جدید در پردازنده‌های اینتل به نام Linear Address Making (LAM) و همچنین مشابه آن از AMD (به نام Upper Address Ignore یا UAI) و Arm (به نام Top Byte Ignore یا TBI) است.

محققان VUSec گفتند[۱]: «SLAM از ابزارهای بدون نقاب بهره‌برداری می‌کند تا به یک فرایند userland اجازه دهد تا داده‌های هسته ASCII دلخواه را به بیرون درز دهد.» و همچنین افزودند که می‌توان از آن برای افشای hash رمز عبور root در عرض چند دقیقه از حافظه kernel استفاده کرد.

درحالی‌که LAM به‌عنوان یک ویژگی امنیتی ارائه می‌شود، این مطالعه نشان داد که به طور طعنه‌آمیزی امنیت را کاهش می‌دهد و “به طور چشمگیری” سطح حمله [۲]Spectre را افزایش می‌دهد که منجر به یک حمله execution گذرا می‌شود که از اجرای حدس و گمان[۳] برای استخراج داده‌های حساس از طریق یک کانال مخفی حافظه پنهان بهره‌برداری می‌کند.

اینتل در مستندات اصطلاحی خود می‌گوید[۴]: «یک حمله execution گذرا از اثرات جانبی ریز معماری دستورالعمل‌های گذرا بهره‌برداری می‌کند، بنابراین به یک دشمن مخرب اجازه می‌دهد به اطلاعاتی دسترسی پیدا کند که معمولاً توسط مکانیسم‌های کنترل دسترسی معماری ممنوع است.»

SLAM که به‌عنوان اولین حمله execution گذرا باهدف قراردادن پردازنده‌های آینده توصیف می‌شود، از یک کانال مخفی جدید مبتنی بر ترجمه آدرس غیرمتعارف استفاده می‌کند که بهره‌برداری عملی از ابزارهای عمومی Spectre را برای افشای اطلاعات ارزشمند تسهیل می‌کند. این آسیب‌پذیری بر پردازنده‌های زیر تأثیر می‌گذارد[۵]:

  • پردازنده‌های موجود AMD در برابر CVE-2020-12965 آسیب‌پذیر هستند.
  • پردازنده‌های آینده اینتل که از LAM پشتیبانی می‌کنند.
  • پردازنده‌های آینده AMD از UAI و صفحه‌بندی ۵ سطحی پشتیبانی می کنند.
  • پردازنده‌های Arm آینده که از TBI و صفحه‌بندی ۵ سطحی پشتیبانی می‌کنند.

Arm در گزارشی گفت[۶]: “سیستم‌های Arm در حال حاضر در برابر Spectre v2 و [۷]BHB مقاوم هستند و این وظیفه نرم‌افزار تلقی می‌شود که از خود در برابر Spectre v1 محافظت کند. تکنیک‌های توصیف شده تنها سطح حمله آسیب‌پذیری‌های موجود مانند Spectre v2 یا BHB را با افزایش تعداد گجت‌های قابل‌بهره‌برداری افزایش می‌دهند.”

AMD همچنین به مراقبت‌های فعلی Spectre v2 برای رسیدگی به بهره‌بردار SLAM اشاره کرده است. از سوی دیگر، اینتل قصد دارد تا قبل از عرضه آتی پردازنده‌های اینتل که از LAM پشتیبانی می‌کنند، راهنمایی‌های نرم‌افزاری ارائه دهد. در این مدت، نگهبانان لینوکس وصله‌هایی برای غیرفعال‌کردن LAM به طور پیش‌فرض ایجاد کرده‌اند.

این یافته‌ها تقریباً دو ماه پس از افشای VUSec در قرنطینه[۸]، رویکردی نرم‌افزاری برای کاهش حملات اجرایی گذرا و دستیابی به ایزوله‌سازی دامنه فیزیکی با پارتیشن‌بندی آخرین سطح حافظه پنهان (LLC) به دست آمد تا به هر دامنه امنیتی دسترسی انحصاری به بخش متفاوتی از LLC باهدف ازبین‌بردن کانال‌های مخفی LLC بدهد.

محققان می‌گویند: «ایزوله‌سازی حوزه فیزیکی قرنطینه، حوزه‌های امنیتی مختلف را روی هسته‌های جداگانه جدا می‌کند تا از به اشتراک گذاشتن منابع ریز معماری مرکزی آنها جلوگیری کند. علاوه بر این، LLC را لغو اشتراک می‌کند و آن را در میان‌دامنه‌های امنیتی تقسیم می‌کند.»

  منابع

[۱] https://www.vusec.net/projects/slam

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

[۳] https://dl.acm.org/doi/fullHtml/10.1145/3442479

[۴] https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/best-practices/refined-speculative-execution-terminology.html

[۵] https://youtu.be/y4wZ-tREaNk

[۶] https://developer.arm.com/Arm%20Security%20Center/TLB-Based%20Side%20Channel%20Attack

[۷] https://apa.aut.ac.ir/?p=8880

[۸] https://dl.acm.org/doi/10.1145/3607199.3607248

[۹] https://thehackernews.com/2023/12/slam-attack-new-spectre-based.html