نقص امنیتی کلادفلر؛ حمله اسپکتر توکن‌های JWT را سرقت کرد

پژوهشگران امنیت سایبری جزئیات یک حمله از راه دور اسپکتر (Spectre) را علیه کلادفلر ورکرز (Cloudflare Workers) فاش کردند که توانست توکن‌های امنیتی را با سرعت ۱۲ بیت بر ثانیه نشت دهد.

تتیم تحریریه۴ دقیقه مطالعه۰ بازدید۱۴۰۵/۵/۲۹
نقص امنیتی کلادفلر؛ حمله اسپکتر توکن‌های JWT را سرقت کرد

پژوهشگران حوزه امنیت سایبری جزئیات یک حمله اسپکتر (Spectre) از راه دور را علیه کلادفلر ورکرز (Cloudflare Workers) فاش کرده‌اند که توانسته است یک توکن وب JSON (JWT) را از یک ورکر هم‌مکان در محیط تولید، با سرعت ۱۲ بیت بر ثانیه استخراج کند؛ سرعتی که ۳۶۰ برابر بیشتر از یک حمله مشابه در سال ۲۰۲۱ است.

این آزمایش سرتاسری با استفاده از یک ورکر مهاجم و یک ورکر قربانی که توسط پژوهشگران کنترل می‌شدند انجام گرفت و توکن JWT به عمد در حافظه ورکر قربانی قرار داده شد. مقاله پژوهشی تأکید کرده است که هیچ‌گونه داده‌ای از مشتریان مورد دسترسی قرار نگرفته است.

شرکت کلادفلر (Cloudflare) اعلام کرد که این آسیب‌پذیری پس از بهبود جداسازی فرآیند پویا (DyPrIs)، ادغام محفظه V8 (V8 Sandbox) و استقرار جداسازی درون‌فرآیندی مبتنی بر کلیدهای حفاظت حافظه (MPK) در محیط تولید برطرف شده است و هیچ نشانه‌ای از بهره‌برداری فعال در طول سه سال گذشته یافت نشده است.

پژوهشگران در این مقاله اشاره کردند: «ما نشان می‌دهیم که پیاده‌سازی تولیدی DyPrIs ناکافی بوده است.»

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

به گفته کلادفلر، خواندن حافظه در یک فرآیند مشترک ورکر می‌تواند منجر به نشت اطلاعات بین چندتنانت (Cross-tenant) شود. این حمله مستلزم آن است که ورکرهای مهاجم و قربانی در ایزوله‌های جداگانه V8 در یک فرآیند ورکر مشترک در کنار یکدیگر قرار گیرند.

مهاجم، کد معتبر را در ایزوله خود کنترل می‌کند. اجرای کد بومی خارج از مدل تهدید است و حمله به یک آسیب‌پذیری نرم‌افزاری V8 یا فرار از محفظه (Sandbox escape) وابسته نیست.

کلادفلر اعلام کرد که ورکرز منابع زمانی محلی را با فریز کردن یا درشت‌دانه کردن تایمرها در طول اجرای پردازنده محدود می‌کند و حافظه مشترک یا چندنخی (Multithreading) را در اختیار اسکریپت‌های ورکر قرار نمی‌دهد.

پژوهشگران دریافتند که ارتباطات وب‌سکت (WebSocket) می‌تواند منبع زمانی از راه دور فراهم کند، در حالی که اشیاء پایدار (Durable Objects) می‌توانند یک ایزوله ورکر واحد را بین ۵ تا بیش از ۲۰ ساعت زنده نگه دارند.

مکانیزم DyPrIs اسکریپت‌های مشکوک را پس از اتمام یک فراخوانی به یک فرآیند جداگانه منتقل می‌کند و پژوهشگران دریافتند که یک فراخوانی طولانی‌مدت Durable Object می‌تواند پیش از اعمال جداسازی به کار خود ادامه دهد.

