لسنوات، كان المدافعون يلعبون لعبة اللحاق بالركب في مجال SDLC. في العام الماضي فقط، شهدنا هجمات متعددة تستغل جميعها البنية التحتية لـ SDLC بطرق مختلفة. بدءًا من اختراق Ultralytics، ومرورًا بموجات Shai-Hulud، وحتى اختراق TrustWallet الأخير الذي تم تجاوزه العام الماضي – أدرك المهاجمون عائد الاستثمار المرتفع لاستهداف البنية التحتية لـ SDLC. إنهم لا يبحثون فقط عن نقاط الضعف في التعليمات البرمجية بعد الآن؛ إنهم يعرضون للخطر المصانع التي تصنع الكود. في حين أن لدينا أطر عمل قوية لحماية نقاط النهاية والسحابة (أولاً وقبل كل شيء MITRE ATT&CK)، فإن البنية التحتية التي تبني برامجنا كانت إلى حد كبير بمثابة “اختيار مغامرتك الخاصة” لضوابط الأمان. ولهذا السبب قمنا بإنشاء SITF: إطار عمل تهديدات البنية التحتية لـ SDLC.

إن SITF عبارة عن إطار عمل مفتوح مصمم لحماية “المنتجين” – المؤسسات التي تقوم بإنشاء البرامج. فهو يرسم الهجمات عبر الركائز الخمس لجهازك SDLC بنية تحتية: نقطة النهاية/IDE وVCS وCI/CD والتسجيل والإنتاج:

وتميز نفسها من خلال ثلاثة مفاهيم أساسية:

1. تصور تدفق الهجوم نادراً ما يتم عزل هجمات سلسلة التوريد على نظام واحد. أظهرت حملة Shai-Hulud 2.0 الأخيرة كيف يمكن للمهاجم أن ينتقل من CI/CD الخاص بالمنتج، إلى السجل، وأخيرًا إلى نقطة النهاية الخاصة بالمستهلك.

تقدم SITF متخيل تدفق الهجوم – أداة سحب وإفلات تفاعلية تتيح لك رسم خريطة لهذه المسارات المعقدة. فهو يسمح لك برسم الأسهم بين نقطة الدخول (مثل البريد الإلكتروني التصيدي) ونقطة الخروج (مثل هجوم ثانوي على سلسلة التوريد). على سبيل المثال، هذا هو المنتج النهائي لـ SITF بشأن حادثة CircleCI لعام 2023:

2. مكتبة تضم أكثر من 70 تقنية لقد قمنا بفهرسة أكثر من 70 تقنية هجوم محددة فريدة من نوعها لـ SDLC بالأشعة تحت الحمراء، بدءًا من “عمليات الاحتيال” في VCS الخاصة بك إلى “تسمم ذاكرة التخزين المؤقت للعمل” في خطوط أنابيب CI/CD الخاصة بك. كل تقنية تكون مصحوبة بمجموعة من المخاطر والضوابط المرتبطة بها. بمجرد تحديد/تحديد/سحب تهديد أو هجوم، سيكون لديك قائمة شاملة من عناصر التحكم لمنع وقوع الحادث التالي.

3. العلاقة الثلاثية / التحليل السببي (المخاطر -> التقنية -> التحكم) يتحرك SITF إلى ما هو أبعد من مجرد إدراج الهجمات. إنه يحلل كل حدث إلى سلسلة سببية.

  • تقنية: “ماذا” (على سبيل المثال، T-C003: طلب PWN).

  • مخاطرة: “السبب” (على سبيل المثال، “السماح للممثلين الدائمين من الشوكات” أو “سير العمل مع إمكانية الوصول إلى الأسرار”).

  • يتحكم: “الإصلاح” (على سبيل المثال، “يتطلب موافقة صريحة على سير العمل من الشوكات”).

من خلال تعيين هذه العلاقات، يسمح لك SITF بالانتقال من اكتشاف التقنية إلى تخفيف مخاطر السبب الجذري:

لإثبات فائدة الإطار، قمنا بتصميم نموذج متطور هجوم شاي خلود 2.0. لم تكن هذه الحملة حدثًا واحدًا؛ لقد كان عبارة عن سلسلة من 6 خطوات متميزة تشمل VCS وCI/CD والتسجيل ونقاط النهاية. باستخدام SITF، قمنا بتعيين سلسلة القتل الكاملة. وإليكم كيفية تفكيك إطار العمل للهجوم، بدءًا من الاختراق الأولي.

الخطوة 1: نقطة الدخول (تحليل مفصل)

