Vulnerabilities, Secrets and Misconfiguration in the Highest-Exposure Docker Hub Images
تقدم هذه الورقة ChimangoScan، وهو مسار تحليل واسع النطاق يحلل صور Docker Hub الأكثر تعرضاً باستخدام ستة أدوات فحص مستقلة ليكشف أن الثغرات الأمنية والأخطاء في التكوين تكاد تكون عالمية، وأن نتائج الفحص تعتمد بشكل كبير على الأداة المستخدمة مع وجود توافق منخفض بينها، وأن غالبية الأسرار المكتشفة هي نتائج إيجابية كاذبة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل الإنترنت كمدينة صاخبة وعظيمة، حيث البرمجيات هي شريان الحياة فيها. في هذه المدينة، لم تعد معظم التطبيقات تُبنى من الصفر؛ بل يتم تجميعها مثل مجموعات "ليغو" (LEGO) باستخدام كتل جاهزة تسمى "الحاويات" (Containers). هذه الحاويات تشبه صناديق الشحن القياسية التي تحمل كل ما يحتاجه التطبيق للعمل، من الكود البرمدي إلى الأدوات. والمستودع المركزي حيث يخزن الجميع هذه الصناديق ويأخذونها يسمى Docker Hub. إنه قلب سلسلة توريد البرمجيات، حيث يتعامل مع مليارات عمليات التنزيل شهريًا.
ومع ذلك، تمامًا مثل أي مستودع حقيقي، إذا بُنيت حاوية بآجر مشروخ (ثغرة أمنية) أو بمزلاج مرتخٍ (خطأ في الإعدادات)، فإن كل مبنى يُبنى باستخدام تلك الحاوية سيرث هذا العيب. والأسوأ من ذلك، أن بعض الحاويات قد تحتوي على فخاخ مخفية مثل خزائن مفتوحة (أسرار أو كلمات مرور) تُركت بداخلها. لسنوات، حاول خبراء الأمن حساب عدد هذه الصناديق الخطيرة، لكنهم اعتمدوا عادةً على "حارس أمن" واحد فقط (ماسح ضوئي) للقيام بعملية الفحص. هذا يشبه محاولة العثين على جميع الحفر في الطريق في مدينة باستخدام زوج واحد فقط من العيون؛ قد تفوتك الكثير من الأشياء، أو ترى أشياء ليست موجودة في الواقع. السؤال الكبير هو: ما مدى خطورة هذا المستودع حقًا، وهل يمنحنا استخدام ماسح ضوئي واحد صورة حقيقية؟
رحلة البحث الكبرى عن محقق Docker
قرر فريق من الباحثين من البرازيل، يطلقون على أنفسهم اسم ChimangaScan، مواجهة هذا الغموض من خلال تحقيق ضخم متعدد الطبقات. وبدلاً من توظيف حارس أمن واحد فقط، قاموا ببناء مسار فائق (super-pipeline) نشر ستة ماسحات ضوئية مختلفة لفحص أكثر الصنقات شعبية في مستودع Docker Hub. لم يكن هدفهم مجرد عد الصناديق السيئة، بل معرفة أي منها هو الأكثر أهمية.
"درجة التعرض": لماذا تهم بعض الحاويات أكثر من غيرها؟
تخيل آجرًا مشروخًا واحدًا في حجر أساس ناطحة سحاب مقابل آجر مشروخ في كوخ حديقة صغير. العيب في ناطحة السحاب كارثة؛ أما في الكوخ فهو إزعاج بسيط. أدرك الباحثون أن مجرد عد عدد المرات التي تم فيها تنزيل حاوية ما ليس كافيًا. كانوا بحاجة لمعرفة كم عدد الحاويات الأخرى التي بُنيت فوقها.
لقد ابتكروا مقياسًا جديدًا يسمى درجة التعرض (Exposure Score). فكر فيه كـ "نطاق خطر". إذا تم تنزيل صورة أساسية (مثل نسخة Linux شهيرة) 100 مرة، ولكنها أيضًا أساس لـ 1,000 صورة أخرى يتم تنزيل كل منها 100 مرة، فإن درجة تعرضها هائلة. قام الفريق بترتيب أفضل 52,895 صورة بناءً على هذه الدرجة. لم تكن هذه الصور هي الأكثر تنزيلًا فحسب، بل كانت تلك التي ستنتقل عيوبها لتؤثر على أكبر عدد من الناس. وفي المجمل، استحوذت هذه الصور العليا على 84.7% من إجمالي الـ 663.8 مليار عملية سحب مسجلة في التاريخ.
النتائج: مدينة مليئة بالشقوق
عندما قام فريق ChimangaScan بتشغيل ماسحاته الستة على هذه الصور ذات التعرض العالي، كانت النتائج واضحة بشكل مذهل: كل شيء تقريبًا كان مكسورًا.
- الثغرات الأمنية في كل مكان: 96.3% من الصور تحمل ثغرة برمجية معروفة واحدة على الأقل. والأكثر رعبًا، أن 93.4% منها تحتوي على ثغرة "حرجة"، وهي النوع الذي قد يسمح للمخترق بالسيطرة على النظام.
- الأخطاء في الإعدادات هي القاعدة: 98.0% من الصور بها أخطاء في الإعدادات، مثل التشغيل كمستخدم "جذر" (root) (وهو المعادل الرقمي لإعطاء غريب المفتاح الرئيسي للمبنى) أو فقدان ضوابط السلامة.
- الأسرار خادعة: وجدت الماسحات "أسرارًا" (مثل كلمات المرور أو مفاتيح API) في 76.9% من الصور. ومع ذلك، عندما فحص الباحثون هذه النتائج يدويًا، اكتشفوا خطأً جسيمًا: 99.7% منها كانت إنذارات كاذبة. كانت مجرد مفاتيح أمثلة، أو بيانات تجريبية، أو معلومات عامة، وليست بيانات اعتماد مسروقة بالفعل. كانت الماسحات تصرخ "حريق!" لأنها شمّت رائحة دخان من خبز محمص، وليس من حريق فعلي.
مشكلة الماسح الضوئي: أداة واحدة لا تكفي
ربما كان الاكتشاف الأهم يتعلق بالأدوات نفسها. وجد الباحثون أن الماسحات الستة لم تتفق على ما تراه.
إذا استخدمت ماسحًا واحدًا فقط، فستحصل على صورة مختلفة تمامًا لمستوى الخطر عما لو استخدمت آخر.
- عند البحث عن الثغرات الأمنية المتميزة، تم العثين على 2.7% فقط من قبل جميع ماسحات الثغرات الثلاثة.
- ومن المذهل أن 66.8% من الثغرات تم العثين عليها من قبل ماسح واحد فقط.
هذا يعني أنك إذا كنت تعتمد على أداة أمنية واحدة، فمن المرجح أنك ستفقد ثلثي المشكلات المحتملة. "الدرجة الأمنية" للصورة ليست حقيقة مطلقة؛ بل هي إلى حد كبير نتاج الأداة التي استخدمتها للقياس.
تأثير "الوراثة"
أظهرت الدراسة أيضًا مدى خطورة وجود ثغرة واحدة في صورة أساسية شهيرة. وجدوا أن ثغرة حرجة واحدة في مكتبة مثل zlib أو glibc (التي تُستخدم في كل صورة أساسية تقريبًا) يمكن أن تؤثر نظريًا على 47.3% من إجمالي تعرض النظام البيئي بأكم له. آجر واحد سيء في أساس صورة أساسية شهيرة لا يؤذي تلك الصورة فحسب؛ بل يعرض شجرة العائلة الكاملة من التطبيقات المبنية عليها للخطر.
ماذا يعني هذا بالنسبة لك؟
خلص الباحثون إلى أنه لا يمكننا الوثوق برقم واحد من ماسح ضوئي واحد. للحفاظ على سلامة سلسلة توريد البرمجيات، نحتاج إلى:
- استخدام ماسحات متعددة: بما أنه لا يوجد أداة واحدة تلتقط كل شيء، فإن تشغيل مجموعة من الماسحات المختلفة ضروري للحصول على صورة حقيقية.
- تحديد الأولويات حسب التعرض: إصلاح العيوب في أكثر الصور الأساسية "تعرضًا" (تلك التي يبني عليها الجميع) سينقذ عددًا أكبر من الناس من إصلاح العيوب في الصور الغامضة ونادرة الاستخدام.
- عدم الذعر من كل تنبيه "سر": بما أن معظم الأسرار المكتشفة هي إنذارات كاذبة، فنحن بحاجة إلى طرق أفضل للتحقق منها قبل التعامل معها كحالات طوارئ.
باختصار، مستودع Docker Hub مليء بالشقوق، والشقوق في الأساس هي الأكثر خطورة. لكن الطريقة التي نقيس بها تلك الشقوق تهم بقدر ما تهم الشقوق نفسها. نحن بحاجة إلى المزيد من العيون في العمل لرؤية الصورة كاملة.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.