يتم استخدام خطوط أنابيب CI/CD الآلية (التكامل المستمر/التسليم المستمر) لتسريع عملية التطوير. من الرائع أن يكون لديك مشغلات أو جدولة تأخذ الكود الخاص بك، وتدمجه، وتبنيه، وتختبره، وتشحنه تلقائيًا. ومع ذلك، نظرًا لأنه تم تصميمها من أجل السرعة وسهولة الاستخدام، فهذا يعني أن معظم خطوط الأنابيب لم يتم بناؤها بطبيعتها مع أخذ الأمان في الاعتبار. نظرًا لأن خطوط الأنابيب تحتاج عادةً إلى الوصول إلى الإنترنت لتنزيل التبعيات، وأسرارك المختلفة لتحميلها إلى بيئة الإنتاج الخاصة بك، فهذا يعني أنه بمجرد اختراق خط الأنابيب هذا، يكون لدى المهاجم مجموعة واسعة من الخيارات لتعطيل العملية أو تسلل المعلومات أو الأسرار.
تصف جميع القصص الواردة في هذه المقالة الانتهاكات في أدوات CI/CD البارزة. حقيقة أن معظم الشركات تعتمد على مثل هذه الأدوات تعني ذلك، مثل العديد من الشركات الأخرى هجمات سلسلة توريد البرمجياتكل ما يحتاجه الممثلون السيئون هو اختراق هدف واحد للحصول على نصف قطر انفجاري واسع.
دعونا نلقي نظرة على بعض القصص البارزة من السنوات القليلة الماضية التي توضح نقاط الضعف الكامنة في ناقل الهجوم هذا. في نهاية المقالة، سأحرص على تقديم توصياتي لتقوية وحماية خطوط الأنابيب الخاصة بك، بغض النظر عن الأدوات التي تستخدمها.
خرق CircleCI
في يناير 2023، كشفت CircleCI، وهي منصة للتكامل والتسليم المستمر، عن أ خرق أمني التي سمحت للمهاجم بالوصول غير المصرح به إلى البنية التحتية للشركة. بدأ الهجوم من خلال رسالة بريد إلكتروني تصيدية خدعت أحد الموظفين لمشاركة بيانات الاعتماد الخاصة به، والتي استخدمها المهاجم بعد ذلك للوصول إلى أنظمة الشركة. كان الموظف يستخدم المصادقة الثنائية، لكن المهاجم كان قادرًا على الحصول على ملف تعريف الارتباط للجلسة بمجرد تسجيل دخول الموظف بالفعل إلى النظام، مما سمح له بانتحال شخصية الموظف وفي النهاية تصعيد الوصول إلى مجموعة فرعية من أنظمة إنتاج CircleCI.
تمكن المهاجم من الوصول إلى بعض بيانات العملاء، بما في ذلك الأسماء وعناوين البريد الإلكتروني ومعلومات الفواتير. وذكرت الشركة أنه لم يتم الوصول إلى أي كود أو ملكية فكرية، ولم يبلغ أي من العملاء عن أي وصول غير مصرح به إلى حساباتهم أو بياناتهم.
استجابت شركة CircleCI بسرعة للانتهاك، وأجرت تحقيقًا وعملت مع خبراء إنفاذ القانون والأمن السيبراني لتحديد نطاق الهجوم ومعالجة نقاط الضعف التي سمحت بحدوثه. كما قامت الشركة أيضًا بإعادة تعيين جميع بيانات اعتماد الموظفين والعملاء ونفذت إجراءات أمنية إضافية، مثل زيادة مراقبة أنظمتها.
تعطلت عمليات DevOps: الخرق الأمني للقرص المضغوط Argo
يعد Argo CD أداة شائعة مفتوحة المصدر للنشر المستمر للتطبيقات إلى مجموعات Kubernetes. في فبراير 2022، أ تم اكتشاف ثغرة أمنية جديدة في القرص المضغوط Argo والتي سمحت للمستخدمين غير المصادقين بالوصول إلى معلومات حساسة حول تطبيقات Kubernetes التي تديرها الأداة. نتجت الثغرة الأمنية عن خطأ في التكوين في خادم واجهة برمجة تطبيقات Argo CD، مما سمح للمستخدمين غير المصرح لهم بتنفيذ طلبات إلى واجهة برمجة التطبيقات واسترداد معلومات مثل الأسرار والتكوينات وبيانات تعريف التطبيق. طالما أن المهاجم لديه إذن لإنشاء التطبيقات أو تحديثها ويعرف أو يمكنه تخمين المسار الكامل لملف يحتوي على YAML صالح، فيمكنه إنشاء مخطط Helm ضار والاستمرار في استهلاك ملفات YAML كقيم حتى يعثر على جزء مهم من البيانات عادة لا يمكن الوصول إليها.
تم منح درجة CVSS للثغرة الأمنية 7.5 (خطورة عالية) وأثرت على جميع إصدارات Argo CD حتى الإصدار 2.1.4. أصدر Argo CD تصحيحًا للثغرة الأمنية في الإصدار 2.1.5، ونُصح المستخدمون بالترقية إلى هذا الإصدار في أقرب وقت ممكن.
واعتبرت الثغرة الأمنية مثيرة للقلق بشكل خاص لأن Argo CD يستخدم غالبًا لإدارة التطبيقات المهمة والبنية التحتية في بيئات الإنتاج. من الممكن أن يسمح تسرب المعلومات الحساسة للمهاجم بالوصول إلى البيانات الحساسة أو اتخاذ إجراءات ضارة أخرى قد تؤثر على توفر التطبيقات أو أمانها.
الكشف عن خرق Codecove: الدروس المستفادة
Codecov عبارة عن أداة لتتبع وتحليل تغطية التعليمات البرمجية المستخدمة داخل خطوط أنابيب CI/CD التي تسمح للمطورين بقياس وتحليل فعالية اختباراتهم. كما نشر في Codecov التحديث الأمني:
"في يوم الخميس الموافق 1 أبريل 2021، علمنا أن شخصًا ما قد تمكن من الوصول غير المصرح به إلى موقعنا رافع باش البرنامج النصي وتعديله دون الحصول على إذن منا. حصل الممثل على حق الوصول بسبب خطأ في عملية إنشاء صورة Docker الخاصة بـ Codecov والتي سمحت للممثل باستخراج بيانات الاعتماد المطلوبة لتعديل البرنامج النصي Bash Uploader الخاص بنا."
يستخدم العملاء برنامج Bash Uploader لتحميل تقارير تغطية التعليمات البرمجية الخاصة بهم إلى منصة Codecove. ومن خلال هذا الوصول، قام المهاجم بتعديل البرنامج النصي Bash Uploader عن طريق إضافة تعليمات برمجية ضارة تجمع متغيرات البيئة ورموز المصادقة المميزة والبيانات الحساسة الأخرى من نظام المستخدم أثناء عملية التحميل. ثم يتم إرسال هذه البيانات إلى خادم بعيد يتحكم فيه المهاجم.
وفقًا لشركة Codecove، أثر الاختراق على ما يقرب من 1% من قاعدة عملائها، والتي تضمنت شركات كبرى في مجالات التكنولوجيا والتمويل والرعاية الصحية. وأكدت الشركة أنه لم يتم تغيير أي تعليمات برمجية للعميل أو تقارير تغطية التعليمات البرمجية أثناء الاختراق، ولكن ربما تكون الرموز المميزة لمصادقة المستخدم وغيرها من المعلومات الحساسة قد تعرضت للاختراق.
اتخذت Codecove إجراءات فورية لإزالة التعليمات البرمجية الضارة وتنبيه العملاء المتأثرين لإعادة تعيين رموز المصادقة المميزة الخاصة بهم واتخاذ تدابير أمنية أخرى. وبدأت الشركة أيضًا تحقيقًا في الحادث وتواصلت مع خبراء إنفاذ القانون والأمن السيبراني لتحديد مصدر الهجوم.
كيف يمكنك الدفاع عن خط الأنابيب الخاص بك؟
![صورة توضح خط الأنابيب](https://scribesecurity.com/wp-content/uploads/2023/02/sets-cooling-towers-data-center-building-scaled.jpg.webp)
مجموعات من أبراج التبريد في مبنى مركز البيانات.
كما ذكرنا سابقًا، تم تصميم خطوط أنابيب CI/CD من أجل السرعة والأتمتة، وليس بالضرورة من أجل الأمان. حقيقة أن ثلاث شركات كبيرة ومحترمة قد وقعت جميعها ضحية لنوع من الهجوم، مما قد يؤدي إلى كشف معلومات عملائها، يدل على ضعف خط الأنابيب والبيانات الخاصة بك.
بغض النظر عن الأدوات أو منصة CI/CD التي تستخدمها، يمكنك القيام ببعض الأشياء لتحسين أمانك وتقليل الضرر المحتمل في حالة تمكن ممثل ضار من الوصول إلى خط أنابيبك أو شبكتك.
- نمذجة التهديد - نمذجة التهديدات هي نهج منظم لتحديد التهديدات الأمنية المحتملة لنظام أو تطبيق وتصميم التدابير المضادة المناسبة للتخفيف من تلك التهديدات. كتمرين، تخيل أن شخصًا ما تمكن من الوصول إلى خط الأنابيب الخاص بك. ما هي البيئات التي يمكنهم الوصول إليها الآن؟ ما هي الأسرار والمفاتيح التي يمكنهم رؤيتها واستخدامها؟ هل يمكنهم تعديل الكود الخاص بك؟ اختبارات التأثير؟ هل تريد سحب الملفات من الويب أو تشغيل الصدفة العكسية؟ حتى إذا كنت تعتقد أنك قمت بتطهير خط الأنابيب الخاص بك وتقسيم الوصول إلى الشبكة بشكل صحيح، فلا يضر أن تتخيل ثم تتحقق فقط حتى تكون على دراية بالسيناريو الأسوأ. قد تتفاجأ بالأسرار وخيارات الوصول المخفية على مرأى من الجميع داخل منصة أو أدوات خط الأنابيب لديك.
- تجزئة الشبكة - تجزئة الشبكة هي ممارسة تقسيم شبكة أكبر إلى شبكات فرعية أو قطاعات أصغر وأكثر أمانًا، ولكل منها ضوابط وسياسات أمنية خاصة بها. الغرض من تجزئة الشبكة هو زيادة أمان الشبكة بشكل عام عن طريق الحد من نطاق الاختراق الأمني المحتمل وتقليل التأثير المحتمل للهجوم. يؤدي تقسيم الشبكة إلى أجزاء أصغر إلى الحد من الحركة الجانبية للمهاجمين، ويقلل من خطر الوصول غير المصرح به أو تسرب البيانات.
مع تزايد شعبية هجمات التصيد الاحتيالي، قد يقع أي من المطورين أو الموظفين الآخرين لديك ضحية لمثل هذا الاحتيال - فنحن جميعًا بشر. بافتراض أنه يمكن استخدام بيانات اعتماد المطورين لديك من قبل جهات فاعلة ضارة، فهذا يعني أنك بحاجة إلى التأكد من أن الغالبية العظمى من المطورين لا ينبغي أن يكون لديهم نوع الوصول الذي يسمح لهم باستخلاص الأسرار بمفردهم، وزرع تعليمات برمجية ضارة في صورة إنتاجية، أو مجرد دفع نسختهم الخاصة من رمز الإنتاج دون منازع. إن التأكد من أن كل فرد لديه أقل قدر ممكن من الوصول اللازم لعمله يستغرق وقتًا طويلاً، كما أن الإغراء بمنح الجميع حق الوصول الإداري والانتهاء منه أمر قوي. لا يغرك الجانب المظلم – اتبع قواعد انعدام الثقة والحد الأدنى من الامتيازات. - الرصد والتنبيه - بناءً على النقطة الأخيرة، حتى لو كنت قد قمت بتدريب المطورين لديك جيدًا ليكونوا يشعرون بالضجر من التصيد الاحتيالي وغيره من عمليات الاحتيال المتعلقة بالهندسة الاجتماعية، فلا يزال من الممكن حدوث اختراق. أنت لا تعرف متى أو كيف ولكن يجب أن تكون مستعدًا لمعرفة ذلك على أقل تقدير. نظرًا لأن معظم بيئات خطوط الأنابيب سريعة الزوال، فهذا يعني أنه بمجرد الانتهاء من المهمة، لن يكون هناك أي أثر للدليل على ما حدث إلا إذا قمت بإنشاء مثل هذه الآثار بنفسك.
تأكد من تسجيل كل ما يحدث في مساراتك، في كل عملية علاقات عامة، ودمج، وبناء، واختبار. تأكد من تسجيل معلومات المستخدمين أيضًا، لمراجعتها في حالة وجود مشكلة تتطلب مثل هذا الفحص. يجب أيضًا تسجيل أي تغييرات على ملفات التكوين أو البيئة نفسها. الهدف هنا هو أن تكون قادرًا على إجراء تشريح واضح بعد الوفاة للانتهاك حتى تتمكن من معرفة ما حدث وكيف حدث. حدد مسبقًا الأحداث التي يجب أن تستدعي التنبيه وتأكد من حصول الأشخاص المناسبين على هذا التنبيه. احرص على عدم إغراق الأشخاص بتنبيهات عديمة الفائدة أو كاذبة - فقد يتسبب ذلك في إجهاد التنبيه الذي قد يؤدي فقط إلى تجاهل التنبيهات أو الاستجابة في وقت متأخر أكثر من الوقت المناسب. من الواضح أنه لا ينبغي أن يحتوي أي من هذه السجلات على أي أسرار أو مفاتيح مفتوحة - مما يؤدي إلى النقطة التالية:
- إدارة الأسرار – تأكد من أنك تستخدم أداة لإدارة الأسرار من نوع ما. على أقل تقدير، سيكون من الأسهل تدوير الأسرار وكلمات المرور الخاصة بك في حالة حدوث خرق. يجب عليه أيضًا القيام بعمل تنقيح الأسرار المفتوحة ومفاتيح الوصول الموجودة في المسار من أي تسجيل يتم إجراؤه على النظام. ولا ينبغي بأي حال من الأحوال أن يتمكن أي شخص غير مصرح له من الوصول إلى هذه المعلومات، ويجب ألا يتمكن بالتأكيد من تغييرها.
أصبحت إدارة الأسرار ذات أهمية متزايدة حيث تعتمد المؤسسات بشكل متزايد على الخدمات السحابية والتطبيقات المعبأة في حاويات والبيئات الموزعة الأخرى التي تتطلب المشاركة الآمنة وإدارة الأسرار عبر أنظمة وتطبيقات مختلفة. - استخدم مبدأ RBAC مع أقل الامتيازات - مبدأ التحكم في الوصول على أساس الدور (RBAC) هو توفير الوصول إلى موارد النظام بناءً على الدور المعين للمستخدم أو الوظيفة الوظيفية داخل المؤسسة. في RBAC، يتم تعيين أدوار للمستخدمين تحدد الأذونات وحقوق الوصول التي لديهم إلى موارد النظام المختلفة، مثل الملفات أو المجلدات أو التطبيقات. من ناحية أخرى، فإن مبدأ الامتياز الأقل هو ممارسة منح المستخدمين الحد الأدنى من مستوى الوصول والامتيازات اللازمة لأداء وظائفهم الوظيفية. وهذا يعني أن المستخدمين لديهم فقط إمكانية الوصول إلى الموارد التي يحتاجونها لأداء مهامهم المحددة، وليس أكثر. غالبًا ما يتم استخدام RBAC والامتياز الأقل معًا كمبادئ أمان تكميلية. في RBAC، يتم تعيين أدوار للمستخدمين تتمتع بالمستوى المناسب من الوصول إلى الموارد التي يحتاجونها لأداء وظائفهم الوظيفية، ويضمن مبدأ الامتياز الأقل أن المستخدمين لديهم فقط إمكانية الوصول إلى الحد الأدنى من الموارد اللازمة لأداء مهامهم المحددة. تساعد هذه المبادئ معًا في الحفاظ على نظام آمن ومُدار بشكل جيد مع الحد الأدنى من مخاطر الوصول غير المصرح به أو اختراق البيانات. وكجزء إضافي من الأمان، يمكنك ضبطه بحيث تتطلب الإجراءات الهامة في النظام تفويضات مستخدم متعددة لمتابعتها. وينبغي اتباع هذا النهج بحذر لأنه قد يؤدي إلى إبطاء أعمال التطوير بشكل كبير. ومع ذلك، بالنسبة للتحديثات الهامة، مثل حذف فرع رئيسي أو تعديل قائمة التبعيات، يجب عليك إجراء ذلك بحيث يحتاج شخصان على الأقل لديهما حق الوصول المناسب إلى الموافقة عليه.
نتطلع
لن يتوقف أحد عن استخدام CI/CD وأدوات التشغيل الآلي الأخرى لتسريع عمله. نحن نعيش في عالم نسعى فيه باستمرار للحصول على تحديثات أكواد أسرع فأسرع. نحتاج فقط إلى التأكد من أننا نفعل ذلك بطريقة واعية بالأمان ولا نتنازل عن التعليمات البرمجية وبيئة الإنتاج الخاصة بنا على طول الطريق.
أحد أهم الأشياء التي يمكنك القيام بها هو مجرد التفكير فيما يمكن أن يحدث إذا تمكن أشخاص غير مصرح لهم من الوصول. بمجرد أن تدرك الخطر والأماكن المختلفة المعرضة للخطر في خطوط الأنابيب والشبكات لديك، فأنا على ثقة من أنك ستتمكن من اتخاذ الخطوات الصحيحة لسد التسريبات المحتملة.
Scribe هي شركة متخصصة في أمن سلسلة توريد البرامج، وقد تم تصميم منصتها لتوفر لك الشفافية فيما يحدث في عملية التطوير ومسارات التنفيذ. لمعرفة المزيد حول كيف يمكن أن يساعدك Scribe في تأمين خطوط الأنابيب الخاصة بك تواصل معنا.
يتم تقديم هذا المحتوى إليك بواسطة Scribe Security، وهي شركة رائدة في مجال توفير حلول أمان سلسلة توريد البرامج الشاملة - حيث توفر أحدث الأمان لعناصر التعليمات البرمجية وعمليات تطوير التعليمات البرمجية وتسليمها عبر سلاسل توريد البرامج. تعرف على المزيد.