راهنمای باگ بانتی برای مبتدی ها: درک روند تنظیم گزارش

راهنمای باگ بانتی برای مبتدی ها: درک روند تنظیم گزارش

در این مقاله، نحوۀ گزارش دهی موثر برای سازمان ها و محققان شرکت کننده در برنامه های باگ بانتی (BBPs) را بررسی خواهیم کرد. گزارش دهی مسئولانه نقش بسیار مهمی در حفظ یکپارچگی این برنامه ها دارد. هنگامی که محققان امنیتی آسیب پذیری هایی پیدا می کنند، یک انتخاب پیش رو دارند: می توانند از این دانش و یافته خود به عنوان دستاورد شخصی استفاده کنند یا این که مورد یافته شده را به سازمانی که مسئول سیستم آسیب پذیر است، گزارش دهند. در مورد برنامه های باگ بانتی، یک محقق امنیتی خوب گزینۀ دوم را به عنوان انتخابی اخلاقی و مسئولانه برمی گزیند.

 تنظیم گزارش باگ بانتی

در صورت گزارش دادن آسیب پذیری های یافته شده به سازمان های مربوطه، محققان جلوی عوامل مخربی که می توانند از طریق بهره گیری از همین آسیب پذیری ها به سازمان و کاربران مرتبط آسیب برسانند را می گیرند. علاوه بر این، محققان امنیتی با شرکت در برنامۀ باگ بانتی و پیروی از راهنمای مربوط به افشای مسئولانه، می توانند از این امر اطمینان حاصل نمایند که به یافته های آنان سریعاً رسیدگی شده و سازمان مربوطه قادر خواهد بود با انجام اقدامات لازم، از دارایی ها و کاربرانش محافظت نماید. گزارش دهی مسئولانه در یک برنامۀ باگ بانتی عموماً شامل پایبندی به مجموعه راهنماهایی است که توسط سازمان مربوطه تهیه شده و متشکل از مواردی همچون محدوده (اسکوپ) برنامه، رفتار مورد انتظار از محققان و روند ارسال گزارش های آسیب پذیری است.

این راهنماها اغلب از محققان می خواهند که:

  • آسیب پذیری های یافته شده را بلافاصله و به صورت محرمانه به سازمان گزارش دهند.
  • از اشتراک گذاری هر گونه اطلاعات حساس دربارۀ آسیب پذیری با دیگران خودداری نمایند.
  • به قوانین و محدودۀ برنامه پایبند باشند.
  • به حریم خصوصی کاربران و دیتای مربوطه احترام بگذارند.
  • از تلاش برای سوء استفاده از آسیب پذیری، فراتر از آنچه برای اثبات وجود آن ضروری است، خودداری نمایند.

گزارش دهی مسئولانه توسط محققان امنیتی، امری ضروری برای حفظ یکپارچگی این برنامه ها و اطمینان از این مسئله است که به شکلی موثر و به موقع به آسیب پذیری های کشف شده رسیدگی می شود و شرکت و کاربران آن از هر گونه صدمۀ احتمالی در امان می مانند.

نحوۀ تنظیم گزارش باگ بانتی:

پیش از گزارش دهی هر گونه آسیب پذیری در یک برنامۀ باگ بانتی، محققان امنیتی می بایست مراحل زیر را طی کنند تا از ارسال گزارشی باکیفیت که شامل تمامی اطلاعات ضروری است، اطمینان حاصل نمایند:

  1. بازتولید آسیب پذیری یافته شده: محققان می بایست برای بازتولید باگی که یافته اند زمان صرف کنند. این امر شامل بازآفرینی مراحل منجر به کشف آسیب پذیری و همچنین ارائۀ اطلاعات دقیقی دربارۀ نحوۀ ایجاد مشکل مربوطه است.
  2. جمع آوری اطلاعات: هنگام بازآفرینی آسیب پذیری یافته شده، محققان می بایست تا آنجا که می توانند دربارۀ باگ مربوطه اطلاعات جمع آوری کنند، از جمله این که آسیب پذیری کدام بخش از سیستم را درگیر می کند، شدت آن چقدر است، و تاثیر آن بر روی سیستم چه می تواند باشد. این اطلاعات به سازمان کمک می کند تا مشکل مربوطه را بهتر درک نموده و پاسخ دهی به آن را در اولویت قرار دهد.
  3. مستندسازی مراحل: محققان می بایست مراحلی را که برای بازآفرینی آسیب پذیری مذکور طی نموده اند را مستند نمایند؛ از جمله اینکه چه ورودی به سیستم دادند و نتایج موردانتظار آن ها و نتیجۀ واقعی چه بود. مستندات واضح و دقیق به سازمان کمک می کند تا سریعاً مورد مربوطه را شناسایی و بازآفرینی نماید.
  4. تست در محیط های مختلف: محققان می بایست باگ پیدا شده را در محیط های مختلف تست کنند تا مشخص گردد که آیا این مشکلی کلی است یا در پلتفرم خاصی اتفاق می افتد. این مسئله می تواند به سازمان کمک کند تا محدودۀ آسیب پذیری و سیستم هایی که تحت تاثیر آن قرار دارند را تعیین نماید.

