افشای یک آسیب‌پذیری امنیتی جدید در پردازنده‌های اینتل

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

پژوهشگران حفره‌های امنیتی جدیدی موسوم به آسیب‌پذیری‌های MDS را در پردازنده‌های اینتل کشف کرده‌اند که همگی براساس تابع اجرای حدسی عمل می‌کنند؛ چیزی شبیه به همان روشی که در آسیب‌پذیری‌های اسپکتر و ملتداون انجام می‌شود. 

ژانویه‌ی ۲۰۱۸، پژوهشگران، مجموعه‌ای از آسیب‌پذیری‌های مرتبط با عملکرد پردازنده‌های جدید در زمان اجرای تابعی موسوم به اجرای حدسی (speculative execution) را کشف کردند. اهمیت آسیب‌پذیری‌های اسپکتر (Spectre) و ملتداون (Meltdown) تا حدی به این خاطر بود که اسپکتر عامل تمامی حمله‌هایی که به یک روش عمل می‌کنند، معرفی شده است. اینتل بیشتر وقت خود را در سال ۲۰۱۸ صرف مقابله با این حمله‌ها کرد.

تقریبا یک و نیم سال پس از آن ماجرا، پژوهشگران همچنان مشغول پژوهش روی موضوعات مشابهی هستند. چند آسیب‌پذیری جدید کشف شد و پژوهشگران نام‌های مختلفی روی آن‌ها گذاشتند: ZombieLoad، RIDL و Fallout. اینتل نام این نوع خاص از آسیب‌پذیری‌ها را MDS نامید که مخفف عبارت «نمونه‌برداری از داده‌های ریزمعماری» (Microarchitectural Data Sampling) است. Rogue In-flight Data Load (بارگیری خودسرانه‌ی داده‌ها در حین پرواز) یا به اختصار RIDL توسط دانشگاه وریج آمستردام (Vrije Universiteit Amsterdam) و مرکز امنیت اطلاعات هلمهولتز (Helmholtz Center for Information Security) کشف شد. Fallout توسط گروهی از کارشناسان دانشگاه صنعتی گراتس (Graz University of Technology) اتریش، دانشگاه کاتولیک لوون (KU Leuven) بلژیک، دانشگاه میشیگان و مؤسسه‌ی پلی‌تکنیک ورچستر مشاهده شد. و درنهایت، آسیب‌پذیری ZombieLoad نیز حاصل پژوهش‌های انجام‌شده در دانشگاه‌های گراتس، ورچستر و کایو لوون است.

مهاجمان با استفاده از MDS نمی‌توانند داده‌های ذخیره‌شده در بافر هدف را به‌صورت مستقیم کنترل کنند

نگاهی اجمالی به این آسیب‌پذیری‌ها نشان می‌دهد که تمام آن‌ها از جمله اسپکتر و متلداون مربوط‌به چگونگی عملکرد همه‌ی پردازنده‌ها یا فقط پردازنده‌های اینتل در زمان انجام تابع «اجرای حدسی» هستند؛ اما آسیب‌پذیری‌های MDS تنها مربوط‌به پردازنده‌های اینتل هستند. علت وقوع این مشکلات، تفاوت‌های میان معماری پردازنده‌ها (درباره‌ی چگونگی مستندسازی نحوه‌ی کار پردازنده‌ها به‌صورت کتبی) و ریزمعماری آن‌ها (عملکرد واقعی پردازنده‌ها در زمان اجرای عملیات‌ها) است. تابع «اجرای حدسی» دقیقا همان کاری را انجام می‌دهد که از نام آن برمی‌آید: پردازنده به‌جای اینکه صبر کند تا از لزوم انجام عملیات بعدی آگاه شود، آن‌ را پیشاپیش حدس می‌زند و اجرا می‌کند تا در صورت نیاز، نتایج آن حاضر باشد.

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

نقص‌های امنیتی جدید چقدر اهمیت دارند؟

اینتل / Intel

بحث‌های مربوط‌به اینکه این آسیب‌پذیری‌ها تا چه اندازه جدی و خطرناک هستند، هنوز به سرانجام نرسیده‌؛ ولی برخی از آن‌ها به نشریات نیز راه یافته است. شاید برخی از شما اخبار سال گذشته را به خاطر بیاورید که یک شرکت پژوهشی امنیتی به نام CTS-Labs با همکاری یک شرکت فروش استقراضی در حال انجام تلاش‌هایی آشکار برای حمله به قیمت سهام AMD بودند و برای این کار، مجموعه‌ای از نقایص امنیتی ظاهرا مهم را منتشر می‌کردند و گفته می‌شد که این افشاگری‌ها می‌توانست جان عده‌ای را به خطر بیندازد.

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

