برامج الـ Bug Bounty
(تحذير: يمنع بل ويعد مخالفة وتجاوز يعاقب عليه النظام القيام بمحاولة الاختراق وتصيد الثغرات بدون اخذ الأذن والموافقة المسبقة على ذلك والحديث هنا منصب فقط على الجانب النظامي والرسمي الذي يخول بالقيام بمثل هذه الأنشطة)
من الميادين المفيدة لممارسة وتطبيق المعلومات النظرية بشكل تطبيقي عملي هو ما يسمى برامج الـ Bug Bounty والتي تعتبر برامج رسمية تطرح بين وقت وآخر عدد من الأصول والتي يرغب أصحابها سواءً جهات حكومية أو أهلية التأكد من سلامتها وحصانتها ضد الهجمات الالكترونية بحيث تطلب من الباحثين الأمنيين الدخول على تلك الأصول والبحث عن ثغرات أمنية فيها وعند الحديث عن برامج الـ Bug Bounty فتعني كلمة الأصل (Asset) أي تطبيق أو موقع ويب أو منتج يمكن اختراقه وهناك أنواع مختلفة من هذه الأصول ولكل منها خصائصه ومتطلباته وإيجابياته وسلبياته الخاصة.
ومن المهم لمن يرغب دخول هذا المجال معرفة هذه الأنواع حتى يستطيع أن يختار الميدان الأنسب له حتى يلعب على نقاط قوته ويستند على مهاراته وخبراته.
النوع الاول من الاصول (مواقع التواصل الاجتماعية)
مجرد ذكر مصطلح “اجتماعي” يتبادر إلى الذهن الكثير من نقاط الضعف وذلك لأن هذه المواقع أو التطبيقات تتضمن الكثير من التفاعل بين المستخدمين أنفسهم من جهة وبين المستخدمين والخوادم من جهة أخرى ويشير هذا المصطلح إلى أي موقع يسمح للمستخدمين بالتفاعل مع بعضهم البعض مثل Facebook وTwitter وGitHub وLINE.
تتطلب هذه المواقع أو التطبيقات إدارة التفاعلات بين المستخدمين كما تتطلب أيضاً وجود أدوار محددة لكل مستخدم وامتيازاته وعادة ما تكون مليئة بنقاط الضعف على شبكة الإنترنت وذلك بسبب وجود اعداد كبيرة من المستخدمين ويزداد الأمر سوءاً عند وجود ضعف في إدارة قاعدة بيانات المستخدمين فلا يتم التحقق من صحة هوية المستخدم بشكل صحيح مما يمكن المهاجمين من سرقة هوية الآخرين.
غالباً ما توفر هذه المواقع أو التطبيقات الكثير من إمكانية قيام المستخدم بإدخال البيانات وهذا الأمر إذا لم يتم التعامل معه بعناية وفرض آلية قوية للتحقق من صحة وسلامة المدخلات فإن هذه التطبيقات عرضة لهجمات ما يسمى بالحقن مثل حقن SQL أو البرمجة النصية عبر المواقع (XSS).
تتضمن المهارات المطلوبة للتميز في هذا الميدان القدرة على استخدام اداة مثل Burp Suite وكذلك وجود بعض مهارات برمجة جافا سكريبت وبعض المعلومات بشأن تطوير الويب.
النوع الثاني من الاصول (المواقع العامة)
والمقصود هنا تطبيقات الويب التي لا تتضمن تفاعل مستخدم مع مستخدم آخر وإنما يتفاعل المستخدمون مع الخادم فقط للوصول إلى مميزات الموقع ويمكن أن يشمل هذا الميدان مواقع الويب العادية والتطبيقات السحابية والمواقع الخدمية مثل المواقع المصرفية وما أشبه ذلك.
وغالباً ما تكون أكثر صعوبة في الاختراق من التطبيقات الاجتماعية وتتنوع صور الثغرات هنا وتختلف اختلافًا طفيفاً بحيث يكون التركيز متوجه بشكل أكبر على جانب الخادم والثغرات الأمنية الخاصة بتكنولوجيا الموقع أو على نقاط ضعف الشبكة الشائعة مثل محاولة الوصول للنطاقات الفرعية للموقع(subdomain).
هذا يعني أنه يجب الإلمام بالثغرات الأمنية من كلى الجانبين جانب العميل وجانب الخادم على حد سواء ويجب وجود القدرة على استخدام الـ (proxy) كما أنه من المفيد جداً أن يكون هناك معرفة وإلمام بتطوير الويب والبرمجة.
النوع الثالث من الاصول (تطبيقات الهواتف المحمولة)
لقد أصبحت برامج الجوال سائدة وواسعة النطاق فمعظم مواقع الويب لديها تطبيقات خاصة بالهاتف المحمول. وهذا الميدان يتطلب مجموعة المهارات اللازمة لاختراق مواقع الويب بالإضافة إلى معرفة إضافية حول بنية تطبيقات الجوال وتقنيات البرمجة المتعلقة بها كما يجب أن تفهم كيفية الهجمات واستراتيجيات التحليل والهندسة العكسية والتشفير.
يتطلب هذا الميدان أيضاً المزيد من العتاد والاستعداد مقارنةً باختراق مواقع الويب مثل امتلاك هاتف محمول للقيام بالتجارب عليه. فمختبر اختبارات الهواتف المحمولة الجيد لابد أن يحتوي جهاز عادي وجهاز متجذر(rooted) ومحاكيات أجهزة لكل من Android وiOS.
الجهاز المتجذر(rooted) هو الجهاز الذي نملك امتيازات المسؤول عنه والذي سيسمح لنا بإجراء التجارب والاختبارات بحرية أكبر لإمكانية تجاوز عقبات أمن النظام الخاص به. وأما المحاكي فيقصد به إيجاد بيئة افتراضية للبيئات الخاصة بالهواتف المحمولة بحيث يتم تشغيلها على جهاز الكمبيوتر الخاص وتمكننا من تشغيل إصدارات متعددة من الأجهزة وأنظمة التشغيل دون امتلاك جهاز لكل نظام.
لذلك يعتبر هذا الميدان من أقل الميادين شعبية بين صائدي المكافآت ومع ذلك فإن كسر هذا الحاجز والدخول يعتبر ميزة للذين يشاركون فيه.
النوع الرابع من الاصول (واجهات برمجة التطبيقات)
واجهات برمجة التطبيقات (APIs) هي مواصفات تحدد كيف يمكن للتطبيقات التفاعل مع أصول المنظمة مثل استرداد بياناتها أو تغييرها فعلى سبيل المثال فقد يكون تطبيق ما قادر على استرداد بيانات التطبيق عبر رسائل بروتوكول نقل النص التشعبي (HTTP) إلى جهاز معين وسيقوم التطبيق بإرجاع البيانات بتنسيق رسائل لغة الترميز القابلة للتوسيع (XML) أو تدوين كائن جافا سكريبت (JSON).
تركز بعض منصات الـ Bug Bounty بشكل أكبر على ثغرات واجهة برمجة التطبيقات في برامجها للمكافآت وذلك عندما يُطرح إصدار جديد من واجهة برمجة التطبيقات. تعد واجهة برمجة التطبيقات الآمنة أمراً أساسياً لمنع خروقات البيانات ولحماية بيانات العملاء لذلك يتطلب هذا الميدان العديد من المهارات مثل الإلمام بمواقع الويب وتطبيقات الهاتف المحمول وتطبيقات إنترنت الأشياء إلا أنه يتطلب أيضاً التركيز على ثغرات واجهة برمجة التطبيقات الشائعة مثل تسرب البيانات ومشاكل الحقن.
النوع الخامس من الاصول (الأجهزة والبرامج الخاصة بإنترنت الأشياء)
يتطلب منك هذا الميدان اختراق أشياء مثل السيارات وأجهزة التلفزيون الذكية ومنظمات الحرارة. ومن الأمثلة الـ Bug Bounty القائمة على ذلك برامج شركة تسلا وفورد للسيارات.
ستحتاج إلى مهارات محددة ودقيقة للغاية لاختراق هذه الأشياء وسيتعين عليك في كثير من الأحيان التعمق في معرفة نوع الجهاز الذي تقوم باختراقه بالإضافة إلى فهم نقاط الضعف الشائعة في إنترنت الأشياء فبالإضافة إلى المهارات السابقة يجب دراسة مفاهيم إنترنت الأشياء ومعايير الصناعة مثل التوقيع الرقمي ومخططات التشفير غير المتماثلة.
منصات Bug Bounty
يمكن للشركات بصفة عامة استضافة برامج الـ Bug Bounty بطريقتين: الأولى عن طريق منصات الـ Bug Bounty المشهورة والمعروفة والثانية بطريقة مستقلة من خلال مواقع الويب المستضافة بشكل مستقل.
منصات الـ Bug Bounty هي مواقع ويب تستضيف من خلالها العديد من الشركات برامجها وعادة ما تمنح المخترقين نقاط التميز وكذلك المكافآت المالية مقابل نتائجهم. بعض أكبر منصات الـ Bug Bounty هي HackerOne وBugcrowd وIntigriti وSynack وCobalt كما نفخر بوجود منصة سعودية منافسة ومتميزة هي BugBounty.sa
منصات الـ Bug Bounty تعتبر وسيط بين المتسللين وفرق الأمن في الشركات فهم أي المنصات يقدمون المساعدة اللوجستية للشركات وذلك لمهام مثل دفع المكافآت كما أنها غالباً ما تقدم المساعدة في إدارة التقارير الواردة عن طريق تصفية تقارير الثغرات للشركات والحد من تكرارها وفرزها كما توفر هذه المنصات طريقة للشركات لقياس مستوى مهارة المتسلل من خلال إحصاءات الباحثين الأمنيين وسمعتهم. وتقوم بعض هذه المنصات أيضا بفحص المتسللين أو مقابلتهم قبل السماح لهم بالاختراق.
ومن وجهة نظر الباحث الأمني (المتسلل) توفر هذه المنصات مكاناً مركزياً لتقديم التقارير كما أنها توفر طريقة سلسة ومضمونة للحصول على الاعتراف بالنتائج التي تم التوصل لها ومن ثم دفع ثمنها.
الطريقة المستقلة لبرامج الـ Bug Bounty الخاصة تنفذها الشركات وتديرها دون مساعدة من المنصات فتقوم شركات مثل Google وFacebook وApple وMedium بمثل ذلك. وبالامكان العثور على سياسة مكافأة كشف الثغرات الخاصة بهم عن طريق زيارة مواقعهم الإلكترونية.
أيهما أفضل؟
هل منصة الـ Bug Bounty؟ أم برامج الشركات المستضافة بشكل مستقل؟
الإيجابيات. . .
أفضل شيء في منصات الـ Bug Bounty هو أنها أكثر شفافية من برامج الشركات فهي تنشر تقارير تم الكشف عنها وتوضح مقاييس حول معدلات الفرز ومبالغ المكافآت وأوقات الاستجابة والرد بينما غالباً ما تفتقر البرامج المستضافة بشكل مستقل إلى هذا النوع من الشفافية.
مما يميز المنصات أيضاً هو أنها غالباً ما تتدخل في موضوع حل النزاعات والحماية القانونية كطرف ثالث في حين أنه عند تقديم تقرير إلى برنامج غير منصة فلن يكون لديك حق الرجوع في قرار المكافأة النهائي.
. . . والسلبيات
ومع ذلك يتجنب بعض الباحثين الأمنيين التعامل مع منصات الـ Bug Bounty لأنهم يكرهون كيفية تعامل هذه المنصات مع التقارير لأنه غالباً ما يتم التعامل مع التقارير المقدمة بطريقة غير مناسبة وذلك لأنهم في الغالب لا يكونون على دراية بجميع التفاصيل الأمنية حول منتج الذي تم اختباره وكتابة التقرير بشأنه والشكاوى المتعلقة بمعالجة التقارير بشكل غير صحيح شائعة.
تمنع هذه المنصات أيضا الاتصال المباشر بين الباحثين الأمنيين والمطورين المباشرين للبرنامج او التطبيق. وهذا بدوره يحرم الباحث الأمني من خوض تجربة تعليمية رائعة عند التواصل المباشر مع المطور.