آخرین اخبار
همهٔ اخبار
امنیت ابری گزارش بحرانیت ۴/۱۰

رفع آسیب‌پذیری نشت داده‌ها در سرویس Containers شرکت Cloudflare

رفع آسیب‌پذیری نشت داده‌ها در سرویس Containers شرکت Cloudflare

شرکت Cloudflare یک آسیب‌پذیری مربوط به افشای داده‌ها بین مستاجران (Cross-tenant data exposure) را در پلتفرم Containers خود شناسایی و برطرف کرد. این نقص امنیتی در زیرساخت‌های محاسباتی ابری چندمستاجری (Multi-tenant) این شرکت وجود داشت و می‌توانست به یک کاربر اجازه دهد تا داده‌های باقی‌مانده روی دیسک (Residual disk data) متعلق به کاربر دیگری را که روی همان میزبان فیزیکی قرار دارد، بازیابی کند.

جزئیات فنی و مکانیسم حمله

این مشکل که سرویس Cloudflare Sandboxes را نیز تحت تاثیر قرار داده بود، ریشه در لایه ذخیره‌سازی داشت و یک مورد کلاسیک از فرار از کانتینر (Container Escape) یا ماشین مجازی نبود. Cloudflare هر کانتینر را در یک microVM اختصاصی از نوع Firecracker اجرا می‌کند و دیسک ریشه قابل نوشتن آن را به صورت /dev/vdc ارائه می‌دهد.

در این زیرساخت، از قابلیت thin provisioning در dm-thin لینوکس استفاده می‌شود که فضای ذخیره‌سازی فیزیکی را در بلوک‌های 64 کیلوبایتی تخصیص می‌دهد. مشکل زمانی رخ داد که گزینه skip_block_zeroing فعال بود؛ در این حالت، وقتی یک دیسک کانتینر حذف می‌شد، بلوک‌های فیزیکی آن بدون پاک‌سازی به استخر ذخیره‌سازی بازگشته و برای حساب‌های کاربری دیگر تخصیص می‌یافتند.

روش استخراج داده‌ها

پژوهشگران امنیتی با شناسایی نواحی آزاد در سیستم‌فایل ext4 و نوشتن تنها 4 کیلوبایت داده در هر ناحیه، باعث شدند dm-thin یک بلوک 64 کیلوبایتی بازیافتی را تخصیص دهد. در نتیجه، 60 کیلوبایت باقی‌مانده از بلوک قبلی (که متعلق به کاربر دیگری بود) دست‌نخورده باقی می‌ماند و با یک خوانش مستقیم از دستگاه (Raw-device read)، قابل بازیابی بود.

  • یافته‌ها: در بررسی‌های انجام شده، ساختارهای دایرکتوری، صفحات دیتابیس و حتی دیتابیس‌های کامل SQLite از کاربران دیگر شناسایی شد.
  • محدودیت‌ها: مهاجم نمی‌توانست قربانی یا میزبان خاصی را انتخاب کند و دسترسی به دیسک‌های فعال یا تغییر داده‌های زنده کاربران امکان‌پذیر نبود.

اقدامات اصلاحی

شرکت Cloudflare برای رفع این مشکل، ابتدا گزینه skip_block_zeroing را غیرفعال کرد تا رفتار پیش‌فرض dm-thin (پاک‌سازی بلوک‌های جدید) بازگردد. همچنین برای اطمینان کامل، اقدامات زیر را انجام داد:

  • حذف دیسک‌های کانتینری موجود و تخلیه میزبان‌ها (Draining hosts).
  • راه‌اندازی مجدد ماشین‌های مجازی و پاک‌سازی کش‌های تصاویر OCI.
  • توسعه امضاهای شناسایی (Detection signatures) برای رصد الگوهای غیرعادی I/O دیسک.

بررسی‌های تلومتری Cloudflare نشان می‌دهد که هیچ مورد سوءاستفاده مخرب در محیط عملیاتی رخ نداده و تنها فعالیت‌های مربوط به پژوهشگران امنیتی و مهندسان شرکت ثبت شده است.