به گزارش زوم تک از هکر نیوز، یک نقص امنیتی در سرویس کانتینرهای کلودفلر (Cloudflare Containers) به مشتریان این امکان را می داد تا داده هایی را که کانتینرهای دیگر روی همان سرور بر جای گذاشته بودند، مشاهده و مطالعه کنند.
نشت اطلاعات حساس کاربران از طریق کانتینرهای کلودفلر
بر اساس بیانیه رسمی کلودفلر و گزارش پژوهشگرانی که این باگ را کشف کرده اند، این داده ها از فضای دیسکی به دست آمده بودند که کانتینرهای قبلی از آن استفاده کرده و سپس آن را رها کرده بودند، بنابراین پای پردازش های زنده و فعال در میان نبوده است. همچنین یک نفوذگر امکان انتخاب مستقیم هدف خود را نداشت تا مشخص کند داده های کدام کاربر خاص را دریافت می کند. شرکت کلودفلر اعلام کرده است که این باگ را در تمامی بخش های سرویس خود برطرف کرده و نیازی به اقدام خاصی از سوی مشتریان نیست.
تاثیرپذیری محیط های ایزوله و سندباکس های اجرای کد هوش مصنوعی
سرویس کانتینرهای کلودفلر برنامه های کاربران را درون کانتینرهایی اجرا می کند که روی سرورهای اشتراکی میان چندین حساب کاربری توزیع شده اند و وظیفه انتخاب سرور بر عهده خود کلودفلر است نه کاربر. سرویس سندباکس کلودفلر (Cloudflare Sandboxes) نیز که زیرساخت آن بر بستر همین کانتینرها بنا شده و به عنوان محیطی کاملا امن برای اجرای کدهای نامطمئن، از جمله کدهای توسعه یافته توسط عامل های هوش مصنوعی به فروش می رسد، تحت تاثیر این آسیب پذیری قرار گرفته بود. این حفره امنیتی در تاریخ ۴ سپتامبر توسط اورن یومتوف، پژوهشگر شرکت امنیتی Accomplish، از طریق برنامه پاداش در ازای کشف باگ (Bug Bounty) به کلودفلر گزارش شد.
علت فنی نقص امنیتی؛ خطای پیکربندی در قابلیت تین پروویژنینگ لینوکس
ریشه این چالش بزرگ در شیوه پیکربندی دیسک های ذخیره سازی اشتراکی نهفته بود. هر کانتینر یک دیسک مجازی دریافت می کند که با استفاده از ویژگی Thin Provisioning در هسته لینوکس ساخته می شود؛ ویژگی خاصی که فضای ذخیره سازی را در بلوک های ۶۴ کیلوبایتی تخصیص می دهد. طبق روال معمول، زمانی که یک کانتینر حذف می شد، بلوک های دیسک آن به یک استخر اشتراکی میان تمامی حساب های کاربری بازمی گشتند. اما تنظیمات این استخر طوری دستکاری شده بود که عملیات پاکسازی کامل و صفر کردن بایت های بلوک (Wiping) را پیش از واگذاری آن به کانتینر بعدی نادیده می گرفت، در حالی که این پاکسازی همیشه به عنوان تنظیم پیش فرض در سیستم های ابری فعال است. بنابراین هنگامی که یک کانتینر تازه حجم کمی از اطلاعات را درون یک بلوک بازیافتی می نوشت، باقی مانده فضای آن بلوک همچنان حاوی داده های کانتینر پیشین بود.
نحوه استخراج اطلاعات دیسک خام و شواهد آزمایشگاهی پژوهشگران
پژوهشگران برای دسترسی به این داده ها، یک بلوک آزمایشی کوچک ۴ کیلوبایتی را در فضای استفاده نشده نوشتند و سپس کل بلوک ۶۴ کیلوبایتی را در سطح دیسک خام بازخوانی کردند. در این شرایط، ۶۰ کیلوبایت باقی مانده که تغییری نکرده بود، حاوی بایت هایی از کانتینر قبلی مشتری دیگر بود. پژوهشگران در آزمایش های عملی خود روی سرورهای واقعی گزارش دادند که در ۱۸ مورد از ۲۴ تلاش، به داده های بر جای مانده از سایرین دسترسی پیدا کرده اند؛ این آزمون ها روی سرورهایی انجام شد که خود کلودفلر انتخاب کرده بود و در ۲۰ ماشین از ۲۲ سرور زیرساختی در چهار قاره مختلف تکرار شد.
ماهیت داده های افشا شده؛ از پایگاه های داده تا پروفایل های مرورگر
کلودفلر تایید کرده است که بلوک های بازیابی شده حاوی ساختارهای دایرکتوری، صفحات دیتابیس و پایگاه های داده ساختاریافته کامل SQLite بوده اند. در گزارش فنی خود پژوهشگران نیز مواردی از قبیل فهرست دایرکتوری ها، پایگاه های داده اس کیو لایت، پروفایل های مرورگر کرومیوم، فایل های پیکربندی env. و فایل های حاوی اعتبارنامه ها و کلیدهای دسترسی مشاهده و به عنوان اسناد مشتریان دیگر ثبت شده است. البته پژوهشگران اعلام کردند که اسکریپت های تحلیلی آنها صرفا تعداد و نوع فرمت ها را ثبت کرده و محتوای اصلی فایل ها خوانده نشده است؛ همچنین مستنداتی که برای کلودفلر ارسال شد خالی از هرگونه نام، شناسه کاربری، اعتبارنامه یا محتوای افشا شده اشخاص ثالث بود. علاوه بر این، پژوهشگران اطمینان دادند که اطلاعات بازیابی شده به صورت کاملا محرمانه حفظ شده و پس از ارسال گزارش به کلودفلر، به شیوه ای امن برای همیشه حذف شده اند.
فرایند دو مرحله ای کلودفلر برای رفع کامل باگ و پاکسازی سرورها
کلودفلر روند ترمیم این باگ خطرناک را در دو مرحله پیاپی به سرانجام رساند. در گام اول، این شرکت ویژگی پاکسازی داده ها پیش از واگذاری بلوک های جدید را مجددا فعال کرد که این اقدام مسیر سوءاستفاده گزارش شده را مسدود ساخت و پژوهشگران در تاریخ ۱۴ سپتامبر تایید کردند که روش اثبات مفهوم آنها دیگر پاسخ نمی دهد. با این وجود، این تغییر بلوک هایی را که از قبل به دیسک کانتینرهای در حال اجرا متصل شده بودند یا درون لایه های کش تصاویر آماده روی سرورها قرار داشتند پاک نمی کرد. از این رو کلودفلر در مرحله دوم، تمامی دیسک های کانتینرهای فعال را از رده خارج کرد، حافظه های کش را به طور کامل پاکسازی نمود و سرورها را در ساعات خلوت کاری تخلیه کرده و مجددا راه اندازی کرد. فرایند پاکسازی در ۱۹ سپتامبر به پایان رسید و پنج روز پس از آن خبر رسمی منتشر شد.
بررسی سوابق لاگ ها و پرونده های مشابه فرار از محیط سندباکس
کلودفلر اعلام کرد که به دنبال نشانه هایی مبنی بر سوءاستفاده دیگران از این روش بوده است. این شرکت الگوهای شناسایی را بر اساس سناریوی پژوهشگران ساخت و آنها را با سوابق فعالیت دیسک های خود تطبیق داد. نتایج نشان داد که تنها آزمایش های تایید شده پژوهشگران و مهندسان خود کلودفلر ثبت شده و هیچ ردی از بهره برداری خرابکارانه به چشم نمی خورد، هرچند که بازه زمانی دقیق و تاریخ آغاز این پیکربندی ناامن به روشنی اعلام نشده است. پژوهشگران که مدعی هستند همین معماری دیسک روی محصول Browser Run کلودفلر نیز اثرگذار بوده است، این کشف را ششمین فرار از سندباکس معرفی کردند که از ماه ژوئیه منتشر کرده اند؛ کشفیاتی که پیش تر در ابزارهایی همچون کلود کوورک و کلود کد متعلق به آنتروپیک، ابزار خط فرمان Cursor، داکر و همچنین کدکس شرکت اوپن ای آی به ثبت رسیده بود.




نظرات در مورد : رفع آسیب پذیری بحرانی کلودفلر ؛ امکان خواندن اطلاعات باقیمانده سایر مشتریان روی دیسک های اشتراکی