استراتيجيات سلسلة توريد البرمجيات لتفادي هجمات ارتباك التبعية

استراتيجيات سلسلة توريد البرمجيات لتفادي هجمات ارتباك التبعية

استراتيجيات سلسلة توريد البرمجيات لتفادي هجمات ارتباك التبعية وذكاء بيانات PlatoBlockchain. البحث العمودي. منظمة العفو الدولية.

"ما في الاسم؟ تلك التي نسميها وردة بأي اسم آخر ستكون رائحتها حلوة.» عندما كتب شكسبير هذه الكلمات (روميو وجولييت، الفصل الثاني، المشهد الثاني) عام 2، كان يقول إن الاسم هو مجرد تقليد. ليس لها معنى جوهري. جولييت تحب روميو لشخصيته، وليس لاسمه.

ولكن دون أن يعرف ذلك، كان شكسبير يصف أيضًا هجمات ارتباك التبعية.

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

تشير التقارير البحثية الحديثة إلى أن 41% إلى 49% من المؤسسات معرضة لخطر هجمات ارتباك التبعية. يُظهر بحث جديد من OX Security أنه عندما تكون إحدى المؤسسات معرضة لخطر هجوم ارتباك التبعية، فإن 73% من أصولها معرضة للخطر. ركز البحث على المؤسسات متوسطة الحجم والكبيرة (1K+، 8K+، 80K+ الموظفين) عبر مجموعة واسعة من القطاعات - المالية، والألعاب، والتكنولوجيا، والإعلام - ووجدت المخاطر في كل قطاع عبر المؤسسات من جميع الأحجام. ووجد البحث أيضًا أن جميع التطبيقات تقريبًا التي تضم أكثر من مليار مستخدم تستخدم تبعيات معرضة لارتباك التبعيات.

تهدف هذه المقالة إلى مساعدتك على فهم ارتباك التبعية وكيفية منعه.

ضعف الضعف

التبعيات (وتسمى أيضًا الحزم) هي اللبنات الأساسية لبرنامجك. عادةً ما تؤدي هذه البرامج، سواء تم تطويرها بواسطة مجتمعات بأكملها أو داخل شركة، مهمة شائعة وضرورية.

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

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

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

الكدح والمشاكل

هناك طرق مختلفة لهجوم ارتباك التبعية.

  • تباعد الأسماء. عن طريق تحميل مكتبة برامج ضارة إلى سجل عام - مثل Python Package Index (PyPI) أو JavaScript's سجل npm - إنه اسمه بالمثل إلى مكتبة موثوقة ومستخدمة داخليًا، فإن الأنظمة التي تتجاهل التحقق من مساحة الاسم/عنوان URL أو لا تفرض الجلب من سجل خاص قد تسحب عن طريق الخطأ تعليمات برمجية ضارة. ال حادثة ارتباك تبعية PyTorch الأخيرة هو مثال واحد من هذا القبيل.
  • انتحال DNS. باستخدام تقنية مثل انتحال DNS، يمكن توجيه الأنظمة لسحب التبعيات من المستودعات الضارة أثناء عرض ما يشبه عناوين URL/المسارات الداخلية المشروعة.
  • البرمجة. عن طريق تعديل البرامج النصية للبناء/التثبيت أو التكامل المستمر/التسليم المستمر (CI/CD)، يمكن خداع الأنظمة لتنزيل تبعيات البرامج من مصدر ضار بدلاً من مستودع محلي.

تم تنفيذ الأمور بشكل جيد وبعناية

للحماية من ارتباك التبعية، قم بتأسيس هذه الممارسات.

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

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

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

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

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

خروج، من دب متابعتها

تشكل هجمات ارتباك التبعية تهديدًا خطيرًا ووشيكًا للأمن السيبراني للمؤسسات على مستوى العالم. ما يقرب من نصف المؤسسات معرضة للخطر، و73% من أصول تلك المنظمات معرضة للخطر. ولمواجهة هذا التهديد المتزايد، يجب على المؤسسات تنفيذ تدابير وقائية قوية واعتماد أفضل ممارسات الأمن السيبراني.

ربما كانت ورود شكسبير تنذر بخطر هجمات ارتباك التبعية بمئات السنين، لكن اقتباسًا آخر من الشاعر قد يحمل بعض الحكمة للحماية منها: "لتتفاوض كل عين عن نفسها ولا تأمن وكيلا". (الكثير من اللغط حول لا شيء، الفصل الثاني، المشهد الأول)

الطابع الزمني:

اكثر من قراءة مظلمة