پرش به محتوا
منو
داده‌نوشت
فناوری، زیرساخت و هوش مصنوعی
رایانش ابری

کلادفلر: حملهٔ راه دور Spectre روی Workers با نرخ ۱۲ بیت بر ثانیه بازسازی شد

کلادفلر در ۱۹ اوت ۲۰۲۶ فاش کرد پژوهشگرانش حملهٔ Spectre از راه دور را روی پروداکشن Workers با نرخ ۱۲ بیت بر ثانیه و دقت بالای ۹۹٪ بازسازی کرده‌اند؛ حمله‌ای که اکنون خنثی شده است.

انتشار: ۲۸ مرداد ۱۴۰۵به‌روزرسانی: ۲ شهریور ۱۴۰۵4 دقیقه
تصویر شاخص پست کلادفلر دربارهٔ حملات Spectre روی Workers
پژوهشگران کلادفلر حملهٔ Spectre راه دور را روی پروداکشن Workers بازسازی کردند — Cloudflare Blog

کلادفلر در ۱۹ اوت ۲۰۲۶ تحلیل فنی عمیقی از حملات Spectre از راه دور علیه زیرساخت Workers خود منتشر کرد و نشان داد که در محیط پروداکشن واقعی، نشت حافظهٔ یک Tenant دیگر با نرخ حداکثر ۱۲ بیت بر ثانیه و دقت بالای ۹۹ درصد ممکن بوده است — پیش از آنکه دفاع‌های جدید اعمال شوند.

#چه اتفاقی افتاد؟

این پست حاصل ارزیابی مجدد داخلی کلادفلر در سال‌های ۲۰۲۴ و ۲۰۲۵ است. تیم امنیت این شرکت پس از ظهور تکنیک‌های تازه در پایدارسازی حملات Spectre تصمیم گرفت ببیند آیا این تکنیک‌ها روی زیرساخت واقعی Workers جواب می‌دهند یا نه. پاسخ، «بله» بود: پژوهشگران یک حملهٔ کامل end-to-end را روی محیط پروداکشن — روی Workerهای تحت کنترل خودشان — اجرا کردند و موفق شدند یک توکن JWT را از حافظهٔ یک Worker قربانیِ هم‌مکان (co-located) بیرون بکشند. مقالهٔ آکادمیک این پژوهش نیز با نویسندگانی از کلادفلر و دانشگاه ادینبرو منتشر شده است.

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

#جزئیات فنی

حمله چند مؤلفهٔ کلیدی را در کنار هم چید:

  • هم‌مکانی مهاجم و قربانی: چون Workerهای مشتریان مختلف می‌توانند در یک پروسهٔ V8 مشترک روی همان سرور لبه اجرا شوند، مهاجم با فراخوانی Worker قربانی از داخل Worker خود، در بیشتر موارد هم‌مکانی را در همان پروسه تضمین می‌کرد.
  • تایمر از راه دور: رانتایم Workers عمداً تایمرهای دقیق را مسدود می‌کند (Date.now() و performance.now() در حین اجرای CPU فریز هستند). راه‌حل مهاجم: یک اتصال WebSocket به سرور خارجی با timestampهای دقیق، به‌همراه تقویت سیگنال.
  • تقویت سیگنال با PLRU درختی: با بهره‌گیری از سیاست جایگزینی pseudo-LRU کش L1، یک رویداد کش تکی به تفاوت زمانی بزرگ قابل‌اندازه‌گیری از راه دور تبدیل می‌شود — چون تفاوت hit/miss در مقیاس نانوثانیه است اما تایمر راه دور در مقیاس میکرو تا میلی‌ثانیه نویز دارد.
  • گجت‌های Spectre: دو نوع گجت؛ نخست نشت اشاره‌گر فشردهٔ heap (ریشهٔ isolate) و دوم speculative type confusion برای خواندن دلخواه ۶۴ بیتی — با سوءاستفاده از اینکه TypedArray در آن زمان هنوز اشاره‌گر خام ۶۴ بیتی به backing store نگه می‌داشت.
  • دور زدن محدودیت منابع: با Durable Objects و پیام‌های keep-alive روی WebSocket، یک isolate را ۵ تا بیش از ۲۰ ساعت زنده نگه داشتند.

نتیجهٔ نهایی: نرخ نشت تا ۱۲ بیت بر ثانیه با دقت بالای ۹۹٪ — در مقایسه با ۱۲۰ بیت بر ساعت در حملهٔ قبلی سال ۲۰۲۱، جهشی چندصدمصاعبه.

نمودار مفهومی حملهٔ Spectre با تایمر راه دور ترکیب تایمر WebSocket و تقویت PLRU، نشت ۱۲ بیت بر ثانیه را ممکن کرد — Cloudflare Blog

#چرا مهم است؟

این افشا از آن دست گزارش‌هایی است که صنعت کمتر می‌بیند: یک ارائه‌دهندهٔ بزرگ که صادقانه نشان می‌دهد دفاع شاخصش — DyPrIs (Dynamic Process Isolation) — زیر بار واقعی چطور از حملهٔ خودش عقب ماند. DyPrIs دو نقص داشت: اسکریپت را فقط «پس از پایان invocation» ایزوله می‌کرد (در حالی که حملهٔ WebSocket ساعت‌ها طول می‌کشد) و نسبت branch misprediction را بر iTLB access نرمال می‌کرد، در حالی که ترافیک سنگین I/O این نسبت را زیر آستانهٔ تشخیص پایین می‌کشید.

پاسخ کلادفلر سه‌لایه است: ادغام V8 Sandbox که اشاره‌گرهای خام ۶۴ بیتی را از بخش بزرگی از heap حذف می‌کند، ایزولاسیون درون‌پروسه‌ای مبتنی بر Memory Protection Keys (MPK) که از سپتامبر ۲۰۲۵ مستقر شده و هر heap را پشت مرز سخت‌افزاری می‌برد، و بازطراحی DyPrIs برای رسیدگی به اجراهای طولانی. درس کلان برای صنعت edge computing روشن است: اجرای کد غریبه‌ها در یک پروسهٔ مشترک، حتی با بهترین دفاع‌های نرم‌افزاری، همیشه یک بازی موش-وگربه خواهد بود و ایزولاسیون سخت‌افزاری درون‌پروسه‌ای احتمالاً آیندهٔ این حوزه است.

#اعداد و ارقام

  • ۱۲ بیت بر ثانیه: نرخ نشت در پروداکشن، با دقت بالای ۹۹٪
  • ۱۲۰ بیت بر ساعت: نرخ حملهٔ راه دور قبلی (۲۰۲۱)
  • سپتامبر ۲۰۲۵: استقرار ایزولاسیون درون‌پروسه‌ای MPK
  • ۵ تا بیش از ۲۰ ساعت: طول عمر isolate مهاجم با ترفند Durable Objects
  • ۳ سال: بازه‌ای که هیچ نشانهٔ بهره‌برداری واقعی در آن یافت نشد

#منابع

مطالب مرتبط

برای ادامه مطالعه

این یادداشت‌ها بر اساس موضوع مشترک، هم‌پوشانی برچسب‌ها و تازگی انتشار انتخاب می‌شوند.