آسیب‌پذیری Meltdown و Spectre
۹ شهریور ۱۳۹۸

حفاظت در برابر آسیب‌پذیری Meltdown و Spectre روی سیستم‌عامل ویندوز

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

چرا آسیب‌پذیری Meltdown و Spectre دارای اهمیت است؟

کلید اصلی بسیاری از اکسپلویت‌ها، شکستن حافظه حفاظت‌شده است، زیرا مهم نیست که چه داده‌هایی وجود داشته باشد، مهم نیست که برنامه‌های کاربردی دیگر چقدر خوب طراحی شده باشند. این واقعیت که از طریق مکانیزم‌هایی مانند Javascript می‌توان از طریق اینترنت از این رخنه سوءاستفاده کرد، آن را حتی خطرناک‌تر می‌کند. از آنجاییکه اکثر زیرساخت‌های دیجیتالی به تراشه‌های تحت تأثیر این رخنه متکی هستند، آشنایی با مفهوم آن و حفاظت در برابر آن، به ویژه در شرکت‌ها، حتی برای سال‌های آینده بسیار حائز اهمیت است.

دو نوع اصلی اکسپلویت‌ها روی رخنه پردازنده تأثیر می‌گذارند: Meltdown و Spectre. این روش‌ها براساس نحوه کارکرد آنها لقب گرفته‌اند که یکی از آنها سد جداسازی بین برنامه و سیستم عامل را ذوب  می‌کند، و دیگری در مورد “اجرای سوداگرانه ” ، به این ترتیب که چگونه مهاجم برنامه‌های امن دیگری را برای نشت اسرار خود ترغیب می‌کند.

“Meltdown به فضای حافظه ایزوله شده بین برنامه‌های کاربر و سیستم عامل دسترسی می‌یابد و اصطلاحاً این سد را می‌شکند، این حمله به برنامه امکان دسترسی به حافظه و در نتیجه اسرار سایر برنامه‌ها و سیستم عامل را می‌دهد.”

“Specter فضای ایزوله بین برنامه‌های مختلف را می‌شکند. این امکان را به مهاجم می‌دهد تا برنامه‌های بدون خطا که از بهترین روش‌ها استفاده می‌کنند را فریب دهد تا اسرار خود را فاش کنند. در حقیقت، بررسی‌های ایمنی که بهترین اقدامات ذکر می‌شوند در واقع سطح حمله را افزایش می‌دهند و ممکن است برنامه‌های کاربردی را مستعد Specter کنند.”

راه حل‌های ارائه شده

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

  • قبل از نصب به روزرسانی‌ها و وصله‌های سیستم عامل اطمینان حاصل کنید که آنتی ویروس روی سیستم نصب و به روز شده باشد. در صورتی که سیستم توسط بدافزار در معرض خطر قرار داشته، قبل از شروع وصله سیستم‌عامل، باید بررسی‌های آنتی‌ویروس(AV) انجام شود.
  • به روزرسانی‌های اخیر ویندوز را نصب کنید. این کار موجب وصله شدن سیستم‌عامل (ازجمله مرورگرهای Edge و اینترنت اکسپلورر) در برابر اکسپلویت‌ها خواهد شد.
  • اگر به‌روزرسانی‌های ثابت‌افزار سیستم‌های خود را در دسترس دارید، آن‌ها را نصب نمایید. اگرچه سیستم عامل مایکروسافت و مرورگرها وصله شده باشند، ثابت‌افزار سخت‌افزارها لازم است به روزرسانی شوند تا بتوانند متضمن حل مسائل گردند.

مایکروسافت همچنین یک ماژول ساده Powershell را برای آزمایش فراهم کرده است که با دستورات زیر قابل استفاده است:

PS > Install-Module SpeculationControl

PS > Get-SpeculationControlSettings

خروجی کد فوق چیزی شبیه به موارد زیر خواهد بود، True به معنای حفاظت شده و False به معنای آسیب پذیر است:

Speculation control settings for CVE-2017-5715 [branch target injection]

Hardware support for branch target injection mitigation is present: True

Windows OS support for branch target injection mitigation is present: True

Windows OS support for branch target injection mitigation is enabled: True

Speculation control settings for CVE-2017-5754 [rogue data cache load]

Hardware requires kernel VA shadowing: True

Windows OS support for kernel VA shadow is present: True

Windows OS support for kernel VA shadow is enabled: True

Windows OS support for PCID optimization is enabled: True

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

جمع بندی:

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

مراجع:

[۱]. https://www.upguard.com/blog/protecting-against-meltdown-and-spectre-on-windows

[۲]. http://cert.guilan.ac.ir/edu/articles/481/