اسپکتر (آسیب‌پذیری امنیتی)

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

دو شناسه متداول آسیب‌پذیری و افشای مربوط به اسپکتر عبارتند از: CVE-2017-5753 (گذرگاه بررسی محدوده اسپکتر-نسخه۱، اسپکتر ۱٫۰) و CVE-2017-5715 (تزریق انشعاب هدف، اسپکتر نسخه2). موتورهای JIT که برای جاوا اسکریپت مورد استفاده قرار می‌گرفتند آسیب‌پذیر یافت شدند. یک وب سایت می‌تواند داده‌های ذخیره شده در مرورگر را برای وب سایت دیگری با حافظه مرورگر خود بخواند.

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

## تاریخچه
در سال‌های ۲۰۰۲ و ۲۰۰۳، یاکی‌یاسو سانو (Yukiyasu Tsunoo) و همکارانش از ان‌ای‌سی به ترتیب نحوه حمله به رمز کلیدهای متقارن DISTY و DES را نشان دادند. در سال ۲۰۰۵، دانیل برن‌اشتاین (Daniel Bernstein) از دانشگاه ایلینویز در شیکاگو گزارشی از استخراج یک کلید OpenSSL AES از طریق یک حمله زمانبندی به حافظه پنهان خبر داد، سپس، کالین پرسیوال(Colin Percival) با استفاده از حافظه نهان پردازنده اینتل، یک حمله به کلید OpenSSL RSA انجام داد. در سال ۲۰۱۳ یووال یاروم و کاترینا فالکنر (Yuval Yarom and Katrina Falkner) از دانشگاه آدلاید نشان دادند که چطور اندازه‌گیری زمان دسترسی به داده‌ها اجازه می‌دهد تا برنامه مخرب تعیین کند آیا اطلاعات از حافظه نهان خوانده شده‌است یا خیر. اگر اطلاعات ازحافظه نهان خوانده شده باشد، زمان دسترسی بسیار کوتاه خواهد بود، این بدان معناست که داده‌های خوانده شده می‌توانند شامل کلید خصوصی الگوریتم‌های رمز شده باشند.

از این شیوه جهت حمله موفق به GnuPG , AES و سایر پیاده‌سازی‌های رمزنگاری استفاده شده‌است. در ژانویه سال ۲۰۱۷، آندرس فاق Anders Fogh در دانشگاه رور بوخوم (Ruhruniversität Bochum) یک ارائه با موضوع یافتن خودکار کانال‌های پنهانی، به خصوص در پردازنده‌های مجهز به خط لوله که توسط بیش از یک هسته پردازنده استفاده می‌شود، داشت.

اسپکتر مناسب توسط جان هورن (Jann Horn) از Google's Project Zero و پاول کوخر (Paul Kocher) با همکاری دانیال یووال، ماریتز لیپ، دانیل گنکین، و مایک هامبورگ (Daniel Genkin (Mike Hamburg, Moritz Lipp and Yuval Yarom به‌طور مستقل کشف شد. سپس پژوهش آسیب‌پذیری مایکروسافت آن را به موتورهای جاوا اسکریپت JIT مستقر در مرورگر تعمیم داد. این پژوهش در رابطه با دیگر آسیب‌پذیری ملتداون، در ۳ ژانویه سال ۲۰۱۸، پس از آن که فروشندگان سخت‌افزار آسیب دیده از قبل در تاریخ ۱ ژوئن ۲۰۱۷ از این موضوع آگاه شدند ، منتشر شد. آسیب‌پذیری به نام اسپکتر نامیده می‌شد، زیرا "بر پایه علت اساسی، اجرا سوداگرانه" بود. این امر مدتی ما را درگیر خواهد کرد، چرا که رفع این آسیب‌پذیری امر ساده ای نیست. "

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

