ينشأ سطح الهجوم عبر المساهمات مفتوحة المصدر من نموذج الثقة الخاص بالتطوير مفتوح المصدر: فمساهمات المساهمين الراسخين تخضع لتدقيق أقل من مساهمات المساهمين الجدد لأن السمعة تُعد بديلًا عن الجدارة بالثقة. ويخلق نموذج الثقة القائم على السمعة هذا ثغرة في سلسلة التوريد عندما تتغير دوافع مساهم راسخ أو ظروفه: عندما يغادر موظف في ظروف عدائية، أو عندما يُخترق حساب، أو عندما يُكرَه مساهم مشروع. فالثقة التي بنتها ثلاث سنوات من المساهمات الجيدة تمتد إلى المساهمة التي تحمل الباب الخلفي، وذلك تحديدًا لأن الثقة تجعل المراجعة المعمقة أقل احتمالًا.
يمثل تحول التهديد من الداخل إلى الخارج سيناريو الخطر المحدد. فالموظف الذي يساهم في مشاريع مفتوحة المصدر ضمن دوره له هوية مزدوجة: موظف موثوق يخضع لاتفاقيات العمل لدى المؤسسة وعمليات مراجعة الشيفرة والمراقبة الأمنية، ومساهم موثوق في المشاريع مفتوحة المصدر تخضع مساهماته لمعايير المراجعة في المجتمع مفتوح المصدر. وعندما تنتهي علاقة العمل، لا سيما في ظروف عدائية مثل الفصل لسبب مشروع، تنتهي ضوابط المؤسسة على سلوك الموظف السابق. أما السمعة التي راكمها الموظف السابق في المجتمع مفتوح المصدر فلا تنتهي.
يُعد هجوم XZ Utils في مارس 2024 المثال الواقعي النموذجي. فقد أمضى مهاجم نحو عامين في بناء الثقة بوصفه مساهمًا في مكتبة الضغط xz-utils باسم مستعار، إذ قدم مساهمات جيدة، وبنى علاقات مع القائم على الصيانة الحالي، وحصل في النهاية على صلاحية الإيداع. وعندما أُدرجت حمولة الهجوم، دمجها قائم على الصيانة يثق بالمساهم بناءً على عامين من العمل الجيد. كانت الهندسة الاجتماعية صبورة ومنهجية ومصممة تحديدًا لاستغلال نموذج الثقة القائم على السمعة الذي يجعل التعاون مفتوح المصدر ممكنًا.
لماذا يهم هذا
تكتسب مخاطر المساهمات مفتوحة المصدر أهمية في TPRM لأن المكتبات مفتوحة المصدر التي تُبنى عليها برمجيات المورّد يصونها مساهمون من البشر قد تتغير دوافعهم، ولأن نموذج الثقة الذي يجعل التطوير مفتوح المصدر فعالًا هو نفسه نموذج الثقة الذي يستهدفه مهاجمو سلسلة التوريد تحديدًا. فالمورّد الذي تُبنى برمجياته على حزم مفتوحة المصدر يصونها مساهمون موثوقون يعتمد على استمرار جدارة مساهمين بالثقة لا يستطيع مراقبة ظروفهم.
- مخاطر المساهمات مفتوحة المصدر غير مدرجة في نموذج أمن سلسلة التوريد
- عدم مراقبة مساهمات الموظفين المغادرين في المشاريع مفتوحة المصدر
- مراجعة PR القائمة على الثقة تخلق ثغرة أمام حسابات المساهمين المخترقة
- الاعتماد على حزم ذات فرق مساهمين صغيرة يزيد التعرض لمخاطر التهديد الداخلي
- الهندسة الاجتماعية للقائمين على صيانة المشاريع مفتوحة المصدر بوصفها قناة لهجمات سلسلة التوريد
كيف تبدو الممارسة الجيدة
تطبق برامج مخاطر المساهمات مفتوحة المصدر الناضجة سياسات لمساهمات الموظفين في المشاريع مفتوحة المصدر، وتراقب التغييرات في التبعيات مفتوحة المصدر الحرجة بما في ذلك تغييرات المساهمين، وتطبق تدقيقًا إضافيًا على طلبات السحب المقدمة من مساهمين شهدت حساباتهم تغييرات حديثة أو انتقالًا للسمعة أو أنماط مساهمة غير معتادة.
- سياسة مساهمات الموظفين في المشاريع مفتوحة المصدر، النطاق ومتطلبات المراجعة
- مراقبة المساهمين في التبعيات، أي التغييرات في فريق القائمين على صيانة الحزم الحرجة
- تدقيق إضافي للمساهمين الذين تغيرت بيانات اعتمادهم، أي الحسابات المنقولة حديثًا
- اكتشاف أنماط المساهمة الشاذة، أي النشاط غير المعتاد بعد فترة خمول
- الوعي بهجمات من نمط XZ Utils، أي هجمات سلسلة التوريد القائمة على الهندسة الاجتماعية الصبورة
الأدوات
مراقبة المساهمات، Socket.dev لاكتشاف تغييرات القائمين على الصيانة والمساهمين، وOpenSSF Scorecard لسلامة القائمين على الصيانة
تكشف المراقبة الفورية للحزم في Socket.dev تغييرات حسابات المساهمين والقائمين على الصيانة، وتحديدًا نوع عمليات نقل الحسابات وإضافة قائمين جدد على الصيانة التي تسبق هجمات سلسلة التوريد عبر قناة المساهمات مفتوحة المصدر. ويوفر OpenSSF Scorecard درجة للسلامة الأمنية للمشاريع مفتوحة المصدر تشمل إشارات نشاط المساهمين وجودة عملية المراجعة.
تحديات الحوكمة
يتمثل تحدي الحوكمة في مخاطر المساهمات مفتوحة المصدر في حجم المراقبة. فسلسلة توريد برمجيات تضم آلاف التبعيات غير المباشرة لا يمكنها مراقبة جميع المساهمين في جميع الحزم يدويًا. والحل من منظور الحوكمة هو المراقبة القائمة على المستويات: مراقبة شاملة للمساهمين في التبعيات المباشرة والتبعيات غير المباشرة الحرجة، واكتشاف مؤتمت للشذوذ في شجرة التبعيات الأوسع.
- راقب تغييرات المساهمين في التبعيات المباشرة الحرجة
- طبّق نموذج هجوم XZ Utils على تحليل أنماط المساهمة
- طبّق سياسة لمساهمات الموظفين في المشاريع مفتوحة المصدر
- أدرج مخاطر المساهمات في تقييم سلامة التبعيات مفتوحة المصدر
- استخدم Socket.dev للاكتشاف المؤتمت لتغييرات المساهمين
إذا كنت فريقًا صغيرًا
اضبط مراقبة Socket.dev لأهم عشر تبعيات مباشرة مفتوحة المصدر لديك. سينبهك Socket.dev إلى تغييرات حسابات المساهمين وإضافة قائمين جدد على الصيانة وأنماط المساهمة غير المعتادة، وهي الإشارات المحددة التي تسبق هجمات سلسلة التوريد عبر قناة المساهمات مفتوحة المصدر. وتستغرق تهيئة هذه المراقبة المؤتمتة لعشر حزم دقائق، وتوفر قدرة الإنذار المبكر التي أظهر هجوم XZ Utils أنها كانت غائبة.
- اضبط Socket.dev لأهم عشر تبعيات مباشرة حرجة
- التنبيه عند تغيير حسابات المساهمين وإضافة قائمين جدد على الصيانة
- طبّق سياسة لمساهمات الموظفين في المشاريع مفتوحة المصدر
- أدرج مخاطر المساهمين في تقييم سلامة التبعيات
ما الذي ينبغي اشتراطه
اسأل مباشرةً:
«كيف تراقبون هجمات سلسلة التوريد عبر قنوات المساهمين في تبعياتكم مفتوحة المصدر، وتحديدًا نمط الهندسة الاجتماعية الذي أظهره هجوم XZ Utils حيث يبني مساهم صبور الثقة على مدى سنوات قبل إدراج شيفرة خبيثة؟»
ما تتوقعه دليلًا
- برنامج مراقبة المساهمين في التبعيات
- اكتشاف أنماط المساهمة الشاذة
- سياسة مساهمات الموظفين في المشاريع مفتوحة المصدر
- الوعي بهجمات من نمط XZ Utils في نموذج أمن سلسلة التوريد
المورّد الذي يؤكد إدارة التبعيات مفتوحة المصدر يجب أن يُسأل عن مراقبة مخاطر المساهمين. فإدارة إصدارات التبعيات تغطي الحزمة المستخدمة. أما مراقبة المساهمين فتغطي من يُوثق به لتعديل تلك الحزمة.
كيف تُثبت ذلك
- تطبيق مراقبة المساهمين
- اكتشاف المساهمات الشاذة
- سياسة مساهمات الموظفين في المشاريع مفتوحة المصدر
- مخاطر المساهمين في تقييم سلامة التبعيات
الخلاصة الرئيسية
ثلاث سنوات من المساهمات الموثوقة. موظف غادر. سمعته في المجتمع مفتوح المصدر سليمة. PR يحمل بابًا خلفيًا. دُمج بناءً على الثقة. أربعة عشر مورّدًا في المراحل اللاحقة. انتهت علاقة العمل بإلغاء الوصول. أما السمعة في المجتمع مفتوح المصدر فلم تنتهِ. وقد أظهر هجوم XZ Utils نمط الهجوم نفسه: هندسة اجتماعية صبورة ومنهجية تبني الثقة وتستغل نموذج السمعة الذي يجعل التعاون مفتوح المصدر ممكنًا. تكشف مراقبة تغييرات المساهمين عمليات نقل الحسابات وإضافة قائمين جدد على الصيانة قبل الباب الخلفي. ويوفر Socket.dev اكتشافًا مؤتمتًا. فالسمعة التي تكسب دمج طلبات السحب هي السمعة نفسها التي يبنيها مهاجم سلسلة التوريد عبر سنوات من المساهمات المشروعة.