شرایط فعلی اینتل به وخامت شرایط AMD در سال گذشته نیست؛ ولی همان روند ناراحت‌کننده را طی می‌‌کند. پژوهشگران یافته‌های خود را در وب‌سایتی با نام «CPU.fail» منتشر کرده‌اند که باتوجه‌به نوع طراحی و پرسش و پاسخ‌های مطرح‌شده در آن به نظر می‌رسد بیشتر از آنکه به‌دنبال آگاهی‌بخشی باشند، قصد ترساندن دیگران را دارند. به‌عنوان مثال، گردانندگان سایت در پاسخ به این سؤال که آیا آن‌ها تاکنون برای مقاصد خرابکارانه در مقیاس بزرگ استفاده شده‌اند، خیلی خلاصه پاسخ می‌دهند: «نمی‌دانیم». اما واقعیت این است که طرح سوالی درباره‌ی میزان اهمیت آسیب‌پذیری‌ها، سوالی هوشمندانه است.

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

میکروکدهای به‌روزرسانی‌شده برای سیستم‌هایی که از پردازنده‌های «سندی لیک» (Sandy Lake) یا «کابی لیک» (Kaby Lake) بهره می‌برند هم‌اکنون برای مشتریان ارسال شده است. در حال حاضر، پردازنده‌های Coffee Lake و Whiskey Lake دربرابر این حمله ایمن هستند. تاثیر ترمیم‌های نرم‌افزاری بر عملکرد سیستم‌ها در حدود ۳ درصد تخمین زده می‌شود.

اینتل / Intel

به‌روزرسانی یکی از بهترین روش‌ها برای در امان ماندن دربرابر اینگونه تهدیدات است

در بیانیه‌ی رسمی اینتل آمده است:

در حال حاضر، در خیلی از پردازنده‌های نسل هشتم و نهم Intel Core و نسل دوم پردازنده‌های مقیاس‌پذیر Xeon موضوع MDS را به لحاظ سخت‌افزاری در دستور کار قرار داده‌اند. در سایر محصولات آسیب‌پذیر نیز تلاش شده است تا ازطریق به‌روزرسانی میکروکدها به همراه سایر به‌روزرسانی‌های مرتبط با سیستم‌عامل و نرم‌افزار هایپروایزور (Hypervisor) که همین روزها در دسترس کاربران قرار می‌گیرند، از آسیب‌پذیری سیستم‌ها کاسته شود.

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

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

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

به‌گفته‌ی PCMag:

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

اینتل / Intel

این واقعیت که همه‌ی کاربرها اقدام به به‌روزرسانی سیستم‌عامل‌ها یا سخت‌افزارهای خود نمی‌کنند مدرکی دال بر اثبات ناقص بودن این راه‌حل‌ها هستند. اما این مسائل امنیتی از ابتدای پیدایش کامپیوترهای شخصی وجود داشته‌اند.

بخشی از سختی تصمیم‌گیری درباره‌ی اینکه این آسیب‌پذیری‌ها تا چه اندازه مهم و خطرناک هستند، به خاطر این است که کاربران هنوز نمی‌دانند باید حرف‌های کدام کارشناس را جدی بگیرند. به‌عنوان مثال، سال گذشته تئو درات (Theo de Raadt) مهندس نرم‌افزار کانادایی، تصمیم گرفت که رفتار پیش‌فرض سیستم‌عامل FreeBSD را تغییر بدهد و گزینه‌ی Hyper-Threading را در آن‌ها غیرفعال کند؛ چرا که آن را یک ریسک امنیتی مهم می‌دانست.

ولی طراحان سایر سیستم‌های عامل به این نتیجه نرسیدند که چنین کاری کنند. آیا واقعا Hyper-Threading یک خطر امنیتی بالقوه است؟ پاسخ مثبت است. آیا خطر آن به اندازه‌ای است که کاربران فعلی اقدام به غیرفعال‌سازی قابلیت Hyper-Threading کنند؟ کارشناسان به‌معنی واقعی کلمه با این کار مخالف هستند. پاسخ منطقی که می‌توان به این سؤال داد این است: «بستگی دارد»؛ نه به‌این‌خاطر که هیچکس نمی‌تواند تصمیم قاطعی در این زمینه بگیرد، بلکه به‌این‌خاطر که شیوه‌های امنیتی مناسب در هر شرایطی بستگی به خطرات تهدید‌کننده و هزینه‌ی اصلاح آن دارد.

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

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


© بهمن 1402، کلیه حقوق این سایت متعلق به گروه فنی مهندسی سپاهان آی تی میباشد.