ما تحليل تكوين البرمجيات (SCA)؟

شخص ينظر إلى جهاز كمبيوتر

شرح تحليل تكوين البرمجيات

تحليل تكوين البرمجيات (SCA) هو عملية تحليل البرمجيات—في أغلب الأحيان البرامج المبنية من مكونات مفتوحة المصدر—للتأكد من أن المكونات محدثة وآمنة ومتوافقة مع التراخيص.

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

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

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

يُعَد تحليل تكوين البرمجيات جزءًا من مسار عمليات التطوير السحابي الأصلي الذي يدمج عملية تطوير البرمجيات مع عمليات تكنولوجيا المعلومات. كما تدعم أدوات تحليل تكوين البرمجيات الوضع الأمني للمؤسسة كجزء من مسار التطوير والأمن والعمليات، الذي يدمج الأمن مع عمليات التطوير والتشغيل. يمكن نشر أدوات تحليل تكوين البرمجيات في بيئة تطوير متكاملة (IDE)، ما يوفر تحليل التعليمات البرمجية في الوقت الفعلي أثناء عملية التطوير.

يختلف تحليل تكوين البرمجيات عن الأشكال الأخرى لفحص الثغرات الأمنية مثل اختبار أمان التطبيقات الثابتة (SAST) واختبار أمان التطبيقات الديناميكية (DAST) وفحص الاعتمادية.

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

وفقًا لبيانات الاستطلاع الذي أجرته مؤسسة البيانات الدولية، فإن 93% من الشركات التي يعمل بها 100 موظف على الأقل تستخدم برمجيات مفتوحة المصدر بدءًا من عام 2024، ما يسلط الضوء على الحاجة واسعة النطاق إلى حلول تحليل تكوين البرمجيات.1

كيف يعمل تحليل تكوين البرمجيات؟

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

جمع مصدر الرمز

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

من أجل القيام بذلك، تقوم أدوات تحليل تكوين البرمجيات أولاً بإدراج العناصر الأساسية لجميع البرمجيات في بيئة تكنولوجيا المعلومات، بما في ذلك مكوناتها وأطر العمل والمكتبات وصور الحاويات والوحدات النمطية والتبعيات. الشكلان الرئيسيان لفحص تحليل تكوين البرمجيات هما: 

  • الفحص الساكن، أو فحص ملفات البيانات، والذي يقوم بقراءة ملفات التكوين والبيانات الوصفية للعثور على العناصر الموصوفة فيها بشكل صريح.

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

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

كشف الثغرات الأمنية

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

تقارن فرق الأمن قائمة مكونات البرامج بكل من قواعد البيانات الخاصة بالثغرات الأمنية المعروفة، والقواعد العامة مثل قاعدة بيانات الثغرات الوطنية (NVD) أو قائمة الثغرات الأمنية الشائعة والتعرض لها (CVEs). بمجرد تحديد الثغرات الأمنية المحتملة، تعيِّن أداة تحليل تكوين البرمجيات درجة تهديد لكل منها (غالبًا باستخدام نظام تسجيل الثغرات الأمنية الشائعة أو CVSS)، ما يسمح لفريق الأمن السيبراني بتحديد أولويات المعالجة.

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

الامتثال للترخيص

كما تطابق أدوات تحليل تكوين البرمجيات قائمة مكونات البرامج مع سياسات الشركة والقوانين المتعلقة بتراخيص البرمجيات لضمان الامتثال.

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

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

إدارة الاعتماديات

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

يمكن لأدوات تحليل تكوين البرمجيات اكتشاف كل من التبعيات المباشرة—حيث تستخدم المكونات البرمجية بعضها بعضًا بشكل مباشر على مستوى التعليمات البرمجية—والتبعيات المتعدية. تحدث الاعتمادية المتعدية عندما يصبح البرنامج معتمدًا بشكل غير مباشر على مكون برمجي يعتمد عليه أحد تبعياته المباشرة. على سبيل المثال: إذا كان المكون A يعتمد على المكون B، والمكون B يعتمد على المكون C؛ ففي هذا السيناريو، يكون المكون A معتمدًا بشكل متعدٍ على المكون C.

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

التقارير والمعالجة

يتم بعد ذلك تجميع نتائج تحليل تكوين البرمجيات في تقرير، وغالبًا ما تُعرض عبر لوحة تحكم خاصة بالأداة، أو كبيانات أولية مثل ملف JSON، أو قائمة مكونات برامج جديدة، أو مزيج من هذه الخيارات الثلاثة.