بدأ الهجوم بمساهمة ضارة في مستودع مفتوح المصدر. يقوم SITF بتحليل هذا الحدث الفردي إلى سلسلة سببية:

  • التقنية (T-C003: طلب PWN): أرسل المهاجم طلب سحب ضار (PR) من مفترق الطرق. أدى هذا الإجراء تلقائيًا إلى تشغيل سير عمل CI/CD.

  • المخاطر التمكينية: لماذا كان هذا ممكنا؟ تم تكوين المستودع على “السماح للعلاقات العامة من الشوكات” لتشغيل خطوط الأنابيب، وكان لسير العمل نفسه “الوصول إلى الأسرار”.

  • الضوابط المفقودة: لإيقاف هذه التقنية المحددة، احتاجت المؤسسة إلى “قواعد حماية الفروع” أو “طلب موافقة صريحة على العلاقات العامة من الشوكات” (كلاهما إعدادات على المستوى التنظيمي لـ VCS) أو “استخدام أداة فحص التكوين الخاطئ لسير العمل” كحارس بوابة ضد سير العمل السيئ أو – والأفضل من ذلك – تثقيف المطورين لكتابة مسارات عمل آمنة من البداية. الإطار لا يقيد الضوابط الأمنية بطبيعتها.

بمجرد تحقيق الوصول الأولي، تسارع الهجوم. في SITF Visualizer، قمنا بتعيين الخطوات اللاحقة في السلسلة:

  • الخطوة 2 (T-C005): التصفية السرية من سير العمل. قام البرنامج النصي الضار للإنشاء بإلقاء متغيرات البيئة لسرقة الرموز المميزة للنشر NPM.

  • الخطوة 3 (T-R004): نشر الحزمة الضارة. وباستخدام الرمز المسروق، قام المهاجم بنشر القطع الأثرية المسمومة في السجل العام.

  • الخطوة 4 (T-E001): التنفيذ الضار على نقطة النهاية. قام المطورون ومشغلو CI المطمئنون بتثبيت الحزم وتنفيذ البرامج الضارة على أجهزتهم المحلية.

  • الخطوة 5 (T-E003): حصاد الأسرار المحلية. استخدمت البرامج الضارة trufflehog لاستخراج بيانات الاعتماد المخزنة في نص عادي على نقاط النهاية الخاصة بالمطورين.

  • الخطوة 6 (T-C005): التصفية السرية من سير العمل. وباعتبارها تقنية جمع سرية إضافية، قامت البرامج الضارة بإنشاء سير عمل مؤقت لإخراج أسرار CI/CD. إذا نجحت، فقد سمح ذلك بالتسمم الثانوي للحزم والانتشار الثانوي للبرامج الضارة.

  • الخطوة 7 (T-E006): قم بتسجيل الجهاز المحلي كمشغل. قام المهاجم بتسجيل الكمبيوتر المحمول الخاص بالمطور باعتباره خادمًا مستضافًا ذاتيًا للشركة، مما أدى إلى استمراريته.

  • الخطوة 8 (T-E010): تدمير البنية التحتية لنقطة النهاية. في حالة فشل عملية الاستخلاص السري، تحاول البرامج الضارة مسح نظام الملفات المحلي.

  • الخطوة 9 (V-004): التصفية السرية عبر الريبو الشخصي. وأخيرًا، حاولت البرامج الضارة إنشاء مستودع يحتوي على الأسرار المستخرجة وتحميلها إلى حساب GitHub المرتبط ببيانات الاعتماد المحلية. إذا لم يتم العثور على بيانات اعتماد GitHub الضرورية محليًا – فسيتم استخدام الحسابات الأخرى المتاحة.

إليك سير العمل المقترح: الوصول إلى المشروع موقع صفحات جيثب -> فتح المتخيل -> تصور الهجوم -> استكشاف التقنيات:

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

عنصر فئة يتحكم حالة
نقطة النهاية/IDE الوصول الأولي EDR على نقطة النهاية
نقطة النهاية/IDE الوصول الأولي تفويض الامتدادات الموقعة
….
نقطة النهاية/IDE الاكتشاف والحركة الجانبية منع فقدان البيانات المحلي
نقطة النهاية/IDE ما بعد التسوية EDR على نقطة النهاية
VCS الاكتشاف والحركة الجانبية سياسة ضد استخدام اتفاقيات إعادة الشراء الشخصية للعمل
….
VCS الاكتشاف والحركة الجانبية الكشف عن الأشعة تحت الحمراء في سجلات التدقيق
VCS الاكتشاف والحركة الجانبية التدريب على التوعية الأمنية
سي آي/سي دي الوصول الأولي قواعد حماية الفروع (VCS)
سي آي/سي دي الاكتشاف والحركة الجانبية إعداد OIDC في سير العمل
….
التسجيل الاكتشاف والحركة الجانبية النشر الموثوق
….