در ۲۹ ژانویه ۲۰۱۸، مایکروسافت گزارش داد که یک نسخه به روز شده از ویندوز را منتشر کرده‌است که مشکل ریزکد اینتل در آن رفع شده‌است. این مشکل در بعضی مواقع باعث راه اندازی مجدد، بی‌ثباتی سیستم و اتلاف یا از بین رفتن داده‌ها می‌شد و در گذشته توسط اینتل برای حمله اسپکتر نسخه۲ صادر شده بود. اما امروزه نگرانی‌هایی در زمینه نصب بسته جدید مایکروسافت گزارش شده‌است.

پس از افشای اسپکتر و ملتداون در ژانویه سال ۲۰۱۸، تحقیقات زیادی در مورد آسیب‌پذیری‌های مربوط به اجرای سوداگرانه انجام شده‌است. در تاریخ ۳ می ۲۰۱۸، هشت ایراد اضافه از کلاس *Specter* که به‌طور موقت با نام *Specter-NG* توسط c't (مجله رایانه آلمانی) که تأثیرگذار بر پردازنده‌های اینتل و احتمالاً پردازنده‌های AMD و ARM بود، منتشر شد. اینتل گزارش داد که آن‌ها برای کاهش این ایرادات قطعات جدید آماده می‌کنند. همه پردازنده‌های سری هسته Core-i و مشتقات Xeon از Nehalem (از سال ۲۰۱۰) و پردازنده‌های مبتنی بر Atom(از سال ۲۰۱۳) تحت تأثیر قرار گرفته‌اند. اینتل انتشار نسخه به روز شده ریزکد خود را به ۱۰ ژوئیه ۲۰۱۸ موکول کرد.

در تاریخ ۲۱ می ۲۰۱۸، اینتل اطلاعاتی را در زمینه آسیب‌پذیری کانال جانبی کلاس دو (Specter-NG) و

CVE-2018-3640 (ثبات قابل خواندن سامانه Rogue، نسخه 3a) و CVE-2018-3639 (گذرگاه ذخیره غلو، نسخه۴)،منتشر کرد. همچنین به ترتیب به Intel SA-00115 و HP PSR-2018-0074 اشاره شد.

طبق اطلاعات منتشر شده از آمازون شعبه آلمان، فناوری سایبروس، SYSGO و کالین پرسیوال (FreeBSD)، اینتل جزئیاتی را در مورد نسخه سوم اسپکتر (Specter-NG) نوع CVE-2018-3665

(Lazy FP State Restore ، Intel SA-00145) را در تاریخ ۱۳ ژوئن ۲۰۱۸ بیان کرد، که به عنوان عنوان نشت حالت Lazy FPU (به اختصار "LazyFP") و "اسپکتر-NG 3" شناخته می‌شود.

در تاریخ ۱۰ ژوئیه ۲۰۱۸، اینتل جزئیاتی در زمینه آسیب‌پذیری کلاس دیگر اسپکتر-NG با نام ذخیره گذرگاه بررسی محدوده‌ها (BCCS)، که به عنوان "اسپکتر 1.1" (CVE-۲۰۱۸–۳۶۹۳) نیز شناسایی می‌شود، ارائه داد که قادر به نوشتن و همچنین خواندن خارج از محدوده‌ها بود. همچنین به نوع دیگری به نام "اسپکتر ۱٫۲ " نیز اشاره شد.

در اواخر ژوئیه سال ۲۰۱۸، محققان دانشگاه‌های سارلند و کالیفرنیا "اسپکتر v5" و *اسپکترRSB*، را ارائه کردند، که نمونه‌های جدیدی از آسیب‌پذیری‌های اجرای کد را با استفاده از بافر پشته ای بازگشتی(RSB) انجام می‌دهند.

در پایان ژوئیه سال ۲۰۱۸، محققان دانشگاه گراس «Netاسپکتر» را معرفی نمودند که نوع جدیدی از حمله از راه دور مانند اسپکتر نسخه۱ است. این مورد جدید نیازی به کد کنترل‌کننده مهاجم جهت اجرا در دستگاه هدف ندارد.

