مقدمة
تعتمد التطبيقات الحديثة بشكل كبير على المكونات مفتوحة المصدر ومكتبات الجهات الخارجية. في حين أن هذه التبعيات تسرع التطوير وتوفر وظائف مثبتة ، إلا أنها تقدم أيضا ثغرات أمنية ومخاطر امتثال الترخيص. يوفر تحليل تكوين البرامج (SCA) أدوات وعمليات آلية لتحديد مخاطر الأمان والامتثال وتتبعها وإدارتها في سلسلة توريد البرامج الخاصة بك.
بدون تحليل التبعية المنهجي، تظل المؤسسات غير مدركة لنقاط الضعف في تطبيقاتها حتى تحدث الخروقات. يكتشف باحثو الأمن الآلاف من الثغرات الأمنية الجديدة في المكونات مفتوحة المصدر سنويا، وتظل التطبيقات التي تستخدم الإصدارات المتأثرة عرضة للخطر حتى يتم تحديث التبعيات. يعد التتبع اليدوي للتبعيات عبر مئات التطبيقات أمرا غير عملي ، ويتطلب حلول SCA الآلية.
توفر هذه الوحدة إرشادات شاملة حول تنفيذ تحليل تكوين البرامج في مهام سير عمل التطوير الخاصة بك. ستتعلم أساسيات SCA، وتنفذ الكشف التلقائي عن الثغرات الأمنية باستخدام GitHub Dependabot، وتدمج أدوات SCA في Azure Pipelines، وأتمتة فحص الحاويات، وتفسير تنبيهات الأمان لتحديد أولويات المعالجة بشكل فعال.
الأشيَاء التي ستتعلمُهَا:
تغطي هذه الوحدة المعرفة الأساسية لتنفيذ تحليل تكوين البرامج:
فهم تحليل تكوين البرامج: سوف تستكشف ماهية SCA ، ولماذا هي مهمة للتطوير الحديث ، وما تكتشفه أدوات SCA ، وفوائد المسح التلقائي للتبعية. يساعدك فهم أساسيات SCA على التعرف على سبب عدم توسع إدارة التبعية اليدوية وكيف توفر الأدوات الآلية رؤية مستمرة لمخاطر الأمان والامتثال.
فحص قواعد التعليمات البرمجية والتحقق من صحتها: ستتعلم كيفية جرد جميع التبعيات في تطبيقاتك، والتحقق من امتثال الترخيص لتجنب المشكلات القانونية، واكتشاف الثغرات الأمنية المعروفة من خلال قواعد بيانات مكافحة التطرف العنيف، وتقييم جودة التبعية بما في ذلك حالة الصيانة وصحة المجتمع.
تنفيذ GitHub Dependabot: ستكتشف كيف يقوم GitHub Dependabot تلقائيا بفحص التبعيات بحثا عن الثغرات الأمنية، وإنشاء طلبات سحب مع تحديثات الأمان، وإنشاء رسوم بيانية للتبعية توضح التبعيات العابرة، والتكامل مع علامة تبويب GitHub Security لإدارة الثغرات الأمنية المركزية.
دمج SCA في خطوط الأنابيب: ستستكشف كيفية تنفيذ الفحص التلقائي في Azure Pipelines أثناء الإنشاء والنشر، وتكوين أدوات SCA بما في ذلك Mend (WhiteSource) وSnyk وOWASP Dependency-Check، وإنشاء بوابات الجودة التي تفشل في الإصدارات عند اكتشاف الثغرات الأمنية الحرجة، وإنشاء فاتورة مواد البرامج (SBOM) للتوافق والشفافية.
فحص أدوات هيئة الأوراق المالية والسلع ستقارن حلول SCA المختلفة لفهم نقاط قوتها وقيودها وحالات الاستخدام المثالية. تشمل الأدوات التي يتم تناولها العروض التجارية مثل Mend و Snyk التي توفر مسحا شاملا مع الدعم ، وخيارات مفتوحة المصدر مثل OWASP Dependency-Check للمسح الفعال من حيث التكلفة ، والحلول المتكاملة للنظام الأساسي مثل مصادر Azure Artifacts upstream و GitHub Dependabot.
أتمتة مسح الحاويات: ستتعلم كيفية فحص صور قاعدة الحاوية بحثا عن الثغرات الأمنية، وتحليل تبعيات التطبيق داخل الحاويات، ودمج فحص الحاوية في مسارات CI/CD، وتكوين سجلات الحاويات مثل Azure Container Registry وDocker Hub لحظر الصور المعرضة للخطر تلقائيا.
تفسير تنبيهات الماسح الضوئي: ستكتشف كيفية تقييم خطورة الثغرات الأمنية باستخدام درجات CVSS، وتحديد قابلية الاستغلال مع الأخذ في الاعتبار ما إذا كان يمكن الوصول إلى الثغرات الأمنية في تطبيقك، وتحديد أولويات المعالجة بناء على تأثير الأعمال والمخاطر، وإدارة الإيجابيات الخاطئة التي يمكن أن تطغى على الفرق إذا لم تتم تصفيتها بشكل صحيح.
أهداف التعلم
بعد إِكمال هذه الوحدة النمطية، ستتمكن من القيام بما يلي:
- فهم تحليل تكوين البرامج (SCA) والتعرف على سبب أهمية الفحص الآلي للتبعية لإدارة مخاطر الأمان والامتثال في التطبيقات الحديثة التي تم إنشاؤها من مكونات مفتوحة المصدر.
- فحص قواعد التعليمات البرمجية والتحقق من صحتها من خلال جرد جميع التبعيات بما في ذلك التبعيات الانتقالية والتحقق من امتثال الترخيص واكتشاف الثغرات الأمنية المعروفة من خلال قواعد بيانات مكافحة التطرف العنيف وتقييم جودة التبعية.
- قم بتنفيذ GitHub Dependabot لاكتشاف التبعيات الضعيفة تلقائيا، وتلقي طلبات السحب مع تحديثات الأمان، وتصور الرسوم البيانية للتبعية، ودمج تنبيهات الثغرات الأمنية مع علامة التبويب GitHub Security.
- قم بدمج فحوصات SCA في Azure Pipelines من خلال تنفيذ الفحص التلقائي أثناء البناءات، وتكوين بوابات الجودة التي تفشل في الإصدارات للثغرات الأمنية الحرجة، وإنشاء تقارير التوافق، وإنشاء فاتورة مواد البرامج (SBOM).
- فحص أدوات SCA وتكوينها بما في ذلك الحلول التجارية مثل Mend (WhiteSource) وSnyk والأدوات مفتوحة المصدر مثل OWASP Dependency-Check والحلول المتكاملة للنظام الأساسي مثل مصادر Azure Artifacts الأولية.
- أتمتة مسح صور الحاوية لاكتشاف الثغرات الأمنية في الصور الأساسية وتبعيات التطبيقات، ودمج المسح الضوئي في مهام سير عمل CI/CD، وتكوين السجلات لمنع نشر الحاويات المعرضة للخطر.
- تفسير التنبيهات من أدوات المسح من خلال تقييم الخطورة باستخدام درجات CVSS، وتحديد قابلية الاستغلال وإمكانية الوصول، وتحديد أولويات المعالجة بناء على تأثير الأعمال، وإدارة الإيجابيات الخاطئة بشكل فعال.
المتطلبات المسبقه
قبل بدء هذه الوحدة النمطية، يجب أن يكون لديك:
- فهم تبعيات البرامج: معرفة أساسية بكيفية استخدام التطبيقات للمكتبات والأطر والحزم من مديري الحزم مثل npm أو pip أو NuGet أو Maven.
- الإلمام بمفاهيم DevOps: فهم التكامل المستمر والتسليم المستمر وبناء خطوط الأنابيب ودورة حياة تطوير البرمجيات.
- تجربة التحكم في الإصدار: الخبرة الأساسية مع Git وطلبات السحب ومهام سير عمل مراجعة التعليمات البرمجية حيث تحدث إدارة التبعية عادة.
- الوعي مفتوح المصدر: الفهم العام بأن المكونات مفتوحة المصدر يمكن أن تحتوي على ثغرات أمنية ولها متطلبات ترخيص (المعرفة من الوحدات النمطية السابقة مفيدة).
- تجربة Azure DevOps أو GitHub: الإلمام ب Azure Pipelines أو GitHub Actions لتنفيذ الفحص التلقائي في مهام سير عمل CI/CD.
الخبرة في العمل في المؤسسات التي تقدم البرامج مفيدة ولكنها ليست مطلوبة. تعتمد هذه الوحدة على مفاهيم البرامج مفتوحة المصدر وتوفر إرشادات تنفيذ عملية لتحليل تكوين البرامج.