امنیت سایبری و شبکه

بازگشت شبح: تحلیل حفره امنیتی جدید Branch Target Reuse در موتورهای JIT

پاییز ۱۴۰۵: خانواده آسیب‌پذیری‌های Spectre بار دیگر با کشف یک روش نوین تحت عنوان «Branch Target Reuse» (BTR) بازگشته‌اند تا امنیت موتورهای کامپایلر در لحظه (JIT) را به چالش بکشند. این حمله که توسط محققان دانشگاهی در هلند و ایتالیا شناسایی شده، عملاً یکی از نقاط ضعف ساختاری پردازنده‌های مدرن در مدیریت پیش‌بینی شاخه‌های غیرمستقیم را هدف قرار داده است.

مکانیزم اجرایی حمله BTR؛ وقتی پیش‌بینی‌گرها فریب می‌خورند

آسیب‌پذیری Spectre به دلیل استفاده از «اجرای گمانه‌زنی» (Speculative Execution) در پردازنده‌ها ایجاد می‌شود؛ فرآیندی که برای افزایش کارایی، دستورات را پیش از تایید نهایی اجرا می‌کند. در حمله جدید BTR، محققان نشان دادند که چگونه می‌توان از داده‌های باقی‌مانده در جداول پیش‌بینی شاخه‌ها (Branch Predictor) بهره‌برداری کرد. برخلاف حملات سنتی که نیاز به هدایت اجرا به فضاهای حافظه خارجی داشتند، BTR یک حمله «درجا» (In-Place) است که در آن مهاجم از ورودی‌های قدیمی (Stale Entries) در کش پیش‌بینی استفاده می‌کند تا کنترل جریان اجرای گمانه‌زنی را در داخل موتورهای JIT در دست بگیرد.

تأثیر بر محیط‌های عملیاتی: از هسته لینوکس تا GraalVM

این تحقیق نشان می‌دهد که موتورهای JIT مانند Oracle GraalVM، Mozilla SpiderMonkey و سیستم cBPF در هسته لینوکس در برابر این تهدید آسیب‌پذیر هستند. نکته کلیدی در این پژوهش این است که پردازنده‌های مدرن اگرچه انسجام معماری کد را پس از تغییرات خودکار بازمی‌گردانند، اما لزوماً ورودی‌های قدیمیِ پیش‌بینی شاخه‌های غیرمستقیم را پاکسازی نمی‌کنند. این «پسماند» در کشِ پیش‌بینی، به مهاجم اجازه می‌دهد تا یک «Primitive» از نوع execute-after-free (اجرا پس از آزادسازی) ایجاد کرده و محدودیت‌های دفاعی نرم‌افزاری مانند FineIBT را دور بزند.

ارزیابی فنی و کارایی استخراج داده

  • نام آسیب‌پذیری: Branch Target Reuse (BTR)
  • ماهیت حمله: Spectre v2 In-Place Speculative Attack
  • شناسه‌های CVE: CVE-2026-64507 و CVE-2026-64508
  • نرخ نشت داده (تخمینی): ۵.۷ کیلوبایت بر ثانیه (در پردازنده‌های Intel Raptor Cove)
  • محیط‌های هدف: سیستم‌های مبتنی بر JIT (لینوکس cBPF، GraalVM، SpiderMonkey)

پیامدها و راهکارهای امنیتی

تیم تحقیقاتی با طراحی دو مدل اثبات مفهوم (PoC) توانستند هش رمز عبور ریشه (Root Password Hash) را در یک سیستم لینوکس مبتنی بر اینتل استخراج کنند. اگرچه نرخ ۵ کیلوبایت بر ثانیه برای استخراج سریع داده‌ها کند محسوب می‌شود، اما برای دسترسی به اطلاعات حساس سیستم کافی است. توسعه‌دهندگان هسته لینوکس و اوراکل اقداماتی را برای کاهش این ریسک پیاده‌سازی کرده‌اند. در مقابل، موزیلا استراتژی «جداسازی سایت» (Site Isolation) را برای مقابله با این دست تهدیدات ترجیح داده است. استفاده از مکانیزم‌های سخت‌گیرانه‌ای نظیر IBPB (Indirect Branch Prediction Barrier) می‌تواند موثر باشد، اما هزینه‌ی عملکردی (Performance Overhead) قابل توجهی را به سیستم تحمیل می‌کند که چالش اصلی مهندسان در ماه‌های پایانی ۱۴۰۵ خواهد بود.

📌 منبع و مطالعه بیشتر: گزارش کامل The Register از آسیب‌پذیری BTR
حامد

حامد

مسئول مجله فناوری آسمان نقره‌ای