محققان به محض این که همۀ اطلاعات لازم را جمع آوری کردند، می بایست یک گزارش آسیب پذیری خوب تهیه نمایند که به شکلی واضح مشکل یافته شده را شرح دهد. در ادامه برخی از بهترین راهکارهایی که می توانند در ایجاد یک گزارش آسیب پذیری با کیفیت، موثر واقع شوند را مورد بررسی قرار می دهیم:

  1. خلاصه‏ای واضح و دقیق تهیه نمایید: گزارش می بایست با خلاصه ای آغاز گردد که دیدی کلی از باگ، میزان تاثیر آن و نحوۀ بازتولید آن ارائه دهد.
  2. مراحل دقیق بازتولید را ذکر کنید: گزارش می بایست مراحل دقیق بازتولید باگ از جمله ورودی های موردنیاز، نتایج مورد انتظار و نتیجه واقعی را شامل شود.
  3. اسکرین شات و ویدیو پیوست کنید: استفاده از اسکرین شات ها و ویدیوها می تواند در نشان دادن مشکل موجود بسیار مفید واقع شده و به سازمان کمک کند تا شدت باگ را بهتر درک نماید.
  4. به وضوح میزان تاثیر را مستند کنید: گزارش می بایست به وضوح میزان تاثیری را که این باگ می تواند بر روی سیستم داشته باشد، از خطرات امنیتی بالقوۀ آن گرفته تا نحوۀ سواستفاده از این باگ را شامل گردد.
  5. پیشنهاداتی برای رفع مشکل ارائه دهید: اگر محقق مربوطه روش دقیق رفع مشکل را بداند، می بایست در گزارش خود توصیه هایی برای رفع مشکل (از جمله رفع یا کاهش مورد مربوطه) ارائه دهد.

با پیروی از این مراحل و راهکارهای ارائه شده، محققان امنیتی می توانند در رفع هر چه سریع تر و موثرتر باگ های پیدا شده به سازمان ها کمک کنند و به این طریق در ایجاد یک محیط آنلاین امن تر برای همۀ افراد مشارکت داشته باشند.

تنظیم گزارش آسیب پذیری کشف شده:

ارسال یک گزارش آسیپ بذیری مستلزم استفاده از کانال های ارتباطی فراهم شده توسط برنامۀ باگ بانتی است. جزئیات ویژۀ مربوط به فرآیند ارسال با توجه به نوع برنامه می تواند متفاوت باشد، با این حال عموما شامل مراحل زیر است:

  1. پیدا کردن مخاطبین صحیح: محققان امنیتی می بایست از این امر اطمینان حاصل نمایند که گزارش آسیب پذیری خود را از طریق کانال گزارش دهی صحیحی که برنامۀ باگ بانتی فراهم کرده، ارسال نمایند. این کانال ارتباطی می تواند شامل ایمیل، فرم وب یا پلتفرمی اختصاصی نظیر HackerOne یا Bugcrowd باشد.
  2. تهیۀ یک گزارش شفاف: گزارش می بایست با خلاصه ای واضح و دقیق از مشکل آغاز گردد، از جمله این که کدام قسمت از سیستم درگیر است، شدت آسیب پذیری چقدر است و این که چگونه می توان آن را بازتولید نمود.
  3. ارائۀ مراحل دقیق بازتولید: گزارش می بایست مراحل دقیق بازتولید آسیب پذیری از جمله ورودی های موردنیاز، نتایج مورد انتظار و نتیجه واقعی را شامل شود.
  4. ارائۀ شواهد پشتیبان: اسکرین شات ها، ویدیوها و لاگ ها می توانند در نمایش هر چه بهتر مشکل و ارائۀ شواهدی برای تایید هر چه بیشتر گزارش آسیب پذیری مفید واقع شوند.
  5. مستندسازی واضح میزان تاثیر: گزارش می بایست به وضوح میزان تاثیری را که این باگ می تواند بر روی سیستم داشته باشد، از خطرات امنیتی بالقوۀ آن گرفته تا نحوۀ سواستفاده از این باگ را شامل گردد.
  6. ارائۀ پیشنهاداتی برای رفع مشکل: اگر محقق مربوطه روش دقیق رفع مشکل را بداند، می بایست در گزارش خود توصیه هایی برای رفع مشکل (از جمله رفع یا کاهش مورد مربوطه) ارائه دهد.

