Spectre ،Mega(اسپکتر) و واناکرای، اگرچه آسیبپذیریهای جدیای نبودند، ولی از نظر صنعت امنیت سایبری و پوشش رسانههای عمومی، بسیار گسترده بودند. Davey Winder (دیوی ویندر) به جزئیات حقایق پشت پرده اسپکتر میپردازد، مشکلات اساسی که بوجود میآورد را نشان میدهد و تأثیرات احتمالی آن را بیان میکند.
اسپکتر(Spectre)، دومین آسیبپذیری از آسیبپذیریهای سهگانه پردازشگر بود، سومین آسیبپذیری نیز Meltdown بود که برای اولین بار به وسیله Jann Horn، در تاریخ 13 دی 1396 کشف شد و در صدر خبرها قرار گرفت. قبل از افشای این آسیبپذیری، چندین محقق امنیتی دیگر درباره این رخنه گزارش داده بودند. AMD، ARM و Intel در دی ماه از این آسیبپذیری آگاه شدند و به بهبود سختافزار و نرمافزارها پرداختند تا این مشکل را رفع کنند.
(Meltdown (CVE-2017-5754، در حقیقت مکانیزم جلوگیری از خواندن و نوشتن فرایند غیرمجاز را غیرفعال میکند.
آسیبپذیری موجود در CPU به نام ” اجرای خارج از ترتیب (out of order execution) ” اجازه میدهد که حملهکننده از آسیبپذیری حاصل از حمله ” کانال جانبی (side-channel) ” استفاده کند تا مقدار حافظه کرنل را بخواند. از آنجایی که دسترسیهای کاربری که کد را به صورت مستقیم اجرا میکند مجاز نیست، یک استثنا به وجود میآید که این کار، در حقیقت اقدام صحیحی است.
علاوه بر این، پردازشگر آسیبپذیر یک “شرایط رقابتی (race condition) ” را ایجاد میکند (که خروجی، مستقل از ترتیب رخدادهای کنترل نشده است) که مشکلآفرین است و سبب میشود هر دستور “خارج از ترتیب” قبل از اینکه استثنا ایجاد شود، اجرا گردد و وضعیت کش در زمانی که پردازشگر به این دستور باز میگردد به حالت اولیه باز نگردد. که به این معنی است که حملهکننده، موفق به دسترسی به حافظه ماشینهای مجازی موجود در کلاود(cloud) شده است.
بنابراین به طور بالقوهای موفق به بهرهوری (exploit) از آسیبپذیری privilege escalation (افزایش سطح دسترسی) شده است. سیستمعاملها و ارائهدهندگان کلاودها میتوانند Meltdown را با ارائه پچ، خنثی کنند، اما از آنجایی که مکانیزم “خارج از ترتیب” مکانیزم کارایی است، این موارد میتوانند روی سرعت، تأثیر منفی بگذارند.
اسپکتر (CVE-2017-5715 و CVE-2017-5753) با استفاده از حملات ” کانال جانبی” میتواند از ویژگی branch prediction یا به عبارت دیگر “پیشبینی شاخهای” موجود در CPU استفاده کند تا برای دسترسی به حافظه اپلیکیشن ها، آنها را فریب دهد. “پیشبینی شاخهای” ویژگیای است که اجازه میدهد هنگامی که یک پردازشگر به یک conditional branch (شاخه شرط) رسید، بنا بر تصمیماتی که قبلاً گرفته است، همان کار قبلی را انجام دهد. این کار منجر به افزایش زمان کارایی از طریق کاهش زمان انتظار و بهینهسازی CPU میشود.
متأسفانه، در حالی که دستورالعملهای نظری در یک پیشبینی موفق و یا ناموفق مد نظر قرار نمیگیرند، در حالت دوم یعنی زمانی که پیشبینی، ناموفق باشد هر گونه تأثیر غیر مستقیمی (نظیر تغییرات در حافظه کش CPU) نادیده گرفته نمیشوند. این کار سبب میشود که حملهکننده بتواند تأخیر عملکرد دسترسی به حافظه را اندازهگیری کند و مقادیر را از دستورالعملهای نظری استخراج کند.
یکسری ویژگیهای فنی بین این دو CVE متفاوت است از این جهت که CVE-2017-5753 به دلیل پیشبینی اشتباه، (misprediction) دستورالعملها را بعد از انشعاب شرطی اجرا میکند اما با CVE-2017-5715 دستورالعملها در محل تعیین شده توسط هدفِ به اشتباه پیشبینی شده، اجرا میشوند. به عبارت دیگر این روش میتواند اطلاعات محرمانهای مثل پسوردهای ذخیرهشده در کلاینت مرورگر را از یک پردازش هدف استخراج کند.
یک توافق کلی بر سر این قضیه وجود دارد که سوءاستفاده از اسپکتر، سختتر است و البته مقابله با آن هم سختتر است به این دلیل که این اکسپلویت ها عمدتاً به صورت سفارشی برای تطبیق با پردازشهای خاصی ایجاد میشوند. این روش Vendor-Agnostic و همچنین بسیار گستردهتر است.
به نظر میرسد که بسیاری از حملهکنندگان، موفق به استفاده از این آسیبپذیری شدهاند.نگاه به آینده
تأثیر بالقوه اسپکتر میتواند سالها ادامه داشته باشد. کالب فنتون (Caleb Fenton)، رئیس تیم تهدیدات در SentinelOne معتقد است که فاش شدن داده با بهرهبرداری از آسیبپذیری حاصل از حملات کانال جانبی، مشکلی برای مهندسین CPU در سالهای متمادی خواهد بود.
علاوه بر این، آقای فنتون هنوز هم انتظار دارد که آسیبپذیریهای مرتبط و جدیدی کشف شوند زیرا تعداد زیادی محقق تا کنون در حال بررسی این موارد هستند. با در نظر گرفتن این موضوع، هر چیزی که در مرورگر موجود است، میتواند به کمک اسپکتر، قابل دسترسی شود، چالش بزرگتر این است که شاید این آسیبپذیریها منجر به ورود کیتهای بهرهوری به داخل سیستم گردند. جیمی گراهام (Jimmy Graham) رئیس بخش مدیریت محصولات Qualys میگوید ” پیدا کردن دادههای آسیبپذیر برای استفاده از آنها در حمله، از میان دادههایی که ذخیره میشوند، بسیار سخت میباشد.”
تا کنون همه چیز در حالت تئوری بررسی شده است، زیرا محدوده کامل باگهایی که بهرهبرداری از آنها از طریق Spectre صورت میگیرد، تا کنون به طور کامل شناخته نشدهاند، و بیشتر سناریوهای حمله به صورت تئوری باقی ماندهاند.
دیوید دوفور (David Dufour)، مدیر ارشد امنیت سایبری و مهندسی در Webroot در پایان میگوید: “تضمین میکنم اگر یکی از مجرمین سایبری موفق به کسب درآمد شد یا دولت، موفق به استفاده از این آسیبپذیری شد، آنگاه شروع به فهم کامل این موارد میکنیم.”
مشکلات کسبوکار
اسپکتر چه مشکلی از مسائل امنیتی را فاش کرده است؟ بسیاری از متخصصین امنیتی، تائید میکنند که بیشتر تهدیدات اسپکتر در بخش کلاود (فضای ابری) قرار دارند. بر طبق گفته (کریس مورالس) Chris Morales، رئیس آنالیز امنیتی Vectra ، تأثیر پچ های بروز رسانی Intel در برابر حملات مختلف باید مورد بحث قرار گیرد.
آقای مورالس به Infosecurity میگوید”احتمالاً این مناظرات ادامه خواهند داشت.”. آقای مورالس ادامه میدهد “تحقیقات آتی بهوسیله انجمنهای امنیتی اجرا میشوند و دلایل و راهحلها نشان داده خواهند شد.” در حال حاضر بسیاری از ارائهدهندگان کلاودها موفق به برطرف کردن مشکلات امنیتی شدهاند، اما بر طبق گفته جیمز ماد (James Maude)، رئیس مهندسی امنیت Avecto، ” بسیاری از سرویس دهندگان کوچکتر همچنان به دنبال راهحلی برای این مشکلات هستند چرا که دادههایشان بشدت در معرض خطرند.”
این موضوع برای سازمانهایی که امنیت دادهها برایشان اهمیتی جدی دارد، سبب میشود که از سیستمهای کلاودی به سمت سرورهای اختصاصی و تحت کنترل، مهاجرت کنند. کن گیلمور (Ken Gilmour)، رئیس تکنولوژی Invinsec، هشدار میدهد که: “به نظر میرسد که بسیاری از حملهکنندگان در حال حاضر تلاش کردهاند که از این آسیبپذیری برای دسترسی به سرورهای رایگانی مثل آمازون و آزور (Azure) استفاده کنند.”
حقیقت این است که در خصوص بهرهبرداری از آسیبپذیری اسپکتر، همه چیز امکانپذیر است به جز شناسایی آن. شاید هرگز نتوانیم به طور قطع یک نفوذ یا شکاف را مستقیماً به اسپکتر نسبت بدهیم، مگر آنکه آن کد اکسپلویت (بهرهبرداری) مخرب، سرکشیاش را در معرض دید قرار دهد، دقیقاً به همین علت Misha Govshteyn، معاون ارشد و بنیانگذار مشترک Alert Logic، این مسئله را عنوان کرده است که بیشترین تأثیر عمومی این مسائل، اختلالاتی است که با خود به همراه دارند، که این اختلالات همان هزینه کلان تزریق patch ها در سرتاسر زیرساخت IT بشمار میآیند.
راس روستیچی (Ross Rustici)، رئیس ارشد سرویسهای هوش مصنوعی در Cybereason هشدار میدهد که “اگر معماری شما 5 درصد کمتر بازدهی داشته باشد، باید 5 درصد بیشتر تجهیزات خریداری کنید تا بتوانید به جایی پیش از آنکه مشکل رخ داده است برگردید.” علاوه بر این، نتیجهگیری میکند که Spectre (اسپکتر) یکی از معدود حالاتی است که ثابت میکند اجتناب از یک رخداد سایبری، احتمالاً میتواند تأثیر قابلسنجش و برنامهریزی نشدهای در موضوعات مالی بسیاری از کسبوکارها داشته باشد.