في العام الماضي، استثمرنا الوقت والجهد في البحث عن البرمجيات الوسيطة السحابية، وهي البرامج التي تربط بين الأجهزة الافتراضية للعملاء والخدمات المدارة لموفري الخدمات السحابية.

كجزء من تصحيح يوم الثلاثاء 2022، نشرت Microsoft تصحيحًا لإصلاح ثغرة أمنية جديدة لتصعيد الامتيازات، CVE-2022-29149 في البنية التحتية للإدارة المفتوحة (OMI)، مع درجة CVSS تبلغ 7.8 (أعلى درجة ممكنة للثغرات الأمنية التي تسمح بتصعيد الامتيازات المحلية). OMI هو برنامج وسيط سحابي يستخدمه Azure، ويتم تثبيته عادةً على أجهزة Linux الافتراضية دون إشعار صريح من العميل، مثل معظم وكلاء السحابة الآخرين. هذه هي الثغرة الأمنية الخامسة المعروفة التي تؤثر على OMI. عثرت Wiz Research على الثغرات الأربع السابقة وأبلغت عنها في يونيو 2021، بما في ذلك ثغرة أمنية غير مصادق عليها لتنفيذ تعليمات برمجية عن بُعد يطلق عليها اسم “OMIGOD” (CVE-2021-38647).

يتم تثبيت OMI تلقائيًا بواسطة العديد من خدمات Azure الشائعة عادةً كجزء من وكيل OMS (مجموعة إدارة العمليات). على الرغم من توثيقها بواسطة Microsoft، إلا أن العملاء قد لا يكونون على علم بوجودها. يمكن أن يؤدي هذا النقص في الوعي إلى انخفاض معدلات العلاج حيث لا يقوم العملاء بمعالجة المخاطر المرتبطة أو إجراء التحديثات اللازمة. لقد تحققنا من أن CVE-2022-29149 قابل للاستغلال وتعاوننا مع Azure لتحسين عمليات التصحيح وإخطار العملاء لمثل هذه المشكلات. نشكر Microsoft على التعاون المثمر الذي أدى إلى إعداد الوكلاء المعتمدين على OMI (وكيل Azure Operations Management Suite ووكيل تكوين الحالة المرغوبة ووكيل Azure Diagnostics) إلى ميزة التحديث التلقائي للملحق في Azure. اقرأ المزيد حول التعاون بين Wiz وAzure في مدونتنا.

في هذا المنشور، نشارك التفاصيل الفنية حول الثغرة الأمنية استنادًا إلى أبحاثنا الخاصة ونقدم إرشادات الكشف والمعالجة. بالإضافة إلى ذلك، نقوم بمراجعة مشكلة البرامج الوسيطة السحابية ونوضح سبب تعرض عملاء السحابة للخطر.

راجع إرشادات Microsoft للحصول على مزيد من المعلومات وإرشادات التخفيف هنا. يمكن لعملاء Wiz أيضًا التحقق من مركز التهديدات داخل التطبيق، والذي يرتبط مباشرة بنصائحنا التفصيلية حول التهديدات.

من هو في خطر؟

تؤثر مشكلة عدم الحصانة الأخيرة هذه على كل إصدار من OMI أقدم من 1.6.9-1. وفقًا لاستشارات Microsoft، لا تدعم الخدمات التالية حاليًا التحديثات التلقائية، مما يعني أن أجهزة Linux الافتراضية المنتشرة في Azure باستخدام أي من هذه الخدمات تظل معرضة للخطر ما لم يتم تحديثها:

  • OMI كحزمة مستقلة

  • مدير عمليات مركز النظام (SCOM)

  • أتمتة أزور

  • التحديث التلقائي أزور

  • مجموعة إدارة العمليات Azure (OMS)

  • تحليلات سجل أزور

  • التشخيص أزور

  • أزور HD إنسايت

  • حل مراقبة الحاويات Azure

  • مركز أزور الأمني

  • أزور سنتينل

ما هي البرمجيات الوسيطة السحابية؟

غالبًا ما يتم تثبيت البرامج الوسيطة السحابية بصمت بواسطة مقدمي خدمات الاتصالات (CSP) عندما يكون العملاء على متن الخدمات. بالإضافة إلى ذلك، غالبًا ما يتم تشغيل البرامج الوسيطة السحابية بامتيازات عالية. قد يؤدي هذا المزيج من قلة وعي العملاء والوصول إلى الامتيازات العالية إلى كشف بيئات العملاء في حالة وجود ثغرات أمنية. تعمل البرامج من هذا النوع على زيادة سطح الهجوم في البيئات السحابية، مما قد يعرض العملاء لتصعيد الامتيازات المحلية ونقاط الضعف في تنفيذ التعليمات البرمجية عن بعد. لا يحدد نموذج المسؤولية المشتركة الحالي بوضوح من المسؤول عن تأمين البرمجيات الوسيطة السحابية، ونتيجة لذلك، غالبًا ما يفشل العملاء في معالجة المخاطر المرتبطة، مما يترك بيئاتهم وبياناتهم معرضة للخطر حتى بعد الكشف عن الثغرات الأمنية وتصحيحها.