در ۸ اکتبر سال ۲۰۱۸، گزارشی از اینتل به منظور کاهش آسیب اسپکتر و ملتداون، سخت‌افزار و سیستم عامل‌هایی را به جدیدترین پردازنده‌های خود، اضافه کرده‌است.

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

در آگوست سال ۲۰۱۹، آسیب‌پذیری واحد پردازنده مرکزی مربوط به اجرای گذرا با نام اسپکتر (SWAPGC (CVE-2019-1125، گزارش شده‌است.

## سازوکار
اسپکتر یک آسیب است که یک برنامه را جهت دسترسی به محل‌های دلخواه در فضای حافظه برنامه ترغیب می‌نماید. یک مهاجم ممکن است محتوای حافظه در دسترس را بخواند و سپس به‌طور بالقوه توانایی دسترسی به داده‌های حساس را داشته باشد.

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

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

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

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

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

### بهره‌برداری از راه دور
در حالی که اسپکتر با بهره‌گیری از زبان تفسیر شده از جمله C یا C ++ با استفاده از اجرای محلی کد ماشین، ساده‌تر است، اما می‌توان توسط کدی که در صفحات وب مخرب از راه دور قرار گرفته‌است، مورد بهره‌برداری از راه دور قرار گیرد، به عنوان مثال می‌توان از زبان‌های تفسیری مانند JavaScript که بصورت محلی از طریق یک مرورگر وب به کار گرفته می‌شود، استفاده کرد. سپس بدافزار اسکریپت شده به تمام حافظه‌های نقشه‌برداری شده به فضای آدرس مرورگر در حال اجرا دسترسی پیدا می‌کند.

بهره‌برداری از طریق جاوا اسکریپت از راه دور یک روند مشابه با استفاده از کد ماشین محلی را دنبال می‌کند: Flush Cache → Mistrain Branch Predictor → Timed Reads (ردیابی موفقیت / شکست).

عدم امکان استفاده از دستورالعمل `clflush`در جاوا اسکریپت نیاز به یک رویکرد جایگزین دارد. چندین سیاست اخراج از حافظه نهان خودکار وجود دارد که CPU ممکن است آن را انتخاب کند و حمله به این توانایی متکی است که قادر است آن اخراج را برای استفاده از بهره‌برداری مجبور کند. مشخص شد که استفاده از یک شاخص دوم در آرایه بزرگ، که چندین تکرار در پشت شاخص اول نگه داشته شده‌است، باعث می‌شود از سیاست حداقل استفاده اخیر (LRU) استفاده شود. در نتیحه به کاربر این امکان را می‌دهد تا فقط با انجام خواندن‌های افزایشی روی یک مجموعه داده بزرگ، حافظه نهان را به‌طور مؤثر پاک نماید.

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

یک تایمر دقیق با دقت بالا جهت تشخیص آن که مجموعه ای از خواندن منجر به موفقیت یا شکست حافظه نهان شده‌است، مورد نیاز می‌باشد. در حالی که مرورگرهایی مانند Chrome، Firefox و Tor (مبتنی بر Firefox) محدودیت‌هایی در دقت زمان‌سنج (که برای بهره‌برداری از اسپکتر برای تعیین موفقیت یا شکست حافظه نهان مورد نیاز است) قرار داده‌اند، در زمان نگارش کاغذ سفید، نویسنده اسپکتر قادر به ایجاد یک زمان‌سنج با دقت بالا با استفاده از ویژگی وب کارگر HTML5 بود.

برنامه‌نویسی دقیق و تجزیه و تحلیل کد ماشین اجرا شده توسط مفسرفقط در زمان اجرای (JIT) برای اطمینان از پاک کردن حافظه نهان و حمله بهینه‌سازی نشده مورد نیاز بود.

## ضربه
از سال ۲۰۱۸، تقریباً هر سیستم رایانه ای، از جمله صفحه نمایش، رایانه‌های قابل حمل و دستگاه‌های تلفن همراه، تحت تأثیر اسپکتر قرار دارد. به ویژه، مشخص شده‌است که اسپکتر روی پردازنده‌های Intel، AMD، ARM- based و IBM کار می کند. اینتل با بیانیه رسمی به آسیب‌پذیری‌های امنیتی گزارش شده پاسخ داد. AMD در ابتدا آسیب‌پذیری یکی از انواع اسپکتر (نوع یک GPZ) را تأیید کرد، اما اظهار داشت که آسیب‌پذیری نسبت به نوع دیگر (نوع دو GPZ) در پردازنده‌های AMD نشان داده نشده‌است و ادعا می‌کند که به دلیل اختلاف در یک «خطر نزدیک به صفر سوء استفاده» است. در یک به روز رسانی در ۹ روز بعد، AMD اعلام کرد که «GPZ Variant 2 … برای پردازنده‌های AMD قابل اجرا است» و مراحل بعدی را برای کاهش تهدید تعریف کرد. چندین منبع اخبار AMD را از آسیب‌پذیری در برابر GPZ نوع ۲ به عنوان یک تغییر از ادعای قبلی AMD در نظر گرفتند، هرچند AMD اظهار داشت که موقعیت آنها تغییر نکرده‌است.

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

ARM گزارش داده‌است که اکثر پردازنده‌های آن‌ها آسیب‌پذیر نیستند و لیستی از پردازنده‌های خاص را که تحت آسیب‌پذیری اسپکتر قرار می‌گیرند، منتشر کرد:

Cortex-R7، Cortex-R8، Cortex-A8، Cortex-A9، Cortex-A15، Cortex هسته -A17، Cortex-A57، Cortex-A72، Cortex-A73 و هسته‌های ARM Cortex-A75 سایر هسته‌های CPU سفارشی تولیدکنندگان که مجموعه‌های دستورالعمل ARM را اجرا می‌کنند، مانند نمونه‌هایی که در اعضای جدید پردازنده‌های سری A اپل وجود دارد، نیز آسیب‌پذیر هستند.

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

## کاهش
از آنجا که اسپکتر یک کلاس کلی از حملات را نمایندگی می‌کند، به احتمال زیاد نمی‌توان یک وصله واحد برای آن ایجاد کرد. در حالی که کار برای رسیدگی به موارد خاص از آسیب‌پذیری در حال انجام است، وب سایت اصلی اختصاص داده شده به اسپکتر و ملتداون می گوید: «همان‌طور که اصلاح [اسپکتر] آسان نیست، برای مدت طولانی ما را درگیرخواهد کرد.» در عین حال، طبق گفته دل: *"هیچ مورد سوء استفاده از این آسیب پذیری‌ها در دنیای واقعی [یعنی ، Meltdown و Spectre] تاکنون [۷ فوریه ۲۰۱۸] گزارش نشده‌است، گرچه محققان اثبات مفاهیم را تولید کرده‌اند."*

برای کمک به محافظت از آسیب‌پذیری رایانه‌های خانگی و دستگاه‌های مرتبط چندین روش ارائه شده‌است. گزارش شده‌است که تکه‌های اسپکتر باعث کاهش چشمگیر عملکرد، به خصوص در رایانه‌های قدیمی می‌شوند. در سیستم عامل‌های با هسته نسل هشتم جدید، افت عملکرد معیار ۲ تا ۱۴ درصد اندازه‌گیری شده‌است. در ۱۸ ژانویه ۲۰۱۸، راه اندازی مجدد ناخواسته، حتی برای تراشه‌های جدیدتر اینتل، به دلیل تکه‌های ملتداون و اسپکتر، گزارش شد.

پیشنهاد شده‌است که کاهش هزینه را می‌توان با پردازنده‌های بافر چشم‌انداز ترجمه (TLB) که با ویژگی انتخابی فعال می‌شوند، از ویژگی‌هایی که تحت معماری اینتل -فرایند (PCID)، تحت معماری Intel 64 و تحت آلفا (معروف به شماره فضای آدرس ASN) انجام داد. (ASN) این امر به این دلیل است که فعال شدن انتخابی، رفتار TLB را قادر می‌سازد تا بدون اینکه به ور مداوم کل TLB را فعال کند، از سوء استفاده در فرایندهای مختلف جدا شود.

در مارس ۲۰۱۸، اینتل اعلام کرد که تنها برای ملتداون و اسپکتر نسخه۲ اصلاحات سخت‌افزاری را ایجاد کرده‌است و اسپکتر نسخه۱ را پوشش نمی‌دهد. این آسیب‌پذیری‌ها توسط سیستم جداسازی جدیدی که باعث بهبود تفکیک فرایند و امتیاز می‌شود، کاهش یافت.

در ۸ اکتبر ۲۰۱۸، گزارش شده‌است که اینتل کاهش سخت‌افزار و سیستم عامل را در رابطه با آسیب‌پذیری‌های اسپکتر و ملتداون نسبت به پردازنده‌های رودخانه قهوه (Coffe Lake-R) و به بعد آن اضافه کرده‌است.

در تاریخ ۲ مارس ۲۰۱۹، مایکروسافت گزارش داده‌است که یک نرم‌افزار مهم ویندوز 10 (v1809) را برای آسیب‌پذیری واحد پردازنده مرکزی اسپکتر ورژن۲ منتشر کرده‌است.

### نرم‌افزار خاص
روش‌هایی به منظور کمک به محافظت از رایانه‌های خانگی و دستگاه‌های مرتبط از آسیب‌پذیری منتشر شده‌است.

تلاش برای کاهش اولیه کاملاً بی نقص نبود. در ابتدا گزارش شده‌است که تکه‌های اسپکتر به خصوص در رایانه‌های قدیمی باعث کاهش چشمگیر عملکرد می‌شود. در سیستم عامل‌های اینتل کور نشخه هشتم، افت عملکرد معیار در بازه ۲ تا ۱۴ درصد اندازه‌گیری شد. در ۱۸ ژانویه ۲۰۱۸، گزارش‌هایی از راه اندازی مجدد ناخواسته حتی برای تراشه‌های جدیدتر اینتل به دست رسید.

از آنجا که سوء استفاده از اسپکتر از طریق جاوا اسکریپت نهفته در وب سایت‌ها امکان‌پذیر است، این مسئله وجود داشت که کروم۶۴ به‌طور پیش فرض ضدحمله باشد. کاربران Chrome 63 می‌توانند با فعال کردن ویژگی Isolation Site (`chrome://flags#enable-site-per-process`) حمله را کاهش دهند.

از Firefox 57.0.4 به بعد، موزیلا برای کمک به جلوگیری از حملات زمان‌بندی وضوح تایمرهای جاوا اسکریپت را کاهش داد. این عمل به صورت کار اضافی بر روی تکنیک‌های فازی زمان‌بندی که برای نسخه‌های آینده برنامه‌ریزی شده‌است، انجام شد.

### رویکردهای کلی
در ۴ ژانویه سال ۲۰۱۸، بازگشت ترامپولین به عنوان تکنیک جدید در وبلاگ امنیتی گوگل مطرح شد. این تکنیک می‌تواند با مقدار ناچیزی ازسربار بالای پردازنده، بر اسپکتر غلبه کند. این امر شامل فرمان کاملاً کامپایلر شاخه‌های غیرمستقیم به سمت هدف دیگری است که منجر به اجرای یک سوداگرانه خارج از دستور کار آسیب‌پذیر نشود. در حالی که این مجموعه برای دستورالعمل x86 ساخته شده‌است، مهندسان گوگل معتقدند که این روش به سایر پردازنده‌ها نیز قابل انتقال است.

در تاریخ ۲۵ ژانویه ۲۰۱۸، ملاحظاتی احتمالی به منظور حل آسیب‌پذیری‌های ملتداون و اسپکتر ارائه شد.

در ۱۸ اکتبر سال ۲۰۱۸، محققان دانشگاه ماساچوست رویکرد کاهش جدیدی به نام محافظ راه اختصاصی پویا ارائه دادند که ممکن است بدون به خطر انداختن خطر عملکرد، نویدبخش امنیت بهتری باشد.

در تاریخ ۱۶ آوریل ۲۰۱۹، محققان دانشگاه‌های سن دیگو و ویرجینیا، یک مکانیسم دفاعی مبتنی بر ریزکد را به نام *محصور سازی حساس به بافت* پیشنهاد کردند که با اجرای جریان تزریق پویا به صورت جراحی نرده‌ها، با تنها ۸ درصد تخریب عملکرد در برابر تعدادی از گونه‌های اسپکتر محافظت می‌کند. .

### جدال سرسختانه
هنگامی که اینتل اعلام کرد که می‌توان کاهش اسپکتر را به عنوان «ویژگی امنیتی» به جای کاهش اشکال بیان کرد، لینوس توروالدز، مبدع لینوکس این تکه‌ها را «زباله کامل و غیرعادی» خواند. سپس اینگو مولنر استفاده از ماشین آلات ردیابی عملکرد را در هسته لینوکس پیشنهاد کرد تا از پشتیبانی میکروکد طیف بدون انشعاب غیرمستقیم محدود شده (IBRS) پشتیبانی کند. در نتیجه، این تنها تأثیر کارایی را بر پردازنده‌های مبتنی بر Intel Skylake و معماری جدیدتر خواهد گذاشت. این دستگاه‌های ftrace و retpoline based در لینوکس ۴٫۱۵ در ژانویه ۲۰۱۸ گنجانیده شده‌است.

### تهدید مداوم بدون امکان کاهش در نرم‌افزار
در فوریه ۲۰۱۹ گزارش شد که اسپکتر دارای تهدیدهایی است که به هیچ وجه در نرم‌افزار قابل کاهش نیست.

واحدهای پردازنده مرکزی اتمی مورد استفاده در D270 و 1001PXD بسیار آسیب‌پذیر هستند اما احتمالاً مشکل کمتری برای آن‌ها وجود دارد چرا که این دستگاه‌های قدیمی با استفاده از واحد پردازنده مرکزی VT-64x و N455 کار می‌کنند. برای PI شخص ثالث BIOS روی این‌ها امکان‌پذیر است، اما یک مشکل اساسی برای رفع نیاز به تجزیه و تحلیل به روزرسانی‌های میکرو کد موجود است که فراتر از توانایی‌های بیشتر کاربران نهایی است.

## سخت‌افزار مصون
* ARM:
** A53
** A32
** A7
** A5
* PPC:
** IBM POWER9

## جستارهای وابسته
* Foreshadow (آسیب‌پذیری امنیتی)
* SPOILER (آسیب‌پذیری امنیتی)
* نمونه‌گیری داده‌های خرد
* آسیب‌پذیری‌های CPU اعدام گذرا
* چکش ردیف

## منابع

## برای مطالعهٔ بیشتر
* 
* 
* Kiriansky, Vladimir; Waldspurger, Carl; Schwarz, Michael; Lipp, Moritz; von Berg, Benjamin; Ortner, Philipp; Piessens, Frank; Evtyushkin, Dmitry; Gruss, Daniel (2018). "A Systematic Evaluation of Transient Execution Attacks and Defenses". arXiv:1811.05441v3 [cs.CR].

## پیوند به بیرون
* Website detailing the Meltdown and Spectre vulnerabilities, hosted by Graz University of Technology
* Google Project Zero write-up
* Meltdown/Spectre Checker Gibson Research Corporation
* Spectre & Meltdown vulnerability/mitigation checker for Linux

رده:آسیب‌های اجرای امنیتی پرمخاطره
رده:اشکال‌های سخت‌افزاری
رده:حمله‌های کانال جانبی
رده:سوءاستفاده امنیتی از رایانه
رده:علوم رایانه در ۲۰۱۸ (میلادی)
رده:معماری اکس۸۶
رده:مقاله‌ها با نحو منسوخ‌شده تصویر