مع تقدم دورة حياة سلسلة توريد البرمجيات من الكود المصدر إلى القطع الأثرية القابلة للتنفيذ، فإن مرحلة البناء تمثل نقطة تحول حرجة. ومع ذلك، فإن هذه المرحلة التحويلية معرضة أيضًا لمجموعة من التهديدات التي يمكن أن تعرض سلامة البرمجيات للخطر. build securityيمكن أن تتسلل هذه التهديدات إلى عملية البناء من خلال طرق مختلفة، بما في ذلك التحايل على الإجراءات المعمول بها CI/CD pipelineأو تعديل التحكم في ما بعد المصدر للكود، أو تعريض عملية البناء نفسها للخطر، أو معالجة مستودعات القطع الأثرية. في منشور المدونة هذا، سنتعمق في هذه التهديدات ونفحص هجمات إنشاء سلسلة توريد البرامج الأكثر شيوعًا. يواصل هذا المحتوى استكشاف سلسلة مدونتنا software supply chain security في جميع أنحاء SDLC.
مرحلة البناء في دورة حياة تطوير البرمجيات
تشتمل مرحلة البناء في دورة حياة سلسلة توريد البرامج على عملية تحويل كود المصدر إلى عناصر برمجية قابلة للتنفيذ. تتضمن هذه المرحلة تجميع الكود المصدري وربطه وتعبئته، بالإضافة إلى إنشاء حزم التثبيت وملفات التكوين.
Build security التهديدات هي نقاط ضعف قد تسمح للخصم بإدخال تغييرات غير مصرح بها على البرنامج أثناء عملية البناء دون تغيير الكود المصدر. يمكن إدخال هذه التهديدات من خلال طرق مختلفة، مثل اختراق بيئة البناء أو استغلال نقاط الضعف في أدوات البناء.
التهديدات الأكثر شيوعًا لسلسلة توريد البرامج - بناء الهجمات
تجنب CI/CD
يشير هذا إلى ممارسة التحايل على القواعد المعمول بها CI/CD (التكامل المستمر والتسليم المستمر) pipeline لبناء البرامج ونشرها مباشرة دون الخضوع لعمليات الاختبار والتحقق والتدقيق الصارمة التي يتم فرضها عادةً من قبل الجهات الرسمية pipelineيمكن القيام بذلك عن طريق بناء البرنامج يدويًا خارج CI/CD البيئة أو باستخدام أدوات أو نصوص برمجية تسمح بإجراء تعديلات غير مصرح بها على عملية البناء. ومن أمثلة هذا النوع من هجمات المتجهات: هجوم جينكينز. وفي عام 2022، تسلل المتسللون إلى البنية pipeline مشروع برمجيات مفتوح المصدر شهير يُدعى جينكينز. قام المخترقون بحقن شيفرة خبيثة في ملف جينكينز، وهو نص برمجي يُعرّف عملية البناء. سمح هذا الشيفرة الخبيثة للمخترقين بتجاوز CI/CD pipelineفحوصات الأمان الخاصة بـ وإدخال التعليمات البرمجية الخاصة بها في عملية الإنشاء. يتم بعد ذلك تنفيذ هذا الرمز على أنظمة المؤسسات التي قامت بتثبيت البرنامج.
تعديل التعليمات البرمجية بعد التحكم بالمصدر
تتضمن هذه الممارسة إجراء تغييرات غير مصرح بها على كود المصدر بعد حدوثه commitتم ربطه بنظام تحكم مصدر موثوق (SCS) ثم إنشاء البرنامج باستخدام هذا الكود المعدل. يمكن القيام بذلك عن طريق تعديل التعليمات البرمجية مباشرة على محطة عمل المطور أو باستخدام أدوات أو برامج نصية خارجية لإدخال تعليمات برمجية ضارة في عملية الإنشاء. أحد الأمثلة على هذا الهجوم المتجه هو هجوم GitLab في عام 2022. تسلل المتسللون إلى البنية pipeline of GitLabقام المتسللون بحقن الكود الخبيث في GitLab CI/CD pipeline، وهي أداة تقوم بأتمتة build security العملية. سمح الكود الخبيث للمتسللين بتعديل الكود بعد فحصه في نظام التحكم في المصدر. سمح لهم هذا بحقن الكود الخاص بهم في البرنامج، والذي تم تنفيذه بعد ذلك على أنظمة المؤسسات التي قامت بتثبيت البرنامج.
عملية بناء التسوية
يتضمن ذلك معالجة عملية الإنشاء نفسها أو تغييرها، إما من خلال الوصول المباشر إلى بيئة الإنشاء أو عن طريق استغلال الثغرات الأمنية في أدوات الإنشاء أو تبعيات الطرف الثالث. يمكن القيام بذلك لإدخال تعليمات برمجية ضارة في مخرجات البناء، أو التلاعب بمصدر البناء، أو تعطيل عملية البناء تمامًا. أشهر مثال على هذا الهجوم المتجه كان هجوم سولارويندز. حصل أحد المهاجمين على وصول غير مصرح به إلى منصة إنشاء SolarWinds، وهو نظام يستخدم لتجميع برنامج SolarWinds Orion وتعبئته. قام هذا البرنامج النصي بإدخال تعليمات برمجية ضارة في برنامج SolarWinds Orion المجمع. عندما قام المستخدمون بتثبيت البرنامج المخترق، تم تنفيذ التعليمات البرمجية الضارة على أنظمتهم، مما يمنح المهاجم وصولاً غير مصرح به إلى أنظمتهم. وتمكن المهاجم أيضًا من سرقة البيانات الحساسة من أنظمته، مثل بيانات الاعتماد والملكية الفكرية ومعلومات العملاء.
تسوية مستودع القطع الأثرية
يشير هذا إلى الوصول غير المصرح به أو التلاعب بمستودع العناصر، حيث يتم تخزين حزم البرامج والثنائيات لتوزيعها على المستخدمين الداخليين أو الخارجيين. يمكن للمهاجمين استغلال هذه الثغرة الأمنية لإدخال تعليمات برمجية ضارة أو التلاعب بأصالة البرنامج أو تعطيل عملية النشر. مثال على هذا الهجوم المتجه كان روبي جيمز في عام 2022. تسلل المتسللون إلى مستودع القطع الأثرية الخاص بـ RubyGems. استبدل المتسللون قطعة أثرية مشروعة بأخرى ضارة، والتي تم تنزيلها بعد ذلك من قبل آلاف المنظمات التي تقوم ببناء برامج باستخدام Ruby on Rails. سمحت الأداة الخبيثة للمتسللين بتنفيذ تعليمات برمجية عشوائية على أنظمة المؤسسات التي قامت بتثبيت البرنامج. قد يسمح لهم ذلك بسرقة البيانات أو تثبيت البرامج الضارة أو تعطيل العمليات.
الملاحظات الختامية
مع استمرار المؤسسات في تبني ممارسات تطوير البرمجيات التي تؤكد على الأتمتة والتسليم المستمر، أصبحت أهمية تأمين عملية بناء البرمجيات أكبر من أي وقت مضى. من خلال تنفيذ تدابير أمنية قوية طوال مرحلة الإنشاء، يمكن للمؤسسات تقليل مخاطر الوقوع ضحية للهجمات الضارة التي يمكن أن تعرض سلامة وأمن برامجها للخطر بشكل كبير.
تعتبر الاستراتيجيات الموضحة في منشور المدونة هذا والأمثلة المقدمة بمثابة تذكير بأن مرحلة البناء هي نقطة ضعف في سلسلة توريد البرامج. يجب على المؤسسات الانتباه إلى هذه التهديدات وتنفيذ الإجراءات الأمنية اللازمة لحماية برامجها من الهجوم. ومن خلال القيام بذلك، يمكنهم ضمان سلامة وأمن وموثوقية برامجهم لمستخدميهم وعملائهم.
انضم إلى رحلتنا نحو نظام بيئي آمن للبرمجيات
لا تفوت هذه الفرصة للبقاء في الطليعة في تجنب تهديدات سلسلة توريد البرامج. اشترك في مدونتنا اليوم وكن أول من يتلقى أحدث أفكارنا، مما يضمن بقاء مؤسستك مرنة وآمنة وسط التهديدات المتطورة. معًا، يمكننا بناء نظام بيئي برمجي أكثر قوة وأمانًا للجميع.
شاهد عرض الفيديو الخاص بنا





