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

خلفية مع جبال الألب
سبب الدراسة المصغرة كان تقرير Talos Vulnerability Report (
TALOS-2019-0782 ) ، الذي ظهر في وقت سابق من هذا الشهر ، والذي
ذكر مؤلفوه - بفضل اكتشاف Peter Adkins من Cisco Umbrella - أن صور Docker مع مجموعة التوزيع الشائعة للحاويات Alpine ليس لها كلمة مرور لـ الجذر:
"تحتوي الإصدارات الرسمية من صور Alpine Linux Docker (بدءًا من الإصدار 3.1) على كلمة مرور فارغة للمستخدم الجذر. ظهرت مشكلة عدم الحصانة هذه نتيجة الانحدار الذي تم تقديمه في ديسمبر 2015. جوهرها هو أن الأنظمة التي يتم نشرها مع إصدارات إشكالية من Alpine Linux في حاوية واستخدام Linux PAM أو أي آلية أخرى تستخدم ملف نظام الظل كقاعدة بيانات مصادقة يمكن أن تقبل كلمة مرور فارغة للمستخدم الجذر. "
تم تسمية إصدارات جبال الألب من صور Docker التي تم اختبارها من أجل المشكلة بين 3.3 و 3.9 ، بالإضافة إلى الإصدار الأخير من الحافة.
قدم المؤلفون التوصية التالية للمستخدمين المتأثرين بالمشكلة:
"يجب تعطيل حساب الجذر بشكل صريح في صور Docker المبنية على أساس إصدارات إشكالية من جبال الألب. يعتمد احتمال استغلال الثغرة الأمنية على البيئة ، نظرًا لأن نجاحها يتطلب خدمة أو تطبيقًا تم إعادة توجيهه إلى الخارج ، باستخدام Linux PAM أو آلية أخرى مماثلة. "
تم
إصلاح المشكلة في إصدارات Alpine 3.6.5 و 3.7.3 و 3.8.4 و 3.9.2 و edge (20190228 snapshot) ، وتم عرض على أصحاب الصور التي تأثرت بالتعليق على السطر مع الجذر في
/etc/shadow
أو للتأكد من عدم وجود حزمة
linux-pam
.
تابع مع Docker Hub
قرر جيري جامبلين الاستفسار ، "إلى أي مدى يمكن أن يتحول هذا إلى ممارسة استخدام كلمات مرور خالية في الحاويات." للقيام بذلك ، كتب
سيناريو Bash صغيرًا ، جوهره بسيط جدًا:
- من خلال طلب حليقة إلى API في 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
اقرأ أيضًا في مدونتنا: