این حمله که توسط محققین امنیتی Luyi Li، حسین یاور زاده و دین تولسن با نام Indirector نامگذاری شده است، از نقصهای شناساییشده در Indirect Branch Predictor (IBP) و Branch Target Buffer (BTB) برای دور زدن دفاعهای موجود و به خطر انداختن امنیت پردازندهها استفاده میکند.
محققان خاطرنشان کردند[۱]: پیشبینی کننده شاخه غیرمستقیم (IBP) یک جزء سختافزاری در CPUهای مدرن است که آدرسهای هدف شاخههای غیرمستقیم را پیشبینی میکند.
“شاخههای Indirect دستورالعملهای جریان کنترلی هستند که آدرس هدف آنها در زمان اجرا محاسبه میشود و پیشبینی دقیق آنها را به چالش میکشد. IBP از ترکیب تاریخچه جهانی و آدرس شعبه برای پیشبینی آدرس هدف شاخههای Indirect استفاده میکند.”
این ایده، در هسته خود، شناسایی آسیبپذیریها در IBP برای راهاندازی[۲] حملات دقیق تزریق هدف شاخه (BTI) – با نام مستعار Spectre v2 ([3]CVE-2017-5715) است – که پیشبینی کننده شاخه [۴]Indirect پردازنده را هدف قرار میدهد تا منجر به افشای غیرمجاز اطلاعات به یک مهاجم با دسترسی کاربر محلی از طریق یک کانال جانبی شود.
این کار با استفاده از یک ابزار سفارشی به نام iBranch Locator انجام میشود که برای مکانیابی هر شاخه Indirect استفاده میشود و به دنبال آن تزریقهای دقیق IBP و BTP برای اجرای حدس و گمان انجام میشود.
یاور زاده، یکی از نویسندگان اصلی مقاله، به هکر نیوز گفت: «درحالیکه[۵]Pathfinder در حقیقتConditional Branch Predictor را هدف قرار میدهد، که پیشبینی میکند آیا شعبهای گرفته میشود یا خیر، این تحقیق به پیشبینی هدف حمله میکند و افزود: «حملات Indirector بسیار بیشتر و ازنظر سناریوهای بالقوه آنها شدید هستند.»
یاور زاده گفت: Indirector در حقیقت IBP و BTB را مهندسی معکوس میکند که مسئول پیشبینی آدرسهای هدف دستورالعملهای شاخه در پردازندههای مدرن هستند، با هدف ایجاد حملات تزریق هدف شاخه با وضوح بسیار بالا که میتواند جریان کنترل برنامه قربانی را ربوده و باعث پرش به مکانهای دلخواه و نشت اسرار شود.
اینتل که در فوریه ۲۰۲۴ از یافتهها مطلع شد، از آن زمان به دیگر فروشندگان سختافزار/نرمافزار آسیبدیده در مورد این مشکل اطلاع داده است.
سخنگوی این شرکت به این نشریه گفت: «اینتل گزارش ارائهشده توسط محققان دانشگاهی را بررسی کرد[۶] و مشخص کرد که دستورالعملهای بازدارندگی قبلی ارائهشده برای موضوعاتی مانند [۷]IBRS، eIBRS و [۸]BHI در برابر این تحقیقات جدید مؤثر است و نیازی به بازدارندگی یا راهنمایی جدید نیست.»
بهعنوان بازدارندگی، توصیه میشود از سد پیشبینی شاخه Indirect (IBPB) با شدت بیشتری استفاده کنید و طراحی واحد پیشبینی شاخه (BPU) را با ترکیب برچسبهای پیچیدهتر، رمزگذاری و تصادفی سازی سختتر کنید.
این تحقیق در حالی انجام میشود که پردازندههای Arm مستعد حملههای اجرایی گمانهزنی به نام TIKTAG هستند که افزونه برچسبگذاری حافظه (MTE) را هدف قرار میدهد تا دادههایی را با نرخ موفقیت بیش از ۹۵ درصد در کمتر از چهار ثانیه به بیرون درز کند.
محققان جوهی کیم، جینبوم پارک، سیهیون رو، جایونگ چانگ، یونگجو لی، تاسو کیم و بیونگ یانگ لی گفتند[۹]: «این مطالعه ابزارهای جدید TikTag را شناسایی میکند که قادر به افشای برچسبهای MTE از آدرسهای حافظه دلخواه از طریق اجرای حدس و گمان هستند.»
با ابزارهای TikTag، مهاجمان میتوانند دفاع احتمالی MTE را دور بزنند و نرخ موفقیت حمله را نزدیک به ۱۰۰ درصد افزایش دهند.
در پاسخ به این افشاگری، Arm گفت[۱۰]: «MTE میتواند مجموعهای محدود از دفاعهای خط اول قطعی و مجموعهای وسیعتر از دفاعهای خط اول احتمالی را در برابر کلاسهای خاصی از بهرهبردارها ارائه کند».
بااینحال، ویژگیهای احتمالی بهگونهای طراحی نشدهاند که راهحلی کامل در برابر یک دشمن تعاملی باشد که قادر به اعمال زور، نشت یا ایجاد برچسبهای آدرس دلخواه باشد.
منابع
[۱] https://indirector.cpusec.org
[۲] https://thehackernews.com/2024/05/new-spectre-style-pathfinder-attack.html
[۳] https://nvd.nist.gov/vuln/detail/cve-2017-5715
[۴] https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/retpoline-branch-target-injection-mitigation.html
[۵] https://thehackernews.com/2024/05/new-spectre-style-pathfinder-attack.html
[۶] https://www.intel.com/content/www/us/en/security-center/announcement/intel-security-announcement-2024-07-02-001.html
[۷] https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/speculative-execution-side-channel-mitigations.html#IBRS
[۸] https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/branch-history-injection.html
[۹] https://arxiv.org/abs/2406.08719
[۱۰] https://developer.arm.com/documentation/109544/latest
[۱۱] https://thehackernews.com/2024/07/new-intel-cpu-vulnerability-indirector.html
ثبت ديدگاه