همچنین مشخص شد فعالیت‌های ورودی/خروجی (I/O) سنگین مبتنی بر وب‌سکت، فعالیت بافر ترجمه نگاهکانال دستورالعمل (iTLB) را افزایش داده و سیگنال پیش‌بینی اشتباه شاخه را که توسط DyPrIs استفاده می‌شود، به زیر آستانه تشخیص می‌آورد.

کلادفلر این مسئله را یک محدودیت در پیاده‌سازی DyPrIs توصیف کرد، در حالی که مقاله ذکر می‌کند که این دو ضعف منعکس‌کننده محدودیت‌های اساسی رویکرد تشخیص به جای غفلت‌های پیاده‌سازی هستند. پژوهشگران گفتند که تشخیص قوی باید در طول اجرا صورت گیرد و از سیگنالی استفاده کند که توسط فعالیت‌های I/O سرکوب نشود.

این مقاله می‌گوید آزمایش‌های تولیدی روی سرورهای لینوکس با استفاده از پردازنده‌های ای‌ام‌دی اپیک زن ۲ و زن ۳ (AMD EPYC Zen 2 & Zen 3) انجام شده است و پژوهشگران به عمد اندازه‌گیری‌ها را در شب و زمانی که میزان استفاده از پردازنده بین ۱۰ تا ۲۵ درصد بود، انجام دادند تا بهترین نتایج ممکن مشاهده شود.

پژوهشگران اعلام کردند بارگذاری بالاتر سیستم نرخ نشت را کاهش می‌دهد، اگرچه حملات کندتر تحت بار زیاد همچنان امکان‌پذیر باقی می‌مانند.

این مقاله از نشت داده‌ها با سرعت ۱۲ بیت بر ثانیه و دقت ۹۹.۱۶ درصد خبر داد، در حالی که در حمله قبلی این رقم ۲ بیت در دقیقه بود.

این افشاگری تقریباً پنج سال پس از آن صورت گرفت که کلادفلر و دانشگاه گراتس (TU Graz) پژوهشی را منتشر کردند که نشان‌دهنده یک حمله اسپکتر از راه دور علیه ورکرز با سرعت ۱۲۰ بیت در ساعت بود و DyPrIs را به عنوان یک دفاع معرفی کرد.

مقاله قبلی نرخ مثبت کاذب 0.61 درصدی را گزارش کرد و به این نتیجه رسید که DyPrIs از نظر آماری ضمانت‌های امنیتی مشابهی با جداسازی دقیق فرآیند در برابر حملات اسپکتر ارزیابی‌شده در آن زمان ارائه می‌دهد.

کلادفلر در سپتامبر ۲۰۲۵ اقدامات سخت‌سازی اضافی برای ورکرز را منتشر کرد. تدابیر حفاظتی مستقر شده توسط کلادفلر به شرح زیر هستند:

  • DyPrIs بهبودیافته: قابلیت‌های تشخیص مکانیزم جداسازی موجود را ارتقا می‌دهد.
  • محفظه V8 (V8 Sandbox): دسترسی گذرا به اشاره‌گرهای ۶۴ بیتی را محدود می‌کند.
  • جداسازی درون‌فرآیندی مبتنی بر MPK: پشته‌های ورکر را پشت کلیدهای حفاظتی اعمال‌شده توسط سخت‌افزار قرار می‌دهد.

توضیحات سپتامبر ۲۰۲۵ کلادفلر نشان داد که تخصیص تصادفی MPK به تنهایی حدود ۹۲ درصد از دسترسی‌های بین ایزوله‌ای را به دام می‌اندازد زیرا دو ایزوله می‌توانند یک کلید یکسان دریافت کنند، و طراحی سخت‌تر چیدمان چرشی برای حذف آن شکاف برای مدل تهدید تحت پوشش در داخل محفظه استفاده می‌شود.

نظرات۰

برای نوشتن نظر، وارد حساب خود شوید.

ورود / ثبت‌نام

هنوز نظری ثبت نشده — اولین نفری باش که نظر می‌دهد.