من الهاكر إلى Bug Bounty مالك برنامج: تجربة تعليمية

نشرت: 2022-04-27

لقد كان الأمان أولوية رئيسية هنا في Braze منذ تأسيسنا في عام 2011. قادنا تركيزنا على حماية بيانات عملائنا إلى تبني عقلية الأمان والخصوصية من خلال التصميم عند بناء منتجنا ، والتأكد من اعتمادنا فيما يتعلق بـ ISO 27001 و SOC 2 Type 2 ، وإنشاء مجموعة HIPAA مخصصة لمساعدة العلامات التجارية على حماية المعلومات الصحية المحمية. ولكن في حين أن كل هذه الخطوات مهمة ، فإننا لا نكتفي بما حققناه من أمجاد. هناك دائمًا المزيد الذي يمكنك القيام به ، وهذا التركيز على إيجاد طرق جديدة لتعزيز أمننا هو سبب كبير لوجودي هنا.

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

ما هو برنامج Bug Bounty؟

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

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

أيامي كمشارك في Bug Bounty

سمعت لأول مرة عن مكافآت الأخطاء في عام 2014 ، ولكن لأنني اعتقدت أنها بدت جيدة جدًا لدرجة يصعب تصديقها ، لم ينتهي بي الأمر بالمشاركة فعليًا في واحدة حتى عام 2016. مستوحاة من بعض منشورات المدونة التي كتبها قراصنة أخلاقيون آخرون ، شاركت في ياهو! برنامج bug bounty ووجدت أن لدي موهبة حقيقية في العمل. لسبب واحد ، لقد أعطوني فرصة للاستفادة من مهاراتي في القرصنة للمساعدة في حماية أنظمة الكمبيوتر ، بدلاً من تعريضها للخطر. من ناحية أخرى ، أعطوني الفرصة لكسب مبالغ كبيرة من المال أثناء تواجدي فيها.

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

كيف أطلقنا برنامج Bug Bounty في Braze

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

  • نشر اتفاقيات مستوى خدمة الأمن الداخلي (SLAs) مع فرق التطوير

  • إنشاء برنامج إدارة الثغرات الأمنية

  • نشر أدوات اختبار أمان التحليل الديناميكي (DAST)

  • إجراء اختبارات الاختراق الداخلي

  • إجراء اختبارات الاختراق من طرف ثالث

  • ضمان معالجة جميع المشكلات المعروفة

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

4 دروس كبيرة من إطلاق برنامج Bug Bounty الجديد

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

1. يتطلب إطلاق برنامج Bug Bounty التعاون بين الفريق

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

2. لا تفقد بصر علاقتك مع الهاكرز والباحثين

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

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

3. منح الجوائز تبدو مختلفة من جانب الشركة

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

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

4. لا ينتهي العمل عند تحديد الخلل

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

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

افكار اخيرة

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

هل أنت مهتم بالانضمام إلى الفريق هنا في Braze؟ تحقق من أدوارنا المفتوحة !