CosmosEscape: نقص Azure Cosmos DB که دسترسی سراسری با کلید سطح پلتفرم را ممکن می‌کرد

محققان Wiz زنجیره‌ای را با نام CosmosEscape فاش کردند که می‌توانست کلید سطح پلتفرم را لو بدهد

تیم تحقیقاتی Wiz گزارش داد زنجیره‌ای از بهره‌برداری در Azure Cosmos DB با ارسال یک پرس‌وجوی ساختگی به موتور Gremlin می‌توانست اجرای کد روی دروازهٔ چندمستأجره را ممکن سازد و در نتیجه کلید امضای سطح پلتفرم (Cosmos Master Key) و فهرست حساب‌های منطقه‌ای را افشا کند. دسترسی به این کلید به مهاجم امکان می‌داد کلید اصلی حساب‌های هدف را از طریق نقطه‌پایانی عمومی Cosmos DB بازیابی و کنترل کامل بر پایگاه‌های داده را به‌دست آورد.

قدم‌به‌قدم: از پرس‌وجوی Gremlin تا کلید اصلی

طبق گزارش فنی Wiz، موتور سفارشی Azure Cosmos DB پرس‌وجوهای Gremlin را به کد .NET ترجمه و در محیطی محدود اجرا می‌کرد. این محدودیت‌ها محافظت لازم مقابل قابلیت‌های بازتاب (.NET Reflection) را تأمین نکرده بودند؛ محققان با بهره‌گیری از بازتاب توانستند خواندن و نوشتن فایل و نهایتاً اجرای کد دلخواه را ممکن کنند. اجرای کد به مؤلفه‌ای به نام DB Gateway رسید که پرس‌وجوها را روی خوشه‌های چندمستأجره Azure Service Fabric اجرا می‌کند؛ از طریق این مؤلفه کلید امضای پلتفرم و دسترسی به Config Store فاش شد.

نمای شماتیک زنجیره بهره‌برداری CosmosEscape و نقشه دسترسی به کلیدها

چرا این مشکل خطرناک بود

  • کلید اصلی یک حساب Cosmos DB اجازهٔ کنترل کامل بر منابع آن حساب را می‌دهد؛ شامل APIهای SQL، MongoDB، Cassandra و Gremlin.
  • کلید امضای سطح پلتفرم می‌توانست کلیدهای اصلی حساب‌ها را در مستأجرها، مناطق و APIهای مختلف بازیابی کند.
  • Config Store که فهرستی از نام حساب‌ها، شناسه‌های اشتراک و مستأجر، تنظیمات شبکه و برچسب‌ها را نگه می‌دارد، به مهاجم کمک می‌کرد حساب‌های سازمانی خاص را شناسایی کند.
  • زنجیرهٔ بهره‌برداری نیازی به مجوز ویژه، دسترسی داخلی یا نفوذ قبلی نداشت؛ تنها یک حساب Azure و یک پایگاه‌دادهٔ Gremlin تحت کنترل مهاجم کافی بود.

دامنه آزمایش و یافته‌های Wiz

Wiz می‌گوید کلید امضای پلتفرم را روی انواع APIهای Cosmos DB و در چند منطقه آزمایش کرده و کلید توانسته بود حساب‌های تست‌شده را باز کند. این گروه از طریق Config Store نیز پرس‌وجویی انجام داد که نشان داد یک مستأجر در یک منطقه شامل هزاران پایگاه‌دادهٔ داخلی مایکروسافت بوده است؛ Wiz تأکید کرده هرچه در گزارش مطرح شده بازتابِ قابلیت‌هایی است که کلید فراهم می‌کرد، نه اقداماتی که تیم تحقیقاتی عملاً انجام داده است.

واکنش مایکروسافت و وضعیت رفع

مایکروسافت نقطهٔ ورود آسیب‌پذیر Gremlin را ظرف ۴۸ ساعت پس از گزارش اولیه در نوامبر ۲۰۲۵ مسدود کرد و اصلاح بلندمدت را در تمام مناطق تا ژوئیهٔ ۲۰۲۶ تکمیل نمود و کلید سطح پلتفرم را حذف کرد. این شرکت می‌گوید شواهدی از دسترسی غیرمجاز به داده‌های مشتری یا تأثیر بر مشتریان نیافته و هیچ اقدام خاصی از سوی مشتریان لازم نیست. مایکروسافت همچنین اعلام کرده به سرمایه‌گذاری در بهبودهای امنیتی ادامه خواهد داد. برای جزئیات فنی دربارهٔ عملکرد Cosmos DB می‌توان به مستندات رسمی مایکروسافت مراجعه کرد.

پیامدهای عملی برای سازمان‌ها

این رخنه نشان می‌دهد هر کلید سطح‌بالا یا سرویس مشترک در معماری چندمستأجره می‌تواند نقطهٔ انفصال بزرگی باشد. در اختیار داشتن کلید اصلی حساب به مهاجم اجازه می‌دهد داده‌ها را بخواند، حذف یا تغییر دهد و سرویس‌ها یا بک‌آپ‌های وابسته را در معرض خطر قرار دهد.

پیشنهادهای فوری برای کاهش ریسک

  • اجرای فوری گردش کلید (key rotation) برای حساب‌های حساس و بازنگری در استفاده از کلیدهای سطح‌پلتفرم.
  • پیاده‌سازی کنترل‌های مبتنی بر نقش (RBAC) و استفاده از هویت‌های مدیریت‌شده به‌جای کلیدهای دائمی.
  • تقویت لاگ‌گیری و مانیتورینگ دسترسی‌ها و پیکربندی هشدار برای رفتارهای غیرعادی در ترافیک پایگاه‌داده.
  • محدودسازی دسترسی شبکه‌ای و بازبینی پیکربندی‌های Config Store و سایر منابع مدیریتی منطقه‌ای.
  • اجرای تست‌های قرمز (red team) و بازبینی برنامه‌هایی که پرس‌وجوهای Gremlin را می‌پذیرند.

قدم بعدی و شفافیت پژوهشی

Wiz اعلام کرده کامل‌ترین زنجیرهٔ بهره‌برداری را در جلسهٔ Black Hat USA در تاریخ ۶ اوت ارائه خواهد کرد. افشاسازی فنی این‌چنینی فرصت‌هایی برای اصلاح طراحی‌های امنیتی فراهم می‌کند؛ انتظار می‌رود پس از ارائهٔ کامل، توسعه‌دهندگان و تیم‌های ابری تحلیل عمیق‌تری از نقاط ضعف انجام دهند و ارائه‌دهندگان سرویس ابری شفافیت بیشتری دربارهٔ رخدادها و بازه‌های زمانی بررسی لاگ‌ها فراهم سازند.

منابع مرتبط