19٪ من أفضل صور Docker لا تحتوي على كلمة مرور جذر

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

19٪ من أفضل صور Docker لا تحتوي على كلمة مرور جذر

الخلفية مع جبال الألب

كان سبب البحث المصغر هو تقرير الضعف في Talos الذي ظهر في وقت سابق من هذا الشهر (تالوس-2019-0782)، والذي أفاد مؤلفوه - بفضل اكتشاف Peter Adkins من Cisco Umbrella - أن صور Docker مع توزيع حاوية Alpine الشهير لا تحتوي على كلمة مرور جذر:

"تحتوي الإصدارات الرسمية من صور Alpine Linux Docker (منذ الإصدار 3.3) على كلمة مرور فارغة للمستخدم الجذر. نتجت مشكلة عدم الحصانة هذه عن الانحدار الذي تم تقديمه في ديسمبر 2015. جوهر هذا هو أن الأنظمة التي تم نشرها بإصدارات بها مشكلات من Alpine Linux في حاوية واستخدام Linux PAM أو آلية أخرى تستخدم ملف ظل النظام كقاعدة بيانات مصادقة قد تقبل كلمة مرور NULL للمستخدم الجذر.

كانت إصدارات صور Docker مع Alpine التي تم اختبارها للمشكلة هي 3.3-3.9 شاملة، بالإضافة إلى أحدث إصدار من Edge.

قدم المؤلفون التوصية التالية للمستخدمين المتأثرين:

"يجب تعطيل حساب الجذر بشكل صريح في صور Docker التي تم إنشاؤها من إصدارات Alpine التي بها مشكلات. يعتمد الاستغلال المحتمل للثغرة الأمنية على البيئة، نظرًا لأن نجاحها يتطلب خدمة أو تطبيقًا مُعاد توجيهه خارجيًا باستخدام Linux PAM أو آلية أخرى مماثلة.

المشكلة كانت مستبعد في إصدارات Alpine 3.6.5 و3.7.3 و3.8.4 و3.9.2 وEdge (لقطة 20190228)، وطُلب من مالكي الصور المتأثرة التعليق على السطر الذي يحتوي على الجذر في /etc/shadow أو تأكد من أن الحزمة مفقودة linux-pam.

تابع مع Docker Hub

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

  • ومن خلال طلب تجعيد إلى واجهة برمجة التطبيقات في Docker Hub، يتم طلب قائمة بصور Docker المستضافة هناك؛
  • عبر jq يتم فرزها حسب المجال popularityومن النتائج التي تم الحصول عليها تبقى الألف الأولى؛
  • لكل واحد منهم يتم تحقيقه docker pull;
  • يتم تنفيذ كل صورة مستلمة من Docker Hub docker run مع قراءة السطر الأول من الملف /etc/shadow;
  • إذا كانت قيمة السلسلة تساوي root:::0:::::، يتم حفظ اسم الصورة في ملف منفصل.

ماذا حدث؟ في هذا الملف كان هناك 194 سطرًا بأسماء صور Docker الشهيرة في أنظمة Linux، والتي لم يكن لدى المستخدم الجذر كلمة مرور معينة فيها:

"من بين الأسماء الأكثر شهرة في هذه القائمة كانت govuk/ Governmentpaas و hashicorp و microsoft و monsanto و mesosphere. وkylemanna/openvpn هي الحاوية الأكثر شعبية في القائمة، ويبلغ إجمالي إحصائياتها أكثر من 10 ملايين عملية سحب.

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

PS

اقرأ أيضًا على مدونتنا:

المصدر: www.habr.com

إضافة تعليق