في السنوات الأخيرة، أحرز المطورون تقدمًا في الحد من النتائج الإيجابية الكاذبة في هذه التقارير.

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

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

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

تطوير التطبيقات

ابدأ الآن بتطوير التطبيقات المؤسسية في السحابة

في هذا الفيديو، يناقش الدكتور Peter Haumer كيفية تطوير التطبيقات المؤسسية الحديثة في السحابة الهجينة اليوم من خلال عرض مكونات وممارسات مختلفة، بما في ذلك IBM Z Open Editor وIBM Wazi وZowe. 

فوائد تحليل تكوين البرمجيات

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

الامتثال

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

الثقة بالمكونات مفتوحة المصدر

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

أتمتة سير عمل تكنولوجيا المعلومات

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

تحديات تحليل تكوين البرمجيات

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

الثغرات الأمنية المفقودة

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

النتائج الإيجابية الخطأ وإجهاد التنبيه

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

زيادة التحميل على الشبكة

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

مقارنة بين تحليل تكوين البرمجيات واختبار أمان التطبيقات الثابت واختبار أمان التطبيقات الديناميكي

يختلف تحليل تكوين البرمجيات عن كل من اختبار أمان التطبيقات الديناميكي (DAST) واختبار أمان التطبيقات الثابت (SAST)، وهما طريقتان إضافيتان للاختبار تُستخدمان لتحديد الثغرات الأمنية في التطبيقات الحديثة.

فبينما يوفر تحليل تكوين البرمجيات خريطة شاملة للمكونات البرمجية والتبعيات والثغرات لفرق تكنولوجيا المعلومات، يركز كل من اختبار أمان التطبيقات الديناميكي (DAST) واختبار أمان التطبيقات الثابت (SAST) على كشف العيوب الفردية داخل تلك المكونات وفي التطبيقات البرمجية الأكبر التي تشكلها.

يشبه الفرق بين اختبار أمان التطبيقات الديناميكي (DAST) واختبار أمان التطبيقات الثابت (SAST) الفرق بين الفحص الثابت والفحص الديناميكي في تحليل تكوين البرمجيات. حيث يقيِّم اختبار أمان التطبيقات الديناميكي (DAST) التطبيقات في بيئات الإنتاج الخاصة بها، ويحاكي المستخدمين الخبيثين والهجمات الإلكترونية للمساعدة في تحديد المشكلات الأمنية. بينما يتعمق اختبار أمان التطبيقات الثابت (SAST) في مصدر الرمز الخاص بالتطبيق، ويبحث عن الثغرات الأمنية الموجودة في الرمز أثناء كتابته.  

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

مقارنة بين تحليل تكوين البرمجيات وتحديد الاعتماديات

يختلف تحليل تكوين البرمجيات عن تحديد الاعتماديات، وهي عملية تحديد العلاقات بين التطبيقات والأنظمة والعمليات ضمن أنظمة تكنولوجيا المعلومات في المؤسسة وفهمها وتصوّرها.

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

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

المؤلفون

Derek Robertson

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

حلول ذات صلة
خدمة تطبيقات IBM Enterprise لـ Java

خدمة مُدارة بالكامل ومستأجر واحد لتطوير تطبيقات Java وتسليمها.

استكشف تطبيقات Java
حلول عمليات التطوير

استخدم أدوات وبرمجيات عمليات التطوير لإنشاء تطبيقات السحابة الأصلية ونشرها وإدارتها عبر أجهزة وبيئات متعددة.

استكشف حلول عمليات التطوير
خدمات تطوير تطبيقات المؤسسات

إن تطوير تطبيقات السحابة يعني البناء مرة واحدة، والتكرار بسرعة، والنشر في أي مكان.

خدمات تطوير التطبيقات
اتخِذ الخطوة التالية

تقدِّم خدمات استشارات تطوير التطبيقات من IBM Cloud توجيهات الخبراء وحلولًا مبتكرة لتبسيط استراتيجيتك السحابية. تعاون مع خبراء IBM في مجال السحابة والتطوير لتحديث تطبيقاتك وتوسيع نطاقها وتسريعها، ما يحقق النتائج التحويلية لأعمالك.

  1. استكشف خدمات تطوير التطبيقات
  2. ابدأ البناء باستخدام IBM Cloud مجانًا
الحواشي

1. "IDC PlanScape: التحقق من صحة مصادر البرمجيات مفتوحة المصدر، Christopher Tozzi، IDC PlanScape، يوليو 2025.