لمعرفة المزيد حول البرامج الوسيطة السحابية وتأثيرها على الوضع الأمني ​​لعملاء السحابة، يمكنك قراءة أحدث منشور على مدونتنا حول هذا الموضوع.

ما هو OMI؟

من الأمثلة البارزة على برامج الوسيطة السحابية في Azure هو OMI، وهو اختصار لـ Open Management Infrastructure. وهو مشروع مفتوح المصدر ترعاه شركة Microsoft بالتعاون مع The Open Group. في الأساس، إنها البنية التحتية لإدارة Windows (WMI) لأنظمة UNIX/Linux. يتيح لك OMI جمع الإحصائيات ومزامنة التكوينات عبر بيئتك. بفضل سهولة الاستخدام والتجريد الذي توفره OMI، فهو موجود خلف الكواليس للعديد من خدمات Azure بما في ذلك Open Management Suite (OMS) وAzure Insights وAzure Automation والمزيد.

التفاصيل الفنية

قدمت Microsoft تصحيحًا كبيرًا لـ OMI يتضمن تغييرات متعددة عبر عدة ملفات، مما يخبرنا أن إصلاح هذه الثغرة الأمنية لم يكن مهمة بسيطة. عند مراجعة التغييرات، لاحظنا أن التصحيح يتضمن تغييرًا كبيرًا في التصميم في بروتوكول الاتصال الداخلي بين المكونات المختلفة لـ OMI. لسبب واحد، قام المطورون بإزالة secretString والتي تم استخدامها سابقًا للتحقق من بعض الاتصالات الداخلية الأكثر أهمية – فلماذا قرر مطورو OMI التخلص منها؟

الشكل 1: إزالة آلية OMI SecretString

ينخدع بالعشوائية

secretString هي كلمة مرور تم إنشاؤها عشوائيًا تُستخدم لتأمين الاتصالات بين العديد من مكونات OMI والتحقق من الرسائل الناشئة في عملية OMI ذات الامتيازات العالية. يمكنك الرجوع إلى الملحق في منشور OMIGOD الخاص بنا لمعرفة كيف تمكنا من التعامل مع OMI لرفع امتيازاتنا إلى الجذر في الحالات التي لم يكن لدى OMI فيها هذا secretString آلية في مكانها.

ال secretString يتم إنشاؤه بشكل عشوائي عند بدء عملية OMI. ولكن ما مدى عشوائية ذلك؟ دعونا نراجع الطريقة التي تولد السلسلة السرية “العشوائية”:

int GenerateRandomString(char *buffer, int bufLen)
{
    const char letters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    time_t t;
    int i;
    unsigned int availableLetters = sizeof(letters) - 1;
    srand((unsigned) time(&t)); // <--- (1)
    for (i = 0; i < bufLen - 1; ++i)
    {
    	buffer[i] = letters[rand() % availableLetters];
    }
    buffer[bufLen - 1] = '\0';
    return 0;
}

(1) يوضح أن وقت النظام الحالي يعمل بمثابة بذرة للسلسلة التي تم إنشاؤها عشوائيًا. نظرًا لأن OMI يقوم بإنشاء ملف secretString عند الإطلاق، من الممكن الكشف عن البذرة، حيث يمكننا معرفة المدة التي استغرقتها عملية OMI. معرفة secretString البذور، يمكننا التنبؤ secretString وتزوير الرسائل كما لو كانت قادمة من عملية OMI ذات الامتيازات العالية: عن طريق استبدال time الطريقة (1) في مقتطف الكود أعلاه مع الوقت الفعلي الذي تم فيه إطلاق عملية OMI، يمكننا استرداد secretString.

أنا أعرف سرك

ما هي الاحتمالات التي يفتحها هذا السر؟ على ما يبدو، يمكننا استخدام المسترد secretString لتجاوز التصحيح الذي قدمته Microsoft لمعالجة CVE-2021-38645 (إحدى ثغرات LPE التي كشفنا عنها في يونيو 2021) ورفع امتيازاتنا إلى الجذر.

الشكل 2: استغلال CVE-2022-29149

الكشف والعلاج