هنگام ارسال یک گزارش آسیب پذیری، محققان باید از دقت و شفافیت گزارش خود اطمینان حاصل نمایند. گزارش های اسیب پذیری که به خوبی نوشته نشده اند، می توانند منجر به تاخیر در پاسخگویی شده و حل مشکل را برای سازمان مربوطه با دشواری همراه سازند.

در ادامه چند نمونه گزارش آسیب پذیری با نوشتار خوب و نوشتار ضعیف را مورد بررسی قرار می دهیم:

نمونۀ یک گزارش آسیب پذیری خوب:

عنوان: آسیب پذیری Stored XSS در فرم ورود

خلاصه: فرم ورود موجود بر روی وب سایت، نسبت به حملۀ stored XSS آسیب پذیر است. این آسیب پذیری از طریق وارد کردن اسکریپتی مشخص در فیلد رمز عبور رخ می دهد.

مراحل بازتولید:

مرحله 1. به صفحۀ ورود مراجعه نمایید.

مرحله 2: یک نام کاربری معتبر و یک رمز عبور حاوی این اسکریپت را وارد نمایید:

مرحله 3: بر روی دکمۀ ورود کلیک کنید.

مرحله 4: پنجرۀ هشداری برایتان نمایان خواهد شد که نشان دهندۀ اجرای موفقیت آمیز اسکریپت مربوطه است

میزان تاثیر: یک مهاجم می تواند از این آسیب پذیری برای سرقت اطلاعات/ مشخصات کاربر یا انجام هر گونه عمل مخرب دیگر استفاده نماید.

پیشنهادات برای رفع مشکل: پاکسازی ورودی در فیلد رمزعبور می تواند این آسیب پذیری را برطرف نماید.

نمونۀ یک گزارش آسیب پذیری ضعیف:

عنوان: نفوذ به وب سایت

خلاصه: به وب سایت نفوذ شده است.

مراحل بازتولید: نامشخص

تاثیر: نامشخص

پیشنهادات برای رفع مشکل: هر چه سریع تر وب سایت را تعمیر کنید.

در حالت کلی، محققان می بایست در هنگام ارسال گزارش های آسیب پذیری علاوه بر شفافیت و دقت، تا حد امکان جزئیات را ذکر کنند. این مسئله می تواند سازمان ها را در رفع هر چه سریع تر و موثرتر مشکلات موجود یاری نموده و محیط آنلاین امن تری را برای همۀ افراد فراهم نماید.

بهترین روش های تنظیم گزارش باگ بانتی اخلاقی:

محققان می بایست هنگام گزارش دادن آسیب پذیری ها، ملاحظات اخلاقی مربوط به اقدامات خود را در نظر داشته باشند. برخی از این نکات اخلاقی کلیدی عبارتند از:

احترام به حریم خصوصی دیگران: محققان می بایست از دسترسی یا جمع آوری دیتای غیرلازم برای نمایش آسیب پذیری خودداری نمایند. اگر به طور تصادفی به دیتای حساسی دسترسی پیدا کردند، باید آن را پاک کرده و برای هیچ شخص دیگری افشا نکنند.

اجتناب از صدمه زدن به سیستم: محققان نباید عمداً صدمه ای به سیستم وارد نمایند یا عملیات معمول آن را مختل کنند. علاوه بر این، می بایست نسبت به سوء استفاده از آسیب پذیری، فراتر از آنچه برای اثبات وجود آن ضروری است، اجتناب نمایند.

پیروی از راهنماهای برنامۀ باگ بانتی: محققان می بایست از قوانین و راهنماهای تهیه شده توسط برنامۀ باگ بانتی که در آن شرکت کرده اند، پیروی کرده و به محدودیت هایی که در خصوص محدودۀ تست یا نوع آسیب پذیری های موردقبول، وضع شده احترام بگذارند.

