تیم امنیتی Cloudflare اخیراً یک آسیبپذیری حساس با ماهیت نشت داده (Data Leakage) را در زیرساخت Container و Sandbox خود شناسایی و وصله کرده است. این نقص امنیتی که پتانسیل افشای دادههای حساس مشتریان را در محیطهای اشتراکی دارا بود، بار دیگر اهمیت تفکیک دقیق منابع در معماریهای Serverless و Edge Computing را در کانون توجه متخصصان امنیت زیرساخت قرار داده است.
جزئیات فنی و ماهیت آسیبپذیری
این نقص امنیتی در لایه مدیریت Containerها رخ داده است. در معماری Cloudflare Workers، کدهای کاربران (Workers) بر روی میزبانهای فیزیکی مشترک اجرا میشوند. تحلیلهای فنی نشان میدهد که یک مشتری با دسترسی به پلن Workers Paid میتوانست به دادههای باقیمانده در حافظه (Residual Data) مربوط به سایر مشتریانی که بر روی همان هاست فیزیکی اجرا شده بودند، دسترسی پیدا کند. این وضعیت، که به اصطلاح Cross-tenant Data Exposure نامیده میشود، به دلیل ناتوانی در پاکسازی کامل فضای حافظه اختصاصیافته به یک Worker پس از پایان چرخه حیات آن رخ داده است.
مکانیسم بهرهبرداری و مخاطرات احتمالی
بهطور معمول، پلتفرمهای محاسبات ابری مدرن از تکنولوژیهای ایزولهسازی نظیر V8 Isolates استفاده میکنند تا از دسترسی غیرمجاز کدهای مختلف به یکدیگر جلوگیری کنند. در این مورد خاص، فرآیند Garbage Collection یا تخصیص مجدد حافظه در محیط Sandboxed دچار نقص شده بود. مهاجم یا مشتری با دانش فنی کافی میتوانست از طریق تکنیکهای Memory Forensics بر روی Instanceهای همجوار، اقدام به بازیابی دادههایی همچون کلیدهای API، توکنهای احراز هویت یا دادههای موقت تراکنشهای سایر کاربران نماید که همگی نقض جدی سیاستهای امنیت داده محسوب میشوند.
تحلیل معماری ایزولهسازی در Cloudflare
مشخصات و ابعاد فنی حادثه
- نوع آسیبپذیری: نشت داده بین مستأجران (Cross-tenant Data Exposure)
- مؤلفه آسیبپذیر: زیرساخت مدیریت کانتینر و محیط ایزوله Worker
- حوزه تأثیر: مشتریان سرویس Workers Paid
- وضعیت: وصله شده توسط تیم مهندسی Cloudflare
- راهکار امنیتی: بهینهسازی فرآیند ایزولهسازی حافظه و پاکسازی متغیرهای محیطی در Sandbox
اقدامات اصلاحی و واکنش تیم فنی
تیم امنیتی Cloudflare با انتشار گزارش رسمی تأکید کرده است که هیچ شواهدی مبنی بر بهرهبرداری مخرب از این آسیبپذیری پیش از شناسایی توسط محققان مستقل وجود ندارد. این شرکت به سرعت فرآیندهای بازیافت منابع (Resource Recycling) را در کلاسترها بازنگری کرده و مکانیزمهای سختگیرانهتری برای ایزولهسازی کانتینرها در سطح کرنل و محیط اجرای V8 پیادهسازی نموده است. این واقعه در تابستان ۱۴۰۳ بهطور کامل مهار شد و امنیت دادههای مشتریان در زیرساخت Edge تضمین گردید.
درسهای آموخته شده برای زیرساختهای ابری
این رویداد نشان میدهد که حتی با وجود بهرهگیری از فناوریهای پیشرفته ایزولهسازی، ریسکهای مربوط به حافظه مشترک (Shared Memory) همچنان یکی از پیچیدهترین چالشهای زیرساختهای ابری است. برای توسعهدهندگانی که از پلتفرمهای مشابه استفاده میکنند، استفاده از استراتژیهای رمزنگاری دادهها در لایه کاربرد (Application-level Encryption) پیش از ارسال به محیطهای Serverless، همچنان بهترین راهکار برای مقابله با خطرات احتمالی ناشی از نشت زیرساختی است.