محققان مرکز پاسخگویی امنیتی مایکروسافت (MSRC) و Orca Security این هفته روی یک آسیبپذیری حیاتی در Microsoft Azure Cosmos DB که بر ویژگی Cosmos DB Jupyter Notebooks تأثیر میگذارد، استفاده کردند. اشکال اجرای کد از راه دور (RCE) تصویری از نحوه استفاده از ضعفهای موجود در معماری احراز هویت محیطهای مبتنی بر ابر و محیطهای سازگار با یادگیری ماشین ارائه میدهد.
این آسیبپذیری که توسط تیم تحقیقاتی Orca CosMiss نامیده میشود، به یک پیکربندی نادرست در نحوه مدیریت هدرهای مجوز خلاصه میشود، که به کاربران غیرقانونی اجازه دسترسی خواندن و نوشتن به نوتبوکهای Azure Cosmos DB و تزریق و بازنویسی کد را میدهد.
به طور خلاصه، اگر یک مهاجم از 'forwardingId' یک Notebook که UUID فضای کاری Notebook است اطلاعات داشت، مجوزهای کامل روی Notebook از جمله دسترسی خواندن و نوشتن، و توانایی تغییر سیستم فایل را داشت. لیدور بن شیتریت و روئی ساگی از اورکا در نامه ای نوشتند: ظرفی که دفترچه یادداشت را اداره می کند. فرسودگی فنی از آسیب پذیری "با تغییر سیستم فایل کانتینر - با نام فضای کاری اختصاصی برای میزبانی موقت نوت بوک - ما توانستیم RCE را در ظرف نوت بوک بدست آوریم."
یک پایگاه داده NoSQL توزیع شده، Azure Cosmos DB برای پشتیبانی از برنامه های مقیاس پذیر و با کارایی بالا با در دسترس بودن بالا و تاخیر کم طراحی شده است. از جمله کاربردهای آن برای تله متری و تجزیه و تحلیل دستگاه IoT است. خدمات خرده فروشی بلادرنگ برای اجرای مواردی مانند کاتالوگ محصولات و توصیه های شخصی مبتنی بر هوش مصنوعی؛ و برنامه های کاربردی توزیع شده در سطح جهانی مانند خدمات استریم، خدمات تحویل و تحویل و موارد مشابه.
در ضمن، Jupyter Notebooks یک محیط توسعهدهنده تعاملی منبع باز (IDE) است که توسط توسعهدهندگان، دانشمندان داده، مهندسان و تحلیلگران تجاری برای انجام همه چیز از کاوش دادهها و پاکسازی دادهها تا مدلسازی آماری، تجسم دادهها و یادگیری ماشین استفاده میشود. این یک محیط قدرتمند است که برای ایجاد، اجرا و به اشتراک گذاری اسناد با کد زنده، معادلات، تجسم ها و متن روایت ساخته شده است.
محققان Orca می گویند که این عملکرد یک نقص در احراز هویت در نوت بوک های Cosmos DB را بسیار خطرناک می کند، زیرا "توسط توسعه دهندگان برای ایجاد کد استفاده می شود و اغلب حاوی اطلاعات بسیار حساس مانند اسرار و کلیدهای خصوصی تعبیه شده در کد هستند."
این نقص در اواخر تابستان معرفی شد، در اوایل اکتبر توسط Orca برای مایکروسافت کشف و افشا شد و ظرف دو روز برطرف شد. به دلیل معماری توزیع شده Cosmos DB، این وصله نیازی به هیچ اقدامی از سوی مشتریان نداشت تا عرضه شود.
اولین آسیب پذیری یافت شده در کیهان نیست
ادغام داخلی نوتبوکهای Jupyter در Azure Cosmos DB هنوز یک ویژگی در حالت پیشنمایش است، اما قطعاً این اولین نقص عمومی نیست که در آن یافت میشود. محققان سال گذشته با Wiz.io کشف زنجیره ای از ایرادات در این ویژگی که به هر کاربر Azure اجازه می دهد بدون مجوز به نمونه های Cosmos DB سایر مشتریان دسترسی ادمین کامل داشته باشد. در آن زمان، محققان گزارش کردند که برندهای بزرگی مانند کوکاکولا، کوهلر، رولز رویس، زیمنس و سیمانتک همگی کلیدهای پایگاه داده را در معرض دید قرار داده بودند.
خطر و تأثیرات این نقص اخیر به دلیل تعدادی از عواملی که MSRC در وبلاگی که روز سه شنبه منتشر شد، از نظر دامنه محدودتر قابل بحث است.
طبق وبلاگ MSRC، باگ قابل بهرهبرداری تقریباً دو ماه پس از بهروزرسانی در تابستان امسال در API پشتیبان که منجر به تأیید نشدن درخواستها به درستی شد، افشا شد. خبر خوب این است که تیم امنیتی تحقیقات کاملی در مورد فعالیت انجام داد و در آن زمان هیچ نشانهای از نفوذ مهاجمان به این نقص پیدا نکرد.
مایکروسافت از 12 آگوست تا 6 اکتبر تحقیقاتی در مورد داده های گزارش انجام داد و هیچ درخواست brute force که نشان دهنده فعالیت مخرب باشد را شناسایی نکرد. یک سخنگوی MSRC نوشت، او همچنین خاطرنشان کرد که 99.8٪ از مشتریان Azure Cosmos DB هنوز از نوت بوک های Jupyter استفاده نمی کنند.
کاهش خطر بیشتر این واقعیت است که ForwardingId استفاده شده در اثبات مفهوم Orca طول عمر بسیار کوتاهی دارد. نوت بوک ها در یک فضای کاری نوت بوک موقتی اجرا می شوند که حداکثر طول عمر آن یک ساعت است و پس از آن تمام داده های آن فضای کاری حذف می شوند.
مایکروسافت توضیح داد: «تأثیر بالقوه محدود به دسترسی خواندن/نوشتن نوتبوکهای قربانی در زمانی است که فضای کاری نوتبوکهای موقت او فعال است». این آسیبپذیری، حتی با اطلاع از ForwardingId، توانایی اجرای نوتبوکها، ذخیره خودکار نوتبوکها در مخزن GitHub متصل (اختیاری) قربانی، یا دسترسی به دادهها در حساب Azure Cosmos DB را نمیدهد.»