رقائق VS التهديدات لتكنولوجيا الحاويات

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



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

بادئ ذي بدء ، لماذا تكتسب الحاويات تعاطف المطورين وكيف يؤدي استخدام الحاويات إلى تغيير التطوير ككل.

رقائق


خفة

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

العزلة

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

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

قابلية

يعمل كل تطبيق في مثيل الحاوية الخاص به مع ملفات التكوين الخاصة به. هذا يلغي الصداع المرتبط بنقل التطبيق بين المضيفين: كل ما هو ضروري للعمل يتم تخزينه داخل الحاوية ويتم نقله مع بقية مكونات التطبيق.

مستودعات الحاويات

أتاح ظهور معيار Open Container Initiative إنشاء مكتبات عامة لصور الحاويات وإنشاء نظام بيئي قوي يجمع بين محركات الحاويات والمنصات السحابية وأدوات لإدارة الحاويات وفحوصات الأمان وغيرها من المهام.

الأتمتة

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

تهديدات الحاويات


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


تقاسم النواة

كما هو الحال دائمًا ، فإن العيوب هي الجانب الآخر من المزايا. تعمل مشاركة Kernel على تقليل التكرار في الحاوية مقارنة بالأجهزة الافتراضية ، ولكن العدد الأكبر من syscalls المسموح بها يجعل حاجز الحماية أرق واستغلال الثغرات kernel يسمح بمهاجمة جميع الحاويات في وقت واحد. كيف لا يستطيع المرء أن يتذكر الهجمات المثيرة لـ Specter و Meltdown ، والتي تتيح لك قراءة ذاكرة عملية أخرى أو نواة من مساحة المستخدم.

مستودعات عامة

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

أمثلة



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

توصيات


من الواضح أن عملية التطوير الحديثة تتطلب منهجًا جديدًا ، وهو نهج يتم فيه دمج الأمن في سلسلة CI / CD ، مما يحول DevOps إلى DevSecOps.



وفقا لجارتنر ، في عام 2019

  • ستشمل أكثر من 70٪ من عمليات التطوير المؤسسي الثغرات الأمنية ومراقبة التكوين للمكونات مفتوحة المصدر والحزم التجارية.
  • سيحتوي أكثر من 50٪ من عمليات CI / CD على فحوصات أمنية إلزامية مدمجة في الكود ؛
  • ستستخدم أكثر من 60٪ من الشركات أدوات التحكم في الإصدار وأتمتة البنية التحتية في تطويرها.

النظر في بعض المكونات التي يجب أن تكون موجودة في العملية بحيث كلمة "ثانية" في اسمها ليست عبارة فارغة.

دمج الشيكات في جميع العمليات

يجب أن يكون التحقق الأمني ​​موجودًا في جميع مراحل عملية التطوير بدءًا من إنشاء التعليمات البرمجية وحتى نقلها في حاويات ونشرها.

أتمتة تدقيق الأمن

من الضروري لسببين:

  1. هذا سوف يقلل من أخطاء الإدارة والتكوين الخاطئ.
  2. لن يتعين على محترفي الأمان التحقق من الرمز يدويًا وتغيير الإعدادات.

API لميزات الأمان

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

الدور القائم على التحكم في الوصول

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

عامل ميناء API التوافق

من الناحية المثالية ، يجب أن تدعم الحماية مسح صور Docker في أي سجل يدعم Docker Registry V2 API لضمان التوافق مع جميع السجلات الشائعة.

حماية الهجرة

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

من الأمثلة على أحد الحلول الوقائية ، التحقق الذكي للأمن من Trend Micro ، الذي يقوم بمسح الصور تلقائيًا بشكل مستمر ، ويحدد نقاط الضعف والبرامج الضارة. يدعم Smart Check سجلات Docker الموثوقة ، وسجلات حاوية Amazon Elastic ، وسجل حاوية Azure ، ونظام حاويات Google Container Registry. بالإضافة إلى ذلك ، تتكامل Trend Micro مع أنظمة SIEM الرائدة وأدوات التنسيق مثل Jenkins و Kubernetes و SumoLogic و Splunk.

تتمثل إحدى الميزات المهمة لـ Smart Check في امتثالها لجميع المتطلبات التنظيمية المتعلقة بالتحقق من الثغرات الحرجة وتسجيل الأحداث.

إن تنفيذ أمن الحاويات في عمليات DevOps في المراحل الأولى من التطوير قبل إطلاق التطبيقات سيتيح تطوير برامج أكثر موثوقية وإنتاجية ، وكذلك

  • الكشف عن البرامج الضارة والمكتبات.
  • تحديد نقاط الضعف.
  • الأخطاء الصحيحة قبل نقل الصور إلى أدوات التنسيق (مثل Kubernetes).
  • منع الشيفرات الخبيثة من تنفيذ ونشر البرامج الضعيفة.

Source: https://habr.com/ru/post/ar439986/


All Articles