به نظر میرسد که هیچ پایانی برای آسیبپذیریهای امنیتی سختافزاری در پردازندههای اینتل و همچنین وصلههای کاهندهی سرعت عملکرد که آنها را رفع میکنند، وجود ندارد.
پردازندههای پیشرفتهی اینتل درحالحاضر در برابر آسیبپذیری جدیدی که شامل بهرهبرداری معکوس از آسیبپذیریهای افشای دادهی Meltdown-type برای دور زدن راهکارهای دفاعی است، آسیبپذیر هستند.
حملهی speculative-execution جدید که با شناسهی CVE-2020-0551 ردیابی میشود و «Load Value Injection in the Line Fill Buffers» یا LVI-LFB نامیده میشود، به یک مهاجم با امتیازات کمتر اجازه میدهد تا اطلاعات حساس ازجمله کلیدهای رمزنگاری یا گذرواژهها را از حافظهی محافظتشده به سرقت ببرد و به کنترل سیستم هدف دست یابد.
بهگفتهی کارشناسان بیتدیفندر و پژوهشگران دانشگاهی از چند دانشگاه، حملهی جدید بهویژه در محیطهای چند مستأجری (multi-tenant) مانند ایستگاههای کاری سازمانی یا سرورهای ابری در مراکز داده ویرانکننده است. دلیل این امر آن است که یک مستأجر با امتیازات کم میتواند از این مسأله برای افشای اطلاعات حساس یک کاربر با امتیازات بالاتر بهرهبرداری کند.
برخلاف آسیبپذیریهای قبلی تراشهی اینتل ازجمله Meltdown، Spectre و MDS که با بهرهبرداری از آنها مهاجم به حافظه دسترسی پیدا میکند و یا داده را در زمان دسترسی قربانی به آن خراب میکند، در حملهی جدید LVI-LFB مهاجم، دادهی مخرب را در بافرهایی تزریق میکند که برنامهی قربانی در طول اجرای speculative بهطور ناخواسته از آنها استفاده میکند.
پژوهشگران بیتدیفندر بیان کردند که مهاجم LFBها را با آدرس یک تابع مخرب منتشر میکند و آدرس تابع مخرب از LFBها بارگذاری میشود، بنابراین موجب میشود که تابع مهاجم بهصورت speculative اجرا شود.
اگرچه آسیبپذیری اخیر نوع جدیدی از حملات MDS است، اما با وصلههای موجود برای حملات شناختهشدهی Meltdown، Foreshadow، ZombieLoad، RIDL یا Fallout speculative-execution نمیتوان با آن مقابله کرد.
این حمله گجتهای کد Spectre-style موجود در برنامهی قربانی را با جریان دادهی غیرقانونی Meltdown-type از دستورالعملهای بارگذاری ناقص یا کمکی حافظه ترکیب میکند تا راهکارهای دفاعی موجود را دور بزند و دادهی تحت کنترل مهاجم رادر یک اجرای گذرا تزریق کند.
همانطور که در تصویر نشان داده شده است، حملهی LVI در ۴ مرحلهی ساده قابل اجرا است:
- یک بافر پردازندهی مخفی را با مقادیر مهاجم آلوده میکند
- وادار به بارگذاری ناقص یا کمکی در برنامهی قربانی میکند
- مقادیر مهاجم پس از بارگذاری ناقص در برنامهی قربانی، بهصورت گذرا در گجتهای کد تزریق میشود
- کانالهای جانبی ممکن است قبل از آنکه پردازنده اشتباه را تشخیص دهد و همهی عملیات را به عقب بازگرداند، اثری از وابستگی پنهانی بهجا بگذارند.
به عبارت دیگر، هنگامی که قربانی بهطور فعال تلاش میکند تا برخی کدها را اجرا کند، مهاجم میتواند بهطور فعال بافرهای MDS را با مقادیری که با دقت انتخاب شدهاند، پرکند تا اجرای نخ قربانی را تحت تأثیر قرار دهد.
بهگفتهی پژوهشگران، چند سناریوی احتمالی برای بهرهبرداری از حملهی سرقت جریان کنترل مبتنیبر LVI-LFB ازجمله تحت تأثیر قرار دادن آدرسی که به آن دسترسی یافته، آفست بافری که به آن دسترسی یافته است و نتیجهی یک شاخهی شرطی وجود دارد.
پژوهشگران بیتدیفندر بیان کردند که سرقت جریان کنترل مبتنیبر LVI به یک مهاجم اجازه میدهد که قربانی را فریب دهد تا بهصورت speculative تابع انتخابی آن را اجرا کند. این از نظر تئوری در همهی مرزهای امنیتی ازجمله فرآیند به فرآیند، حالت کاربر به حالت کرنل و حالت مهمان به حالت روت کار میکند.
پژوهشگران همچنین بهرهبرداریهای اثبات مفهومی توسعه دادهاند که یکی از آنها به مهاجمان اجازه میدهد تا امنیت SGX enclaveهای اینتل را که در حال حاضر در گیتهاب در دسترس هستند، در معرض خطر قرار دهد.
اگرچه پژوهشگران پردازندههای AMD یا ARM را آزمایش نکردهاند، اما اظهار داشتند که درکل، هر پردازندهای که در برابر افشای دادهی Meltdown-type آسیبپذیر باشد، در برابر تزریق دادهی LVI-style نیز آسیبپذیر است.
گروهی از پژوهشگران این آسیبپذیری را یک سال پیش به اینتل گزارش دادند، درحالیکه بیتدیفندر در ماه گذشته بلافاصله پس از کشف آن را گزارش داد.
اینتل این یافتهها را تأیید کرده و فهرستی از همهی محصولات آسیبدیده را به همراه اطلاعاتی دربارهی بهروزرسانیهای وصلهی امنیتی میکروکد در وبگاه خود منتشر کرده است.
بااینحال، از آنجا که آسیبپذیریهای سختافزاری با وصلههای نرمافزاری قابل رفع نیستند، پژوهشگران به کاربران آسیبدیده توصیه میکند تا ویژگیهای عملکردی مانند hyper-threading را غیرفعال کنند و یا برای مقابله با چنین آسیبپذیریهایی، سختافزار را تعویض کنند.