بعد تعاوننا مع Microsoft بشأن هذه المشكلة، قامت Microsoft بدمج OMS وLAD وDSC في ميزة ترقية الامتداد التلقائي. باستخدام هذه الميزة، يمكن تحديث هؤلاء الوكلاء (وبالتالي أيضًا OMI، الذي يأتي مرفقًا معهم) بمجرد طرح إصدار جديد. نحن ننضم إلى توصية Microsoft ونحث العملاء على ذلك تمكين التحديثات التلقائية لوكلاء OMS و LAD و DSC وتشجيع العملاء على الهجرة إلى وكيل مراقبة أزور والتي لا تعتمد على OMI. ستضمن ترقية الامتداد التلقائي حصول عملاء Azure على أي تحديثات أمنية مهمة للوكيل في أسرع وقت ممكن دون أي عبء يدوي، وبالتالي فهي طريقة ممتازة للتخفيف من الثغرة الأمنية المفصلة أعلاه.

يحتاج العملاء الذين لا يختارون التحديثات التلقائية إلى تنفيذ خطوات يدوية لتصحيح بيئتهم. بالنسبة لمعظم خدمات Azure، يمكن تحديث OMI باستخدام مدير الحزم.

ومع ذلك، فإن تفاصيل CPE الخاصة بثغرة OMI لا تحدد حزمة OMI. وبدون أي رابط بين CVE وحزمة OMI، تكون الثغرة الأمنية غير مرئية لأدوات إدارة الثغرات التقليدية، مما يجعل من الصعب تتبعها.

لتقييم ثغرة أمنية في Azure Linux VM تجاه CVE-2022-29149، يمكن لعملاء Azure الاتصال بالجهاز الظاهري وتشغيل الأوامر أدناه في الوحدة الطرفية للتحقق من إصدار OMI (إن وجد):

  • بالنسبة لأنظمة دبيان (مثل Ubuntu): dpkg -l omi

  • بالنسبة للأنظمة المستندة إلى Redhat (مثل Fedora وCentOS وRHEL): rpm -qa omi

إذا لم تظهر أي نتائج، فهذا يعني أنه لم يتم تثبيت OMI وأن الجهاز ليس عرضة للخطر. إذا تم إرجاع أي نتائج، فسترى إصدار OMI المثبت. الإصدار المصحح للثغرة الأمنية CVE-2022-29149 التي تم الإعلان عنها مؤخرًا هو 1.6.9-1. راجع إرشادات Microsoft للحصول على مزيد من المعلومات وإرشادات التخفيف هنا.

الكشف والمعالجة باستخدام Wiz

لدى Wiz فريق متخصص من الباحثين الذين يتتبعون نقاط الضعف الجديدة البارزة من أجل توفير الكشف المناسب والفوري لحالات مثل هذه. وبفضل يقظتهم، بدأ مركز التهديدات في اكتشاف أعباء العمل الضعيفة في نفس اليوم الذي تم فيه الإعلان عن CVE-2022-29149.

الشكل 3: اكتشافات Wiz Threat Center المعدة مسبقًا لثغرة OMI الأخيرة

يمكن لعملاء Wiz استخدام مركز التهديدات للعثور على جميع أعباء العمل المتأثرة في بيئتهم، مع تحديد أولوياتها وفقًا للمخاطر الفعالة، ومراجعة النصائح الإرشادية داخل المنتج للحصول على إرشادات إضافية.

مجموعة بيانات البرمجيات الوسيطة السحابية

ولمعالجة المخاطر المتزايدة للبرمجيات الوسيطة السحابية، أطلقت Wiz مؤخرًا مجموعة بيانات للبرمجيات الوسيطة السحابية الموجهة من المجتمع لتعيين جميع الوكلاء الذين يقوم موفرو الخدمات السحابية بتثبيتهم على أجهزة العملاء بالإضافة إلى سطح الهجوم الإضافي الذي يقدمونه. تمنح صفحة GitHub هذه لعملاء السحابة القدرة على فهم المخاطر الأمنية التي تشكلها بعض الخدمات السحابية.

لا يعد تعيين جميع الوكلاء الذين يقوم موفرو الخدمات السحابية بتثبيتهم مهمة تافهة. ونحن ندعو المجتمع الأمني ​​بأكمله لمساعدتنا في تحقيق هذا الهدف الطموح من خلال المساهمة ومساعدتنا في تحديث قاعدة البيانات هذه.

نحن نشجعك على مراجعة صفحة GitHub الخاصة بنا ومشاركتها مع زملائك ومساعدتنا في جهودنا لإنشاء سحابة أفضل وأكثر أمانًا.

أخيرًا، تم إدراج CVE-2022-29149 الآن في cloudvulndb.org، قاعدة بيانات لقضايا الثغرات الأمنية والمشكلات الأمنية في السحابة المفتوحة يقودها المجتمع.

شاركها.
اترك تعليقاً