تهیۀ اطلاعات کامل و دقیق: محققان بایستی اطلاعاتی کامل و صحیح دربارۀ آسیب پذیری یافته شده ارائه دهند تا سازمان مربوطه قادر به بازتولید و تایید وجود مشکل باشد.

مشارکت در افشای مسئولانه: محققان باید از اصل افشای مسئولانه پیروی نمایند؛ این مورد شامل اختصاص زمان کافی به سازمان مربوطه برای رفع آسیب پذیری، قبل از افشای عمومی آن برای افراد دیگر است. این مسئله می تواند به سازمان کمک کند تا از کاربرانش در مقابل هر گونه صدمۀ احتمالی ناشی از آسیب پذیری محافظت نماید.

رسیدگی به پاسخ ها و پاداش ها:

پس از ارسال یک گزارش آسیب پذیری، حال نوبت مسئولان نگهداری سیستم است که گزارش را ارزیابی کرده و اقدامات لازم را برای رفع آسیب پذیری انجام دهد. در ادامه به برخی از اقدامات کلیدی خواهیم پرداخت که محققان امنیتی عموماً در ازای ارائۀ گزارشی خوب، از نگهدارندگان برنامه های باگ بانتی انتظار دارند:

  1. تایید دریافت گزارش: مسئولان نگهداری سیستم می بایست دریافت گزارش را به محقق اطلاع داده و تایید کنند که گزارش مذکور در حال ارزیابی است.
  2. تایید وجود آسیب پذیری: مسئولان نگهداری سیستم باید سعی در بازتولید آسیب پذیری داشته و واقعی بودن آن را تایید نمایند.
  3. اولویت دهی و تریاژ آسیب پذیری: مسئولان نگهداری سیستم می بایست شدت آسیب پذیری را ارزیابی کرده و بسته به تاثیر بالقوۀ این آسیب پذیری بر روی سیستم و کاربران، آن را اولویت بندی نمایند.
  4. برقراری ارتباط با محقق: مسئولان نگهداری سیستم باید با محققی که گزارش آسیب پذیری را ارسال کرده، ارتباط داشته باشند و وی را از پیشرفت ارزیابی و اقدامات اصلاحی موردنیاز مطلع نمایند.
  5. رفع آسیب پذیری: به محض این که وجود آسیب پذیری تایید شد، مسئولان نگهداری سیستم بایستی اقدامات لازم برای رفع آن را انجام دهند.
  6. تست رفع مشکل: مسئولان نگهداری سیستم می بایست راهکار رفع مشکل را تست کنند تا مطمئن شوند این راهکار، آسیب پذیری را به طور موثری برطرف کرده و موجب بروز مشکلی جدید نمی گردد.
  7. پیشنهاد پاداش: در صورتی که برنامۀ باگ بانتی، جزء برنامه های پاداش دهنده باشد، مسئولان نگهداری سیستم باید مشخص کنند که آیا محقق مربوطه واجد شرایط دریافت پاداش است و سپس پاداش تعیین شده را به موقع به وی پرداخت نمایند.

نتیجه گیری:

به منظور برقراری ارتباط موثر با محقق امنیتی، مسئولان نگهداری سیستم می بایست در پیام خود شفاف و دقیق بوده، وضعیت آسیب پذیری و میزان پیشرفت حل مشکل را به طور مرتب به روز نمایند. علاوه بر این، آن ها باید در مقابل هر گونه سوال و نگرانی پیش آمده برای محقق پاسخگو بوده و مایل به همکاری مشترک در جهت رفع مشکل باشند.

اگر قرار بر پاداش دهی باشد، مسئولان نگهداری سیستم می بایست بر اساس قوانین و راهنمای ارائه شده توسط برنامۀ باگ بانتی، نسبت به پرداخت به موقع و حرفه ای پاداش مربوطه اقدام نمایند. این امر مستلزم تایید هویت محقق و صلاحیت وی برای دریافت پاداش و ارائۀ تضمین در خصوص پرداخت به موقع و امن پاداش وی خواهد بود.

روی هم رفته، پاسخدهی به یک گزارش آسیب پذیری نیازمند ارتباطات و همکاری محتاطانه بین محقق و مسئولان نگهداری برنامۀ باگ بانتی است. دو طرف این ارتباط با همکاری یکدیگر می توانند به طور موثری آسیب پذیری ها را رفع کرده و امنیت سیستم را بهبود بخشند.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *