info[at]nsec.ir
(+۹۸)-۳۱-۳۳۹۱۵۳۳۶

حملات Meltdown و Spectre علیه پردازنده‌های مدرن

خلاصه: جزئیات فنی آسیب‌پذیری‌هایی که به‌تازگی بر روی تراشه‌های اینتل پدیدار شده‌اند نشان می‌دهد که این آسیب‌پذیری‌ها همه‌ی پردازنده‌های مهم ازجمله AMD، ARM و Intel را تحت تاثیر قرار می‌دهند. این آسیب‌پذیری‌های سخت‌افزاری به دو حمله به نام‌های (Meltdown (CVE-2017-5754 و (Spectre (CVE-2017-5753 , CVE-2017-5715 دسته‌بندی شده‌اند که می‌توانند به مهاجمان امکان دزدیدن داده‌های حساس که در حال حاضر بر روی کامپیوتر پردازش شده‌اند را بدهند.

گزارش‌های کاملی که اخیرا راجع به آسیب‌پذیری‌های تراشه‌‌های اینتل منتشر شده است نشان می‌دهد که همه‌ی پردازنده‌‌های مدرن از سال ۱۹۹۵ تحت تاثیر این آسیب‌پذیری‌ها قرار دارند. این آسیب‌پذیری‌ها به صورت بالقوه همه‌ی CPUهای مهم، شامل AMD، ARM و Intel را تحت تاثیر قرار می‌دهد و بنابراین همه‌ی رایانه‌های شخصی، لپ‌تاپ‌ها، تبلت‌ها و تلفن‌های هوشمند را صرف نظر از سازنده یا سیستم‌عامل تهدید می‌کند.

این آسیب‌پذیری‌های سخت‌افزاری به دو حمله به نام (Meltdown (CVE-2017-5754 و (Spectre (CVE-2017-5753 , CVE-2017-5715 دسته‌بندی شده‌اند که می‌توانند به مهاجمان امکان دزدیدن داده‌های حساس که در حال حاضر بر روی کامپیوتر پردازش شده‌اند را بدهند.

هردوی این حملات از یک ویژگی در تراشه‌ها به نام "speculative execution" استفاده می‌کنند که تکنیکی است که توسط بیشتر CPUهای مدرن برای بهینه‌سازی عملکرد استفاده می‌شود.

اولین مشکل، یعنی Meltdown، به مهاجمان این امکان را می‌دهد که نه تنها حافظه‌ی کرنل بلکه کل حافظه‌ی فیزیکی ماشین هدف را بخواند.

Meltdown از اجرای احتمالی (speculative execution) برای شکستن ایزوله‌سازی بین برنامه‌های کاربر و سیستم‌عامل استفاده می‌کند و به هر برنامه امکان دسترسی به همه‌ی حافظه‌ی سیستم ازجمله حافظه‌ی اختصاصی به کرنل را می‌دهد.

تقریبا همه‌ی لپ‌تاپ‌ها، رایانه ها و کامپیوترهای ابری تحت تاثیر Meltdown قرار دارند.

وصله کردن دومین مشکل، یعنی Spectre آسان نیست و احتمالا مردم را برای مدت زمان زیادی تحت تاثیر قرار می‌دهد چراکه این آسیب‌پذیری‌ها برای اینکه به طور کامل رفع شوند به تغییراتی در معماری  پردازنده نیاز دارند.

حمله‌ی Spectre می‌تواند برای افشای اطلاعات از کرنل به برنامه‌های کاربر و همچنین از هایپروایزرهای مجازی‌سازی به سیستم‌های مهمان استفاده شود.

بسیاری از شرکت‌ها برای یکی یا هردوی این آسیب‌پذیری‌ها وصله‌های امنیتی‌ای را تهیه کرده‌اند.

ویندوز: مایکروسافت یک به‌روزرسانی خارج از گروه برای ویندوز ۱۰ منتشر کرده است، این درحالی است که برای دیگر نسخه‌های ویندوز در تاریخ سه‌شنبه  ۹ ژانویه وصله منتشر خواهد شد.

سیستم‌عامل مک: اپل قبلا بسیازی از این حفره‌های امنیتی را در High Sierra 10.13.2 در ماه گذشته وصله کرد، اما همه‌ی این نقص‌ها در MacOS 10.13.3  کاملا رفع خواهند شد.

لینوکس: توسعه‌دهندگان کرنل لینوکس نیز وصله‌هایی را با پیاده‌سازی KPTI ‪(Kernel page-table isolation)‬ برای انتقال کرنل به یک فضای آدرس کاملا جداگانه، منتشر کرده‌اند.

اندروید: گوگل وصله‌های امنیتی‌ای را برای کاربران Pixel/Nexus به‌عنوان قسمتی از به‌روزرسانی امنیتی ژانویه‌ی اندروید منتشر کرد. دیگر کاربران  نیز باید منتظر یک به‌روزرسانی امنیتی سازگار توسط تولیدکنندگان دستگاه خود باشند.

از آن‌جایی که این اکسپلویت می‌تواند از طریق وب‌سایت اجرا شود، کاربران کروم می‌توانند ویژگی ایزوله‌سازی سایت (Site Isolation) را بر روی دستگاه‌هایشان برای رفع این آسیب‌پذیری فعال‌سازی کنند.

برای فعال‌سازی این ویژگی بر روی ویندوز، مک، لینوکس، سیستم‌عامل کروم یا اندروید به روش‌ زیر می‌توانید عمل کنید:

  • chrome://flags/#enable-site-per-process را در فیلد URL کپی کنید و اینتر را بزنید.
  • به‌دنبال Strict Site Isolation بگردید، سپس بر روی باکس با برچسب Enable کلیک کنید.
  • پس از انجام این کار، برای راه‌اندازی مجدد مرورگر کروم Relaunch Now را فشار دهید.

هیچ راه واحدی برای رفع هردوی حملات وجود ندارد چراکه هرکدام نیاز به یک محافظت جداگانه دارند.