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

وهذا على الرغم من حقيقة أن مفاهيم مثل دورة حياة تطوير الأمان (SDLC) ، ومؤخراً نسبيًا مثل DevSecOps أو SecDevOps ، ظهرت في عالم التطوير لفترة طويلة ، ولكن ليس كل شخص يستخدم هذه التقنيات. لديهم جوهر واحد - لتنفيذ النهج لتحسين الأمن من المراحل الأولى من التنمية ، ومن الأفضل أن تبدأ مع تدريب الموظفين. وبالطبع ، من المهم الانتباه إلى أمان المنتج من الهجمات طوال دورة حياته بأكملها. لمزيد من التفاصيل - مرحبا بكم في القط.
واحدة من أهم الخطوات في التنمية الآمنة هي الغموض. Fuzzing هي تقنية لاختبار البرمجيات ، وجوهرها هو الاكتشاف التلقائي لأخطاء التنفيذ عن طريق إرسال بيانات غير صحيحة عن علم وتحليل رد فعل البرنامج عليها.
فقط أثناء كتابة مقال على تويتر ، تلاشت الملاحظات حول استخدام الإغراء من ديمتري فيوكوف.
إنه يلفت الانتباه إلى حقيقة أنه باستخدام التصفيق يمكنك اكتشاف عدد كبير من الأخطاء في الكود ، والتي لن تختفي إلا بعد مضي وقت.
عادةً ما يكمل الدمج عملية التطوير ، ولكن يمكن للدمج أيضًا فصل وظائف المنتج المطوَّر.
مزايا الانصهار على طرق الاختبار الأخرى:
- يمكنك بدء fuzzer ونسيانها حتى نهاية الاختبار ، والعمل مع النتائج ؛
- يمكن للاختبار الآلي تحديد تلك الأخطاء التي تعذر العثور عليها عن طريق الاختبار اليدوي ، بسبب زيادة تغطية الشفرة ؛
- يسمح لك بجمع فكرة عامة عن أمان الشفرة المختبرة.
واحدة من الحالات المثيرة عندما أدى التشويش إلى عمل جيد هو اكتشاف خمسين CVEs في Adobe Reader في 50 يومًا. تمكن الباحثون من العثور على الكثير من الثغرات الأمنية دون الوصول إلى الكود المصدري ، ومن الصعب تخيل عددهم الذي كان سيتم اكتشافه إذا كان لديهم المصدر.
إذا نظرت إلى المصادر المفتوحة للحصول على معلومات حول استخدام الدمج بين المطورين ، فإن Microsoft ستكون الأولى. هذه الشركة هي واحدة من رواد التحبيب في SDLC. لديهم " الكشف عن مخاطر الأمان" ، وهي خدمة تسمح للمستخدمين بتنزيل الملفات الثنائية للتعبير عنها. ما هي البيانات التي سيتم تغذية المدخلات ، يقرر المستخدم. نتيجة الخطأ هي الأخطاء التي تم العثور عليها والبيانات التي تم إنشاؤها.
تستخدم Google أيضًا التشويش ، ولديها العديد من الأدوات في المجال العام. الأكثر إثارة للاهتمام منهم هو OSS-Fuzz . جوهرها هو أنه يمكن لأي شخص تقديم طلب سحب مع fuzzer الخاصة بهم. عادة ما تكون هذه fuzzers ، مرة واحدة تم إنشاؤها من قبل المطورين لمشاريعهم الصغيرة. بالإضافة إلى هذه fuzzers ، تستخدم Google ClusterFuzz للكشف عن الأخطاء في Chrome. لعدة سنوات ، تم اكتشاف أكثر من 16 ألف نقطة ضعف في المتصفح وأكثر من 11 ألف في 160 مشروع مفتوح المصدر.
تزود بعض الشركات التي تقوم بتطوير البرامج الجميع بتجميعات ليلية للإعجاب. وكذلك يفعل موزيلا و VLC . يمكن لأي شخص تنزيل التجميع ومحاولة البحث عن الأخطاء ونقاط الضعف فيه.
بالطبع ، العديد من مطوري البرامج الاحتكارية صامتون بشأن كيفية زيادة أمان منتجاتهم. ولكن حقيقة أن الكثير منهم لا يولون الاهتمام اللازم لسلامة منتجاتهم هو واضح في عدد نقاط الضعف المكتشفة. لذلك ، قررنا إجراء مسح عينة من المطورين لمعرفة موقفهم من الغموض.
طرحنا الأسئلة التالية:
هل تستخدم الغموض في عملية تطوير المنتج الخاص بك؟
أجاب ثلث المستجيبين على هذا السؤال بشكل إيجابي.

إذا لم تستخدم ، فلماذا؟ أو ما الذي ، في رأيك ، يمنعك عادة من دمج مرحلة الاندماج في عملية تطوير المنتج؟
الإجابات المحتملة:
- لا شيء للغضب
- سلامة المنتج ليست أولوية
- لا توجد أدوات مناسبة
- لا المتخصصين ذات الصلة
- عدم وجود البنية التحتية المناسبة
- آخر
يمكن للمجيبين اختيار عدة أسباب لرفض استخدام الغمغمة في عملية التطوير.
يُظهر الرسم البياني النسبة المئوية لملاءمة أسباب رفض الدمج في عملية التطوير.

كان السبب الأكثر شيوعًا لعدم استخدام الدمج هو قلة الموظفين المؤهلين في هذا المجال. ولكن ليس من الضروري دائمًا وجود خبراء أمن معلومات خاصين بك ، يمكنك جذب خبراء خارجيين يقومون بمراجعة المنتجات المطورة.
قدم بعض المشاركين الذين اختاروا خيار الإجابة "أخرى" إجابات مفصلة ومثيرة للاهتمام. فيما يلي بعض الأسباب لرفض الدمج:
- لم يقدر قسم أمن المعلومات مبادرة أحد المطورين لكتابة برنامج fuzzer الخاص بهم ؛
- عدم وجود تقنيات البحث عن الضعف FSTEC.
من بين الإجابات كانت هناك توضيحات حول استخدام fuzzers و libfuzzer ، وهو خبر سار .
كخبراء في الأمن ، ننصحك بعدم إهمال التطوير الآمن ، بما في ذلك استخدام fuzzing ، لزيادة أمان منتجاتك.