کمیته رکن چهارم – پژوهشگران فاش کردند پردازندههای اینتل بهرهمند از ویژگی اجرای حدسی آسیبپذیرند که همهی کامپیوترهای استفادهکننده از آنها را درگیر میکند.
یکی از ویژگیهای جالب پردازندههای اینتل، ویژگی اجرای حدسی (Speculative Execution) است که برای تقویت کارایی پردازنده، مسیرهایی را پیش از تکمیل شاخه پیشبینی میکند که دستورالعمل میپیماید. درعینحال، این ویژگی دقیقاً همان عاملی بوده که در گذشته، دردسرهایی برای اینتل ایجاد کرده است. گزارش جدیدی که پژوهشگران امنیتی مؤسسه پلیتکنیک ورچستر و دانشگاه لوبک اول مارس منتشر کردند، نشان میدهد حفرهی امنیتی دیگری هم مرتبط با همین ویژگی عملکردی وجود دارد که خیلی مهم است و باید به آن پرداخت.
آسیبپذیری جدید که «اسپویلر» (Spoiler) نامیده میشود، این توانایی را دارد که چگونگی اتصال حافظهی مجازی و فیزیکی به یکدیگر را با اندازهگیری زمانبندی عملیاتهای حدسی بارگیری و ذخیرهسازی که توسط پردازنده انجام میشود، تعیین کند. با شناسایی و بررسی اختلافهایی که در زمانبندیها رخ میدهد، مهاجم این امکان را دارد که طرحبندی حافظه را تعیین و درنتیجه، مناطق مناسب برای حمله را شناسایی کند.
دنیل مقیمی، یکی از پژوهشگران این پژوهش در این گزارش گفته است:
دلیل اصلی چنین موضوعی این است که عملیاتهای حافظه بهصورت حدسی اجرا میشوند و پردازنده، زمانی وابستگیها را برطرف میکند که همهی بیتهای آدرسهای فیزیکی در دسترس باشند. بیتهای آدرس فیزیکی، اطلاعات امنیتی حساسی هستند و اگر در فضای کاربر در دسترس قرار بگیرند، کاربر میتواند حملههای میکرو معماری دیگری نیز انجام بدهد.
اجرای حدسی بهطور معمول با استفاده از بافر ترتیب حافظه برای ردیابی عملیاتهای انجامشده در حافظه اجرا میشود و برای این کار، دادهها را از روی رجیستر CPU روی حافظهی اصلی کپی میکند تا در کدها نمایش داده بشوند. سپس، دادهها را میتوان بدون نوبت از روی حافظهی اصلی روی رجیستری کپی کرد و به این ترتیب، اگر عناصر احتمالی را درست حدس زده باشند، سرعت کلی عملیات بالاتر میرود؛ اگر هم اشتباه باشند، عناصر حدسی کنار گذاشته میشوند و دادههای غیرحدسی بهصورت معمولی بارگذاری میشوند تا دستورالعمل صادرشده اجرا شود، ولی هیچ تأثیری روی ارتقای سرعت اجرای آن ندارد.
مهاجمان با اندازهگیری زمانبندی عملیاتهای حدسی بارگذاری و ذخیرهسازی، اختلاف بین آنها را محاسبه و مناطق مناسب برای حمله را شناسایی میکنند.
در گزارش منتشرشده توسط پژوهشگران آمده است که مهمترین مسئله در خصوص اسپویلر، عملکرد ابهامزدایی حافظه در پردازندههای اینتل است که تلاش میکند تا مانع از انجام محاسبات روی دادههای بارگذاری شدهی حاصل از حدس و گمان شود و رفتار زمانبندی آن، در حقیقت نقطهی واقعی در این آسیبپذیری است.
وقتیکه بافر حافظه از آدرسهایی پر میشود که از آفستهای مشابه اما با صفحات مجازی مختلف استفاده میکنند و سپس یک بار حافظه با همان آفست روی یک صفحهی حافظهی متفاوت صادر میکنند، تیم اقدام به اندازهگیری زمان بارگذاری میکند. پس از انجام چند بارگذاری متعدد در صفحات مجازی متعدد و بیشمار، میتوان از روی تفاوتهای موجود در میان زمانبندیها به سرنخهایی دربارهی مکانهای حافظه دست یافت.
پژوهشگران بر این باور هستند که این حفره امنیتی، حملههای «Rowhammer» و کَشهای موجود را راحتتر میکند و درعینحال، با سرعت بخشیدن به حملههایی که با استفاده از جاوا اسکریپت انجام میشوند، باعث میشود که اجرای آنها بهجای چند هفته، تنها در عرض چند ثانیه انجام بشود. به گفتهی پژوهشگران هیچ نرمافزار اصلاحکنندهای وجود ندارد که بتواند این مشکل را بهطور کامل برطرف کند. برطرف کردن مشکل معماری تراشه باعث کاهش چشمگیر عملکرد تراشه میشود.
در تاریخ یک دسامبر ۲۰۱۸ جزئیات این آسیبپذیری به اطلاع اینتل رسانده شد و پس از یک مهلت ۹۰ روزه، برای عموم مردم فاش شد. تابهحال، اینتل هیچ شمارهی CVE را برای این مشکل صادر نکرده است. مقیمی حدس میزند که این مشکل را نمیتوان بهراحتی با استفاده از میکرو کدها به روشی کارآمد برطرف کرد و نیز اینکه، طراحی یک وصله برای مسیر حمله میتواند سالها به طول انجامد.
ازآنجاییکه این موضوع، صرفنظر از سیستمعاملی که کاربران استفاده میکنند، روی همهی پردازندههای نسل اول تا جدیدترین نسخههای Intel Core تأثیر میگذارد، بنابراین تقریباً این موضوع قطعی است که همهی مکینتاشها در برابر حملاتی که از این حفره امنیتی بهره میبرند، آسیبپذیر هستند.
با درنظرگرفتن تأثیرات بالقوهی حاصل از این آسیبپذیری روی محصولاتی که از سیستمعامل مک او اس (macOS) استفاده میکنند، هنوز معلوم نیست که آیا اپل پاسخی ویژه برای این مسئله در نظر گرفته است یا خیر. همچنین، محققان به این نکته اشاره میکنند که هستههای پردازندههای ARM و AMD رفتار مشابهی ندارند؛ پس میتوان اینگونه نتیجه گرفت که آیفونها و آیپدها مصون از این حملات هستند.
اجرای حدسی، از اهمیت به سزایی در آسیبپذیری کشفشده در ژانویه ۲۰۱۸ با نام «اسپکترا» (Spectre) برخوردار است. این آسیبپذیری، پردازندههای اینتل و نسخههای مبتنی بر ARM، (شامل دستگاههایی که از سیستمهای عامل macOS و iOS استفاده میکنند) را تحت تأثیر قرار میدهد و بهمحض کشف آن، اپل بهسرعت تلاش کرد تا اصلاحیههایی را برای مقابله با آن منتشر کند.
اسپویلر و اسپکترا، ازنظر استفاده از این ویژگی مشابه هم هستند، ولی با روشی کاملاً متفاوت از یکدیگر عمل میکنند و درنتیجه، این دو را میتوان کاملاً متمایز از هم دانست.
اینتل در مورد حملاتی که به سبک «Rowhammer» اتفاق میافتند، گفت:
انتظار داریم که امنیت نرمافزار در برابر چنین حملاتی را با بهره بردن از روشهای توسعهی امن کانال جانبی تأمین کنیم. حفاظت از مشتریان و دادههای آنها همچنان اولویت مهم ما است و ما به خاطر تحقیقاتی که جامعهی امنیتی انجام میدهند، قدردان تلاشهای آنها هستیم.