GhostRaceگروهی از محققان یک حمله نشت داده جدید (GhostRace) را کشف کرده‌اند که بر معماری‌های CPU مدرن که از اجرای گمانه‌زنی پشتیبانی می‌کنند، تأثیر می‌گذارد.

این برنامه که GhostRace (CVE-2024-2193) نامیده می‌شود[۱]، نوعی آسیب‌پذیری CPU اجرای گذرا است که با نام Spectre v1 (CVE-2017-5753) شناخته می‌شود. این رویکرد اجرای حدس و گمان و شرایط مسابقه را ترکیب می‌کند.

محققان گفتند[۲]: “همه اصول اولیه همگام‌سازی رایج که با استفاده از شاخه‌های شرطی اجرا می‌شوند را می‌توان از نظر ریز معماری در مسیرهای گمانه‌زنی با استفاده از حمله پیش‌بینی نادرست شاخه دور زد و تمام مناطق حیاتی عاری از مسابقه معماری را به شرایط مسابقه فرضی (SRC) تبدیل کرد و به مهاجمان اجازه می‌دهد اطلاعات را از هدف نشت کنند.”

یافته‌های گروه تحقیقاتی امنیت سیستم‌ها در IBM Research Europe و VUSec که دومی حمله کانال جانبی دیگری به نام SLAM[3] را فاش کرد که پردازنده‌های مدرن را در دسامبر ۲۰۲۳ هدف قرار می‌داد.

Spectre به دسته‌ای از حملات کانال جانبی[۴] اشاره دارد که از پیش‌بینی branch و اجرای حدس و گمان در CPUهای مدرن برای خواندن داده‌های ممتاز[۵] در حافظه، دورزدن حفاظت‌های جداسازی بین برنامه‌ها، بهره‌برداری می‌کنند.

درحالی‌که اجرای گمانه‌زنی یک تکنیک بهینه‌سازی عملکرد است که توسط اکثر پردازنده‌ها استفاده می‌شود، حملات Spectre از این واقعیت استفاده می‌کنند که پیش‌بینی‌های اشتباه آثاری از دسترسی‌ها یا محاسبات حافظه در حافظه پنهان پردازنده باقی می‌گذارند.

محققین حمله Spectre در ژانویه ۲۰۱۸ خاطرنشان کردند[۶]: «حملات اسپکتر قربانی را وادار می‌کند تا عملیات‌هایی را که در طول پردازش دقیق سریالی دستورات برنامه رخ نمی‌دهد، انجام دهد و اطلاعات محرمانه قربانی را از طریق یک کانال مخفی به دشمن درز می‌کند.»

چیزی که GhostRace را قابل‌توجه می‌کند این است که یک مهاجم تأیید نشده را قادر می‌سازد تا داده‌های دلخواه را از پردازنده با استفاده از شرایط مسابقه برای دسترسی به مسیرهای کد اجرایی گمانه‌زنی با استفاده از آنچه Speculative Concurrent Use-After-Free یا SCUAF نامیده می‌شود، استخراج کند.

شرایط مسابقه وضعیت نامطلوبی[۷] است که زمانی رخ می‌دهد که دو یا چند فرایند تلاش می‌کنند به یک منبع مشترک و بدون هماهنگ‌سازی مناسب دسترسی پیدا کنند، در نتیجه منجر به نتایج متناقض می‌شود و پنجره‌ای از فرصت را برای مهاجم برای انجام اقدامات مخرب باز می‌کند.

مرکز هماهنگی CERT (CERT/CC) در گزارشی توضیح داد[۸]: «از نظر ویژگی‌ها و استراتژی بهره‌برداری، آسیب‌پذیری SRC مشابه شرایط مسابقه کلاسیک است.»

بااین‌حال، این آسیب‌پذیری ازاین‌جهت متفاوت است که مهاجم از شرایط مسابقه گفته شده در مسیری که به طور موقت اجرا شده و از یک شاخه گمانه‌زنی اشتباه سرچشمه می‌گیرد (شبیه به Spectre v1) بهره‌برداری می‌کند و قطعه کد مسابقه یا ابزاری را هدف قرار می‌دهد که در نهایت اطلاعات را برای مهاجم فاش می‌کند.

نتیجه نهایی این است که به یک مهاجم با دسترسی به منابع CPU اجازه می‌دهد تا به داده‌های حساس دلخواه از حافظه میزبان دسترسی داشته باشد.

VUSec در این باره گفت[۹]: “هر نرم‌افزاری، به‌عنوان‌مثال، سیستم‌عامل، hypervisor، و غیره که همگام‌سازی اولیه را از طریق شاخه‌های شرطی بدون هیچ‌گونه دستورالعمل serializing در آن مسیر و روی هر گونه ریز معماری (مانند، x86، ARM، RISC-V، و غیره) اجرا می‌کند که اجازه می‌دهد شاخه‌هایی شرطی به‌صورت گمانه‌زنی اجرا ‌شوند، در برابر SRC آسیب‌پذیر هستند.”

پس از افشای مسئولانه، AMD گفت[۱۰] که دستورالعمل‌های موجود برای Spectre “برای کاهش این آسیب‌پذیری نیز قابل‌اجرا باقی می‌ماند.” نگهبانان هایپروایزر منبع‌باز Xen اذعان کردند که همه نسخه‌ها تحت‌تأثیر قرار می‌گیرند، اگرچه آنها می‌گویند بعید است که این آسیب‌پذیری تهدید امنیتی جدی ایجاد کند.

Xen گفت[۱۱]: «از روی احتیاط، تیم امنیتی Xen وصله‌های سخت‌کننده‌ای از جمله افزودن مکانیزم جدید LOCK_HARDEN در x86 مشابه BRANCH_HARDEN موجود ارائه کرده است.»

“LOCK_HARDEN به دلیل عدم اطمینان از وجود آسیب‌پذیری در Xen و عدم اطمینان در مورد تأثیر عملکرد به طور پیش‌فرض خاموش است. بااین‌حال، ما انتظار داریم تحقیقات بیشتری در این زمینه انجام شود و احساس می‌کنیم که عاقلانه است که اقدامات کاهشی انجام شود.”

 

منابع

[۱] https://github.com/vusec/ghostrace

[۲] https://ibm.github.io/system-security-research-updates/2024/03/12/ghostrace

[۳] https://apa.aut.ac.ir/?p=10124

[۴] https://thehackernews.com/2021/05/new-spectre-flaws-in-intel-and-amd-cpus.html

[۵] https://apa.aut.ac.ir/?p=10061

[۶] https://spectreattack.com

[۷] https://www.automox.com/blog/vulnerability-definition-race-condition

[۸] https://kb.cert.org/vuls/id/488902

[۹] https://www.vusec.net/projects/ghostrace/

[۱۰] https://www.amd.com/en/resources/product-security/bulletin/amd-sb-7016.html

[۱۱] https://seclists.org/oss-sec/2024/q1/220

[۱۲] https://thehackernews.com/2024/03/ghostrace-new-data-leak-vulnerability.html