نحن لم نبني هذا في فراغ. كان قرار إنشاء SITF مدفوعًا بالتصعيد غير المسبوق في الهجمات على البنية التحتية لـ SDLC. استمر المجتمع في الرجوع إلى عنصر سلسلة التوريد، ولكن هذه كانت في المقام الأول هجمات على البنية التحتية لـ SDLC. ما بدأ ب ألتراليتيكش تطورت عملية الاختطاف بسرعة إلى عمليات معقدة تستهدف كل طبقة من المكدس: بدءًا من الحركة الجانبية التي تظهر في tj-actions، لاستغلال العداء في أمازون س و s1ngularityمبهمة GhostAction و دودة الزجاج حملات النشر الذاتي شاي خلود و شاي خلود 2.0 الديدان، وأخيرا إلى اختراق الكود التكوين الخاطئ الذي كان من الممكن أن يؤدي إلى AWS حل وسط على مستوى المنصة.

عندما حاولنا تصميم هذه الهجمات، وجدنا أن الأطر الموجودة لم يتم تصميمها لمجموعة المشاكل المحددة هذه:

  • ميتري ATT&CK: على الرغم من أنه هو المعيار الصناعي لنقاط النهاية والمؤسسات، إلا أنه يفتقر إلى مصفوفة مخصصة للبنية التحتية لـ SDLC. والأهم من ذلك، أنه يركز على الكشف عن “التقنيات” التي تجعل من الصعب بناء برنامج الوقاية.

  • OWASP CI/CD أعلى 10: ممتاز لتحديد أولويات قائمة المخاطر، لكنه يفتقر إلى السياق المعماري والتدفق الزمني لإظهار كيف يؤدي الخطر في أحد المكونات (مثل IDE الخاص بالمطور) إلى حل وسط في عنصر آخر (مثل الإنتاج).

  • منهجيات أخرى: توفر الموارد مثل SLSA (التكامل) وNIST SSDF (العملية) وتصنيف سلسلة التوريد الخاصة بـ SAP قطعًا قيمة من اللغز، لكنها تفتقد الرؤية الشاملة التي تركز على البنية التحتية اللازمة لنمذجة التهديدات الحديثة.

كنا بحاجة إلى الإطار الذي كان توجيهية وقابلة للتنفيذ ومرئية. كنا بحاجة للإجابة ليس فقط “ما هي المخاطر؟” ولكن “كيف يتحرك المهاجم عبر نظامي؟” و”كيف نوقف الهجوم التالي؟”

[Clone SITF from GitHub]

[Inspect SITF GitHub page]

SITF مفتوح المصدر ومن جانب العميل ومتاح الآن. لا يوجد برنامج نصي للتثبيت، أو اشتراك، أو خادم للنشر، ولا تترك أي بيانات جهازك. يمكنك الوصول إليه عبر الإنترنت أو محليًا:

متصل – لا يوجد تثبيت، الوصول المباشر للمتصفح إلى صفحات GitHub المحدثة دائمًا موقع.

محليا – إما استنساخ الريبو أو ببساطة تنزيل HTML من المستودع وفتحه في متصفحك.

وفي كلتا الحالتين، متخيل (app/visualizer.html) يمنحك القدرة على:

  • نمذجة السحب والإفلات: ابدأ على الفور في رسم خرائط التهديدات باستخدام أكثر من 70 تقنية محملة مسبقًا.

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

  • التصدير لأصحاب المصلحة: احفظ نماذجك بتنسيق JSON، أو قم بتصدير ملفات PNG/PDF وCSV جاهزة للوحة لتقديم نتائجك.

وبالإضافة إلى ذلك، استخدم التفاعلية مستكشف التقنية (app/techniques-library.html) للبحث عن الهجمات وتصفيتها حسب المكون (على سبيل المثال، “السجل” أو “CI/CD”) أو المرحلة (على سبيل المثال، “الوصول الأولي”). إنه بمثابة أداة تدقيق شاملة للبنية التحتية الحالية لديك.

أخيراً, الانضمام إلى المجتمع عن طريق إضافة تقنيات وسيناريوهات SITF. مكتبة التقنية بأكملها مدفوعة بمصدر الحقيقة JSON الذي يمكن قراءته آليًا، مما يفتح عدة احتمالات:

  • تقنيات المساهمة: هل وجدت تقنية هجوم جديدة أم مخاطرة أم سيطرة؟ إرسال العلاقات العامة إلى مكتبة التقنية.

  • التنمية المحلية: هل تفضل التنمية المحلية؟ هل لديك SDLC أشعة تحتية ذات مخاطر وضوابط فريدة؟ يُعدِّل techics.json، ثم تشغيل build-techniques.py لتصدير التقنيات الجديدة إلى HTML. استخدم HTMLs الخاصة بك.

  • سيناريوهات المساهمة: أنشئ تدفق الهجوم الجديد، واحفظه محليًا، وأضفه إلى نماذج التدفقات وأرسل العلاقات العامة.

  • البقاء الحالي: احصل على آخر التحديثات للتأكد من أن نماذج التهديد الخاصة بك تتوافق مع أحدث التقنيات التجارية لسلسلة التوريد.

شاركها.
اترك تعليقاً