المكاسب:
- القدرة على فهم DevSecOps والقواعد الذهبية لإدارة الأسرار (لا يتم إدخال التعليمات البرمجية، ويتم الاحتفاظ بها في الخزنة، ويتم إدخالها في وقت التشغيل، ويتم إرجاعها، مع أقل الامتيازات)
- القدرة على استخدام الذكاء الاصطناعي لتحديد أولويات مخرجات الفحص الأمني (SCA، SAST، الصورة، IaC، السري) ورمز التدقيق للأغراض الدفاعية
- مع العلم أن الخطوة الأولى في التسريب السري هي الإلغاء واستخدام الذكاء الاصطناعي فقط في الأنظمة المصرح بها، ولأغراض الدفاع، وفي الحدود القانونية
إن مدى سرعة نشر النظام لا يعني شيئًا في اليوم الذي يتم فيه اختراقه. بينما تركز DevOps على السرعة، يتم أحيانًا ترك الأمان حتى النهاية، وغالبًا لا يأتي الأمان على الإطلاق. DevSecOps هو النهج الذي يضع الأمان في البداية وفي كل خطوة من تدفق DevOps: "تحويل الأمان إلى اليسار" - أي اكتشاف ثغرة أمنية في المسار، أثناء كتابة التعليمات البرمجية، وليس في المنتج. بالنسبة إلى محترفي DevSecOps، الأمن ليس مهمة فريق منفصل، ولكنه جزء من كل التزام، وكل صورة، وكل بيان.
هناك محوران رئيسيان في هذه الوحدة. الأول هو إدارة الأسرار: إنشاء المعلومات السرية وتخزينها وتوزيعها وتدويرها بشكل آمن، مثل كلمات المرور والمفاتيح والشهادات. والثاني هو الفحص الأمني والتعزيز: العثور على نقاط الضعف في التبعيات والصور والتكوينات. يعد الذكاء الاصطناعي مساعدًا قويًا في كليهما - فهو يكشف عن نقاط الضعف، ويعطي الأولوية لمخرجات الفحص، ويوصي بالإصلاحات. لكن التحذير الأكثر أهمية ينطبق هنا: الذكاء الاصطناعي مخصص للدفاع؛ يعد الوصول غير المصرح به إلى نظام شخص آخر، أو المسح غير المصرح به، أو إنشاء أداة هجوم أمرًا غير قانوني وهو الحد الصارم لهذا النظام الأساسي.
القواعد الذهبية لإدارة الأسرار
- السر لا يصل أبدًا إلى كود المصدر. ليس Dockerfile، وليس YAML، وليس البرنامج النصي، وليس Git. بمجرد الدخول إلى Git، يبقى السر في الماضي.
- يتم الاحتفاظ بالأسرار في قبو مركزي. HashiCorp Vault، وAWS Secrets Manager، وAzure Key Vault، وGCP Secret Manager - يتم تشفير أسرار التخزين هذه والتحكم في الوصول إليها وتتبعها.
- يتم حقنه في وقت العملية. يقوم التطبيق باسترداد السر من المخزن أو متغير البيئة أثناء التشغيل، وليس من القرص.
- أنها تدور بانتظام. كلما طال عمر السر، زاد خطر التسرب. الدوران التلقائي مثالي.
- الحد الأدنى من السلطة. فقط الخدمة التي تحتاجها يمكنها الوصول إلى كل سر.
نصيحة: الإجراء المضاد الأكثر فعالية هو وضع ماسح ضوئي سري (مثل git-secrets، وgitleaks، وtrufflehog) في المسار: فهو يوقف الالتزام إذا تمت محاولة ارتكاب سر ما عن طريق الخطأ. هذا يوقف التسرب من المصدر. يساعد الذكاء الاصطناعي في كتابة تكامل خطوط الأنابيب لهذه المتصفحات.
خطوة بخطوة: الرد على تسرب سري
إذا تسرب سر فلا داعي للذعر فالأمر مهم:
- إلغاء وتدوير على الفور. إبطال المفتاح المسرب، وإنشاء مفتاح جديد. ومجرد محوها لا يكفي، فهي تظل في الماضي.
- تقييم التأثير. أين وصل هذا المفتاح؟ هل تم إساءة استخدامه؟ افحص السجلات.
- قم بإيقاف تشغيل المصدر. كيف تسربت؟ رمز واضح والتاريخ. لكن تذكر: الإلغاء يأتي قبل التصفية.
- يمنع. أضف المتصفح السري إلى المسار حتى لا يتكرر.
تنبيه: الرهان الأغلى هو عدم إعادة السر المسرب لمجرد أنه "لم يره أحد". يتم فحص المفتاح الذي يتم إسقاطه في مستودع عام بواسطة الروبوتات في غضون ثوانٍ. عندما تكون في شك، قم بالتدوير – تكلفة التدوير منخفضة، وتكلفة التسرب كارثية.
أنواع الفحص الأمني
يستخدم DevSecOps طبقات متعددة من الفحص؛ يساعد الذكاء الاصطناعي في تفسير مخرجات كل منها:
- SCA (تحليل تكوين البرامج): يبحث عن نقاط الضعف المعروفة (CVE) في التبعيات مفتوحة المصدر التي تستخدمها.
- SAST (اختبار أمان التطبيقات الثابتة): يقوم بفحص التعليمات البرمجية المصدر بحثًا عن نقاط الضعف دون تشغيلها.
- DAST (اختبار أمان التطبيقات الديناميكية): يختبر التطبيق قيد التشغيل خارجيًا.
- مسح الصور: يبحث عن الثغرات الأمنية في صورة الحاوية (trivy، docker scout).
- فحص IaC: يبحث عن التكوينات الخاطئة في Terraform/البيانات (tfsec، checkov).
تنبيه: يتخلص الماسح الضوئي من مئات النتائج؛ ومن المستحيل إصلاحها كلها في نفس الوقت. استخدام الذكاء الاصطناعي لتحديد أولويات النتائج: ما هي تلك التي يمكن استغلالها حقًا، والتي تكون واضحة من الناحية النظرية ولكن لا يمكن الوصول إليها من الناحية العملية؟ لكن تحقق من تحديد الأولويات النهائية من خلال السياق الخاص بك.
جدول الطبقات النقطية
طبقة
ما الذي يقوم بمسحه؟
مركبة عينة
متى
SCA
نقاط ضعف التبعية (CVE)
ديبيندابوت، سنيك
كل بناء
ساست
نقاط الضعف في كود المصدر
سمغريب، كود كيو إل
كل العلاقات العامة
مسح الصور
نقاط الضعف في الحاويات
تريفي، كشاف
بعد البناء
مسح IAC
التكوين الخاطئ
تفسيك، تشيكوف
تيرافورم للعلاقات العامة
المسح السري
أسرار متسربة
gitleaks
كل التزام
ثلاث حالات صغيرة
الحالة 1 - 300 مواجهة للتطرف العنيف، و12 خطرًا حقيقيًا. أفاد فحص الصور بوجود 300 نقطة ضعف؛ أصيب الفريق بالشلل. قم بإعطاء نتائج المسح إلى الذكاء الاصطناعي واسأل "ما هي العناصر التي يمكن استغلالها عن بعد وهل يمكن الوصول إليها؟" لقد أعطوا الأولوية لذلك. سلطت منظمة العفو الدولية الضوء على 12 نتيجة محفوفة بالمخاطر الحقيقية. قام الفريق بإغلاقهم أولاً. لقد استأجر الباقي على أساس مخطط له. إعطاء الأولوية للذعر.
الحالة 2 - التناوب أحبط الهجوم. قام أحد المطورين عن طريق الخطأ بدفع مفتاح السحابة إلى مستودع عام. انطلق الإنذار. ألغى الفريق وأعاد المفتاح خلال 4 دقائق. أظهرت السجلات أن المفتاح قد تم الاستعلام عنه بالفعل من برنامج الروبوت، لكنه أصبح الآن غير صالح. أدى التحول السريع إلى منع حدوث كارثة محتملة في الفواتير وتسرب البيانات.
الحالة 3 - كشف فحص IaC عن دلو مفتوح. اكتشف فحص IaC بمساعدة الذكاء الاصطناعي مجموعة تخزين في كود Terraform يتمتع بإذن "القراءة العامة" دون الحاجة إلى الحث. لقد فتحه المطور "للاختبار" ونسي إغلاقه. أوقف خط الأنابيب الالتزام؛ مفتوح لم يصل إلى همز. هذا هو بالضبط الهدف من الضرب إلى اليسار.
أربعة قوالب قابلة للنسخ
1) تحديد أولويات مخرجات المسح:
قم بإعطاء الأولوية لمخرجات الفحص الأمني أدناه. بالنسبة لكل نتيجة: (1) هل هي قابلة للاستغلال حقًا (عن بعد/غير مصادق عليها؟)، (2) هل يمكن الوصول إليها في سياقنا، (3) جهود الإصلاح، (4) الأولوية الموصى بها (حرجة/عالية/متوسطة/منخفضة). قم بتسليط الضوء على الخمسة الأكثر إلحاحا. تحدث بوضوح؛ تشير إلى أنني بحاجة إلى التحقق من صحة كل أولوية مع السياق الخاص بي. الإخراج: [المسح الضوئي]
2) تصميم الإدارة السرية:
اقتراح نهج لإدارة الأسرار لـ [APPLICATION/INFRstructure]: أي قبو، وكيفية إدخال الأسرار في وقت التشغيل، وكيفية أتمتة التدوير، وكيفية فرض الحد الأدنى من الامتيازات؟ قم بوصف التدفق الملموس الذي لا يتضمن السر مطلقًا في الكود.
3) البحث عن الثغرات في الكود (الدفاع):
تحقق من الكود الخاص بي أدناه للحصول على الأمان (لدي إذن): هل هناك أي حقن، أو سر مضمن، أو افتراضي غير آمن، أو إدخال لم يتم التحقق من صحته؟ أعط كل نتيجة أهميتها وتصحيحها. والغرض من ذلك هو الدفاع والتوحيد. الرمز: [الكود]
4) خطة الاستجابة للتسرب السري:
ربما يكون [النوع السري] قد تسلل عن طريق الخطأ إلى [الموقع]. أعطني أمر التدخل خطوة بخطوة: ما الذي يجب علي فعله أولاً (الإلغاء/الإرجاع)، وكيفية تقييم التأثير، وكيفية منع التكرار؟ اشرح أيضًا لماذا مجرد الحذف ليس كافيًا.
موجه ضعيف / موجه قوي
ضعيف: "كيف يمكنني اختراق هذا النظام/استغلال هذه الثغرة الأمنية؟"
هذا الطلب غير أخلاقي ويخرج بشكل صارم عن حدود هذه المنصة. من غير القانوني استخدام الذكاء الاصطناعي للهجوم.
Strong: "تخويل رمز التطبيق الخاص بي للأمان: ابحث عن الأسرار المضمنة، ومخاطر الحقن، والافتراضيات غير الآمنة، وأصلح كل منها. الهدف هو تقوية النظام."
الفرق: الطلب الثاني هو لأغراض دفاعية وفي حدود السلطة وللتثبيت. هذا هو الاستخدام الصحيح للذكاء الاصطناعي في DevSecOps.
الأخطاء الشائعة
- تضمين السر في الكود/التاريخ. الضعف الأكثر شيوعًا والمستمر.
- عدم إرجاع السر المسرب. "لم يره أحد" هو الرهان الأكثر تكلفة.
- رؤية جميع نتائج الفحص على قدم المساواة. الإصابة بالشلل بسبب تحديد الأولويات أو فقدان المخاطر الحقيقية.
- ترك الأمن لآخر. إن الفجوة في الإنتاج أغلى بعدة مرات من الفجوة في خط الأنابيب.
- تجاوز الحد الأدنى من السلطة. السر/الدور الذي يمكنه الوصول إلى كل شيء يجعل تسربًا واحدًا كارثة.
- محاولة استخدام الذكاء الاصطناعي للهجوم. غير قانوني وخارج المنصة.
في ملخص
يضع DevSecOps الأمان في البداية وفي كل خطوة من خطوات تدفق DevOps - حيث يقوم باكتشاف الثغرات الأمنية في التعليمات البرمجية ومسارات البيانات، وليس في الإنتاج. القواعد الذهبية لإدارة الأسرار: لا يدخل السر في الكود، ويتم الاحتفاظ به في القبو المركزي، ويتم حقنه في وقت التشغيل، ويتم إعادته بانتظام، ويمكن الوصول إليه بأقل قدر من الامتيازات. الخطوة الأولى في عملية التسرب هي دائمًا الإجهاض/الإرجاع. يتميز الذكاء الاصطناعي بالقوة في تحديد أولويات مخرجات الفحص، وتصميم التدفقات السرية، والفحص الدفاعي للتعليمات البرمجية - ولكن يتم استخدامه فقط بشكل دفاعي وضمن الحدود القانونية للأنظمة التي لديك سلطة عليها.
مهمة التطبيق
قم بتنفيذ مشروع خاص بك (والذي لديك صلاحية تنفيذه). (1) قم بالتحقق من الإعدادات الافتراضية السرية وغير الآمنة المضمنة باستخدام قالب "البحث عن الثغرات الأمنية في التعليمات البرمجية". (2) قم بفرز مخرجات الفحص الأمني (الفعلي أو العينة) من خلال قالب "الفرز" وحدد النتائج الثلاثة الأكثر إلحاحًا. (3) قم بإنشاء مسودة تدفق لمشروعك باستخدام قالب "تصميم الإدارة السرية" الذي يزيل السر تمامًا من الكود.
قائمة مرجعية
- [ ] لقد تحققت من عدم وجود أسرار مضمنة في الكود والصورة والبيانات الخاصة بي.
- [ ] أحتفظ بالأسرار في قبو مركزي وأقوم بإدخالها في وقت التشغيل.
- [ ] أعلم أن الخطوة الأولى في سيناريو التسرب هي الإجهاض/الإرجاع.
- [ ] لقد أعطيت الأولوية لنتائج الفحص بناءً على قابلية الاستغلال والسياق الخاص بي.
- [ ] قمت بنقل عمليات الفحص الأمني إلى الخطوات الأولى لخط الأنابيب (إلى اليسار).
- [ ] لقد استخدمت الذكاء الاصطناعي فقط لأغراض دفاعية على الأنظمة التي أمتلك السلطة فيها.