حمله جدید به نقص Spectre در پردازندهها، راهکارهای دفاعی موجود را دور میزند - XNET | اخبار مقالات امنیت سایبری
راهکارهای سختافزاری که طی سالهای اخیر برای رفع یک نقص امنیتی مهم تحت عنوان Spectre در پردازندههای اینتل و ARM پیادهسازی شدهاند، کارایی چندان زیادی ندارند. به تازگی محققان یک روش حمله جدید با قابلیت نقض این راهکارهای دفاعی ابداع کردهاند. البته اجرای این ر…
خلاصه تحلیلی خبر
راهکارهای سختافزاری که طی سالهای اخیر برای رفع یک نقص امنیتی مهم تحت عنوان Spectre در پردازندههای اینتل و ARM پیادهسازی شدهاند، کارایی چندان زیادی ندارند. به تازگی محققان یک روش حمله جدید با قابلیت نقض این راهکارهای دفاعی ابداع کردهاند. البته اجرای این ر…
موضوعات اصلی: پشتیبانی شبکه، امنیت شبکه، امنیت سایبری، هسته، پیشبینی، استفاده
راهکارهای سختافزاری که طی سالهای اخیر برای رفع یک نقص امنیتی مهم تحت عنوانSpectreدر پردازندههای اینتل وARMپیادهسازی شدهاند، کارایی چندان زیادی ندارند. به تازگی محققان یک روش حمله جدید با قابلیت نقض این راهکارهای دفاعی ابداع کردهاند. البته اجرای این روش نیز نیازمند انجام عملیات سخت و پیچیده است.
روش حمله جدید که توسط محققان گروه امنیت شبکه و سیستمهای دانشگاه وریج آمستردام (به اختصارVUSec) طراحی شده، تحت عنوانSpectre-BHIبرای تزریق تاریخچه انشعاب یاSpectre-BHBبرای بافر تاریخچه انشعاب نامگذاری شده است. این عناوین توسط اینتل وARMانتخاب شدهاند. بنا به گفته تیم تحقیقاتی این پروژه: «این روش حمله جدید نسخه توسعهیافته حمله2017 Spectreاست که تحت عنوانSpectre-BTI(تزریق هدف انشعاب) نیز شناخته میشود. نسخه دوم2017 Spectreمیتواند منجر به نشت اطلاعات حساس از فضای حافظه ممتاز هسته سیستمعامل گردد».
اکسپلویت اثبات مفهوم[1]ساخته شده توسط محققانVUSecبا استفاده از یک حساب کاربری غیرممتاز، هش کلمه عبور کاربر ریشه را از فایل/etc/shadowافشا کرد. فایل/etc/shadowیک فایل سیستمی در لینوکس است که فقط حساب کاربری مدیریتی ریشه به آن دسترسی دارد. به عبارتی این اکسپلویت، هسته را ملزم به بارگذاری این فایل در حافظه میکند. این فایل در حالت معمولی در دسترس پردازشهای غیرممتاز قرار ندارد. در نهایت نیز از حملهSpectre-BHIبرای دسترسی و افشای محتوای آن استفاده میکند. چنین حملهای یک رخنه امنیتی بسیار مهم در مرزهای امنیتی اساسی سیستم عاملهای نوین محسوب میشود که معمولاً فضای حافظه و برنامههای کاربردی حالت کاربری را از فضای حافظه ممتاز هسته تفکیک میکند.
Spectreچیست؟
Spectreکلاسی از آسیبپذیریهای امنیتی است که برای اولین بار در ژانویه 2017 میلادی افشا شد و منشأ اصلی آن یکی از قابلیتهای مرتبط با کارایی پردازندههای نوین تحت عنوان «اجرای حدسی» است. در این روش، پردازنده پیشبینی میکند که یک نرمافزار در هنگام رسیدن به یک انشعاب شرطی چه مسیر اجرایی را در پیش میگیرد و تلاش میکند تا دستورالعملهای آن مسیر را اجرا نماید. اگر مشخص شود که این پیشبینی صورت گرفته بر اساس الگوریتمهای داخلی کارآمد نبوده، نتایج ذخیره شده در کشهای موقت پردازنده نادیده گرفته میشوند. حملات اجرای حدسی مثلSpectreو سایر حملاتی که پس از آن طراحی شدند، از چنین سازوکاری برای نشت اطلاعات از کشهای موقتی که نقش کانالهای جانبی را دارند، سوءاستفاده میکنند.
بنا به گفته محققانVUSec«پس از شناسایی حملهSpectreمیتوانستید به راحتی از تزریق هدف انشعاب (BTIیاSpectre-v2) که خطرناکترین نسخهSpectreاست، در سطوح امتیاز مختلف سوءاستفاده کنید. برای مثال یک مهاجمuserland(اصطلاحuserlandبه کدهایی اشاره دارد که در خارج از هسته سیستمعامل اجرا میشوند) غیرممتاز میتوانست هر هدف انشعابی را برای الگوریتم پیشبینی کننده انشعابازuserlandتزریق نموده و هسته را فریب دهد تادر راستای این پیشبینیبه محل کد تزریق شده پرش و کد پیدا شده در آنجا را اجرا کند».
فروشندگان نرمافزار مثل گوگل و همچنین توسعهدهندگان هسته لینوکس راهکارهای نرمافزاری خاصی مثلretpolineرا برای مقابله با این مخاطرات پیادهسازی کردند. اگرچه این راهکارها کارآمد بودند اما تأثیر منفی بسیار زیادی بر روی کارایی پردازنده داشتند. در نتیجه شرکتهای تولیدکننده پردازنده سازوکارهای دفاعی سختافزاری را پیادهسازی کردند. راهکارهای ارایه شده توسط اینتل وARMبه ترتیبeIBRSوCSV2نام داشتند.
بر اساس توضیحات محققانVUSec«این راهکارها پیچیده هستند امابه طور خلاصه الگوریتم پیشبینی کننده در آنها به نوعی سطح امتیازی (کاربر/هسته)را که هدف در آن اجرا شده، دنبال نموده و همانگونه که انتظار میرود اگر هدف متعلق به سطح امتیاز پایینتری باشد، در اجرای هسته مورد استفاده قرار نمیگیرد. به عبارتیمحلهای درج کد دلخواه برای تحت اختیار گرفتن جریان کنترل هسته توسط مهاجمان قابل استفاده نخواهند بود)».
مشکل اصلی این است که الگوریتم پیشبینی کننده پردازنده برای انتخاب رکوردهای هدف جهت اجرا، متکی بر یک تاریخچه کامل است و محققانVUSecنیز ثابت کردهاند که امکان مسمومیت این تاریخچه کلی وجود دارد.به عبارتی مهاجمان میتوانستند با استفاده ازSpectre v2اصلی محل کد هدف را تزریق کرده و سپس هسته را فریب دهند تا این کد را اجرا کند اماحمله جدیدSpectre-BHI/BHBفقط میتواند هسته را مجبور به پیشبینی اشتباه و اجرای قطعه کدهایی نماید که از قبل در تاریخچه موجود بوده و در گذشته اجرا شده بودند و امکان نشت دادهها توسط آنها وجود دارد.
محققان میگویند: «اگرچهeIBRSوArm CSV2از کارایی قابل قبولی برخوردار هستند ولی با توجه به گستردگی میزان سطح حملهامنیت این راهکارهاتا حدودی نقض شده است. امروزه دستیابی به کلیه محصولات قابل سوءاستفاده چندان آسان نیست چون مهاجم نمیتواند هدفهای الگوریتم پیشبینی کننده را به صورت مستقیم در سرتاسر مرزهای ممتاز تزریق کند».
مقابله با آسیبپذیری جدیدSpectre-BHI
اینتل مدل امتیاز متقابل آسیبپذیری جدیدSpectre-BHIرا با کدCVE-2022-0001و مدل امتیاز یکسان آن را با کدCVE-2022-0002و شرکتARMهم هر دو آسیبپذیری را با کدCVE- 2022-23960دنبال میکنند.
بنا به گفته اینتل: «معمولاً پردازندههای خانوادهAtomاین شرکت تحت تأثیر این آسیبپذیری قرار دارند. پردازندههای آسیبپذیرARMهم شاملCortex-A15Cortex-A57Cortex-A72Cortex-A73Cortex-A75Cortex-A76Cortex-A76AECortex-A77Cortex-A78Cortex-A78AECortex-A78CCortex-X1Cortex-X2Cortex-A710Neoverse N1Neoverse N2وNeoverse V1هستند».
هر دو شرکت توصیه نامههایی منتشر نموده و قصد ارایه راهکارهای نرمافزاری برای رفع این مشکل را دارند».ARMپنج نوع راهکار نرمافزاری مختلف برای سیستمهای متفاوت منتشر کرده است.
محققان VUSec برای اکسپلویت لینوکس، از فناوری eBPF استفاده نمودند. فناوری که از نسخه 4.4 این سیستم عامل منتشر شده است و قابلیت اجرای نرم افزارهای سندباکس شده در هسته سیستم عامل را دارد. اگرچه eBPF علت اصی این نشت داده ای نیست، اما محققان معتقدند این امکان کمک زیادی به اجرای حملات حدسی و سایر حملات میکند. از این روز توصیه کرده اند، که این قابلیت غیرفعال شده و سایر توزیع های لینوکسی هم شروع به غیر فعال سازی این قابلیت در حالت پیش فرض نموده اند.
[1]اکسپلویت اثبات مفهوم (PoC): یک حمله غیر مضر علیه یک کامپیوتر یا شبکه است. سوء استفاده های PoC برای ایجاد آسیب نیست، بلکه برای نشان دادن ضعف های امنیتی در نرم افزار است. شناسایی مسائل به شرکت ها اجازه می دهد تا آسیب پذیری ها را اصلاح کنند و از خود در برابر حملات محافظت کنند.
منبعcsoonline
برای ارزیابی پایداری، امنیت و نگهداری این زیرساخت، راهنمای پشتیبانی شبکه را نیز مطالعه کنید.